Skip to content

Commit 53baec0

Browse files
authored
Upgrade Core to 384de482d955cd33c9cf9329ae49ab5f477cfbea (#879)
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
1 parent 7bf12d9 commit 53baec0

171 files changed

Lines changed: 1525 additions & 970 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

DEPENDENCIES

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
vendorpull https://github.com/sourcemeta/vendorpull 70342aaf458e6cb80baeb5b718901075fc42ede6
2-
core https://github.com/sourcemeta/core bf0868140c6adc6e58bc3be074ea9ed9ed1efd05
2+
core https://github.com/sourcemeta/core 384de482d955cd33c9cf9329ae49ab5f477cfbea
33
bootstrap https://github.com/twbs/bootstrap 1a6fdfae6be09b09eaced8f0e442ca6f7680a61e

src/compiler/compiler.cc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ auto canonicalize(sourcemeta::core::JSON &schema,
2323
sourcemeta::core::AlterSchemaCategory::Implicit);
2424
sourcemeta::core::add(canonicalizer,
2525
sourcemeta::core::AlterSchemaCategory::Superfluous);
26-
canonicalizer.apply(schema, walker, make_resolver(resolver),
27-
sourcemeta::core::empty_pointer, default_dialect);
26+
canonicalizer.apply(schema, walker, make_resolver(resolver), default_dialect);
2827
}
2928

