From a005908cd3a15d6d47b5e06f924f350719bf0773 Mon Sep 17 00:00:00 2001 From: Juan Cruz Viotti Date: Wed, 28 Jan 2026 13:50:03 -0400 Subject: [PATCH] Upgrade Core to `6db6600fed02d8b7e1de54e7df340bb1a16ab551` Signed-off-by: Juan Cruz Viotti --- DEPENDENCIES | 2 +- src/compiler/mapper/enum_8_bit.h | 1 + src/compiler/mapper/enum_8_bit_top_level.h | 1 + src/compiler/mapper/enum_arbitrary.h | 1 + src/compiler/mapper/enum_singleton.h | 1 + src/compiler/mapper/integer_bounded_8_bit.h | 1 + .../integer_bounded_greater_than_8_bit.h | 1 + .../mapper/integer_bounded_multiplier_8_bit.h | 1 + ...er_bounded_multiplier_greater_than_8_bit.h | 1 + src/compiler/mapper/integer_lower_bound.h | 1 + .../mapper/integer_lower_bound_multiplier.h | 1 + src/compiler/mapper/integer_unbound.h | 1 + .../mapper/integer_unbound_multiplier.h | 1 + src/compiler/mapper/integer_upper_bound.h | 1 + .../mapper/integer_upper_bound_multiplier.h | 1 + src/compiler/mapper/number_arbitrary.h | 1 + .../sourcemeta/core/jsonschema_transform.h | 16 ++++++++++++--- .../core/src/core/jsonschema/transformer.cc | 20 +++++++++++-------- .../alterschema/canonicalizer/const_as_enum.h | 1 + .../exclusive_maximum_integer_to_maximum.h | 1 + .../exclusive_minimum_integer_to_minimum.h | 1 + .../canonicalizer/items_implicit.h | 1 + .../max_contains_covered_by_max_items.h | 1 + .../min_items_given_min_contains.h | 1 + .../canonicalizer/min_items_implicit.h | 1 + .../canonicalizer/min_length_implicit.h | 1 + .../min_properties_covered_by_required.h | 1 + .../canonicalizer/min_properties_implicit.h | 1 + .../canonicalizer/multiple_of_implicit.h | 1 + .../alterschema/canonicalizer/no_metadata.h | 1 + .../canonicalizer/properties_implicit.h | 1 + .../canonicalizer/type_array_to_any_of.h | 1 + .../canonicalizer/type_boolean_as_enum.h | 1 + .../canonicalizer/type_null_as_enum.h | 1 + .../canonicalizer/type_union_implicit.h | 1 + .../alterschema/common/allof_false_simplify.h | 1 + .../alterschema/common/anyof_false_simplify.h | 1 + .../common/anyof_remove_false_schemas.h | 1 + .../alterschema/common/anyof_true_simplify.h | 1 + .../alterschema/common/const_with_type.h | 1 + .../content_media_type_without_encoding.h | 1 + .../content_schema_without_media_type.h | 1 + .../common/dependencies_property_tautology.h | 1 + .../common/dependent_required_tautology.h | 1 + ..._official_dialect_without_empty_fragment.h | 1 + .../alterschema/common/draft_ref_siblings.h | 1 + .../common/drop_allof_empty_schemas.h | 1 + .../common/duplicate_allof_branches.h | 1 + .../common/duplicate_anyof_branches.h | 1 + .../common/duplicate_enum_values.h | 1 + .../common/duplicate_required_values.h | 1 + .../extension/alterschema/common/else_empty.h | 1 + .../alterschema/common/else_without_if.h | 1 + .../alterschema/common/empty_object_as_true.h | 1 + .../alterschema/common/enum_with_type.h | 1 + .../common/equal_numeric_bounds_to_enum.h | 1 + .../exclusive_maximum_number_and_maximum.h | 1 + .../exclusive_minimum_number_and_minimum.h | 1 + .../alterschema/common/if_without_then_else.h | 1 + .../alterschema/common/ignored_metaschema.h | 1 + .../common/max_contains_without_contains.h | 1 + .../common/maximum_real_for_integer.h | 1 + .../common/min_contains_without_contains.h | 1 + .../common/minimum_real_for_integer.h | 1 + ...ern_official_dialect_with_empty_fragment.h | 1 + .../common/non_applicable_additional_items.h | 1 + .../non_applicable_enum_validation_keywords.h | 1 + .../non_applicable_type_specific_keywords.h | 1 + .../extension/alterschema/common/not_false.h | 1 + .../alterschema/common/oneof_false_simplify.h | 1 + .../common/oneof_to_anyof_disjoint_types.h | 1 + .../alterschema/common/orphan_definitions.h | 1 + .../required_properties_in_properties.h | 1 + .../alterschema/common/single_type_array.h | 1 + .../extension/alterschema/common/then_empty.h | 1 + .../alterschema/common/then_without_if.h | 1 + .../common/unknown_keywords_prefix.h | 1 + .../alterschema/common/unknown_local_ref.h | 1 + .../unnecessary_allof_ref_wrapper_draft.h | 1 + .../unnecessary_allof_ref_wrapper_modern.h | 1 + .../common/unnecessary_allof_wrapper.h | 1 + .../common/unsatisfiable_drop_validation.h | 1 + .../unsatisfiable_in_place_applicator_type.h | 1 + .../alterschema/linter/comment_trim.h | 1 + .../linter/content_schema_default.h | 1 + .../alterschema/linter/definitions_to_defs.h | 1 + .../alterschema/linter/dependencies_default.h | 1 + .../linter/dependent_required_default.h | 1 + .../linter/description_trailing_period.h | 1 + .../alterschema/linter/description_trim.h | 1 + .../alterschema/linter/duplicate_examples.h | 1 + .../alterschema/linter/enum_to_const.h | 1 + .../linter/equal_numeric_bounds_to_const.h | 1 + .../alterschema/linter/items_array_default.h | 1 + .../alterschema/linter/items_schema_default.h | 1 + .../alterschema/linter/multiple_of_default.h | 1 + .../linter/pattern_properties_default.h | 1 + .../alterschema/linter/properties_default.h | 1 + .../linter/property_names_default.h | 1 + .../linter/property_names_type_default.h | 1 + .../linter/simple_properties_identifiers.h | 1 + .../linter/title_description_equal.h | 1 + .../linter/title_trailing_period.h | 1 + .../extension/alterschema/linter/title_trim.h | 1 + .../linter/top_level_description.h | 1 + .../alterschema/linter/top_level_examples.h | 1 + .../alterschema/linter/top_level_title.h | 1 + .../linter/unevaluated_items_default.h | 1 + .../linter/unevaluated_properties_default.h | 1 + .../linter/unsatisfiable_max_contains.h | 1 + .../linter/unsatisfiable_min_properties.h | 1 + 111 files changed, 134 insertions(+), 12 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 8d21647a4..a888d113f 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -1,3 +1,3 @@ vendorpull https://github.com/sourcemeta/vendorpull 1dcbac42809cf87cb5b045106b863e17ad84ba02 -core https://github.com/sourcemeta/core 421f999a9c14c33233db481f8caa2e062147873e +core https://github.com/sourcemeta/core 6db6600fed02d8b7e1de54e7df340bb1a16ab551 bootstrap https://github.com/twbs/bootstrap 1a6fdfae6be09b09eaced8f0e442ca6f7680a61e diff --git a/src/compiler/mapper/enum_8_bit.h b/src/compiler/mapper/enum_8_bit.h index 8b20480cd..f85450eb3 100644 --- a/src/compiler/mapper/enum_8_bit.h +++ b/src/compiler/mapper/enum_8_bit.h @@ -2,6 +2,7 @@ class Enum8Bit final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; Enum8Bit() : sourcemeta::core::SchemaTransformRule{"enum_8_bit", ""} {}; [[nodiscard]] auto diff --git a/src/compiler/mapper/enum_8_bit_top_level.h b/src/compiler/mapper/enum_8_bit_top_level.h index c1c465d7a..7b516c159 100644 --- a/src/compiler/mapper/enum_8_bit_top_level.h +++ b/src/compiler/mapper/enum_8_bit_top_level.h @@ -1,6 +1,7 @@ class Enum8BitTopLevel final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; Enum8BitTopLevel() : sourcemeta::core::SchemaTransformRule{"enum_8_bit_top_level", ""} {}; diff --git a/src/compiler/mapper/enum_arbitrary.h b/src/compiler/mapper/enum_arbitrary.h index 828514bf8..3ae6c4966 100644 --- a/src/compiler/mapper/enum_arbitrary.h +++ b/src/compiler/mapper/enum_arbitrary.h @@ -2,6 +2,7 @@ class EnumArbitrary final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; EnumArbitrary() : sourcemeta::core::SchemaTransformRule{"enum_arbitrary", ""} {}; diff --git a/src/compiler/mapper/enum_singleton.h b/src/compiler/mapper/enum_singleton.h index 1c36b7486..47f18919d 100644 --- a/src/compiler/mapper/enum_singleton.h +++ b/src/compiler/mapper/enum_singleton.h @@ -1,6 +1,7 @@ class EnumSingleton final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; EnumSingleton() : sourcemeta::core::SchemaTransformRule{"enum_singleton", ""} {}; diff --git a/src/compiler/mapper/integer_bounded_8_bit.h b/src/compiler/mapper/integer_bounded_8_bit.h index 3dc5acd6d..a2518cb60 100644 --- a/src/compiler/mapper/integer_bounded_8_bit.h +++ b/src/compiler/mapper/integer_bounded_8_bit.h @@ -1,6 +1,7 @@ class IntegerBounded8Bit final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; IntegerBounded8Bit() : sourcemeta::core::SchemaTransformRule{"integer_bounded_8_bit", ""} {}; diff --git a/src/compiler/mapper/integer_bounded_greater_than_8_bit.h b/src/compiler/mapper/integer_bounded_greater_than_8_bit.h index 67f8835d9..1711d6971 100644 --- a/src/compiler/mapper/integer_bounded_greater_than_8_bit.h +++ b/src/compiler/mapper/integer_bounded_greater_than_8_bit.h @@ -2,6 +2,7 @@ class IntegerBoundedGreaterThan8Bit final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; IntegerBoundedGreaterThan8Bit() : sourcemeta::core::SchemaTransformRule{ "integer_bounded_greater_than_8_bit", ""} {}; diff --git a/src/compiler/mapper/integer_bounded_multiplier_8_bit.h b/src/compiler/mapper/integer_bounded_multiplier_8_bit.h index a3af57f40..a4f7fbf7b 100644 --- a/src/compiler/mapper/integer_bounded_multiplier_8_bit.h +++ b/src/compiler/mapper/integer_bounded_multiplier_8_bit.h @@ -2,6 +2,7 @@ class IntegerBoundedMultiplier8Bit final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; IntegerBoundedMultiplier8Bit() : sourcemeta::core::SchemaTransformRule{ "integer_bounded_multiplier_8_bit", ""} {}; diff --git a/src/compiler/mapper/integer_bounded_multiplier_greater_than_8_bit.h b/src/compiler/mapper/integer_bounded_multiplier_greater_than_8_bit.h index 706eef72e..de19a94c2 100644 --- a/src/compiler/mapper/integer_bounded_multiplier_greater_than_8_bit.h +++ b/src/compiler/mapper/integer_bounded_multiplier_greater_than_8_bit.h @@ -2,6 +2,7 @@ class IntegerBoundedMultiplierGreaterThan8Bit final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; IntegerBoundedMultiplierGreaterThan8Bit() : sourcemeta::core::SchemaTransformRule{ "integer_bounded_multiplier_greater_than_8_bit", ""} {}; diff --git a/src/compiler/mapper/integer_lower_bound.h b/src/compiler/mapper/integer_lower_bound.h index 018a9853a..d5f04cdf7 100644 --- a/src/compiler/mapper/integer_lower_bound.h +++ b/src/compiler/mapper/integer_lower_bound.h @@ -1,6 +1,7 @@ class IntegerLowerBound final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; IntegerLowerBound() : sourcemeta::core::SchemaTransformRule{"integer_lower_bound", ""} {}; diff --git a/src/compiler/mapper/integer_lower_bound_multiplier.h b/src/compiler/mapper/integer_lower_bound_multiplier.h index 12107d3c3..826388a1f 100644 --- a/src/compiler/mapper/integer_lower_bound_multiplier.h +++ b/src/compiler/mapper/integer_lower_bound_multiplier.h @@ -2,6 +2,7 @@ class IntegerLowerBoundMultiplier final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; IntegerLowerBoundMultiplier() : sourcemeta::core::SchemaTransformRule{"integer_lower_bound_multiplier", ""} {}; diff --git a/src/compiler/mapper/integer_unbound.h b/src/compiler/mapper/integer_unbound.h index ada863087..4bcda4ea4 100644 --- a/src/compiler/mapper/integer_unbound.h +++ b/src/compiler/mapper/integer_unbound.h @@ -1,6 +1,7 @@ class IntegerUnbound final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; IntegerUnbound() : sourcemeta::core::SchemaTransformRule{"integer_unbound", ""} {}; diff --git a/src/compiler/mapper/integer_unbound_multiplier.h b/src/compiler/mapper/integer_unbound_multiplier.h index ba97a4b71..30e7d8e01 100644 --- a/src/compiler/mapper/integer_unbound_multiplier.h +++ b/src/compiler/mapper/integer_unbound_multiplier.h @@ -2,6 +2,7 @@ class IntegerUnboundMultiplier final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; IntegerUnboundMultiplier() : sourcemeta::core::SchemaTransformRule{"integer_unbound_multiplier", ""} {}; diff --git a/src/compiler/mapper/integer_upper_bound.h b/src/compiler/mapper/integer_upper_bound.h index 51c24ff00..fc2c3451c 100644 --- a/src/compiler/mapper/integer_upper_bound.h +++ b/src/compiler/mapper/integer_upper_bound.h @@ -1,6 +1,7 @@ class IntegerUpperBound final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; IntegerUpperBound() : sourcemeta::core::SchemaTransformRule{"integer_upper_bound", ""} {}; diff --git a/src/compiler/mapper/integer_upper_bound_multiplier.h b/src/compiler/mapper/integer_upper_bound_multiplier.h index 8f5cf89a5..ef2342dc9 100644 --- a/src/compiler/mapper/integer_upper_bound_multiplier.h +++ b/src/compiler/mapper/integer_upper_bound_multiplier.h @@ -2,6 +2,7 @@ class IntegerUpperBoundMultiplier final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; IntegerUpperBoundMultiplier() : sourcemeta::core::SchemaTransformRule{"integer_upper_bound_multiplier", ""} {}; diff --git a/src/compiler/mapper/number_arbitrary.h b/src/compiler/mapper/number_arbitrary.h index 7a9d35b58..dd106ee0c 100644 --- a/src/compiler/mapper/number_arbitrary.h +++ b/src/compiler/mapper/number_arbitrary.h @@ -1,6 +1,7 @@ class NumberArbitrary final : public sourcemeta::core::SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; NumberArbitrary() : sourcemeta::core::SchemaTransformRule{"number_arbitrary", ""} {}; diff --git a/vendor/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_transform.h b/vendor/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_transform.h index 3b0bfa886..55ff68d4a 100644 --- a/vendor/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_transform.h +++ b/vendor/core/src/core/jsonschema/include/sourcemeta/core/jsonschema_transform.h @@ -18,8 +18,9 @@ #include // std::set #include // std::string #include // std::string_view +#include // std::tuple #include // std::is_same_v, std::true_type -#include // std::move, std::forward, std::pair +#include // std::move, std::forward #include // std::vector namespace sourcemeta::core { @@ -164,6 +165,9 @@ class SOURCEMETA_CORE_JSONSCHEMA_EXPORT SchemaTransformRule { /// public: /// MyRule() : sourcemeta::core::SchemaTransformRule("my_rule") {}; /// +/// using mutates = std::true_type; +/// using reframe_after_transform = std::true_type; +/// /// [[nodiscard]] auto condition(const sourcemeta::core::JSON &schema, /// const sourcemeta::core::Vocabularies /// &vocabularies, @@ -229,9 +233,14 @@ class SOURCEMETA_CORE_JSONSCHEMA_EXPORT SchemaTransformer { template T, typename... Args> auto add(Args &&...args) -> void { static_assert(requires { typename T::mutates; }); + static_assert(requires { typename T::reframe_after_transform; }); + static_assert( + std::is_same_v || + std::is_same_v); this->rules.emplace_back( std::make_unique(std::forward(args)...), - std::is_same_v); + std::is_same_v, + std::is_same_v); } /// Remove a rule from the bundle @@ -274,7 +283,8 @@ class SOURCEMETA_CORE_JSONSCHEMA_EXPORT SchemaTransformer { #if defined(_MSC_VER) #pragma warning(disable : 4251) #endif - std::vector, bool>> rules; + std::vector, bool, bool>> + rules; #if defined(_MSC_VER) #pragma warning(default : 4251) #endif diff --git a/vendor/core/src/core/jsonschema/transformer.cc b/vendor/core/src/core/jsonschema/transformer.cc index 8d3052b27..9fa9c61d1 100644 --- a/vendor/core/src/core/jsonschema/transformer.cc +++ b/vendor/core/src/core/jsonschema/transformer.cc @@ -39,8 +39,8 @@ auto calculate_health_percentage(const std::size_t subschemas, auto check_rules( const sourcemeta::core::JSON &schema, const sourcemeta::core::SchemaFrame &frame, - const std::vector< - std::pair, bool>> + const std::vector, bool, bool>> &rules, const sourcemeta::core::SchemaWalker &walker, const sourcemeta::core::SchemaResolver &resolver, @@ -73,7 +73,7 @@ auto check_rules( const auto current_vocabularies{frame.vocabularies(entry.second, resolver)}; bool subschema_failed{false}; - for (const auto &[rule, mutates] : rules) { + for (const auto &[rule, mutates, _] : rules) { // TODO: In this case, can we avoid framing and the entire subschema loop // if there will be no rules to execute that match this criteria? if (non_mutating_only && mutates) { @@ -234,7 +234,7 @@ auto SchemaTransformer::apply(JSON &schema, const SchemaWalker &walker, const auto current_vocabularies{ frame.vocabularies(entry.second, resolver)}; - for (const auto &[rule, mutates] : this->rules) { + for (const auto &[rule, mutates, reframe_after_transform] : this->rules) { // Only process mutating rules in the main loop. // Non-mutating rules will be processed once at the end. if (!mutates) { @@ -274,8 +274,10 @@ auto SchemaTransformer::apply(JSON &schema, const SchemaWalker &walker, applied = true; - analyse_frame(frame, schema, walker, resolver, default_dialect, - default_id); + if (reframe_after_transform) { + analyse_frame(frame, schema, walker, resolver, default_dialect, + default_id); + } const auto new_location{frame.traverse(to_weak_pointer(entry_pointer))}; // The location should still exist after transform @@ -344,7 +346,9 @@ auto SchemaTransformer::apply(JSON &schema, const SchemaWalker &walker, frame.reset(); } - goto core_transformer_start_again; + if (references_fixed || reframe_after_transform) { + goto core_transformer_start_again; + } } } @@ -364,7 +368,7 @@ auto SchemaTransformer::apply(JSON &schema, const SchemaWalker &walker, auto SchemaTransformer::remove(const std::string_view name) -> bool { return std::erase_if(this->rules, [&name](const auto &entry) { - return entry.first->name() == name; + return std::get<0>(entry)->name() == name; }) > 0; } diff --git a/vendor/core/src/extension/alterschema/canonicalizer/const_as_enum.h b/vendor/core/src/extension/alterschema/canonicalizer/const_as_enum.h index bdee7d149..138f718a1 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/const_as_enum.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/const_as_enum.h @@ -1,6 +1,7 @@ class ConstAsEnum final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ConstAsEnum() : SchemaTransformRule{"const_as_enum", "Setting `const` is syntax sugar for an " diff --git a/vendor/core/src/extension/alterschema/canonicalizer/exclusive_maximum_integer_to_maximum.h b/vendor/core/src/extension/alterschema/canonicalizer/exclusive_maximum_integer_to_maximum.h index 9a9b6debd..16246872f 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/exclusive_maximum_integer_to_maximum.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/exclusive_maximum_integer_to_maximum.h @@ -1,6 +1,7 @@ class ExclusiveMaximumIntegerToMaximum final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ExclusiveMaximumIntegerToMaximum() : SchemaTransformRule{ "exclusive_maximum_integer_to_maximum", diff --git a/vendor/core/src/extension/alterschema/canonicalizer/exclusive_minimum_integer_to_minimum.h b/vendor/core/src/extension/alterschema/canonicalizer/exclusive_minimum_integer_to_minimum.h index ea5a38681..87479ab7c 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/exclusive_minimum_integer_to_minimum.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/exclusive_minimum_integer_to_minimum.h @@ -1,6 +1,7 @@ class ExclusiveMinimumIntegerToMinimum final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ExclusiveMinimumIntegerToMinimum() : SchemaTransformRule{ "exclusive_minimum_integer_to_minimum", diff --git a/vendor/core/src/extension/alterschema/canonicalizer/items_implicit.h b/vendor/core/src/extension/alterschema/canonicalizer/items_implicit.h index e41a54231..50a361e08 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/items_implicit.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/items_implicit.h @@ -1,6 +1,7 @@ class ItemsImplicit final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ItemsImplicit() : SchemaTransformRule{"items_implicit", "Every array has an implicit `items` " diff --git a/vendor/core/src/extension/alterschema/canonicalizer/max_contains_covered_by_max_items.h b/vendor/core/src/extension/alterschema/canonicalizer/max_contains_covered_by_max_items.h index 5c46adcbd..225a28922 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/max_contains_covered_by_max_items.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/max_contains_covered_by_max_items.h @@ -1,6 +1,7 @@ class MaxContainsCoveredByMaxItems final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; MaxContainsCoveredByMaxItems() : SchemaTransformRule{ "max_contains_covered_by_max_items", diff --git a/vendor/core/src/extension/alterschema/canonicalizer/min_items_given_min_contains.h b/vendor/core/src/extension/alterschema/canonicalizer/min_items_given_min_contains.h index a2ea488e5..56a23358e 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/min_items_given_min_contains.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/min_items_given_min_contains.h @@ -1,6 +1,7 @@ class MinItemsGivenMinContains final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; MinItemsGivenMinContains() : SchemaTransformRule{ "min_items_given_min_contains", diff --git a/vendor/core/src/extension/alterschema/canonicalizer/min_items_implicit.h b/vendor/core/src/extension/alterschema/canonicalizer/min_items_implicit.h index af88a01b2..dfdeae065 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/min_items_implicit.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/min_items_implicit.h @@ -1,6 +1,7 @@ class MinItemsImplicit final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; MinItemsImplicit() : SchemaTransformRule{"min_items_implicit", "Every array has a minimum size of zero items"} {}; diff --git a/vendor/core/src/extension/alterschema/canonicalizer/min_length_implicit.h b/vendor/core/src/extension/alterschema/canonicalizer/min_length_implicit.h index 18dd44db2..7414758d3 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/min_length_implicit.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/min_length_implicit.h @@ -1,6 +1,7 @@ class MinLengthImplicit final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; MinLengthImplicit() : SchemaTransformRule{ "min_length_implicit", diff --git a/vendor/core/src/extension/alterschema/canonicalizer/min_properties_covered_by_required.h b/vendor/core/src/extension/alterschema/canonicalizer/min_properties_covered_by_required.h index a01719643..60a31913a 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/min_properties_covered_by_required.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/min_properties_covered_by_required.h @@ -1,6 +1,7 @@ class MinPropertiesCoveredByRequired final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; MinPropertiesCoveredByRequired() : SchemaTransformRule{ "min_properties_covered_by_required", diff --git a/vendor/core/src/extension/alterschema/canonicalizer/min_properties_implicit.h b/vendor/core/src/extension/alterschema/canonicalizer/min_properties_implicit.h index 9954e6c8f..9a4dca7dd 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/min_properties_implicit.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/min_properties_implicit.h @@ -1,6 +1,7 @@ class MinPropertiesImplicit final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; MinPropertiesImplicit() : SchemaTransformRule{ "min_properties_implicit", diff --git a/vendor/core/src/extension/alterschema/canonicalizer/multiple_of_implicit.h b/vendor/core/src/extension/alterschema/canonicalizer/multiple_of_implicit.h index fe809345e..b04a47f2f 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/multiple_of_implicit.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/multiple_of_implicit.h @@ -1,6 +1,7 @@ class MultipleOfImplicit final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; MultipleOfImplicit() : SchemaTransformRule{"multiple_of_implicit", "The unit of `multipleOf` is the integer 1"} {}; diff --git a/vendor/core/src/extension/alterschema/canonicalizer/no_metadata.h b/vendor/core/src/extension/alterschema/canonicalizer/no_metadata.h index f2f9dbb6d..3a2ff3361 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/no_metadata.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/no_metadata.h @@ -1,6 +1,7 @@ class NoMetadata final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; NoMetadata() : SchemaTransformRule{"no_metadata", "Annotations, comments, and unknown keywords have " diff --git a/vendor/core/src/extension/alterschema/canonicalizer/properties_implicit.h b/vendor/core/src/extension/alterschema/canonicalizer/properties_implicit.h index 5a051e5cd..780f0959c 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/properties_implicit.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/properties_implicit.h @@ -1,6 +1,7 @@ class PropertiesImplicit final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; PropertiesImplicit() : SchemaTransformRule{"properties_implicit", "Every object has an implicit `properties` " diff --git a/vendor/core/src/extension/alterschema/canonicalizer/type_array_to_any_of.h b/vendor/core/src/extension/alterschema/canonicalizer/type_array_to_any_of.h index 7b62a78b3..1e9c74b34 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/type_array_to_any_of.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/type_array_to_any_of.h @@ -1,6 +1,7 @@ class TypeArrayToAnyOf final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; TypeArrayToAnyOf() : SchemaTransformRule{ "type_array_to_any_of", diff --git a/vendor/core/src/extension/alterschema/canonicalizer/type_boolean_as_enum.h b/vendor/core/src/extension/alterschema/canonicalizer/type_boolean_as_enum.h index 8b7e910cb..bf689d9ff 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/type_boolean_as_enum.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/type_boolean_as_enum.h @@ -1,6 +1,7 @@ class TypeBooleanAsEnum final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; TypeBooleanAsEnum() : SchemaTransformRule{ "type_boolean_as_enum", diff --git a/vendor/core/src/extension/alterschema/canonicalizer/type_null_as_enum.h b/vendor/core/src/extension/alterschema/canonicalizer/type_null_as_enum.h index 6f8ba8e9a..81a01c2fb 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/type_null_as_enum.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/type_null_as_enum.h @@ -1,6 +1,7 @@ class TypeNullAsEnum final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; TypeNullAsEnum() : SchemaTransformRule{ "type_null_as_enum", diff --git a/vendor/core/src/extension/alterschema/canonicalizer/type_union_implicit.h b/vendor/core/src/extension/alterschema/canonicalizer/type_union_implicit.h index 7e3239efb..aff2a463e 100644 --- a/vendor/core/src/extension/alterschema/canonicalizer/type_union_implicit.h +++ b/vendor/core/src/extension/alterschema/canonicalizer/type_union_implicit.h @@ -1,6 +1,7 @@ class TypeUnionImplicit final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; TypeUnionImplicit() : SchemaTransformRule{ "type_union_implicit", diff --git a/vendor/core/src/extension/alterschema/common/allof_false_simplify.h b/vendor/core/src/extension/alterschema/common/allof_false_simplify.h index 38577cdda..f8a59b1a1 100644 --- a/vendor/core/src/extension/alterschema/common/allof_false_simplify.h +++ b/vendor/core/src/extension/alterschema/common/allof_false_simplify.h @@ -1,6 +1,7 @@ class AllOfFalseSimplify final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; AllOfFalseSimplify() : SchemaTransformRule{"allof_false_simplify", "When `allOf` contains a `false` branch, the " diff --git a/vendor/core/src/extension/alterschema/common/anyof_false_simplify.h b/vendor/core/src/extension/alterschema/common/anyof_false_simplify.h index 7602de8ce..562ba54fa 100644 --- a/vendor/core/src/extension/alterschema/common/anyof_false_simplify.h +++ b/vendor/core/src/extension/alterschema/common/anyof_false_simplify.h @@ -1,6 +1,7 @@ class AnyOfFalseSimplify final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; AnyOfFalseSimplify() : SchemaTransformRule{"anyof_false_simplify", "An `anyOf` of a single `false` branch is " diff --git a/vendor/core/src/extension/alterschema/common/anyof_remove_false_schemas.h b/vendor/core/src/extension/alterschema/common/anyof_remove_false_schemas.h index 7e235bbfd..d8bee7dc2 100644 --- a/vendor/core/src/extension/alterschema/common/anyof_remove_false_schemas.h +++ b/vendor/core/src/extension/alterschema/common/anyof_remove_false_schemas.h @@ -1,6 +1,7 @@ class AnyOfRemoveFalseSchemas final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; AnyOfRemoveFalseSchemas() : SchemaTransformRule{ "anyof_remove_false_schemas", diff --git a/vendor/core/src/extension/alterschema/common/anyof_true_simplify.h b/vendor/core/src/extension/alterschema/common/anyof_true_simplify.h index 2ee7c30af..8cdef08ba 100644 --- a/vendor/core/src/extension/alterschema/common/anyof_true_simplify.h +++ b/vendor/core/src/extension/alterschema/common/anyof_true_simplify.h @@ -1,6 +1,7 @@ class AnyOfTrueSimplify final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; AnyOfTrueSimplify() : SchemaTransformRule{ "anyof_true_simplify", diff --git a/vendor/core/src/extension/alterschema/common/const_with_type.h b/vendor/core/src/extension/alterschema/common/const_with_type.h index 4cf07ae85..820f5ae6f 100644 --- a/vendor/core/src/extension/alterschema/common/const_with_type.h +++ b/vendor/core/src/extension/alterschema/common/const_with_type.h @@ -1,6 +1,7 @@ class ConstWithType final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ConstWithType() : SchemaTransformRule{ "const_with_type", diff --git a/vendor/core/src/extension/alterschema/common/content_media_type_without_encoding.h b/vendor/core/src/extension/alterschema/common/content_media_type_without_encoding.h index b71686747..7c8e3e009 100644 --- a/vendor/core/src/extension/alterschema/common/content_media_type_without_encoding.h +++ b/vendor/core/src/extension/alterschema/common/content_media_type_without_encoding.h @@ -1,6 +1,7 @@ class ContentMediaTypeWithoutEncoding final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ContentMediaTypeWithoutEncoding() : SchemaTransformRule{ "content_media_type_without_encoding", diff --git a/vendor/core/src/extension/alterschema/common/content_schema_without_media_type.h b/vendor/core/src/extension/alterschema/common/content_schema_without_media_type.h index 8f836fa8a..bfa89eff8 100644 --- a/vendor/core/src/extension/alterschema/common/content_schema_without_media_type.h +++ b/vendor/core/src/extension/alterschema/common/content_schema_without_media_type.h @@ -4,6 +4,7 @@ class ContentSchemaWithoutMediaType final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ContentSchemaWithoutMediaType() : SchemaTransformRule{ "content_schema_without_media_type", diff --git a/vendor/core/src/extension/alterschema/common/dependencies_property_tautology.h b/vendor/core/src/extension/alterschema/common/dependencies_property_tautology.h index f393089b1..e7eec435b 100644 --- a/vendor/core/src/extension/alterschema/common/dependencies_property_tautology.h +++ b/vendor/core/src/extension/alterschema/common/dependencies_property_tautology.h @@ -1,6 +1,7 @@ class DependenciesPropertyTautology final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; DependenciesPropertyTautology() : SchemaTransformRule{ "dependencies_property_tautology", diff --git a/vendor/core/src/extension/alterschema/common/dependent_required_tautology.h b/vendor/core/src/extension/alterschema/common/dependent_required_tautology.h index 071449eb3..2cebac02c 100644 --- a/vendor/core/src/extension/alterschema/common/dependent_required_tautology.h +++ b/vendor/core/src/extension/alterschema/common/dependent_required_tautology.h @@ -1,6 +1,7 @@ class DependentRequiredTautology final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; DependentRequiredTautology() : SchemaTransformRule{ "dependent_required_tautology", diff --git a/vendor/core/src/extension/alterschema/common/draft_official_dialect_without_empty_fragment.h b/vendor/core/src/extension/alterschema/common/draft_official_dialect_without_empty_fragment.h index 32ac47252..ff47fa639 100644 --- a/vendor/core/src/extension/alterschema/common/draft_official_dialect_without_empty_fragment.h +++ b/vendor/core/src/extension/alterschema/common/draft_official_dialect_without_empty_fragment.h @@ -2,6 +2,7 @@ class DraftOfficialDialectWithoutEmptyFragment final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; DraftOfficialDialectWithoutEmptyFragment() : SchemaTransformRule{"draft_official_dialect_without_empty_fragment", "The official dialect URI of Draft 7 and older " diff --git a/vendor/core/src/extension/alterschema/common/draft_ref_siblings.h b/vendor/core/src/extension/alterschema/common/draft_ref_siblings.h index c34b9de63..2b4e02d61 100644 --- a/vendor/core/src/extension/alterschema/common/draft_ref_siblings.h +++ b/vendor/core/src/extension/alterschema/common/draft_ref_siblings.h @@ -1,6 +1,7 @@ class DraftRefSiblings final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; DraftRefSiblings() : SchemaTransformRule{"draft_ref_siblings", "In Draft 7 and older dialects, keywords sibling " diff --git a/vendor/core/src/extension/alterschema/common/drop_allof_empty_schemas.h b/vendor/core/src/extension/alterschema/common/drop_allof_empty_schemas.h index f607e00bd..346844fa8 100644 --- a/vendor/core/src/extension/alterschema/common/drop_allof_empty_schemas.h +++ b/vendor/core/src/extension/alterschema/common/drop_allof_empty_schemas.h @@ -1,6 +1,7 @@ class DropAllOfEmptySchemas final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; DropAllOfEmptySchemas() : SchemaTransformRule{"drop_allof_empty_schemas", "Empty schemas in `allOf` are redundant and can be " diff --git a/vendor/core/src/extension/alterschema/common/duplicate_allof_branches.h b/vendor/core/src/extension/alterschema/common/duplicate_allof_branches.h index ab379c50e..2b84e54ea 100644 --- a/vendor/core/src/extension/alterschema/common/duplicate_allof_branches.h +++ b/vendor/core/src/extension/alterschema/common/duplicate_allof_branches.h @@ -1,6 +1,7 @@ class DuplicateAllOfBranches final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; DuplicateAllOfBranches() : SchemaTransformRule{ "duplicate_allof_branches", diff --git a/vendor/core/src/extension/alterschema/common/duplicate_anyof_branches.h b/vendor/core/src/extension/alterschema/common/duplicate_anyof_branches.h index 257d2ab78..50719fe7a 100644 --- a/vendor/core/src/extension/alterschema/common/duplicate_anyof_branches.h +++ b/vendor/core/src/extension/alterschema/common/duplicate_anyof_branches.h @@ -1,6 +1,7 @@ class DuplicateAnyOfBranches final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; DuplicateAnyOfBranches() : SchemaTransformRule{ "duplicate_anyof_branches", diff --git a/vendor/core/src/extension/alterschema/common/duplicate_enum_values.h b/vendor/core/src/extension/alterschema/common/duplicate_enum_values.h index 75c0e797e..8b422cf64 100644 --- a/vendor/core/src/extension/alterschema/common/duplicate_enum_values.h +++ b/vendor/core/src/extension/alterschema/common/duplicate_enum_values.h @@ -1,6 +1,7 @@ class DuplicateEnumValues final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; DuplicateEnumValues() : SchemaTransformRule{"duplicate_enum_values", "Setting duplicate values in `enum` is " diff --git a/vendor/core/src/extension/alterschema/common/duplicate_required_values.h b/vendor/core/src/extension/alterschema/common/duplicate_required_values.h index 2b08057da..9e3f3cbde 100644 --- a/vendor/core/src/extension/alterschema/common/duplicate_required_values.h +++ b/vendor/core/src/extension/alterschema/common/duplicate_required_values.h @@ -1,6 +1,7 @@ class DuplicateRequiredValues final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; DuplicateRequiredValues() : SchemaTransformRule{ "duplicate_required_values", diff --git a/vendor/core/src/extension/alterschema/common/else_empty.h b/vendor/core/src/extension/alterschema/common/else_empty.h index a1e8914bc..c4f64a0b3 100644 --- a/vendor/core/src/extension/alterschema/common/else_empty.h +++ b/vendor/core/src/extension/alterschema/common/else_empty.h @@ -4,6 +4,7 @@ class ElseEmpty final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ElseEmpty() : SchemaTransformRule{"else_empty", "Setting the `else` keyword to the empty schema " diff --git a/vendor/core/src/extension/alterschema/common/else_without_if.h b/vendor/core/src/extension/alterschema/common/else_without_if.h index fbca00c1a..475c62222 100644 --- a/vendor/core/src/extension/alterschema/common/else_without_if.h +++ b/vendor/core/src/extension/alterschema/common/else_without_if.h @@ -4,6 +4,7 @@ class ElseWithoutIf final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ElseWithoutIf() : SchemaTransformRule{"else_without_if", "The `else` keyword is meaningless " diff --git a/vendor/core/src/extension/alterschema/common/empty_object_as_true.h b/vendor/core/src/extension/alterschema/common/empty_object_as_true.h index ead99ce3d..34019077c 100644 --- a/vendor/core/src/extension/alterschema/common/empty_object_as_true.h +++ b/vendor/core/src/extension/alterschema/common/empty_object_as_true.h @@ -1,6 +1,7 @@ class EmptyObjectAsTrue final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; EmptyObjectAsTrue() : SchemaTransformRule{ "empty_object_as_true", diff --git a/vendor/core/src/extension/alterschema/common/enum_with_type.h b/vendor/core/src/extension/alterschema/common/enum_with_type.h index db8f421ff..c2a8949c6 100644 --- a/vendor/core/src/extension/alterschema/common/enum_with_type.h +++ b/vendor/core/src/extension/alterschema/common/enum_with_type.h @@ -1,6 +1,7 @@ class EnumWithType final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; EnumWithType() : SchemaTransformRule{ "enum_with_type", diff --git a/vendor/core/src/extension/alterschema/common/equal_numeric_bounds_to_enum.h b/vendor/core/src/extension/alterschema/common/equal_numeric_bounds_to_enum.h index b2a4bf318..c7cf7de8f 100644 --- a/vendor/core/src/extension/alterschema/common/equal_numeric_bounds_to_enum.h +++ b/vendor/core/src/extension/alterschema/common/equal_numeric_bounds_to_enum.h @@ -1,6 +1,7 @@ class EqualNumericBoundsToEnum final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; EqualNumericBoundsToEnum() : SchemaTransformRule{ "equal_numeric_bounds_to_enum", diff --git a/vendor/core/src/extension/alterschema/common/exclusive_maximum_number_and_maximum.h b/vendor/core/src/extension/alterschema/common/exclusive_maximum_number_and_maximum.h index a026fe5d3..dd096d02b 100644 --- a/vendor/core/src/extension/alterschema/common/exclusive_maximum_number_and_maximum.h +++ b/vendor/core/src/extension/alterschema/common/exclusive_maximum_number_and_maximum.h @@ -1,6 +1,7 @@ class ExclusiveMaximumNumberAndMaximum final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ExclusiveMaximumNumberAndMaximum() : SchemaTransformRule{ "exclusive_maximum_number_and_maximum", diff --git a/vendor/core/src/extension/alterschema/common/exclusive_minimum_number_and_minimum.h b/vendor/core/src/extension/alterschema/common/exclusive_minimum_number_and_minimum.h index 175b57898..3fb192f4c 100644 --- a/vendor/core/src/extension/alterschema/common/exclusive_minimum_number_and_minimum.h +++ b/vendor/core/src/extension/alterschema/common/exclusive_minimum_number_and_minimum.h @@ -1,6 +1,7 @@ class ExclusiveMinimumNumberAndMinimum final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ExclusiveMinimumNumberAndMinimum() : SchemaTransformRule{ "exclusive_minimum_number_and_minimum", diff --git a/vendor/core/src/extension/alterschema/common/if_without_then_else.h b/vendor/core/src/extension/alterschema/common/if_without_then_else.h index 377ca87af..93bafb3bb 100644 --- a/vendor/core/src/extension/alterschema/common/if_without_then_else.h +++ b/vendor/core/src/extension/alterschema/common/if_without_then_else.h @@ -4,6 +4,7 @@ class IfWithoutThenElse final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; IfWithoutThenElse() : SchemaTransformRule{ "if_without_then_else", diff --git a/vendor/core/src/extension/alterschema/common/ignored_metaschema.h b/vendor/core/src/extension/alterschema/common/ignored_metaschema.h index 951def6d5..3faed03b9 100644 --- a/vendor/core/src/extension/alterschema/common/ignored_metaschema.h +++ b/vendor/core/src/extension/alterschema/common/ignored_metaschema.h @@ -1,6 +1,7 @@ class IgnoredMetaschema final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; IgnoredMetaschema() : SchemaTransformRule{ "ignored_metaschema", diff --git a/vendor/core/src/extension/alterschema/common/max_contains_without_contains.h b/vendor/core/src/extension/alterschema/common/max_contains_without_contains.h index 1cb43802b..4cad64f2c 100644 --- a/vendor/core/src/extension/alterschema/common/max_contains_without_contains.h +++ b/vendor/core/src/extension/alterschema/common/max_contains_without_contains.h @@ -1,6 +1,7 @@ class MaxContainsWithoutContains final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; MaxContainsWithoutContains() : SchemaTransformRule{"max_contains_without_contains", "The `maxContains` keyword is meaningless " diff --git a/vendor/core/src/extension/alterschema/common/maximum_real_for_integer.h b/vendor/core/src/extension/alterschema/common/maximum_real_for_integer.h index 10610dda7..65b77b9eb 100644 --- a/vendor/core/src/extension/alterschema/common/maximum_real_for_integer.h +++ b/vendor/core/src/extension/alterschema/common/maximum_real_for_integer.h @@ -1,6 +1,7 @@ class MaximumRealForInteger final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; MaximumRealForInteger() : SchemaTransformRule{ "maximum_real_for_integer", diff --git a/vendor/core/src/extension/alterschema/common/min_contains_without_contains.h b/vendor/core/src/extension/alterschema/common/min_contains_without_contains.h index c0845eb1e..1bd56a758 100644 --- a/vendor/core/src/extension/alterschema/common/min_contains_without_contains.h +++ b/vendor/core/src/extension/alterschema/common/min_contains_without_contains.h @@ -1,6 +1,7 @@ class MinContainsWithoutContains final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; MinContainsWithoutContains() : SchemaTransformRule{"min_contains_without_contains", "The `minContains` keyword is meaningless " diff --git a/vendor/core/src/extension/alterschema/common/minimum_real_for_integer.h b/vendor/core/src/extension/alterschema/common/minimum_real_for_integer.h index 2fce64728..ba46ddbc5 100644 --- a/vendor/core/src/extension/alterschema/common/minimum_real_for_integer.h +++ b/vendor/core/src/extension/alterschema/common/minimum_real_for_integer.h @@ -1,6 +1,7 @@ class MinimumRealForInteger final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; MinimumRealForInteger() : SchemaTransformRule{ "minimum_real_for_integer", diff --git a/vendor/core/src/extension/alterschema/common/modern_official_dialect_with_empty_fragment.h b/vendor/core/src/extension/alterschema/common/modern_official_dialect_with_empty_fragment.h index 2a7fe5a63..555dc687e 100644 --- a/vendor/core/src/extension/alterschema/common/modern_official_dialect_with_empty_fragment.h +++ b/vendor/core/src/extension/alterschema/common/modern_official_dialect_with_empty_fragment.h @@ -2,6 +2,7 @@ class ModernOfficialDialectWithEmptyFragment final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ModernOfficialDialectWithEmptyFragment() : SchemaTransformRule{ "modern_official_dialect_with_empty_fragment", diff --git a/vendor/core/src/extension/alterschema/common/non_applicable_additional_items.h b/vendor/core/src/extension/alterschema/common/non_applicable_additional_items.h index 0a70a3746..4ac055cd8 100644 --- a/vendor/core/src/extension/alterschema/common/non_applicable_additional_items.h +++ b/vendor/core/src/extension/alterschema/common/non_applicable_additional_items.h @@ -4,6 +4,7 @@ class NonApplicableAdditionalItems final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; NonApplicableAdditionalItems() : SchemaTransformRule{ "non_applicable_additional_items", diff --git a/vendor/core/src/extension/alterschema/common/non_applicable_enum_validation_keywords.h b/vendor/core/src/extension/alterschema/common/non_applicable_enum_validation_keywords.h index 32c60648a..593037003 100644 --- a/vendor/core/src/extension/alterschema/common/non_applicable_enum_validation_keywords.h +++ b/vendor/core/src/extension/alterschema/common/non_applicable_enum_validation_keywords.h @@ -1,6 +1,7 @@ class NonApplicableEnumValidationKeywords final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; NonApplicableEnumValidationKeywords() : SchemaTransformRule{ "non_applicable_enum_validation_keywords", diff --git a/vendor/core/src/extension/alterschema/common/non_applicable_type_specific_keywords.h b/vendor/core/src/extension/alterschema/common/non_applicable_type_specific_keywords.h index f421f5a31..db188c271 100644 --- a/vendor/core/src/extension/alterschema/common/non_applicable_type_specific_keywords.h +++ b/vendor/core/src/extension/alterschema/common/non_applicable_type_specific_keywords.h @@ -1,6 +1,7 @@ class NonApplicableTypeSpecificKeywords final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; NonApplicableTypeSpecificKeywords() : SchemaTransformRule{"non_applicable_type_specific_keywords", "Avoid keywords that don't apply to the type or " diff --git a/vendor/core/src/extension/alterschema/common/not_false.h b/vendor/core/src/extension/alterschema/common/not_false.h index a8f6fa1f2..65de31f6c 100644 --- a/vendor/core/src/extension/alterschema/common/not_false.h +++ b/vendor/core/src/extension/alterschema/common/not_false.h @@ -4,6 +4,7 @@ class NotFalse final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; NotFalse() : SchemaTransformRule{"not_false", "Setting the `not` keyword to `false` imposes no " diff --git a/vendor/core/src/extension/alterschema/common/oneof_false_simplify.h b/vendor/core/src/extension/alterschema/common/oneof_false_simplify.h index aa89fb5f3..64c4adf6a 100644 --- a/vendor/core/src/extension/alterschema/common/oneof_false_simplify.h +++ b/vendor/core/src/extension/alterschema/common/oneof_false_simplify.h @@ -1,6 +1,7 @@ class OneOfFalseSimplify final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; OneOfFalseSimplify() : SchemaTransformRule{"oneof_false_simplify", "A `oneOf` of a single `false` branch is " diff --git a/vendor/core/src/extension/alterschema/common/oneof_to_anyof_disjoint_types.h b/vendor/core/src/extension/alterschema/common/oneof_to_anyof_disjoint_types.h index 31657734b..d9a16bc58 100644 --- a/vendor/core/src/extension/alterschema/common/oneof_to_anyof_disjoint_types.h +++ b/vendor/core/src/extension/alterschema/common/oneof_to_anyof_disjoint_types.h @@ -1,6 +1,7 @@ class OneOfToAnyOfDisjointTypes final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; OneOfToAnyOfDisjointTypes() : SchemaTransformRule{ "oneof_to_anyof_disjoint_types", diff --git a/vendor/core/src/extension/alterschema/common/orphan_definitions.h b/vendor/core/src/extension/alterschema/common/orphan_definitions.h index d1054b4be..f08632768 100644 --- a/vendor/core/src/extension/alterschema/common/orphan_definitions.h +++ b/vendor/core/src/extension/alterschema/common/orphan_definitions.h @@ -1,6 +1,7 @@ class OrphanDefinitions final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; OrphanDefinitions() : SchemaTransformRule{ "orphan_definitions", diff --git a/vendor/core/src/extension/alterschema/common/required_properties_in_properties.h b/vendor/core/src/extension/alterschema/common/required_properties_in_properties.h index bf8458b02..26739fae5 100644 --- a/vendor/core/src/extension/alterschema/common/required_properties_in_properties.h +++ b/vendor/core/src/extension/alterschema/common/required_properties_in_properties.h @@ -1,6 +1,7 @@ class RequiredPropertiesInProperties final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; RequiredPropertiesInProperties() : SchemaTransformRule{ "required_properties_in_properties", diff --git a/vendor/core/src/extension/alterschema/common/single_type_array.h b/vendor/core/src/extension/alterschema/common/single_type_array.h index e1e9f29fb..742ea1041 100644 --- a/vendor/core/src/extension/alterschema/common/single_type_array.h +++ b/vendor/core/src/extension/alterschema/common/single_type_array.h @@ -1,6 +1,7 @@ class SingleTypeArray final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; SingleTypeArray() : SchemaTransformRule{"single_type_array", "Setting `type` to an array of a single type is " diff --git a/vendor/core/src/extension/alterschema/common/then_empty.h b/vendor/core/src/extension/alterschema/common/then_empty.h index 4b0cb78a4..eacf299a4 100644 --- a/vendor/core/src/extension/alterschema/common/then_empty.h +++ b/vendor/core/src/extension/alterschema/common/then_empty.h @@ -4,6 +4,7 @@ class ThenEmpty final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ThenEmpty() : SchemaTransformRule{"then_empty", "Setting the `then` keyword to the empty schema " diff --git a/vendor/core/src/extension/alterschema/common/then_without_if.h b/vendor/core/src/extension/alterschema/common/then_without_if.h index b1e33231c..75d526d85 100644 --- a/vendor/core/src/extension/alterschema/common/then_without_if.h +++ b/vendor/core/src/extension/alterschema/common/then_without_if.h @@ -4,6 +4,7 @@ class ThenWithoutIf final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ThenWithoutIf() : SchemaTransformRule{"then_without_if", "The `then` keyword is meaningless " diff --git a/vendor/core/src/extension/alterschema/common/unknown_keywords_prefix.h b/vendor/core/src/extension/alterschema/common/unknown_keywords_prefix.h index 2c0bf0787..37691bee6 100644 --- a/vendor/core/src/extension/alterschema/common/unknown_keywords_prefix.h +++ b/vendor/core/src/extension/alterschema/common/unknown_keywords_prefix.h @@ -1,6 +1,7 @@ class UnknownKeywordsPrefix final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; UnknownKeywordsPrefix() : SchemaTransformRule{ "unknown_keywords_prefix", diff --git a/vendor/core/src/extension/alterschema/common/unknown_local_ref.h b/vendor/core/src/extension/alterschema/common/unknown_local_ref.h index ad518c970..1901e91a4 100644 --- a/vendor/core/src/extension/alterschema/common/unknown_local_ref.h +++ b/vendor/core/src/extension/alterschema/common/unknown_local_ref.h @@ -4,6 +4,7 @@ class UnknownLocalRef final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; UnknownLocalRef() : SchemaTransformRule{ "unknown_local_ref", diff --git a/vendor/core/src/extension/alterschema/common/unnecessary_allof_ref_wrapper_draft.h b/vendor/core/src/extension/alterschema/common/unnecessary_allof_ref_wrapper_draft.h index 7f7b6af9b..f5f8d38d0 100644 --- a/vendor/core/src/extension/alterschema/common/unnecessary_allof_ref_wrapper_draft.h +++ b/vendor/core/src/extension/alterschema/common/unnecessary_allof_ref_wrapper_draft.h @@ -1,6 +1,7 @@ class UnnecessaryAllOfRefWrapperDraft final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; UnnecessaryAllOfRefWrapperDraft() : SchemaTransformRule{"unnecessary_allof_ref_wrapper_draft", "Wrapping `$ref` in `allOf` is only necessary if " diff --git a/vendor/core/src/extension/alterschema/common/unnecessary_allof_ref_wrapper_modern.h b/vendor/core/src/extension/alterschema/common/unnecessary_allof_ref_wrapper_modern.h index 816ed8776..ade6bd7e6 100644 --- a/vendor/core/src/extension/alterschema/common/unnecessary_allof_ref_wrapper_modern.h +++ b/vendor/core/src/extension/alterschema/common/unnecessary_allof_ref_wrapper_modern.h @@ -1,6 +1,7 @@ class UnnecessaryAllOfRefWrapperModern final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; UnnecessaryAllOfRefWrapperModern() : SchemaTransformRule{"unnecessary_allof_ref_wrapper_modern", "Wrapping `$ref` in `allOf` was only necessary in " diff --git a/vendor/core/src/extension/alterschema/common/unnecessary_allof_wrapper.h b/vendor/core/src/extension/alterschema/common/unnecessary_allof_wrapper.h index 48d9e62d9..33c78e0ea 100644 --- a/vendor/core/src/extension/alterschema/common/unnecessary_allof_wrapper.h +++ b/vendor/core/src/extension/alterschema/common/unnecessary_allof_wrapper.h @@ -4,6 +4,7 @@ class UnnecessaryAllOfWrapper final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; UnnecessaryAllOfWrapper() : SchemaTransformRule{"unnecessary_allof_wrapper", "Keywords inside `allOf` that do not conflict with " diff --git a/vendor/core/src/extension/alterschema/common/unsatisfiable_drop_validation.h b/vendor/core/src/extension/alterschema/common/unsatisfiable_drop_validation.h index 4da45d642..4e5b44c0e 100644 --- a/vendor/core/src/extension/alterschema/common/unsatisfiable_drop_validation.h +++ b/vendor/core/src/extension/alterschema/common/unsatisfiable_drop_validation.h @@ -1,6 +1,7 @@ class UnsatisfiableDropValidation final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; UnsatisfiableDropValidation() : SchemaTransformRule{"unsatisfiable_drop_validation", "Do not place assertions or applicators next to an " diff --git a/vendor/core/src/extension/alterschema/common/unsatisfiable_in_place_applicator_type.h b/vendor/core/src/extension/alterschema/common/unsatisfiable_in_place_applicator_type.h index 6b9e81f7f..08152fabe 100644 --- a/vendor/core/src/extension/alterschema/common/unsatisfiable_in_place_applicator_type.h +++ b/vendor/core/src/extension/alterschema/common/unsatisfiable_in_place_applicator_type.h @@ -1,6 +1,7 @@ class UnsatisfiableInPlaceApplicatorType final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; UnsatisfiableInPlaceApplicatorType() : SchemaTransformRule{ "unsatisfiable_in_place_applicator_type", diff --git a/vendor/core/src/extension/alterschema/linter/comment_trim.h b/vendor/core/src/extension/alterschema/linter/comment_trim.h index 3979534b8..c29690818 100644 --- a/vendor/core/src/extension/alterschema/linter/comment_trim.h +++ b/vendor/core/src/extension/alterschema/linter/comment_trim.h @@ -1,6 +1,7 @@ class CommentTrim final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; CommentTrim() : SchemaTransformRule{ "comment_trim", diff --git a/vendor/core/src/extension/alterschema/linter/content_schema_default.h b/vendor/core/src/extension/alterschema/linter/content_schema_default.h index c7d12519b..411d35a86 100644 --- a/vendor/core/src/extension/alterschema/linter/content_schema_default.h +++ b/vendor/core/src/extension/alterschema/linter/content_schema_default.h @@ -4,6 +4,7 @@ class ContentSchemaDefault final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ContentSchemaDefault() : SchemaTransformRule{ "content_schema_default", diff --git a/vendor/core/src/extension/alterschema/linter/definitions_to_defs.h b/vendor/core/src/extension/alterschema/linter/definitions_to_defs.h index 560bc4503..016bec717 100644 --- a/vendor/core/src/extension/alterschema/linter/definitions_to_defs.h +++ b/vendor/core/src/extension/alterschema/linter/definitions_to_defs.h @@ -1,6 +1,7 @@ class DefinitionsToDefs final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; DefinitionsToDefs() : SchemaTransformRule{"definitions_to_defs", "`definitions` was superseded by `$defs` in " diff --git a/vendor/core/src/extension/alterschema/linter/dependencies_default.h b/vendor/core/src/extension/alterschema/linter/dependencies_default.h index d2cf35729..29dde6bde 100644 --- a/vendor/core/src/extension/alterschema/linter/dependencies_default.h +++ b/vendor/core/src/extension/alterschema/linter/dependencies_default.h @@ -4,6 +4,7 @@ class DependenciesDefault final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; DependenciesDefault() : SchemaTransformRule{ "dependencies_default", diff --git a/vendor/core/src/extension/alterschema/linter/dependent_required_default.h b/vendor/core/src/extension/alterschema/linter/dependent_required_default.h index 0abb77b0d..f108dc3bb 100644 --- a/vendor/core/src/extension/alterschema/linter/dependent_required_default.h +++ b/vendor/core/src/extension/alterschema/linter/dependent_required_default.h @@ -1,6 +1,7 @@ class DependentRequiredDefault final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; DependentRequiredDefault() : SchemaTransformRule{ "dependent_required_default", diff --git a/vendor/core/src/extension/alterschema/linter/description_trailing_period.h b/vendor/core/src/extension/alterschema/linter/description_trailing_period.h index e1b55949c..31e6bc403 100644 --- a/vendor/core/src/extension/alterschema/linter/description_trailing_period.h +++ b/vendor/core/src/extension/alterschema/linter/description_trailing_period.h @@ -1,6 +1,7 @@ class DescriptionTrailingPeriod final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; DescriptionTrailingPeriod() : SchemaTransformRule{ "description_trailing_period", diff --git a/vendor/core/src/extension/alterschema/linter/description_trim.h b/vendor/core/src/extension/alterschema/linter/description_trim.h index 304c4b90f..7b1744251 100644 --- a/vendor/core/src/extension/alterschema/linter/description_trim.h +++ b/vendor/core/src/extension/alterschema/linter/description_trim.h @@ -1,6 +1,7 @@ class DescriptionTrim final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; DescriptionTrim() : SchemaTransformRule{ "description_trim", diff --git a/vendor/core/src/extension/alterschema/linter/duplicate_examples.h b/vendor/core/src/extension/alterschema/linter/duplicate_examples.h index 2c1a4d927..8471bd394 100644 --- a/vendor/core/src/extension/alterschema/linter/duplicate_examples.h +++ b/vendor/core/src/extension/alterschema/linter/duplicate_examples.h @@ -1,6 +1,7 @@ class DuplicateExamples final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; DuplicateExamples() : SchemaTransformRule{ "duplicate_examples", diff --git a/vendor/core/src/extension/alterschema/linter/enum_to_const.h b/vendor/core/src/extension/alterschema/linter/enum_to_const.h index dda365e9a..7e1ffb2d3 100644 --- a/vendor/core/src/extension/alterschema/linter/enum_to_const.h +++ b/vendor/core/src/extension/alterschema/linter/enum_to_const.h @@ -1,6 +1,7 @@ class EnumToConst final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; EnumToConst() : SchemaTransformRule{ "enum_to_const", diff --git a/vendor/core/src/extension/alterschema/linter/equal_numeric_bounds_to_const.h b/vendor/core/src/extension/alterschema/linter/equal_numeric_bounds_to_const.h index 509b9510a..603d5692d 100644 --- a/vendor/core/src/extension/alterschema/linter/equal_numeric_bounds_to_const.h +++ b/vendor/core/src/extension/alterschema/linter/equal_numeric_bounds_to_const.h @@ -1,6 +1,7 @@ class EqualNumericBoundsToConst final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; EqualNumericBoundsToConst() : SchemaTransformRule{ "equal_numeric_bounds_to_const", diff --git a/vendor/core/src/extension/alterschema/linter/items_array_default.h b/vendor/core/src/extension/alterschema/linter/items_array_default.h index f5133a148..0afbc43af 100644 --- a/vendor/core/src/extension/alterschema/linter/items_array_default.h +++ b/vendor/core/src/extension/alterschema/linter/items_array_default.h @@ -1,6 +1,7 @@ class ItemsArrayDefault final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ItemsArrayDefault() : SchemaTransformRule{"items_array_default", "Setting the `items` keyword to the empty array " diff --git a/vendor/core/src/extension/alterschema/linter/items_schema_default.h b/vendor/core/src/extension/alterschema/linter/items_schema_default.h index e3ab492aa..aee24af96 100644 --- a/vendor/core/src/extension/alterschema/linter/items_schema_default.h +++ b/vendor/core/src/extension/alterschema/linter/items_schema_default.h @@ -4,6 +4,7 @@ class ItemsSchemaDefault final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; ItemsSchemaDefault() : SchemaTransformRule{"items_schema_default", "Setting the `items` keyword to the true schema " diff --git a/vendor/core/src/extension/alterschema/linter/multiple_of_default.h b/vendor/core/src/extension/alterschema/linter/multiple_of_default.h index 196ee9a52..6915657b2 100644 --- a/vendor/core/src/extension/alterschema/linter/multiple_of_default.h +++ b/vendor/core/src/extension/alterschema/linter/multiple_of_default.h @@ -1,6 +1,7 @@ class MultipleOfDefault final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; MultipleOfDefault() : SchemaTransformRule{ "multiple_of_default", diff --git a/vendor/core/src/extension/alterschema/linter/pattern_properties_default.h b/vendor/core/src/extension/alterschema/linter/pattern_properties_default.h index be80b5c19..6decf0eb0 100644 --- a/vendor/core/src/extension/alterschema/linter/pattern_properties_default.h +++ b/vendor/core/src/extension/alterschema/linter/pattern_properties_default.h @@ -1,6 +1,7 @@ class PatternPropertiesDefault final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; PatternPropertiesDefault() : SchemaTransformRule{ "pattern_properties_default", diff --git a/vendor/core/src/extension/alterschema/linter/properties_default.h b/vendor/core/src/extension/alterschema/linter/properties_default.h index 6b85f05ac..dd43363be 100644 --- a/vendor/core/src/extension/alterschema/linter/properties_default.h +++ b/vendor/core/src/extension/alterschema/linter/properties_default.h @@ -1,6 +1,7 @@ class PropertiesDefault final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; PropertiesDefault() : SchemaTransformRule{ "properties_default", diff --git a/vendor/core/src/extension/alterschema/linter/property_names_default.h b/vendor/core/src/extension/alterschema/linter/property_names_default.h index 94c60a023..479ca0961 100644 --- a/vendor/core/src/extension/alterschema/linter/property_names_default.h +++ b/vendor/core/src/extension/alterschema/linter/property_names_default.h @@ -4,6 +4,7 @@ class PropertyNamesDefault final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; PropertyNamesDefault() : SchemaTransformRule{ "property_names_default", diff --git a/vendor/core/src/extension/alterschema/linter/property_names_type_default.h b/vendor/core/src/extension/alterschema/linter/property_names_type_default.h index 9aaeedd83..4ced15cfa 100644 --- a/vendor/core/src/extension/alterschema/linter/property_names_type_default.h +++ b/vendor/core/src/extension/alterschema/linter/property_names_type_default.h @@ -1,6 +1,7 @@ class PropertyNamesTypeDefault final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; PropertyNamesTypeDefault() : SchemaTransformRule{ "property_names_type_default", diff --git a/vendor/core/src/extension/alterschema/linter/simple_properties_identifiers.h b/vendor/core/src/extension/alterschema/linter/simple_properties_identifiers.h index d9a1d4e48..7f4f30d98 100644 --- a/vendor/core/src/extension/alterschema/linter/simple_properties_identifiers.h +++ b/vendor/core/src/extension/alterschema/linter/simple_properties_identifiers.h @@ -1,6 +1,7 @@ class SimplePropertiesIdentifiers final : public SchemaTransformRule { public: using mutates = std::false_type; + using reframe_after_transform = std::false_type; SimplePropertiesIdentifiers() // Inspired by // https://json-structure.github.io/core/draft-vasters-json-structure-core.html#section-3.6 diff --git a/vendor/core/src/extension/alterschema/linter/title_description_equal.h b/vendor/core/src/extension/alterschema/linter/title_description_equal.h index 4a5cfa9dd..01320ba76 100644 --- a/vendor/core/src/extension/alterschema/linter/title_description_equal.h +++ b/vendor/core/src/extension/alterschema/linter/title_description_equal.h @@ -1,6 +1,7 @@ class TitleDescriptionEqual final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; TitleDescriptionEqual() : SchemaTransformRule{ "title_description_equal", diff --git a/vendor/core/src/extension/alterschema/linter/title_trailing_period.h b/vendor/core/src/extension/alterschema/linter/title_trailing_period.h index c1e783a46..bf7b9ad2e 100644 --- a/vendor/core/src/extension/alterschema/linter/title_trailing_period.h +++ b/vendor/core/src/extension/alterschema/linter/title_trailing_period.h @@ -1,6 +1,7 @@ class TitleTrailingPeriod final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; TitleTrailingPeriod() : SchemaTransformRule{ "title_trailing_period", diff --git a/vendor/core/src/extension/alterschema/linter/title_trim.h b/vendor/core/src/extension/alterschema/linter/title_trim.h index 2ffeb78af..3846fc307 100644 --- a/vendor/core/src/extension/alterschema/linter/title_trim.h +++ b/vendor/core/src/extension/alterschema/linter/title_trim.h @@ -1,6 +1,7 @@ class TitleTrim final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::false_type; TitleTrim() : SchemaTransformRule{ "title_trim", diff --git a/vendor/core/src/extension/alterschema/linter/top_level_description.h b/vendor/core/src/extension/alterschema/linter/top_level_description.h index 72c04f001..d1da3562a 100644 --- a/vendor/core/src/extension/alterschema/linter/top_level_description.h +++ b/vendor/core/src/extension/alterschema/linter/top_level_description.h @@ -1,6 +1,7 @@ class TopLevelDescription final : public SchemaTransformRule { public: using mutates = std::false_type; + using reframe_after_transform = std::false_type; TopLevelDescription() : SchemaTransformRule{ "top_level_description", diff --git a/vendor/core/src/extension/alterschema/linter/top_level_examples.h b/vendor/core/src/extension/alterschema/linter/top_level_examples.h index ce5c60fda..c92c407bd 100644 --- a/vendor/core/src/extension/alterschema/linter/top_level_examples.h +++ b/vendor/core/src/extension/alterschema/linter/top_level_examples.h @@ -1,6 +1,7 @@ class TopLevelExamples final : public SchemaTransformRule { public: using mutates = std::false_type; + using reframe_after_transform = std::false_type; TopLevelExamples() : SchemaTransformRule{ "top_level_examples", diff --git a/vendor/core/src/extension/alterschema/linter/top_level_title.h b/vendor/core/src/extension/alterschema/linter/top_level_title.h index df8bf5490..cc7fa2cfb 100644 --- a/vendor/core/src/extension/alterschema/linter/top_level_title.h +++ b/vendor/core/src/extension/alterschema/linter/top_level_title.h @@ -1,6 +1,7 @@ class TopLevelTitle final : public SchemaTransformRule { public: using mutates = std::false_type; + using reframe_after_transform = std::false_type; TopLevelTitle() : SchemaTransformRule{ "top_level_title", diff --git a/vendor/core/src/extension/alterschema/linter/unevaluated_items_default.h b/vendor/core/src/extension/alterschema/linter/unevaluated_items_default.h index 3e987ff97..6ce4570ed 100644 --- a/vendor/core/src/extension/alterschema/linter/unevaluated_items_default.h +++ b/vendor/core/src/extension/alterschema/linter/unevaluated_items_default.h @@ -4,6 +4,7 @@ class UnevaluatedItemsDefault final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; UnevaluatedItemsDefault() : SchemaTransformRule{ "unevaluated_items_default", diff --git a/vendor/core/src/extension/alterschema/linter/unevaluated_properties_default.h b/vendor/core/src/extension/alterschema/linter/unevaluated_properties_default.h index ce933badc..b7fff5b0d 100644 --- a/vendor/core/src/extension/alterschema/linter/unevaluated_properties_default.h +++ b/vendor/core/src/extension/alterschema/linter/unevaluated_properties_default.h @@ -4,6 +4,7 @@ class UnevaluatedPropertiesDefault final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; UnevaluatedPropertiesDefault() : SchemaTransformRule{ "unevaluated_properties_default", diff --git a/vendor/core/src/extension/alterschema/linter/unsatisfiable_max_contains.h b/vendor/core/src/extension/alterschema/linter/unsatisfiable_max_contains.h index 86de22d8d..6ff7c0fe7 100644 --- a/vendor/core/src/extension/alterschema/linter/unsatisfiable_max_contains.h +++ b/vendor/core/src/extension/alterschema/linter/unsatisfiable_max_contains.h @@ -1,6 +1,7 @@ class UnsatisfiableMaxContains final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; UnsatisfiableMaxContains() : SchemaTransformRule{ "unsatisfiable_max_contains", diff --git a/vendor/core/src/extension/alterschema/linter/unsatisfiable_min_properties.h b/vendor/core/src/extension/alterschema/linter/unsatisfiable_min_properties.h index 30ce832ac..30c72c7fc 100644 --- a/vendor/core/src/extension/alterschema/linter/unsatisfiable_min_properties.h +++ b/vendor/core/src/extension/alterschema/linter/unsatisfiable_min_properties.h @@ -1,6 +1,7 @@ class UnsatisfiableMinProperties final : public SchemaTransformRule { public: using mutates = std::true_type; + using reframe_after_transform = std::true_type; UnsatisfiableMinProperties() : SchemaTransformRule{ "unsatisfiable_min_properties",