diff options
| -rw-r--r-- | toolsrc/include/vcpkg/base/json.h | 6 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/sourceparagraph.cpp | 28 |
2 files changed, 17 insertions, 17 deletions
diff --git a/toolsrc/include/vcpkg/base/json.h b/toolsrc/include/vcpkg/base/json.h index e4ce3210b..54f84f611 100644 --- a/toolsrc/include/vcpkg/base/json.h +++ b/toolsrc/include/vcpkg/base/json.h @@ -360,6 +360,10 @@ namespace vcpkg::Json std::vector<std::string> m_errors; struct Path { + constexpr Path() = default; + constexpr Path(int64_t i) : index(i) { } + constexpr Path(StringView f) : field(f) { } + int64_t index = -1; StringView field; }; @@ -397,7 +401,7 @@ namespace vcpkg::Json return false; } - m_path.push_back({-1, key}); + m_path.push_back(key); Optional<Type> opt = internal_visit(*value, visitor); if (auto val = opt.get()) diff --git a/toolsrc/src/vcpkg/sourceparagraph.cpp b/toolsrc/src/vcpkg/sourceparagraph.cpp index 27861f873..e13fcfdb7 100644 --- a/toolsrc/src/vcpkg/sourceparagraph.cpp +++ b/toolsrc/src/vcpkg/sourceparagraph.cpp @@ -490,6 +490,18 @@ namespace vcpkg constexpr StringLiteral FeatureDeserializer::DESCRIPTION; constexpr StringLiteral FeatureDeserializer::DEPENDENCIES; + static constexpr StringView EXPRESSION_WORDS[] = { + "WITH", + "AND", + "OR", + }; + static constexpr StringView VALID_LICENSES[] = +#include "spdx-licenses.inc" + ; + static constexpr StringView VALID_EXCEPTIONS[] = +#include "spdx-licenses.inc" + ; + // We "parse" this so that we can add actual license parsing at some point in the future // without breaking anyone struct LicenseExpressionDeserializer : Json::IDeserializer<std::string> @@ -503,18 +515,6 @@ namespace vcpkg ExpectException, }; - constexpr static StringView EXPRESSION_WORDS[] = { - "WITH", - "AND", - "OR", - }; - constexpr static StringView VALID_LICENSES[] = -#include "spdx-licenses.inc" - ; - constexpr static StringView VALID_EXCEPTIONS[] = -#include "spdx-licenses.inc" - ; - virtual Optional<std::string> visit_string(Json::Reader&, StringView sv) override { Mode mode = Mode::ExpectExpression; @@ -630,10 +630,6 @@ namespace vcpkg } }; - constexpr StringView LicenseExpressionDeserializer::EXPRESSION_WORDS[]; - constexpr StringView LicenseExpressionDeserializer::VALID_LICENSES[]; - constexpr StringView LicenseExpressionDeserializer::VALID_EXCEPTIONS[]; - struct ManifestDeserializer : Json::IDeserializer<std::unique_ptr<SourceControlFile>> { virtual StringView type_name() const override { return "a manifest"; } |