3029
auto make_encoding(sourcemeta::core::JSON &document,
@@ -81,8 +80,7 @@ auto compile(sourcemeta::core::JSON &schema,
8180
// Numbers
8281
mapper.add<NumberArbitrary>();
8382

84-
mapper.apply(schema, walker, make_resolver(resolver),
85-
sourcemeta::core::empty_pointer, default_dialect);
83+
mapper.apply(schema, walker, make_resolver(resolver), default_dialect);
8684

8785
// The "any" encoding is always the last resort
8886
const auto dialect{sourcemeta::core::dialect(schema)};

src/compiler/mapper/enum_8_bit.h

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,19 @@ class Enum8Bit final : public sourcemeta::core::SchemaTransformRule {
33
public:
44
Enum8Bit() : sourcemeta::core::SchemaTransformRule{"enum_8_bit", ""} {};
55

6-
[[nodiscard]] auto condition(const sourcemeta::core::JSON &schema,
7-
const std::string &dialect,
8-
const std::set<std::string> &vocabularies,
9-
const sourcemeta::core::Pointer &pointer) const
10-
-> bool override {
11-
return dialect == "https://json-schema.org/draft/2020-12/schema" &&
6+
[[nodiscard]] auto
7+
condition(const sourcemeta::core::JSON &schema,
8+
const sourcemeta::core::JSON &,
9+
const sourcemeta::core::Vocabularies &vocabularies,
10+
const sourcemeta::core::SchemaFrame &,
11+
const sourcemeta::core::SchemaFrame::Location &location,
12+
const sourcemeta::core::SchemaWalker &,
13+
const sourcemeta::core::SchemaResolver &) const -> bool override {
14+
return location.dialect == "https://json-schema.org/draft/2020-12/schema" &&
1215
vocabularies.contains(
1316
"https://json-schema.org/draft/2020-12/vocab/validation") &&
1417
schema.defines("enum") && schema.at("enum").is_array() &&
15-
!pointer.empty() && schema.at("enum").size() > 1 &&
18+
!location.pointer.empty() && schema.at("enum").size() > 1 &&
1619
is_byte(schema.at("enum").size() - 1);
1720
}
1821

src/compiler/mapper/enum_8_bit_top_level.h

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,19 @@ class Enum8BitTopLevel final : public sourcemeta::core::SchemaTransformRule {
33
Enum8BitTopLevel()
44
: sourcemeta::core::SchemaTransformRule{"enum_8_bit_top_level", ""} {};
55

6-
[[nodiscard]] auto condition(const sourcemeta::core::JSON &schema,
7-
const std::string &dialect,
8-
const std::set<std::string> &vocabularies,
9-
const sourcemeta::core::Pointer &pointer) const
10-
-> bool override {
11-
return dialect == "https://json-schema.org/draft/2020-12/schema" &&
6+
[[nodiscard]] auto
7+
condition(const sourcemeta::core::JSON &schema,
8+
const sourcemeta::core::JSON &,
9+
const sourcemeta::core::Vocabularies &vocabularies,
10+
const sourcemeta::core::SchemaFrame &,
11+
const sourcemeta::core::SchemaFrame::Location &location,
12+
const sourcemeta::core::SchemaWalker &,
13+
const sourcemeta::core::SchemaResolver &) const -> bool override {
14+
return location.dialect == "https://json-schema.org/draft/2020-12/schema" &&
1215
vocabularies.contains(
1316
"https://json-schema.org/draft/2020-12/vocab/validation") &&
1417
schema.defines("enum") && schema.at("enum").is_array() &&
15-
pointer.empty() && schema.at("enum").size() > 1 &&
18+
location.pointer.empty() && schema.at("enum").size() > 1 &&
1619
is_byte(schema.at("enum").size() - 1);
1720
}
1821

src/compiler/mapper/enum_arbitrary.h

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,19 @@ class EnumArbitrary final : public sourcemeta::core::SchemaTransformRule {
44
EnumArbitrary()
55
: sourcemeta::core::SchemaTransformRule{"enum_arbitrary", ""} {};
66

7-
[[nodiscard]] auto condition(const sourcemeta::core::JSON &schema,
8-
const std::string &dialect,
9-
const std::set<std::string> &vocabularies,
10-
const sourcemeta::core::Pointer &pointer) const
11-
-> bool override {
12-
return dialect == "https://json-schema.org/draft/2020-12/schema" &&
7+
[[nodiscard]] auto
8+
condition(const sourcemeta::core::JSON &schema,
9+
const sourcemeta::core::JSON &,
10+
const sourcemeta::core::Vocabularies &vocabularies,
11+
const sourcemeta::core::SchemaFrame &,
12+
const sourcemeta::core::SchemaFrame::Location &location,
13+
const sourcemeta::core::SchemaWalker &,
14+
const sourcemeta::core::SchemaResolver &) const -> bool override {
15+
return location.dialect == "https://json-schema.org/draft/2020-12/schema" &&
1316
vocabularies.contains(
1417
"https://json-schema.org/draft/2020-12/vocab/validation") &&
1518
schema.defines("enum") && schema.at("enum").is_array() &&
16-
!pointer.empty() && schema.at("enum").size() > 1 &&
19+
!location.pointer.empty() && schema.at("enum").size() > 1 &&
1720
!is_byte(schema.at("enum").size() - 1);
1821
}
1922

src/compiler/mapper/enum_singleton.h

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@ class EnumSingleton final : public sourcemeta::core::SchemaTransformRule {
33
EnumSingleton()
44
: sourcemeta::core::SchemaTransformRule{"enum_singleton", ""} {};
55

6-
[[nodiscard]] auto condition(const sourcemeta::core::JSON &schema,
7-
const std::string &dialect,
8-
const std::set<std::string> &vocabularies,
9-
const sourcemeta::core::Pointer &) const
10-
-> bool override {
11-
return dialect == "https://json-schema.org/draft/2020-12/schema" &&
6+
[[nodiscard]] auto
7+
condition(const sourcemeta::core::JSON &schema,
8+
const sourcemeta::core::JSON &,
9+
const sourcemeta::core::Vocabularies &vocabularies,
10+
const sourcemeta::core::SchemaFrame &,
11+
const sourcemeta::core::SchemaFrame::Location &location,
12+
const sourcemeta::core::SchemaWalker &,
13+
const sourcemeta::core::SchemaResolver &) const -> bool override {
14+
return location.dialect == "https://json-schema.org/draft/2020-12/schema" &&
1215
vocabularies.contains(
1316
"https://json-schema.org/draft/2020-12/vocab/validation") &&
1417
schema.defines("enum") && schema.at("enum").is_array() &&

src/compiler/mapper/integer_bounded_8_bit.h

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@ class IntegerBounded8Bit final : public sourcemeta::core::SchemaTransformRule {
33
IntegerBounded8Bit()
44
: sourcemeta::core::SchemaTransformRule{"integer_bounded_8_bit", ""} {};
55

6-
[[nodiscard]] auto condition(const sourcemeta::core::JSON &schema,
7-
const std::string &dialect,
8-
const std::set<std::string> &vocabularies,
9-
const sourcemeta::core::Pointer &) const
10-
-> bool override {
11-
return dialect == "https://json-schema.org/draft/2020-12/schema" &&
6+
[[nodiscard]] auto
7+
condition(const sourcemeta::core::JSON &schema,
8+
const sourcemeta::core::JSON &,
9+
const sourcemeta::core::Vocabularies &vocabularies,
10+
const sourcemeta::core::SchemaFrame &,
11+
const sourcemeta::core::SchemaFrame::Location &location,
12+
const sourcemeta::core::SchemaWalker &,
13+
const sourcemeta::core::SchemaResolver &) const -> bool override {
14+
return location.dialect == "https://json-schema.org/draft/2020-12/schema" &&
1215
vocabularies.contains(
1316
"https://json-schema.org/draft/2020-12/vocab/validation") &&
1417
schema.defines("type") &&

src/compiler/mapper/integer_bounded_greater_than_8_bit.h

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,15 @@ class IntegerBoundedGreaterThan8Bit final
55
: sourcemeta::core::SchemaTransformRule{
66
"integer_bounded_greater_than_8_bit", ""} {};
77

8-
[[nodiscard]] auto condition(const sourcemeta::core::JSON &schema,
9-
const std::string &dialect,
10-
const std::set<std::string> &vocabularies,
11-
const sourcemeta::core::Pointer &) const
12-
-> bool override {
13-
return dialect == "https://json-schema.org/draft/2020-12/schema" &&
8+
[[nodiscard]] auto
9+
condition(const sourcemeta::core::JSON &schema,
10+
const sourcemeta::core::JSON &,
11+
const sourcemeta::core::Vocabularies &vocabularies,
12+
const sourcemeta::core::SchemaFrame &,
13+
const sourcemeta::core::SchemaFrame::Location &location,
14+
const sourcemeta::core::SchemaWalker &,
15+
const sourcemeta::core::SchemaResolver &) const -> bool override {
16+
return location.dialect == "https://json-schema.org/draft/2020-12/schema" &&
1417
vocabularies.contains(
1518
"https://json-schema.org/draft/2020-12/vocab/validation") &&
1619
schema.defines("type") &&

src/compiler/mapper/integer_bounded_multiplier_8_bit.h

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,15 @@ class IntegerBoundedMultiplier8Bit final
55
: sourcemeta::core::SchemaTransformRule{
66
"integer_bounded_multiplier_8_bit", ""} {};
77

8-
[[nodiscard]] auto condition(const sourcemeta::core::JSON &schema,
9-
const std::string &dialect,
10-
const std::set<std::string> &vocabularies,
11-
const sourcemeta::core::Pointer &) const
12-
-> bool override {
13-
if (dialect != "https://json-schema.org/draft/2020-12/schema" ||
8+
[[nodiscard]] auto
9+
condition(const sourcemeta::core::JSON &schema,
10+
const sourcemeta::core::JSON &,
11+
const sourcemeta::core::Vocabularies &vocabularies,
12+
const sourcemeta::core::SchemaFrame &,
13+
const sourcemeta::core::SchemaFrame::Location &location,
14+
const sourcemeta::core::SchemaWalker &,
15+
const sourcemeta::core::SchemaResolver &) const -> bool override {
16+
if (location.dialect != "https://json-schema.org/draft/2020-12/schema" ||
1417
!vocabularies.contains(
1518
"https://json-schema.org/draft/2020-12/vocab/validation") ||
1619
!schema.defines("type") || schema.at("type").to_string() != "integer" ||

src/compiler/mapper/integer_bounded_multiplier_greater_than_8_bit.h

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,15 @@ class IntegerBoundedMultiplierGreaterThan8Bit final
55
: sourcemeta::core::SchemaTransformRule{
66
"integer_bounded_multiplier_greater_than_8_bit", ""} {};
77

8-
[[nodiscard]] auto condition(const sourcemeta::core::JSON &schema,
9-
const std::string &dialect,
10-
const std::set<std::string> &vocabularies,
11-
const sourcemeta::core::Pointer &) const
12-
-> bool override {
13-
if (dialect != "https://json-schema.org/draft/2020-12/schema" ||
8+
[[nodiscard]] auto
9+
condition(const sourcemeta::core::JSON &schema,
10+
const sourcemeta::core::JSON &,
11+
const sourcemeta::core::Vocabularies &vocabularies,
12+
const sourcemeta::core::SchemaFrame &,
13+
const sourcemeta::core::SchemaFrame::Location &location,
14+
const sourcemeta::core::SchemaWalker &,
15+
const sourcemeta::core::SchemaResolver &) const -> bool override {
16+
if (location.dialect != "https://json-schema.org/draft/2020-12/schema" ||
1417
!vocabularies.contains(
1518
"https://json-schema.org/draft/2020-12/vocab/validation") ||
1619
!schema.defines("type") || schema.at("type").to_string() != "integer" ||

0 commit comments

Comments
 (0)