From 42dc2f318239d012f0e10a6cb6219462232b29df Mon Sep 17 00:00:00 2001 From: Gennaro Prota Date: Thu, 16 Apr 2026 11:24:34 +0200 Subject: [PATCH 1/6] feat: auto-generate a JSON Schema for DOM output (--schemas option) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a --schemas[=] option that writes a JSON Schema file (mrdocs-dom-schema.json) describing every object and field available to Handlebars templates. The schema is derived from the same compile-time reflection metadata used by MapReflectedType.hpp, so it stays in sync with the code automatically. The option requires no config file or source files — it writes the schema and exits immediately. --- include/mrdocs/Schemas/DomSchemaWriter.hpp | 501 ++++++++++++++++++ include/mrdocs/Schemas/JsonEmitter.hpp | 134 +++++ include/mrdocs/Support/MergeReflectedType.hpp | 11 +- include/mrdocs/Support/TypeTraits.hpp | 10 + src/lib/Gen/xml/XMLWriter.cpp | 11 +- src/test/Schemas/DomSchemaWriter.cpp | 326 ++++++++++++ src/tool/ToolArgs.cpp | 2 + src/tool/ToolArgs.hpp | 13 + src/tool/ToolMain.cpp | 29 + 9 files changed, 1025 insertions(+), 12 deletions(-) create mode 100644 include/mrdocs/Schemas/DomSchemaWriter.hpp create mode 100644 include/mrdocs/Schemas/JsonEmitter.hpp create mode 100644 src/test/Schemas/DomSchemaWriter.cpp diff --git a/include/mrdocs/Schemas/DomSchemaWriter.hpp b/include/mrdocs/Schemas/DomSchemaWriter.hpp new file mode 100644 index 0000000000..1e6cadf2ba --- /dev/null +++ b/include/mrdocs/Schemas/DomSchemaWriter.hpp @@ -0,0 +1,501 @@ +// +// Licensed under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Copyright (c) 2026 Gennaro Prota (gennaro.prota@gmail.com) +// +// Official repository: https://github.com/cppalliance/mrdocs +// + +#ifndef MRDOCS_API_SCHEMAS_DOMSCHEMAWRITER_HPP +#define MRDOCS_API_SCHEMAS_DOMSCHEMAWRITER_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace mrdocs::schema { + +//------------------------------------------------ +// Type -> JSON Schema dispatch +//------------------------------------------------ + +/** Return a JSON Schema `$ref` for a described struct type. +*/ +template +dom::Object refSchema() +{ + dom::Object schema; + std::string ref = "#/$defs/"; + ref += readableTypeName(); + schema.set("$ref", ref); + return schema; +} + +/** Return the JSON Schema for a single member type. + + Mirrors the type dispatch in MapReflectedType.hpp's `mapMember()`. +*/ +template +dom::Object +memberSchema() +{ + using Type = std::decay_t; + dom::Object schema; + + if constexpr (std::is_same_v) + { + schema.set("type", "boolean"); + } + else if constexpr (std::is_same_v || + std::is_same_v) + { + schema.set("type", "string"); + } + else if constexpr (std::is_integral_v) + { + schema.set("type", "integer"); + } + else if constexpr (std::is_same_v) + { + schema.set("type", "string"); + schema.set("description", "Base64-encoded symbol ID"); + } + else if constexpr (std::is_base_of_v) + { + // ExprInfo maps to its Written string in the DOM. + schema.set("type", "string"); + schema.set("description", "C++ expression as written"); + } + else if constexpr (describe::has_describe_enumerators::value) + { + schema.set("type", "string"); + dom::Array values; + describe::for_each( + describe::describe_enumerators{}, + [&](auto const& D) { + values.push_back(toKebabCase(D.name)); + }); + schema.set("enum", std::move(values)); + } + // OperatorKind is the sole non-described enum that + // serializes as integer (via static_cast to underlying type). + else if constexpr (std::is_same_v) + { + schema.set("type", "integer"); + } + // Non-described enums with manual switch-based toString() + // (described enums already handled above). + else if constexpr (std::is_enum_v) + { + schema.set("type", "string"); + } + // Non-described structs with custom ValueFrom that + // serialize as strings (e.g. NoexceptInfo, ExplicitInfo). + else if constexpr (dom::HasValueFromWithoutContext) + { + schema.set("type", "string"); + } + else if constexpr (mrdocs::detail::is_optional_v) + { + // Unwrap optionals — the member is simply not in "required". + schema = memberSchema(); + } + else if constexpr (mrdocs::detail::is_vector_v) + { + schema.set("type", "array"); + schema.set("items", memberSchema()); + } + else if constexpr (mrdocs::detail::is_polymorphic_v) + { + // Polymorphic types use a $ref to their oneOf definition. + schema = refSchema(); + } + else if constexpr (describe::has_describe_members::value) + { + // Described compound types reference $defs. + schema = refSchema(); + } + else + { + // Fallback: any JSON value. + schema.set("description", "unknown type"); + } + + return schema; +} + +//------------------------------------------------ +// Helper: is the member always present? +// +// Mirrors shouldMapValue() in MapReflectedType.hpp: +// Optional, empty string, certain "None" enums, +// and empty ExprInfo are skipped at runtime, so +// those fields are NOT required in the schema. +//------------------------------------------------ + +template +inline constexpr bool is_always_present_v = + !mrdocs::detail::is_optional_v && + !std::is_same_v && + !std::is_same_v && + !std::is_same_v && + !std::is_same_v && + !std::is_base_of_v; + +//------------------------------------------------ +// Struct -> JSON Schema object +//------------------------------------------------ + +/** Add properties from base classes. +*/ +template +void +addBaseProperties(dom::Object& properties, dom::Array& required) +{ + if constexpr (describe::has_describe_bases::value) + { + describe::for_each( + describe::describe_bases{}, + [&](auto const& descriptor) + { + using BaseType = typename std::decay_t::type; + addBaseProperties(properties, required); + + // Add the base's own members. + if constexpr (describe::has_describe_members::value) + { + describe::for_each( + describe::describe_members{}, + [&](auto const& D) { + using M = std::decay_t().*D.pointer)>; + std::string domName = + mrdocs::detail::normalizeMemberName(D.name); + properties.set(domName, memberSchema()); + + if constexpr (is_always_present_v) + { + required.push_back(domName); + } + }); + } + }); + } +} + +/** Build a JSON Schema "object" for a described type T. + + Includes properties from all base classes (recursively) + plus T's own members. +*/ +template +dom::Object +objectSchema() +{ + dom::Object schema; + schema.set("type", "object"); + + dom::Object properties; + dom::Array required; + + addBaseProperties(properties, required); + + // Add T's own members. + if constexpr (describe::has_describe_members::value) + { + describe::for_each( + describe::describe_members{}, + [&](auto const& D) + { + using M = std::decay_t().*D.pointer)>; + std::string domName = + mrdocs::detail::normalizeMemberName(D.name); + properties.set(domName, memberSchema()); + + if constexpr (is_always_present_v) + { + required.push_back(domName); + } + }); + } + + // Custom tag_invoke extensions for Symbol (see SymbolBase.hpp). + // These fields are added by the Symbol tag_invoke overload + // beyond what reflection provides. + if constexpr (std::is_base_of_v) + { + dom::Object classSchema; + classSchema.set("type", "string"); + classSchema.set("const", "symbol"); + properties.set("class", std::move(classSchema)); + + dom::Object boolSchema; + boolSchema.set("type", "boolean"); + properties.set("isRegular", boolSchema); + properties.set("isSeeBelow", boolSchema); + properties.set("isImplementationDefined", boolSchema); + properties.set("isDependency", boolSchema); + + required.push_back("class"); + required.push_back("isRegular"); + required.push_back("isSeeBelow"); + required.push_back("isImplementationDefined"); + required.push_back("isDependency"); + } + + // $meta object (added by addMetaObject in MapReflectedType.hpp). + { + dom::Object metaSchema; + metaSchema.set("type", "object"); + dom::Object metaProps; + dom::Object typeStr; + typeStr.set("type", "string"); + metaProps.set("type", std::move(typeStr)); + dom::Object basesArr; + basesArr.set("type", "array"); + dom::Object strItems; + strItems.set("type", "string"); + basesArr.set("items", std::move(strItems)); + metaProps.set("bases", std::move(basesArr)); + metaSchema.set("properties", std::move(metaProps)); + properties.set("$meta", std::move(metaSchema)); + } + + if (!properties.empty()) + { + schema.set("properties", std::move(properties)); + } + if (!required.empty()) + { + schema.set("required", std::move(required)); + } + + return schema; +} + +//------------------------------------------------ +// Polymorphic oneOf schemas +//------------------------------------------------ + +/** Return a JSON Schema `oneOf` union for a polymorphic base type. + + A full specialization is provided for each polymorphic family + (`Type`, `Name`, `TParam`, `TArg`, `doc::Block`, `doc::Inline`); + it enumerates the concrete subclasses via the family's `.inc` + list and emits a `$ref` per subclass. + + @tparam Base The polymorphic base class. + @return A schema object whose `oneOf` array references every + concrete subclass of `Base`. +*/ +template +dom::Object polymorphicSchema(); + +/** Specialization for the `Type` family (NamedType, PointerType, ...). + + @return `{ "oneOf": [ $ref for each TypeKind ] }`. +*/ +template <> +inline dom::Object +polymorphicSchema() +{ + dom::Array oneOf; + #define INFO(X) oneOf.push_back(refSchema()); + #include + dom::Object schema; + schema.set("oneOf", std::move(oneOf)); + return schema; +} + +/** Specialization for the `Name` family (IdentifierName, SpecializationName). + + @return `{ "oneOf": [ $ref for each NameKind ] }`. +*/ +template <> +inline dom::Object +polymorphicSchema() +{ + dom::Array oneOf; + #define INFO(X) oneOf.push_back(refSchema()); + #include + dom::Object schema; + schema.set("oneOf", std::move(oneOf)); + return schema; +} + +/** Specialization for the `TParam` family (TypeTParam, ConstantTParam, + TemplateTParam). + + @return `{ "oneOf": [ $ref for each TParamKind ] }`. +*/ +template <> +inline dom::Object +polymorphicSchema() +{ + dom::Array oneOf; + #define INFO(X) oneOf.push_back(refSchema()); + #include + dom::Object schema; + schema.set("oneOf", std::move(oneOf)); + return schema; +} + +/** Specialization for the `TArg` family (TypeTArg, ConstantTArg, + TemplateTArg). + + @return `{ "oneOf": [ $ref for each TArgKind ] }`. +*/ +template <> +inline dom::Object +polymorphicSchema() +{ + dom::Array oneOf; + #define INFO(X) oneOf.push_back(refSchema()); + #include + dom::Object schema; + schema.set("oneOf", std::move(oneOf)); + return schema; +} + +/** Specialization for the `doc::Block` family (paragraphs, lists, + headings, and command blocks like brief/param/returns). + + @return `{ "oneOf": [ $ref for each BlockKind ] }`. +*/ +template <> +inline dom::Object +polymorphicSchema() +{ + dom::Array oneOf; + #define INFO(X) oneOf.push_back(refSchema()); + #include + dom::Object schema; + schema.set("oneOf", std::move(oneOf)); + return schema; +} + +/** Specialization for the `doc::Inline` family (text, emphasis, code, + references, etc.). + + @return `{ "oneOf": [ $ref for each InlineKind ] }`. +*/ +template <> +inline dom::Object +polymorphicSchema() +{ + dom::Array oneOf; + #define INFO(X) oneOf.push_back(refSchema()); + #include + dom::Object schema; + schema.set("oneOf", std::move(oneOf)); + return schema; +} + +//------------------------------------------------ +// Register all type definitions +//------------------------------------------------ + +/** Register a single described type in $defs. +*/ +template +void +registerDef(dom::Object& defs) +{ + constexpr std::string_view name = readableTypeName(); + defs.set(std::string(name), objectSchema()); +} + +/** Register all described types in $defs. +*/ +inline void +registerAllDefs(dom::Object& defs) +{ + // Symbol types + #define INFO(X) registerDef(defs); + #include + + // Type variants + #define INFO(X) registerDef(defs); + #include + + // Name variants + #define INFO(X) registerDef(defs); + #include + + // TParam variants + #define INFO(X) registerDef(defs); + #include + + // TArg variants + #define INFO(X) registerDef(defs); + #include + + // Doc block variants + #define INFO(X) registerDef(defs); + #include + + // Doc inline variants + #define INFO(X) registerDef(defs); + #include + + // Polymorphic union types + defs.set("Type", polymorphicSchema()); + defs.set("Name", polymorphicSchema()); + defs.set("TParam", polymorphicSchema()); + defs.set("TArg", polymorphicSchema()); + defs.set("Block", polymorphicSchema()); + defs.set("Inline", polymorphicSchema()); + + // Supporting types + registerDef(defs); + registerDef(defs); + registerDef(defs); + registerDef(defs); + registerDef(defs); + registerDef(defs); +} + +//------------------------------------------------ +// Top-level schema +//------------------------------------------------ + +/** Build the complete DOM JSON Schema document. +*/ +inline dom::Value +buildDomSchema() +{ + dom::Object schema; + schema.set("$schema", "https://json-schema.org/draft/2020-12/schema"); + schema.set("title", "MrDocs DOM Schema"); + schema.set("description", + "Schema for the DOM objects available to Handlebars " + "templates in the MrDocs documentation generator."); + + // Symbol is the entry point — a oneOf over all symbol kinds. + dom::Array symbolOneOf; + #define INFO(X) symbolOneOf.push_back(refSchema()); + #include + schema.set("oneOf", std::move(symbolOneOf)); + + dom::Object defs; + registerAllDefs(defs); + schema.set("$defs", std::move(defs)); + + return schema; +} + +} // mrdocs::schema + +#endif // MRDOCS_API_SCHEMAS_DOMSCHEMAWRITER_HPP diff --git a/include/mrdocs/Schemas/JsonEmitter.hpp b/include/mrdocs/Schemas/JsonEmitter.hpp new file mode 100644 index 0000000000..8d0dffba1c --- /dev/null +++ b/include/mrdocs/Schemas/JsonEmitter.hpp @@ -0,0 +1,134 @@ +// +// Licensed under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Copyright (c) 2026 Gennaro Prota (gennaro.prota@gmail.com) +// +// Official repository: https://github.com/cppalliance/mrdocs +// + +#ifndef MRDOCS_API_SCHEMAS_JSONEMITTER_HPP +#define MRDOCS_API_SCHEMAS_JSONEMITTER_HPP + +#include +#include +#include +#include + +namespace mrdocs::schema { + +/** Serialize a dom::Value tree to formatted JSON. + + Handles null, boolean, integer, string, array, and object. +*/ +inline +std::string +toJson(dom::Value const& v, int indent = 0) +{ + std::string result; + auto const pad = [&](int level) -> std::string { + return std::string(level * 2, ' '); + }; + + switch (v.kind()) + { + case dom::Kind::Undefined: + case dom::Kind::Null: + result = "null"; + break; + + case dom::Kind::Boolean: + result = v.getBool() ? "true" : "false"; + break; + + case dom::Kind::Integer: + result = std::to_string(v.getInteger()); + break; + + case dom::Kind::String: + case dom::Kind::SafeString: + { + // Escape special characters. + result = "\""; + for (char c : v.getString().get()) + { + switch (c) + { + case '"': result += "\\\""; break; + case '\\': result += "\\\\"; break; + case '\n': result += "\\n"; break; + case '\r': result += "\\r"; break; + case '\t': result += "\\t"; break; + default: result += c; break; + } + } + result += '"'; + break; + } + + case dom::Kind::Array: + { + auto const& arr = v.getArray(); + if (arr.empty()) + { + result = "[]"; + break; + } + result = "[\n"; + for (std::size_t i = 0; i < arr.size(); ++i) + { + result += pad(indent + 1); + result += toJson(arr.at(i), indent + 1); + if (i + 1 < arr.size()) + { + result += ','; + } + result += '\n'; + } + result += pad(indent); + result += ']'; + break; + } + + case dom::Kind::Object: + { + auto const& obj = v.getObject(); + if (obj.empty()) + { + result = "{}"; + break; + } + result = "{\n"; + bool first = true; + obj.visit([&](dom::String key, dom::Value const& val) -> bool + { + if (!first) + { + result += ",\n"; + } + first = false; + result += pad(indent + 1); + result += '"'; + result += std::string_view(key); + result += "\": "; + result += toJson(val, indent + 1); + return true; + }); + result += '\n'; + result += pad(indent); + result += '}'; + break; + } + + default: + result = "null"; + break; + } + + return result; +} + +} // mrdocs::schema + +#endif // MRDOCS_API_SCHEMAS_JSONEMITTER_HPP diff --git a/include/mrdocs/Support/MergeReflectedType.hpp b/include/mrdocs/Support/MergeReflectedType.hpp index e8f8712df7..f3cd4dd908 100644 --- a/include/mrdocs/Support/MergeReflectedType.hpp +++ b/include/mrdocs/Support/MergeReflectedType.hpp @@ -45,10 +45,13 @@ isDefaultEnum(E value) // Type trait: is this Polymorphic for a given U? template -inline constexpr bool is_polymorphic_v = false; +struct is_polymorphic_for : std::false_type {}; template -inline constexpr bool is_polymorphic_v, U> = true; +struct is_polymorphic_for, U> : std::true_type {}; + +template +inline constexpr bool is_polymorphic_for_v = is_polymorphic_for::value; // Type trait: can we call merge(T&, T&&) via ADL? template @@ -135,7 +138,7 @@ mergeByType(T& dst, T&& src) // Polymorphic: take src if dst is in a placeholder // state — either AutoType{} or a blank NamedType with an // empty Identifier. - else if constexpr (is_polymorphic_v) + else if constexpr (is_polymorphic_for_v) { if (isPlaceholderType(dst)) { @@ -144,7 +147,7 @@ mergeByType(T& dst, T&& src) return true; } // Polymorphic: take src if dst has an empty Identifier. - else if constexpr (is_polymorphic_v) + else if constexpr (is_polymorphic_for_v) { if (dst->Identifier.empty()) { diff --git a/include/mrdocs/Support/TypeTraits.hpp b/include/mrdocs/Support/TypeTraits.hpp index 573824e5ce..2658c26d4f 100644 --- a/include/mrdocs/Support/TypeTraits.hpp +++ b/include/mrdocs/Support/TypeTraits.hpp @@ -13,6 +13,7 @@ #define MRDOCS_API_SUPPORT_TYPETRAITS_HPP #include +#include #include #include @@ -39,6 +40,15 @@ struct is_vector> : std::true_type {}; template inline constexpr bool is_vector_v = is_vector::value; +template +struct is_polymorphic : std::false_type {}; + +template +struct is_polymorphic> : std::true_type {}; + +template +inline constexpr bool is_polymorphic_v = is_polymorphic::value; + } // namespace detail /** Return the value as its underlying type. diff --git a/src/lib/Gen/xml/XMLWriter.cpp b/src/lib/Gen/xml/XMLWriter.cpp index de1e2c7e4a..7ae132bf16 100644 --- a/src/lib/Gen/xml/XMLWriter.cpp +++ b/src/lib/Gen/xml/XMLWriter.cpp @@ -31,14 +31,9 @@ namespace mrdocs::xml { namespace { -template struct is_optional : std::false_type {}; -template struct is_optional> : std::true_type {}; - -template struct is_vector : std::false_type {}; -template struct is_vector> : std::true_type {}; - -template struct is_polymorphic : std::false_type {}; -template struct is_polymorphic> : std::true_type {}; +using mrdocs::detail::is_optional; +using mrdocs::detail::is_vector; +using mrdocs::detail::is_polymorphic; std::string removeSuffix(std::string_view s, std::string_view suffix) diff --git a/src/test/Schemas/DomSchemaWriter.cpp b/src/test/Schemas/DomSchemaWriter.cpp new file mode 100644 index 0000000000..5ce3eaef2c --- /dev/null +++ b/src/test/Schemas/DomSchemaWriter.cpp @@ -0,0 +1,326 @@ +// +// Licensed under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Copyright (c) 2026 Gennaro Prota (gennaro.prota@gmail.com) +// +// Official repository: https://github.com/cppalliance/mrdocs +// + +#include +#include +#include + +namespace mrdocs { +namespace { + +// Helpers to navigate the schema dom::Value tree. + +dom::Object +defs(dom::Value const& schema) +{ + return schema.getObject().get("$defs").getObject(); +} + +dom::Object +props(dom::Object const& obj, std::string_view defName) +{ + return obj.get(defName).getObject() + .get("properties").getObject(); +} + +dom::Array +oneOfArray(dom::Object const& obj, std::string_view defName) +{ + return obj.get(defName).getObject() + .get("oneOf").getArray(); +} + +dom::Array +requiredArray(dom::Object const& obj, std::string_view defName) +{ + return obj.get(defName).getObject() + .get("required").getArray(); +} + +bool +arrayContains(dom::Array const& arr, std::string_view value) +{ + for (std::size_t i = 0; i < arr.size(); ++i) + { + if (arr.at(i).getString() == value) + return true; + } + return false; +} + +// ------------------------------------------------------------------ + +struct DomSchemaWriterTest +{ + // -- Top-level structure -------------------------------------- + + void test_top_level() + { + dom::Value schema = schema::buildDomSchema(); + dom::Object root = schema.getObject(); + + BOOST_TEST(root.exists("$schema")); + BOOST_TEST(root.exists("title")); + BOOST_TEST(root.exists("$defs")); + BOOST_TEST(root.exists("oneOf")); + + // The top-level oneOf lists all 12 symbol kinds. + BOOST_TEST(root.get("oneOf").getArray().size() == 12); + } + + // -- Symbol coverage ------------------------------------------ + + void test_all_symbols_in_defs() + { + dom::Value schema = schema::buildDomSchema(); + dom::Object d = defs(schema); + + BOOST_TEST(d.exists("NamespaceSymbol")); + BOOST_TEST(d.exists("RecordSymbol")); + BOOST_TEST(d.exists("FunctionSymbol")); + BOOST_TEST(d.exists("OverloadsSymbol")); + BOOST_TEST(d.exists("EnumSymbol")); + BOOST_TEST(d.exists("EnumConstantSymbol")); + BOOST_TEST(d.exists("TypedefSymbol")); + BOOST_TEST(d.exists("VariableSymbol")); + BOOST_TEST(d.exists("GuideSymbol")); + BOOST_TEST(d.exists("NamespaceAliasSymbol")); + BOOST_TEST(d.exists("UsingSymbol")); + BOOST_TEST(d.exists("ConceptSymbol")); + } + + // -- Polymorphic oneOf ---------------------------------------- + + void test_polymorphic_variants() + { + dom::Value schema = schema::buildDomSchema(); + dom::Object d = defs(schema); + + BOOST_TEST(oneOfArray(d, "Type").size() == 9); + BOOST_TEST(oneOfArray(d, "Name").size() == 2); + BOOST_TEST(oneOfArray(d, "TParam").size() == 3); + BOOST_TEST(oneOfArray(d, "TArg").size() == 3); + BOOST_TEST(oneOfArray(d, "Block").size() == 19); + BOOST_TEST(oneOfArray(d, "Inline").size() == 16); + } + + // -- FunctionSymbol properties -------------------------------- + + void test_function_symbol_properties() + { + dom::Value schema = schema::buildDomSchema(); + dom::Object d = defs(schema); + dom::Object fp = props(d, "FunctionSymbol"); + + // Inherited from Symbol + BOOST_TEST(fp.exists("name")); + BOOST_TEST(fp.exists("kind")); + BOOST_TEST(fp.exists("id")); + BOOST_TEST(fp.exists("access")); + + // Own members + BOOST_TEST(fp.exists("returnType")); + BOOST_TEST(fp.exists("params")); + BOOST_TEST(fp.exists("isVariadic")); + BOOST_TEST(fp.exists("isVirtual")); + BOOST_TEST(fp.exists("isConst")); + BOOST_TEST(fp.exists("funcClass")); + BOOST_TEST(fp.exists("noexcept")); + BOOST_TEST(fp.exists("explicit")); + BOOST_TEST(fp.exists("template")); + + // params is an array + BOOST_TEST(fp.get("params").getObject() + .get("type").getString() == "array"); + + // isVariadic is boolean + BOOST_TEST(fp.get("isVariadic").getObject() + .get("type").getString() == "boolean"); + + // returnType is a $ref + BOOST_TEST(fp.get("returnType").getObject() + .exists("$ref")); + } + + // -- Described enum values ------------------------------------ + + void test_described_enum_values() + { + dom::Value schema = schema::buildDomSchema(); + dom::Object d = defs(schema); + dom::Object fp = props(d, "FunctionSymbol"); + + // ExtractionMode is a described enum (inherited from Symbol). + dom::Object extraction = fp.get("extraction").getObject(); + BOOST_TEST(extraction.get("type").getString() == "string"); + dom::Array values = extraction.get("enum").getArray(); + BOOST_TEST(arrayContains(values, "regular")); + BOOST_TEST(arrayContains(values, "see-below")); + BOOST_TEST(arrayContains(values, "implementation-defined")); + BOOST_TEST(arrayContains(values, "dependency")); + + // FunctionClass is a described enum (own member). + dom::Object funcClass = fp.get("funcClass").getObject(); + BOOST_TEST(funcClass.get("type").getString() == "string"); + dom::Array fcValues = funcClass.get("enum").getArray(); + BOOST_TEST(arrayContains(fcValues, "normal")); + BOOST_TEST(arrayContains(fcValues, "constructor")); + BOOST_TEST(arrayContains(fcValues, "destructor")); + } + + // -- Non-described enums -> string ---------------------------- + + void test_non_described_enums() + { + dom::Value schema = schema::buildDomSchema(); + dom::Object d = defs(schema); + dom::Object fp = props(d, "FunctionSymbol"); + + // AccessKind serializes as string via manual toString(). + BOOST_TEST(fp.get("access").getObject() + .get("type").getString() == "string"); + + // ConstexprKind + BOOST_TEST(fp.get("constexpr").getObject() + .get("type").getString() == "string"); + + // NoexceptInfo + BOOST_TEST(fp.get("noexcept").getObject() + .get("type").getString() == "string"); + + // ExplicitInfo + BOOST_TEST(fp.get("explicit").getObject() + .get("type").getString() == "string"); + + // OperatorKind serializes as integer. + BOOST_TEST(fp.get("overloadedOperator").getObject() + .get("type").getString() == "integer"); + } + + // -- Symbol extension fields ---------------------------------- + + void test_symbol_extensions() + { + dom::Value schema = schema::buildDomSchema(); + dom::Object d = defs(schema); + dom::Object fp = props(d, "FunctionSymbol"); + + // Custom fields from Symbol's tag_invoke overload. + BOOST_TEST(fp.exists("class")); + BOOST_TEST(fp.get("class").getObject() + .get("const").getString() == "symbol"); + + BOOST_TEST(fp.exists("isRegular")); + BOOST_TEST(fp.get("isRegular").getObject() + .get("type").getString() == "boolean"); + + BOOST_TEST(fp.exists("isSeeBelow")); + BOOST_TEST(fp.exists("isImplementationDefined")); + BOOST_TEST(fp.exists("isDependency")); + + // They should all be required. + dom::Array req = requiredArray(d, "FunctionSymbol"); + BOOST_TEST(arrayContains(req, "class")); + BOOST_TEST(arrayContains(req, "isRegular")); + BOOST_TEST(arrayContains(req, "isDependency")); + } + + // -- $meta object --------------------------------------------- + + void test_meta_object() + { + dom::Value schema = schema::buildDomSchema(); + dom::Object d = defs(schema); + dom::Object fp = props(d, "FunctionSymbol"); + + BOOST_TEST(fp.exists("$meta")); + dom::Object meta = fp.get("$meta").getObject(); + BOOST_TEST(meta.get("type").getString() == "object"); + + dom::Object metaProps = meta.get("properties").getObject(); + BOOST_TEST(metaProps.exists("type")); + BOOST_TEST(metaProps.exists("bases")); + + // bases is an array of strings. + dom::Object bases = metaProps.get("bases").getObject(); + BOOST_TEST(bases.get("type").getString() == "array"); + BOOST_TEST(bases.get("items").getObject() + .get("type").getString() == "string"); + } + + // -- Required vs optional ------------------------------------- + + void test_required_fields() + { + dom::Value schema = schema::buildDomSchema(); + dom::Object d = defs(schema); + dom::Array req = requiredArray(d, "FunctionSymbol"); + + // Booleans are always present (shouldMapValue returns true). + BOOST_TEST(arrayContains(req, "isVariadic")); + BOOST_TEST(arrayContains(req, "isVirtual")); + BOOST_TEST(arrayContains(req, "isConst")); + + // Strings can be empty → not required. + BOOST_TEST(!arrayContains(req, "name")); + + // ConstexprKind/StorageClassKind can be None → not required. + BOOST_TEST(!arrayContains(req, "constexpr")); + BOOST_TEST(!arrayContains(req, "storageClass")); + + // ExprInfo can be empty → not required. + BOOST_TEST(!arrayContains(req, "requires")); + } + + // -- Supporting types ----------------------------------------- + + void test_supporting_types() + { + dom::Value schema = schema::buildDomSchema(); + dom::Object d = defs(schema); + + BOOST_TEST(d.exists("Location")); + BOOST_TEST(d.exists("Param")); + BOOST_TEST(d.exists("TemplateInfo")); + BOOST_TEST(d.exists("SourceInfo")); + BOOST_TEST(d.exists("BaseInfo")); + BOOST_TEST(d.exists("FriendInfo")); + + // Location has expected fields. + dom::Object lp = props(d, "Location"); + BOOST_TEST(lp.exists("shortPath")); + BOOST_TEST(lp.exists("lineNumber")); + BOOST_TEST(lp.exists("documented")); + } + + // -- run ------------------------------------------------------ + + void run() + { + test_top_level(); + test_all_symbols_in_defs(); + test_polymorphic_variants(); + test_function_symbol_properties(); + test_described_enum_values(); + test_non_described_enums(); + test_symbol_extensions(); + test_meta_object(); + test_required_fields(); + test_supporting_types(); + } +}; + +} // (anon) + +TEST_SUITE( + DomSchemaWriterTest, + "clang.mrdocs.Schemas.DomSchemaWriter"); + +} // mrdocs diff --git a/src/tool/ToolArgs.cpp b/src/tool/ToolArgs.cpp index 229ea87f01..36afa760b8 100644 --- a/src/tool/ToolArgs.cpp +++ b/src/tool/ToolArgs.cpp @@ -45,6 +45,8 @@ hideForeignOptions() { oursOptions.push_back(std::addressof(opt)); }); + // Options defined in ToolArgs (not generated PublicToolArgs). + oursOptions.push_back(&schemas); auto optionMap = llvm::cl::getRegisteredOptions(); for(auto& opt : optionMap) { diff --git a/src/tool/ToolArgs.hpp b/src/tool/ToolArgs.hpp index 89656140bc..16c13269fa 100644 --- a/src/tool/ToolArgs.hpp +++ b/src/tool/ToolArgs.hpp @@ -31,6 +31,19 @@ class ToolArgs : public PublicToolArgs char const* usageText; llvm::cl::extrahelp extraHelp; + /** Output directory for JSON Schema files. + + When set, the tool writes schema files describing + the DOM and XML output formats, then exits without + extracting any source files. + */ + llvm::cl::opt schemas{ + "schemas", + llvm::cl::desc("Write JSON Schema files to (default: .) and exit"), + llvm::cl::value_desc("dir"), + llvm::cl::ValueOptional, + llvm::cl::cat(commandLineOptionsCat)}; + // Hide all options that don't belong to us void hideForeignOptions(); diff --git a/src/tool/ToolMain.cpp b/src/tool/ToolMain.cpp index fa8c606011..e8f5654c3e 100644 --- a/src/tool/ToolMain.cpp +++ b/src/tool/ToolMain.cpp @@ -5,6 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2026 Gennaro Prota (gennaro.prota@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // @@ -12,6 +13,8 @@ #include "ToolArgs.hpp" #include #include +#include +#include #include #include #include @@ -20,6 +23,7 @@ #include #include #include +#include #include extern int main(int argc, char const** argv); @@ -120,6 +124,31 @@ mrdocs_main(int argc, char const** argv) } + // --schemas writes JSON Schema files and exits immediately, + // without needing a config file or source files. + if (toolArgs.schemas.getNumOccurrences() > 0) + { + std::string dir = toolArgs.schemas.getValue(); + if (dir.empty()) + { + dir = "."; + } + files::createDirectory(dir); + std::string path = files::appendPath(dir, "mrdocs-dom-schema.json"); + std::ofstream os(path, + std::ios_base::binary | + std::ios_base::out | + std::ios_base::trunc); + if (!os.is_open()) + { + llvm::errs() << "error: cannot open \"" + << path << "\" for writing\n"; + return EXIT_FAILURE; + } + os << schema::toJson(schema::buildDomSchema()); + return EXIT_SUCCESS; + } + // Before `DoGenerateAction`, we use an error reporting level. // DoGenerateAction will set the level to whatever is specified in // the command line or the configuration file From 857a31073694649329d5feafd24b103d87c4dcf5 Mon Sep 17 00:00:00 2001 From: Gennaro Prota Date: Thu, 16 Apr 2026 12:10:22 +0200 Subject: [PATCH 2/6] fix: serialize OperatorKind as a string in the DOM OperatorKind was the only enum serialized as a raw integer. All other enums serialize as human-readable strings. Change tag_invoke to use getOperatorName, consistent with the rest. --- .../Metadata/Specifiers/OperatorKind.hpp | 24 +++++++++---------- include/mrdocs/Schemas/DomSchemaWriter.hpp | 8 +------ src/test/Schemas/DomSchemaWriter.cpp | 4 ++-- 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/include/mrdocs/Metadata/Specifiers/OperatorKind.hpp b/include/mrdocs/Metadata/Specifiers/OperatorKind.hpp index 669c6f1386..ea4be01bf7 100644 --- a/include/mrdocs/Metadata/Specifiers/OperatorKind.hpp +++ b/include/mrdocs/Metadata/Specifiers/OperatorKind.hpp @@ -120,18 +120,6 @@ enum class OperatorKind Coawait, }; -/** Map an operator kind to a DOM value (its underlying integer). -*/ -inline -void -tag_invoke( - dom::ValueFromTag, - dom::Value& v, - OperatorKind kind) -{ - v = static_cast>(kind); -} - /** Determines whether the operator is potentially unary. */ MRDOCS_DECL @@ -156,6 +144,18 @@ getOperatorName( OperatorKind kind, bool include_keyword = false) noexcept; +/** Map an operator kind to a DOM value. +*/ +inline +void +tag_invoke( + dom::ValueFromTag, + dom::Value& v, + OperatorKind kind) +{ + v = getOperatorName(kind); +} + /** Return the short name of an operator as a string. */ MRDOCS_DECL diff --git a/include/mrdocs/Schemas/DomSchemaWriter.hpp b/include/mrdocs/Schemas/DomSchemaWriter.hpp index 1e6cadf2ba..05bb7a094b 100644 --- a/include/mrdocs/Schemas/DomSchemaWriter.hpp +++ b/include/mrdocs/Schemas/DomSchemaWriter.hpp @@ -88,13 +88,7 @@ memberSchema() }); schema.set("enum", std::move(values)); } - // OperatorKind is the sole non-described enum that - // serializes as integer (via static_cast to underlying type). - else if constexpr (std::is_same_v) - { - schema.set("type", "integer"); - } - // Non-described enums with manual switch-based toString() + // Non-described enums with manual toString() or getOperatorName() // (described enums already handled above). else if constexpr (std::is_enum_v) { diff --git a/src/test/Schemas/DomSchemaWriter.cpp b/src/test/Schemas/DomSchemaWriter.cpp index 5ce3eaef2c..e7b8660cbc 100644 --- a/src/test/Schemas/DomSchemaWriter.cpp +++ b/src/test/Schemas/DomSchemaWriter.cpp @@ -199,9 +199,9 @@ struct DomSchemaWriterTest BOOST_TEST(fp.get("explicit").getObject() .get("type").getString() == "string"); - // OperatorKind serializes as integer. + // OperatorKind BOOST_TEST(fp.get("overloadedOperator").getObject() - .get("type").getString() == "integer"); + .get("type").getString() == "string"); } // -- Symbol extension fields ---------------------------------- From 4f5abd0ced58026f8692e7c6ff4ea1bf18c10339 Mon Sep 17 00:00:00 2001 From: Gennaro Prota Date: Thu, 16 Apr 2026 12:29:52 +0200 Subject: [PATCH 3/6] feat: have --schemas also generate an XML schema --schemas now writes both mrdocs-dom-schema.json (Handlebars DOM) and mrdocs.rnc (XML output). The XML schema mirrors XMLWriter.cpp's serialization. --- include/mrdocs/Schemas/DomSchemaWriter.hpp | 12 + include/mrdocs/Schemas/JsonEmitter.hpp | 8 + include/mrdocs/Schemas/RncSchemaWriter.hpp | 837 +++++++++++++++++++++ src/tool/ToolMain.cpp | 16 + 4 files changed, 873 insertions(+) create mode 100644 include/mrdocs/Schemas/RncSchemaWriter.hpp diff --git a/include/mrdocs/Schemas/DomSchemaWriter.hpp b/include/mrdocs/Schemas/DomSchemaWriter.hpp index 05bb7a094b..b26e7ab890 100644 --- a/include/mrdocs/Schemas/DomSchemaWriter.hpp +++ b/include/mrdocs/Schemas/DomSchemaWriter.hpp @@ -24,6 +24,12 @@ #include #include +/** Schema writers for the MrDocs output formats. + + Houses the JSON-Schema writer for the DOM (Handlebars) objects + and the RELAX NG Compact writer for the XML generator's output. + The writers are driven by reflection over described types. +*/ namespace mrdocs::schema { //------------------------------------------------ @@ -138,6 +144,12 @@ memberSchema() // those fields are NOT required in the schema. //------------------------------------------------ +/** True if `M` is always serialized, i.e. never skipped by + `shouldMapValue()` in `MapReflectedType.hpp`. + + Members of such a type must appear in the JSON Schema's + `required` array. +*/ template inline constexpr bool is_always_present_v = !mrdocs::detail::is_optional_v && diff --git a/include/mrdocs/Schemas/JsonEmitter.hpp b/include/mrdocs/Schemas/JsonEmitter.hpp index 8d0dffba1c..3202c8b1b8 100644 --- a/include/mrdocs/Schemas/JsonEmitter.hpp +++ b/include/mrdocs/Schemas/JsonEmitter.hpp @@ -21,6 +21,14 @@ namespace mrdocs::schema { /** Serialize a dom::Value tree to formatted JSON. Handles null, boolean, integer, string, array, and object. + + @param v The value to serialize. + @param indent Current indentation level in units of two spaces. + Callers should pass `0` for the top-level call; recursive calls + increment it for nested arrays and objects. + @return The JSON text. Arrays and objects are pretty-printed + with two-space indentation; scalars are emitted without + surrounding whitespace. */ inline std::string diff --git a/include/mrdocs/Schemas/RncSchemaWriter.hpp b/include/mrdocs/Schemas/RncSchemaWriter.hpp new file mode 100644 index 0000000000..6884870ec7 --- /dev/null +++ b/include/mrdocs/Schemas/RncSchemaWriter.hpp @@ -0,0 +1,837 @@ +// +// Licensed under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Copyright (c) 2026 Gennaro Prota (gennaro.prota@gmail.com) +// +// Official repository: https://github.com/cppalliance/mrdocs +// + +#ifndef MRDOCS_API_SCHEMAS_RNCSCHEMAWRITER_HPP +#define MRDOCS_API_SCHEMAS_RNCSCHEMAWRITER_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace mrdocs::schema { + +// --------------------------------------------------------------- +// Helpers +// --------------------------------------------------------------- + +/** Implementation details for the RNC schema writer. +*/ +namespace rnc_detail { + +/** Remove `suffix` from the end of `s`, if present. + + @param s The input string. + @param suffix The suffix to strip. + @return `s` with the trailing `suffix` removed, or an + unchanged copy of `s` if the suffix is not present. +*/ +inline std::string +removeSuffix(std::string_view s, std::string_view suffix) +{ + // Strict greater-than guards against emptying the result when + // a base struct (e.g. the bare `Type`) shares its name with a + // listed suffix. + return s.size() > suffix.size() && + s.substr(s.size() - suffix.size()) == suffix + ? std::string(s.substr(0, s.size() - suffix.size())) + : std::string(s); +} + +/** XML element tag name for a described type (mirrors XMLWriter). + + @tparam T A described type. + @return The kebab-case tag name produced by stripping well-known + suffixes (Symbol, Info, TypeInfo, Type, TParam, TArg, Block, + Inline) from the type's unqualified name. TParam-derived types + are suffixed with "-tparam" and TArg-derived types with "-targ" + to mirror XMLWriter's polymorphic dispatch (e.g. TypeTParam + becomes "type-tparam"). The "Name" suffix is intentionally not + stripped: the base struct `Name` itself stays "name" and concrete + name types like `IdentifierName` stay "identifier-name", matching + XMLWriter's writePolymorphic which uses the base/concrete type + name directly. +*/ +template +std::string tagName() +{ + std::string raw(readableTypeName()); + // Detect TParam/TArg derivation by suffix on the raw type name + // (avoids needing TParam/TArg base types in template-instantiation + // contexts where they may be incomplete). + bool const isTParamSub = + raw.size() > 6 && raw.substr(raw.size() - 6) == "TParam"; + bool const isTArgSub = + raw.size() > 4 && raw.substr(raw.size() - 4) == "TArg"; + + std::string name = raw; + for (std::string_view const suffix : + {"Symbol", "Info", "TypeInfo", "Type", + "TParam", "TArg", "Block", "Inline"}) + { + name = removeSuffix(name, suffix); + } + std::string out = toKebabCase(name); + if (isTParamSub) + { + out += "-tparam"; + } + else if (isTArgSub) + { + out += "-targ"; + } + return out; +} + +/** RNC pattern name (PascalCase, used for definitions). + + @tparam T A described type. + @return The unqualified type name of `T`, used as the RNC + pattern identifier on the left-hand side of a grammar rule. +*/ +template +std::string patternName() +{ + return std::string(readableTypeName()); +} + +// --------------------------------------------------------------- +// RNC content type for a C++ member type +// --------------------------------------------------------------- + +/** RNC pattern reference for the content of a member. + + @tparam T The C++ member type. + @return The RNC expression describing the allowed content: + a primitive (`text`, `Bool`, `SymbolID`) for scalar/string-like + types, the pattern name of a described struct, or the + appropriate union pattern (`AnyType`, `AnyTParam`, `AnyTArg`, + `BlockNode`, `InlineNode`, or `Name`) for polymorphic members. + `Optional` and `vector` unwrap to their element type. +*/ +template +std::string rncMember() +{ + using Type = std::decay_t; + + if constexpr (std::is_same_v) + { + return "Bool"; + } + else if constexpr (std::is_same_v || + std::is_same_v) + { + return "text"; + } + else if constexpr (std::is_integral_v) + { + return "text"; + } + else if constexpr (std::is_same_v) + { + return "SymbolID"; + } + else if constexpr (std::is_base_of_v) + { + return "text"; + } + else if constexpr (describe::has_describe_enumerators::value) + { + return patternName(); + } + else if constexpr (mrdocs::detail::is_optional_v) + { + return rncMember(); + } + else if constexpr (mrdocs::detail::is_vector_v) + { + return rncMember(); + } + else if constexpr (mrdocs::detail::is_polymorphic_v) + { + using V = typename Type::value_type; + if constexpr (std::is_same_v) + { + return "AnyType"; + } + else if constexpr (std::is_same_v) + { + // XMLWriter's writePolymorphic for Polymorphic + // falls into the generic case where T is deduced to the + // base `Name` (Polymorphic::operator* returns a base + // reference), so the element opened is always + // with the base's described members. + return "Name"; + } + else if constexpr (std::is_same_v) + { + return "AnyTParam"; + } + else if constexpr (std::is_same_v) + { + return "AnyTArg"; + } + else if constexpr (std::is_same_v) + { + return "BlockNode"; + } + else if constexpr (std::is_same_v) + { + return "InlineNode"; + } + else + { + return "text"; + } + } + else if constexpr (describe::has_describe_members::value) + { + return patternName(); + } + else + { + return "text"; + } +} + +/** RNC quantifier for a member type. + + @tparam T The C++ member type. + @return `"*"` for `std::vector` (zero or more occurrences), + `"?"` for everything else (optional, since XMLWriter skips + empty values). +*/ +template +std::string rncQuantifier() +{ + using Type = std::decay_t; + + if constexpr (mrdocs::detail::is_vector_v) + { + return "*"; + } + else + { + // Almost everything in the XML output is optional + // (XMLWriter's writeElement skips empty values). + return "?"; + } +} + +/** True if this member type is skipped by XMLWriter. + + Non-described enums and non-described structs without + explicit handling in XMLWriter::write() (NoexceptInfo, + ExplicitInfo) fall through without producing output. +*/ +template +inline constexpr bool rnc_is_omitted_v = + (std::is_enum_v && !describe::has_describe_enumerators::value) || + std::is_same_v || + std::is_same_v; + +/** True if a described struct T (XMLWriter uses tagName as the + element name, dropping the member name). */ +template +inline constexpr bool rnc_is_compound_v = + describe::has_describe_members>::value && + !describe::has_describe_enumerators>::value && + !mrdocs::detail::is_optional_v> && + !mrdocs::detail::is_vector_v> && + !mrdocs::detail::is_polymorphic_v>; + +/** Unwrap Optional and vector to T; otherwise leaves T unchanged. + Used to check whether the "inner" type is a compound described struct. +*/ +template +struct unwrap_type { + /// The unwrapped inner type (equal to `std::decay_t` by default). + using type = std::decay_t; +}; + +/** Partial specialization that unwraps `Optional` to `T`. */ +template +struct unwrap_type> { + /// The unwrapped inner type. + using type = std::decay_t; +}; + +/** Partial specialization that unwraps `std::vector` to `T`. */ +template +struct unwrap_type> { + /// The unwrapped element type. + using type = std::decay_t; +}; + +/** Alias for `unwrap_type::type`. + + @tparam M The C++ member type to unwrap. +*/ +template +using unwrap_type_t = typename unwrap_type>::type; + +/** True if the member wraps (via Optional/vector) a described struct. */ +template +inline constexpr bool rnc_is_wrapped_compound_v = + (mrdocs::detail::is_optional_v> || + mrdocs::detail::is_vector_v>) && + rnc_is_compound_v>; + +/** True if the member is a Polymorphic (uses AnyXxx pattern). */ +template +inline constexpr bool rnc_is_polymorphic_v = + mrdocs::detail::is_polymorphic_v>; + +/** True if the member is a vector of Polymorphic. */ +template +struct is_vector_of_polymorphic : std::false_type {}; + +/** Specialization recognizing `std::vector, A>`. */ +template +struct is_vector_of_polymorphic, A>> + : std::true_type {}; + +/** Variable template alias for @ref is_vector_of_polymorphic. */ +template +inline constexpr bool rnc_is_vector_of_polymorphic_v = + is_vector_of_polymorphic>::value; + +/** True if the member is an Optional>. + + XMLWriter's writeElement strips the outer Optional and dispatches + on the polymorphic value, so the member-name wrapper is not used. +*/ +template +struct is_optional_of_polymorphic : std::false_type {}; + +/** Specialization recognizing `Optional>`. */ +template +struct is_optional_of_polymorphic>> + : std::true_type {}; + +/** Variable template alias for @ref is_optional_of_polymorphic. */ +template +inline constexpr bool rnc_is_optional_of_polymorphic_v = + is_optional_of_polymorphic>::value; + +} // namespace rnc_detail + +// --------------------------------------------------------------- +// RNC emitter +// --------------------------------------------------------------- + +/** Streaming builder for the MrDocs RELAX NG Compact (RNC) schema. + + Accumulates pattern definitions and finally returns the full + grammar via @ref build. Pattern definitions are produced by + reflecting over described types (enums, structs, and the + polymorphic node families). +*/ +class RncEmitter +{ + std::string out_; + int indent_ = 0; + + void line(std::string_view s = {}) + { + if (!s.empty()) + { + out_ += std::string(indent_ * 4, ' '); + out_ += s; + } + out_ += '\n'; + } + +public: + /** Emit RNC for a described enum. */ + template + void emitEnum() + { + std::string def = rnc_detail::patternName(); + def += " = "; + bool first = true; + describe::for_each( + describe::describe_enumerators{}, + [&](auto const& D) { + if (!first) + { + def += " | "; + } + first = false; + def += '"'; + def += toKebabCase(D.name); + def += '"'; + }); + line(def); + } + + /** Emit RNC for the members of a described type (bases + own). */ + template + void emitMembers() + { + // Base class members first. + if constexpr (describe::has_describe_bases::value) + { + describe::for_each( + describe::describe_bases{}, + [&](auto const& descriptor) + { + using BaseType = typename std::decay_t< + decltype(descriptor)>::type; + emitMembers(); + }); + } + + // Own members. + if constexpr (describe::has_describe_members::value) + { + describe::for_each( + describe::describe_members{}, + [&](auto const& D) + { + using M = std::decay_t().*D.pointer)>; + + // Skip types that XMLWriter silently omits. + if constexpr (rnc_detail::rnc_is_omitted_v) + { + return; + } + // Polymorphic members: use AnyXxx pattern directly. + else if constexpr (rnc_detail::rnc_is_polymorphic_v) + { + std::string l = rnc_detail::rncMember(); + l += rnc_detail::rncQuantifier(); + line(l + ","); + } + // Vectors of polymorphic: AnyXxx*. + else if constexpr (rnc_detail::rnc_is_vector_of_polymorphic_v) + { + using Inner = typename std::decay_t::value_type; + std::string l = rnc_detail::rncMember(); + l += "*,"; + line(l); + } + // Optional>: AnyXxx? — XMLWriter + // unwraps both layers and dispatches to the + // polymorphic kind, so no member-name wrapper. + else if constexpr (rnc_detail::rnc_is_optional_of_polymorphic_v) + { + using Inner = typename std::decay_t::value_type; + std::string l = rnc_detail::rncMember(); + l += "?,"; + line(l); + } + // Described structs (bare or wrapped in Optional/vector): + // XMLWriter uses the type's tag name, so we reference + // the pattern directly without an element wrapper. + else if constexpr (rnc_detail::rnc_is_compound_v || + rnc_detail::rnc_is_wrapped_compound_v) + { + using Inner = rnc_detail::unwrap_type_t; + std::string l = rnc_detail::patternName(); + l += rnc_detail::rncQuantifier(); + l += ','; + line(l); + } + // Primitive/enum members: element { type }?. + else + { + std::string l = "element "; + l += toKebabCase(D.name); + l += " { "; + l += rnc_detail::rncMember(); + l += " }"; + l += rnc_detail::rncQuantifier(); + l += ','; + line(l); + } + }); + } + } + + /** Emit a group pattern for a described type (no element wrapper). + + Used for abstract base types like `Name` whose members are + embedded directly in a containing element. + */ + template + void emitGroupDef() + { + std::string pattern = rnc_detail::patternName(); + line(pattern + " ="); + ++indent_; + line("("); + ++indent_; + emitMembers(); + auto pos = out_.rfind(','); + if (pos != std::string::npos && pos > out_.size() - 20) + { + out_.erase(pos, 1); + } + --indent_; + line(")"); + --indent_; + line(); + } + + /** Emit a full element definition for a described type. */ + template + void emitElementDef() + { + std::string tag = rnc_detail::tagName(); + std::string pattern = rnc_detail::patternName(); + line(pattern + " ="); + ++indent_; + line("element " + tag); + line("{"); + ++indent_; + emitMembers(); + // Remove trailing comma from last member. + auto pos = out_.rfind(','); + if (pos != std::string::npos && pos > out_.size() - 20) + { + out_.erase(pos, 1); + } + --indent_; + line("}"); + --indent_; + line(); + } + + /** Build the complete RNC schema. + + @return The full grammar text, ready to be written to + `mrdocs.rnc`. + */ + std::string build() + { + // ------------------------------------------------------- + // Header + // ------------------------------------------------------- + line("#"); + line("# Auto-generated by mrdocs --schemas."); + line("# Do not edit manually."); + line("#"); + line("# https://relaxng.org/compact-tutorial-20030326.html"); + line("#"); + line(); + line("namespace xsi= \"http://www.w3.org/2001/XMLSchema-instance\""); + line(); + line("grammar"); + line("{"); + + indent_ = 1; + + // ------------------------------------------------------- + // Root + // ------------------------------------------------------- + line("start = Mrdocs | Tagfile"); + line(); + line("Mrdocs ="); + line(" element mrdocs"); + line(" {"); + line(" attribute xsi:noNamespaceSchemaLocation { text }?,"); + line(" AnySymbol*"); + line(" }"); + line(); + line("Tagfile ="); + line(" element tagfile"); + line(" {"); + line(" TagCompound+"); + line(" }"); + line(); + line("TagCompound ="); + line(" element compound"); + line(" {"); + line(" attribute kind { \"namespace\" | \"class\" },"); + line(" element name { text },"); + line(" element filename { text },"); + line(" (TagClass | TagMember)*"); + line(" }"); + line(); + line("TagClass ="); + line(" element class"); + line(" {"); + line(" attribute kind { \"class\" },"); + line(" text"); + line(" }"); + line(); + line("TagMember ="); + line(" element member"); + line(" {"); + line(" attribute kind { \"function\" },"); + line(" element type { text },"); + line(" element name { text },"); + line(" element anchorfile { text },"); + line(" element anchor { text },"); + line(" element arglist { text }"); + line(" }"); + line(); + + // ------------------------------------------------------- + // Common types + // ------------------------------------------------------- + line("#---------------------------------------------"); + line("# Common types"); + line("#---------------------------------------------"); + line(); + line("SymbolID = text # Base64-encoded"); + line(); + line("Bool = \"1\""); + line(); + + // ------------------------------------------------------- + // Described enums + // ------------------------------------------------------- + line("#---------------------------------------------"); + line("# Enums"); + line("#---------------------------------------------"); + line(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + emitEnum(); + line(); + + // ------------------------------------------------------- + // Types (polymorphic) + // ------------------------------------------------------- + line("#---------------------------------------------"); + line("# Types (polymorphic)"); + line("#---------------------------------------------"); + line(); + #define INFO(X) emitElementDef(); + #include + + line("AnyType ="); + { + std::string choice = " "; + bool first = true; + #define INFO(X) \ + if (!first) { choice += " |\n "; } \ + first = false; \ + choice += rnc_detail::patternName(); + #include + line(choice); + } + line(); + + // ------------------------------------------------------- + // Names + // ------------------------------------------------------- + line("#---------------------------------------------"); + line("# Names"); + line("#---------------------------------------------"); + line(); + #define INFO(X) emitElementDef(); + #include + + line("AnyName ="); + { + std::string choice = " "; + bool first = true; + #define INFO(X) \ + if (!first) { choice += " |\n "; } \ + first = false; \ + choice += rnc_detail::patternName(); + #include + line(choice); + } + line(); + + // ------------------------------------------------------- + // Template parameters + // ------------------------------------------------------- + line("#---------------------------------------------"); + line("# Template parameters (polymorphic)"); + line("#---------------------------------------------"); + line(); + #define INFO(X) emitElementDef(); + #include + + line("AnyTParam = "); + { + std::string choice = " "; + bool first = true; + #define INFO(X) \ + if (!first) { choice += " | "; } \ + first = false; \ + choice += rnc_detail::patternName(); + #include + line(choice); + } + line(); + + // ------------------------------------------------------- + // Template arguments + // ------------------------------------------------------- + line("#---------------------------------------------"); + line("# Template arguments (polymorphic)"); + line("#---------------------------------------------"); + line(); + #define INFO(X) emitElementDef(); + #include + + line("AnyTArg = "); + { + std::string choice = " "; + bool first = true; + #define INFO(X) \ + if (!first) { choice += " | "; } \ + first = false; \ + choice += rnc_detail::patternName(); + #include + line(choice); + } + line(); + + // ------------------------------------------------------- + // Supporting types + // ------------------------------------------------------- + line("#---------------------------------------------"); + line("# Supporting types"); + line("#---------------------------------------------"); + line(); + emitElementDef(); + emitElementDef(); + emitElementDef(); + emitElementDef(); + emitElementDef(); + emitElementDef(); + emitElementDef(); + emitElementDef(); + emitElementDef(); + emitElementDef(); + emitElementDef(); + emitElementDef(); + emitElementDef(); + emitElementDef(); + emitElementDef(); + + // ------------------------------------------------------- + // Symbols + // ------------------------------------------------------- + line("#---------------------------------------------"); + line("# Symbols"); + line("#---------------------------------------------"); + line(); + #define INFO(X) emitElementDef(); + #include + + line("AnySymbol ="); + { + std::string choice = " "; + bool first = true; + #define INFO(X) \ + if (!first) { choice += " |\n "; } \ + first = false; \ + choice += rnc_detail::patternName(); + #include + line(choice); + } + line(); + + // ------------------------------------------------------- + // DocComment + // ------------------------------------------------------- + line("#---------------------------------------------"); + line("# DocComment"); + line("#---------------------------------------------"); + line(); + emitElementDef(); + + // Block nodes + line("#---------------------------------------------"); + line("# Block nodes"); + line("#---------------------------------------------"); + line(); + #define INFO(X) emitElementDef(); + #include + + line("BlockNode ="); + { + std::string choice = " "; + bool first = true; + #define INFO(X) \ + if (!first) { choice += " |\n "; } \ + first = false; \ + choice += rnc_detail::patternName(); + #include + line(choice); + } + line(); + + // Inline nodes + line("#---------------------------------------------"); + line("# Inline nodes"); + line("#---------------------------------------------"); + line(); + #define INFO(X) emitElementDef(); + #include + + line("InlineNode ="); + { + std::string choice = " "; + bool first = true; + #define INFO(X) \ + if (!first) { choice += " |\n "; } \ + first = false; \ + choice += rnc_detail::patternName(); + #include + line(choice); + } + line(); + + // ------------------------------------------------------- + // Close grammar + // ------------------------------------------------------- + indent_ = 0; + line("}"); + + return out_; + } +}; + +/** Build the complete RNC schema string. + + @return The full RELAX NG Compact grammar for the MrDocs XML + output, suitable for writing directly to `mrdocs.rnc`. +*/ +inline std::string +buildRncSchema() +{ + RncEmitter emitter; + return emitter.build(); +} + +} // mrdocs::schema + +#endif // MRDOCS_API_SCHEMAS_RNCSCHEMAWRITER_HPP diff --git a/src/tool/ToolMain.cpp b/src/tool/ToolMain.cpp index e8f5654c3e..90b9677396 100644 --- a/src/tool/ToolMain.cpp +++ b/src/tool/ToolMain.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -146,6 +147,21 @@ mrdocs_main(int argc, char const** argv) return EXIT_FAILURE; } os << schema::toJson(schema::buildDomSchema()); + + // Write RNC schema (replaces hand-maintained mrdocs.rnc). + std::string rncPath = files::appendPath(dir, "mrdocs.rnc"); + std::ofstream rncOs(rncPath, + std::ios_base::binary | + std::ios_base::out | + std::ios_base::trunc); + if (!rncOs.is_open()) + { + llvm::errs() << "error: cannot open \"" + << rncPath << "\" for writing\n"; + return EXIT_FAILURE; + } + rncOs << schema::buildRncSchema(); + return EXIT_SUCCESS; } From 8ce59c1db2a07a8b07ff4bcda1b64c634270f82f Mon Sep 17 00:00:00 2001 From: Gennaro Prota Date: Thu, 16 Apr 2026 16:45:32 +0200 Subject: [PATCH 4/6] refactor: describe AccessKind, ConstexprKind, ParamDirection, StorageClassKind Replace manual toString and tag_invoke overloads with MRDOCS_DESCRIBE_ENUM for four enums whose kebab-case names match the existing string representations. The XML writer now emits these fields (e.g. public, constexpr) where they were previously silently skipped. None/none sentinel values are suppressed via a generic has_none_enumerator check. TypeKind stays manual because toKebabCase("LValueReference") produces "l-value-reference", not the established "lvalue-reference". --- .../DocComment/Block/ParamDirection.hpp | 19 +- .../mrdocs/Metadata/Specifiers/AccessKind.hpp | 22 +- .../Metadata/Specifiers/ConstexprKind.hpp | 20 +- .../Metadata/Specifiers/StorageClassKind.hpp | 20 +- include/mrdocs/Metadata/Type/TypeKind.hpp | 2 +- include/mrdocs/Support/MapReflectedType.hpp | 10 + src/lib/Gen/xml/XMLWriter.cpp | 28 ++ src/lib/Metadata/DocComment.cpp | 18 - src/lib/Metadata/Specifiers.cpp | 39 -- src/lib/Support/Debug.hpp | 2 +- .../brief-from-function-class.xml | 13 + .../brief-from-operator.xml | 5 + .../param-from-function-class.xml | 12 + .../param-from-operator.xml | 1 + .../returns-from-brief.xml | 3 + .../returns-from-special.xml | 15 + .../no-auto-function-objects.xml | 2 + .../config/auto-relates/derived.xml | 3 + .../config/auto-relates/remove-friend.xml | 1 + .../extract-friends/extract-friends.xml | 1 + .../extract-friends/no-extract-friends.xml | 1 + .../extract-implicit-specializations/base.xml | 3 + .../extract-implicit-specializations.xml | 3 + .../no-extract-implicit-specializations.xml | 3 + .../extract-private-virtual.xml | 2 + .../no-extract-private-virtual.xml | 1 + .../base-overload-set.xml | 9 + .../copy-dependencies.xml | 44 ++ .../config/inherit-base-members/copy.xml | 44 ++ .../impl-defined-base.xml | 4 + .../config/inherit-base-members/never.xml | 21 + .../config/inherit-base-members/reference.xml | 38 ++ .../inherit-base-members/see-below-base.xml | 3 + .../inherit-base-members/skip-special.xml | 54 +++ .../config/legible-names/constructor.xml | 6 + .../config/overloads/const-mutable.xml | 3 + .../config/overloads/visibility.xml | 16 + .../sort-members-by-location.xml | 11 + .../sort-members-by/sort-members-by-name.xml | 11 + .../sort-namespace-members-by-location.adoc | 4 +- .../sort-namespace-members-by-location.html | 4 +- .../sort-namespace-members-by-location.xml | 14 +- .../sort-namespace-members-by-name.adoc | 4 +- .../sort-namespace-members-by-name.html | 4 +- .../sort-namespace-members-by-name.xml | 14 +- .../config/sort/sort-members.adoc | 4 +- .../config/sort/sort-members.html | 4 +- .../golden-tests/config/sort/sort-members.xml | 14 +- .../golden-tests/config/sort/unordered.adoc | 4 +- .../golden-tests/config/sort/unordered.html | 4 +- .../golden-tests/config/sort/unordered.xml | 14 +- .../symbol-name/excluded-base-class.xml | 10 + .../filters/symbol-name/extraction-mode.xml | 4 + .../filters/symbol-name/whitelist_0.xml | 3 + .../symbol-type/nested-private-template.xml | 2 + .../golden-tests/javadoc/brief/brief-3.adoc | 4 +- .../golden-tests/javadoc/brief/brief-3.html | 4 +- .../golden-tests/javadoc/brief/brief-3.xml | 4 +- .../javadoc/copydoc/conversion.xml | 5 + .../javadoc/copydoc/decay-params.adoc | 4 +- .../javadoc/copydoc/decay-params.html | 4 +- .../javadoc/copydoc/decay-params.xml | 6 +- .../javadoc/copydoc/fundamental.adoc | 4 +- .../javadoc/copydoc/fundamental.html | 4 +- .../javadoc/copydoc/fundamental.xml | 4 +- .../javadoc/copydoc/no-param.adoc | 10 +- .../javadoc/copydoc/no-param.html | 10 +- .../golden-tests/javadoc/copydoc/no-param.xml | 8 +- .../javadoc/copydoc/operator-param.xml | 5 + .../javadoc/copydoc/param-types.adoc | 22 +- .../javadoc/copydoc/param-types.html | 22 +- .../javadoc/copydoc/param-types.xml | 10 +- .../javadoc/copydoc/qualified.xml | 16 + .../javadoc/copydoc/qualifiers.xml | 13 + .../function-object/function-object.xml | 5 + .../golden-tests/javadoc/inline/styled.xml | 1 + .../golden-tests/javadoc/param/param-1.xml | 3 + .../javadoc/param/param-direction.xml | 14 + .../javadoc/ref/parent_context.adoc | 12 +- .../javadoc/ref/parent_context.html | 12 +- .../javadoc/ref/parent_context.xml | 6 +- test-files/golden-tests/javadoc/ref/ref.xml | 46 ++ .../golden-tests/javadoc/returns/returns.xml | 2 + .../golden-tests/snippets/function_object.xml | 1 + .../symbols/concept/requires-clause.adoc | 10 +- .../symbols/concept/requires-clause.html | 10 +- .../symbols/concept/requires-clause.xml | 4 +- .../function/explicit-conv-operator.xml | 4 + .../symbols/function/explicit-ctor.xml | 20 + .../function/explicit-object-parameter.xml | 5 + .../function/function-template-template.xml | 1 + .../golden-tests/symbols/function/mem-fn.xml | 33 ++ .../symbols/function/noreturn.xml | 3 + .../symbols/function/overloaded-op-1.xml | 1 + .../symbols/function/overloaded-op-2.xml | 1 + .../golden-tests/symbols/function/sfinae.xml | 2 + .../spec-mem-implicit-instantiation.xml | 25 + .../symbols/overloads/overloads-brief.adoc | 12 +- .../symbols/overloads/overloads-brief.html | 12 +- .../symbols/overloads/overloads-brief.xml | 24 +- .../symbols/overloads/overloads-metadata.adoc | 4 +- .../symbols/overloads/overloads-metadata.html | 4 +- .../symbols/overloads/overloads-metadata.xml | 4 +- .../symbols/overloads/overloads-ostream.xml | 5 + .../symbols/overloads/overloads.adoc | 4 +- .../symbols/overloads/overloads.html | 4 +- .../symbols/overloads/overloads.xml | 15 +- .../symbols/record/class-private-alias.xml | 1 + .../record/class-template-partial-spec.xml | 3 + .../symbols/record/class-template-spec.xml | 9 + .../class-template-specializations-1.xml | 453 ++++++++++++++++++ .../class-template-specializations-2.xml | 19 + .../class-template-specializations-3.xml | 58 +++ .../symbols/record/class-template.xml | 17 + .../symbols/record/conditional-explicit.xml | 9 + .../symbols/record/dtor-overloads.xml | 3 + .../symbols/record/final-class.xml | 2 + .../record/forward-declared-member.xml | 1 + .../symbols/record/friend-duplicate.xml | 1 + .../symbols/record/friend-fn-has-docs.xml | 1 + .../symbols/record/friend-fn-member.xml | 3 + .../symbols/record/friend-fn-multi-2nd.xml | 1 + .../symbols/record/friend-fn-multi-free.xml | 1 + .../symbols/record/friend-fn-multi.xml | 1 + .../golden-tests/symbols/record/friend-fn.xml | 1 + .../symbols/record/local-class.xml | 2 + .../golden-tests/symbols/record/record-1.xml | 8 + .../symbols/record/record-access.xml | 9 + .../symbols/record/record-data.xml | 16 + .../symbols/record/record-inheritance.xml | 15 + .../template-specialization-inheritance.xml | 7 + .../golden-tests/symbols/record/union.xml | 5 + .../golden-tests/symbols/record/unnamed.xml | 4 + .../symbols/typedef/alias-template.xml | 1 + .../symbols/typedef/decay-to-primary.xml | 6 + .../typedef/dependency-propagation.xml | 1 + .../implicit-instantiation-member-ref.xml | 7 + .../using/using-alias-template-dependent.xml | 3 + .../symbols/using/using-function-after.adoc | 4 +- .../symbols/using/using-function-after.html | 4 +- .../symbols/using/using-function-after.xml | 4 +- .../using/using-function-local-overloads.adoc | 6 +- .../using/using-function-local-overloads.html | 6 +- .../using/using-function-local-overloads.xml | 8 +- .../using/using-function-overloads.adoc | 6 +- .../using/using-function-overloads.html | 6 +- .../using/using-function-overloads.xml | 8 +- .../symbols/using/using-member-conversion.xml | 5 + .../symbols/using/using-member-function.xml | 33 ++ .../symbols/using/using-typename.xml | 1 + .../symbols/variable/function-objects.adoc | 4 +- .../symbols/variable/function-objects.html | 4 +- .../symbols/variable/function-objects.xml | 64 ++- .../symbols/variable/member-pointer.xml | 2 + .../symbols/variable/no_unique_address.xml | 2 + .../symbols/variable/ns-variables.xml | 5 + .../variable/static-data-def-constexpr.xml | 4 + .../symbols/variable/static-data-def.xml | 20 + .../symbols/variable/static-data-template.xml | 6 + .../symbols/variable/var-template.xml | 6 + .../templates/c_mct_expl_inline.xml | 4 + .../templates/c_mct_expl_outside.xml | 4 + .../templates/c_mft_expl_inline.xml | 3 + .../templates/c_mft_expl_outside.xml | 3 + test-files/golden-tests/templates/ct_expl.xml | 2 + .../templates/ct_expl_dependency.xml | 1 + test-files/golden-tests/templates/ct_mc.xml | 2 + .../templates/ct_mc_expl_outside.xml | 4 + test-files/golden-tests/templates/ct_mct.xml | 2 + .../templates/ct_mct_expl_inline.xml | 4 + .../templates/ct_mct_expl_outside.xml | 5 + test-files/golden-tests/templates/ct_mf.xml | 1 + .../templates/ct_mf_expl_outside.xml | 2 + test-files/golden-tests/templates/ct_mft.xml | 1 + .../templates/ct_mft_expl_inline.xml | 3 + .../templates/ct_mft_expl_outside.xml | 4 + .../golden-tests/templates/ft_expl.adoc | 10 +- .../golden-tests/templates/ft_expl.html | 10 +- test-files/golden-tests/templates/ft_expl.xml | 4 +- 179 files changed, 1720 insertions(+), 313 deletions(-) diff --git a/include/mrdocs/Metadata/DocComment/Block/ParamDirection.hpp b/include/mrdocs/Metadata/DocComment/Block/ParamDirection.hpp index bff93b938e..16c063aaaf 100644 --- a/include/mrdocs/Metadata/DocComment/Block/ParamDirection.hpp +++ b/include/mrdocs/Metadata/DocComment/Block/ParamDirection.hpp @@ -16,6 +16,7 @@ #include #include +#include namespace mrdocs::doc { @@ -33,23 +34,7 @@ enum class ParamDirection inout }; -/** Return the name of the ParamDirection as a string. -*/ -MRDOCS_DECL -dom::String -toString(ParamDirection kind) noexcept; - -/** Return the ParamDirection from a @ref dom::Value string. -*/ -inline -void -tag_invoke( - dom::ValueFromTag, - dom::Value& v, - ParamDirection const kind) -{ - v = toString(kind); -} +MRDOCS_DESCRIBE_ENUM(ParamDirection, none, in, out, inout) } // mrdocs::doc diff --git a/include/mrdocs/Metadata/Specifiers/AccessKind.hpp b/include/mrdocs/Metadata/Specifiers/AccessKind.hpp index 39d78e98fb..d780d0ee2d 100644 --- a/include/mrdocs/Metadata/Specifiers/AccessKind.hpp +++ b/include/mrdocs/Metadata/Specifiers/AccessKind.hpp @@ -14,7 +14,7 @@ #include #include -#include +#include namespace mrdocs { @@ -41,25 +41,7 @@ enum class AccessKind Private, }; -/** Convert access specifier to its string form. -*/ -MRDOCS_DECL -dom::String -toString(AccessKind kind) noexcept; - -/** Return the AccessKind as a @ref dom::Value string. -*/ -inline -void -tag_invoke( - dom::ValueFromTag, - dom::Value& v, - AccessKind const kind) -{ - v = toString(kind); -} - - +MRDOCS_DESCRIBE_ENUM(AccessKind, None, Public, Protected, Private) } // mrdocs diff --git a/include/mrdocs/Metadata/Specifiers/ConstexprKind.hpp b/include/mrdocs/Metadata/Specifiers/ConstexprKind.hpp index 0375e7bed7..6cf86ea30b 100644 --- a/include/mrdocs/Metadata/Specifiers/ConstexprKind.hpp +++ b/include/mrdocs/Metadata/Specifiers/ConstexprKind.hpp @@ -13,7 +13,7 @@ #define MRDOCS_API_METADATA_SPECIFIERS_CONSTEXPRKIND_HPP #include -#include +#include namespace mrdocs { @@ -33,23 +33,7 @@ enum class ConstexprKind Consteval, }; -/** Convert a constexpr/consteval specifier kind to a string. -*/ -MRDOCS_DECL -dom::String -toString(ConstexprKind kind) noexcept; - -/** Return the ConstexprKind as a @ref dom::Value string. -*/ -inline -void -tag_invoke( - dom::ValueFromTag, - dom::Value& v, - ConstexprKind const kind) -{ - v = toString(kind); -} +MRDOCS_DESCRIBE_ENUM(ConstexprKind, None, Constexpr, Consteval) } // mrdocs diff --git a/include/mrdocs/Metadata/Specifiers/StorageClassKind.hpp b/include/mrdocs/Metadata/Specifiers/StorageClassKind.hpp index e09b153c0a..1a8746fe86 100644 --- a/include/mrdocs/Metadata/Specifiers/StorageClassKind.hpp +++ b/include/mrdocs/Metadata/Specifiers/StorageClassKind.hpp @@ -14,7 +14,7 @@ #include #include -#include +#include namespace mrdocs { @@ -40,23 +40,7 @@ enum class StorageClassKind Register }; -/** Convert a storage class kind to its string form. -*/ -MRDOCS_DECL -dom::String -toString(StorageClassKind kind) noexcept; - -/** Return the StorageClassKind as a @ref dom::Value string. -*/ -inline -void -tag_invoke( - dom::ValueFromTag, - dom::Value& v, - StorageClassKind const kind) -{ - v = toString(kind); -} +MRDOCS_DESCRIBE_ENUM(StorageClassKind, None, Extern, Static, Auto, Register) } // mrdocs diff --git a/include/mrdocs/Metadata/Type/TypeKind.hpp b/include/mrdocs/Metadata/Type/TypeKind.hpp index dc1221192b..851e3294d7 100644 --- a/include/mrdocs/Metadata/Type/TypeKind.hpp +++ b/include/mrdocs/Metadata/Type/TypeKind.hpp @@ -29,9 +29,9 @@ MRDOCS_DECL dom::String toString(TypeKind kind) noexcept; -inline /** Map a TypeKind into a DOM value. */ +inline void tag_invoke( dom::ValueFromTag, diff --git a/include/mrdocs/Support/MapReflectedType.hpp b/include/mrdocs/Support/MapReflectedType.hpp index 31c29e1ee8..08e83ea5d7 100644 --- a/include/mrdocs/Support/MapReflectedType.hpp +++ b/include/mrdocs/Support/MapReflectedType.hpp @@ -15,6 +15,8 @@ #include #include #include +#include +#include #include #include #include @@ -114,6 +116,10 @@ shouldMapValue(T const& value) { return !value.empty(); } + else if constexpr (std::is_same_v) + { + return value != AccessKind::None; + } else if constexpr (std::is_same_v) { return value != ConstexprKind::None; @@ -126,6 +132,10 @@ shouldMapValue(T const& value) { return value != StorageClassKind::None; } + else if constexpr (std::is_same_v) + { + return value != doc::ParamDirection::none; + } else if constexpr (std::is_same_v) { return !value.Written.empty(); diff --git a/src/lib/Gen/xml/XMLWriter.cpp b/src/lib/Gen/xml/XMLWriter.cpp index 7ae132bf16..0f311d287e 100644 --- a/src/lib/Gen/xml/XMLWriter.cpp +++ b/src/lib/Gen/xml/XMLWriter.cpp @@ -55,6 +55,24 @@ std::string tagName() return toKebabCase(name); } +/** True if the described enum has an enumerator named "None" or "none". */ +template +constexpr bool has_none_enumerator() +{ + bool result = false; + describe::for_each( + describe::describe_enumerators{}, + [&](auto const& D) + { + std::string_view name(D.name); + if (name == "None" || name == "none") + { + result = true; + } + }); + return result; +} + } // unnamed namespace //------------------------------------------------ @@ -175,6 +193,16 @@ XMLWriter::writeElement(std::string_view tag, T const& value) { if (value.empty()) return; } else if constexpr (std::is_base_of_v) { if (value.Written.empty()) return; } + else if constexpr (describe::has_describe_enumerators::value) + { + if constexpr (has_none_enumerator()) + { + if (toString(value) == "none") + { + return; + } + } + } // Primitives inline, compounds wrapped. if constexpr (std::is_base_of_v) diff --git a/src/lib/Metadata/DocComment.cpp b/src/lib/Metadata/DocComment.cpp index 71d077fec2..9d6d22bd6f 100644 --- a/src/lib/Metadata/DocComment.cpp +++ b/src/lib/Metadata/DocComment.cpp @@ -46,24 +46,6 @@ toString(AdmonitionKind kind) noexcept } } -dom::String -toString(ParamDirection kind) noexcept -{ - switch(kind) - { - case ParamDirection::none: - return ""; - case ParamDirection::in: - return "in"; - case ParamDirection::out: - return "out"; - case ParamDirection::inout: - return "inout"; - default: - MRDOCS_UNREACHABLE(); - } -} - dom::String toString(Parts kind) noexcept { diff --git a/src/lib/Metadata/Specifiers.cpp b/src/lib/Metadata/Specifiers.cpp index 9f8b458487..5aecb480f0 100644 --- a/src/lib/Metadata/Specifiers.cpp +++ b/src/lib/Metadata/Specifiers.cpp @@ -15,45 +15,6 @@ namespace mrdocs { -dom::String toString(AccessKind kind) noexcept -{ - switch(kind) - { - case AccessKind::Public: return "public"; - case AccessKind::Private: return "private"; - case AccessKind::Protected: return "protected"; - case AccessKind::None: return ""; - default: - MRDOCS_UNREACHABLE(); - } -} - -dom::String toString(StorageClassKind kind) noexcept -{ - switch(kind) - { - case StorageClassKind::None: return ""; - case StorageClassKind::Extern: return "extern"; - case StorageClassKind::Static: return "static"; - case StorageClassKind::Auto: return "auto"; - case StorageClassKind::Register: return "register"; - default: - MRDOCS_UNREACHABLE(); - } -} - -dom::String toString(ConstexprKind kind) noexcept -{ - switch(kind) - { - case ConstexprKind::None: return ""; - case ConstexprKind::Constexpr: return "constexpr"; - case ConstexprKind::Consteval: return "consteval"; - default: - MRDOCS_UNREACHABLE(); - } -} - dom::String toString(ExplicitKind kind) noexcept { switch(kind) diff --git a/src/lib/Support/Debug.hpp b/src/lib/Support/Debug.hpp index ada0ce21d9..02d47390be 100644 --- a/src/lib/Support/Debug.hpp +++ b/src/lib/Support/Debug.hpp @@ -47,7 +47,7 @@ struct std::formatter : std::formatter { template std::format_context::iterator format(mrdocs::AccessKind a, FmtContext &ctx) const { - return std::formatter::format(toString(a).str(), ctx); + return std::formatter::format(toString(a), ctx); } }; diff --git a/test-files/golden-tests/config/auto-function-metadata/brief-from-function-class.xml b/test-files/golden-tests/config/auto-function-metadata/brief-from-function-class.xml index a1bcf0d9ac..cb7c58f1f4 100644 --- a/test-files/golden-tests/config/auto-function-metadata/brief-from-function-class.xml +++ b/test-files/golden-tests/config/auto-function-metadata/brief-from-function-class.xml @@ -114,6 +114,7 @@ overloads iRe6Tyv0qU6vIHNyvLHuISP/Fw4= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -151,6 +152,7 @@ function 6Jx2eK9l4C46QIRucTvox+6PH2k= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -171,6 +173,7 @@ constructor 1 1 + constexpr 1 @@ -185,6 +188,7 @@ function 4C2UEs8la3Eghf4mLyeViCJNOwY= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -226,6 +230,7 @@ constructor 1 1 + constexpr 1 @@ -240,6 +245,7 @@ function ad/AzbLEE6b8dNnnX2OLy1+HxDQ= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -280,6 +286,7 @@ constructor 1 1 + constexpr 1 @@ -294,6 +301,7 @@ function d9h3reyOyp3JT3kwQOTPOI9tmzg= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -350,6 +358,7 @@ function vwV8S8Oz6MQV3vNlcR0jdKhSlfc= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -410,6 +419,7 @@ function ALa0jXrxokW17OgDFIUlk/PCxSQ= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -469,6 +479,7 @@ function HK6hbp0kJrHWxbYoHddN1v/GCWc= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -501,6 +512,7 @@ function CWQgyDAMsfX65S2osLlxVceQp04= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -549,6 +561,7 @@ function ugTeBmZlVDCwimu6VQtRkOKlfL8= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= diff --git a/test-files/golden-tests/config/auto-function-metadata/brief-from-operator.xml b/test-files/golden-tests/config/auto-function-metadata/brief-from-operator.xml index 18a690c454..9f533b0ca6 100644 --- a/test-files/golden-tests/config/auto-function-metadata/brief-from-operator.xml +++ b/test-files/golden-tests/config/auto-function-metadata/brief-from-operator.xml @@ -108,6 +108,7 @@ overloads q7aqa6GHOpmWjES40eZPTxdQ3zE= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -145,6 +146,7 @@ function YI7e/5S7mfio0SdtBRI7qUu9Q98= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -208,6 +210,7 @@ function 48zVzrvQYghIK1XcLQx4pbTPMI4= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -270,6 +273,7 @@ function 3QxkEc/c2ugz6330u92HdqOoDNk= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -333,6 +337,7 @@ function fQntJewamOFvdUijvGwzsqA4V+E= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= diff --git a/test-files/golden-tests/config/auto-function-metadata/param-from-function-class.xml b/test-files/golden-tests/config/auto-function-metadata/param-from-function-class.xml index 0794d4bc93..870a9e5be7 100644 --- a/test-files/golden-tests/config/auto-function-metadata/param-from-function-class.xml +++ b/test-files/golden-tests/config/auto-function-metadata/param-from-function-class.xml @@ -118,6 +118,7 @@ overloads iRe6Tyv0qU6vIHNyvLHuISP/Fw4= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -154,6 +155,7 @@ function 4C2UEs8la3Eghf4mLyeViCJNOwY= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -207,6 +209,7 @@ function ad/AzbLEE6b8dNnnX2OLy1+HxDQ= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -259,6 +262,7 @@ function d9h3reyOyp3JT3kwQOTPOI9tmzg= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -315,6 +319,7 @@ function vwV8S8Oz6MQV3vNlcR0jdKhSlfc= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -375,6 +380,7 @@ function ALa0jXrxokW17OgDFIUlk/PCxSQ= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -458,6 +464,7 @@ overloads q7aqa6GHOpmWjES40eZPTxdQ3zE= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -497,6 +504,7 @@ function YI7e/5S7mfio0SdtBRI7qUu9Q98= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -560,6 +568,7 @@ function 48zVzrvQYghIK1XcLQx4pbTPMI4= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -622,6 +631,7 @@ function fxM82tl72Q717PPJyP3nb48HbSQ= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -681,6 +691,7 @@ function 3QxkEc/c2ugz6330u92HdqOoDNk= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -744,6 +755,7 @@ function fj22HhjPEq+Xg/+Qrr3suU+8qMs= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= diff --git a/test-files/golden-tests/config/auto-function-metadata/param-from-operator.xml b/test-files/golden-tests/config/auto-function-metadata/param-from-operator.xml index dc52f863ff..b8afa66bd7 100644 --- a/test-files/golden-tests/config/auto-function-metadata/param-from-operator.xml +++ b/test-files/golden-tests/config/auto-function-metadata/param-from-operator.xml @@ -107,6 +107,7 @@ function KAGpjhkArISJuf2yO8ueGRkoMRY= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= diff --git a/test-files/golden-tests/config/auto-function-metadata/returns-from-brief.xml b/test-files/golden-tests/config/auto-function-metadata/returns-from-brief.xml index 0280a457a9..b28c998083 100644 --- a/test-files/golden-tests/config/auto-function-metadata/returns-from-brief.xml +++ b/test-files/golden-tests/config/auto-function-metadata/returns-from-brief.xml @@ -61,6 +61,7 @@ function NvIeyslj/JtN1AFmvZ8Tij9uTrg= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -101,6 +102,7 @@ function 3xIfjajRSSCEaVNizhf9qh46l4U= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -142,6 +144,7 @@ function 4jz+tDHFk1vY3ErafzS9b537gac= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= diff --git a/test-files/golden-tests/config/auto-function-metadata/returns-from-special.xml b/test-files/golden-tests/config/auto-function-metadata/returns-from-special.xml index e467524cd4..cc123a497b 100644 --- a/test-files/golden-tests/config/auto-function-metadata/returns-from-special.xml +++ b/test-files/golden-tests/config/auto-function-metadata/returns-from-special.xml @@ -186,6 +186,7 @@ overloads q7aqa6GHOpmWjES40eZPTxdQ3zE= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -215,6 +216,7 @@ function 3QxkEc/c2ugz6330u92HdqOoDNk= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -278,6 +280,7 @@ function fj22HhjPEq+Xg/+Qrr3suU+8qMs= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -340,6 +343,7 @@ function KAGpjhkArISJuf2yO8ueGRkoMRY= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -402,6 +406,7 @@ function nGRGOmpMUWr4ryyahs3rKCCI6w8= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -444,6 +449,7 @@ function CWQgyDAMsfX65S2osLlxVceQp04= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -492,6 +498,7 @@ function OKqUHUCCTf6jNFJNn97bqGsSeaw= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -547,6 +554,7 @@ function KWAu92L4cHasWWof4vEI3DKRMCM= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -605,6 +613,7 @@ function UKmM2VstAN3S3zdmZKKvDGlIrLM= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -684,6 +693,7 @@ function B4HRW82Qp1vDOpzQsxPdEsZgycs= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -763,6 +773,7 @@ function 851IpIwjxsx0O/etQzbn4pl99xE= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -842,6 +853,7 @@ function h8nEEe+LBIHRvU6iRGyqW04tWgU= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -921,6 +933,7 @@ function cR6bIyYYnXQ30XTeEQusQL16eHI= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -1000,6 +1013,7 @@ function 4tbW1aodVDD/vHYusU0xj6w4Fao= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -1079,6 +1093,7 @@ function ttkN5+GpWIElN9dfCpsZKm/wHH0= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= diff --git a/test-files/golden-tests/config/auto-function-objects/no-auto-function-objects.xml b/test-files/golden-tests/config/auto-function-objects/no-auto-function-objects.xml index 6b5928eec4..fde6709801 100644 --- a/test-files/golden-tests/config/auto-function-objects/no-auto-function-objects.xml +++ b/test-files/golden-tests/config/auto-function-objects/no-auto-function-objects.xml @@ -80,6 +80,7 @@ function 11lTy9LCvZbcyORLiyJVo85H/ZE= + public regular atJ19SGK6qD7vR0+k/Q9OWKCjbM= @@ -163,6 +164,7 @@ function 7NEMEfqJ2qq9ya8mcW1t7V5K0DA= + public implementation-defined 8GvlDu9dAD8UG/F0pZ8sAX1YesQ= diff --git a/test-files/golden-tests/config/auto-relates/derived.xml b/test-files/golden-tests/config/auto-relates/derived.xml index a106f5f91a..0ab64ee2d9 100644 --- a/test-files/golden-tests/config/auto-relates/derived.xml +++ b/test-files/golden-tests/config/auto-relates/derived.xml @@ -78,6 +78,7 @@ ABase + public @@ -212,6 +213,7 @@ ABase + public uzZSeC7XnVBhNXRKG+8nlEGg+Is= @@ -288,6 +290,7 @@ AView + public diff --git a/test-files/golden-tests/config/auto-relates/remove-friend.xml b/test-files/golden-tests/config/auto-relates/remove-friend.xml index 078b9abe16..2b02729737 100644 --- a/test-files/golden-tests/config/auto-relates/remove-friend.xml +++ b/test-files/golden-tests/config/auto-relates/remove-friend.xml @@ -136,6 +136,7 @@ function kibUx6k1SXB+HsXkRXroJl9f59w= + public regular //////////////////////////8= diff --git a/test-files/golden-tests/config/extract-friends/extract-friends.xml b/test-files/golden-tests/config/extract-friends/extract-friends.xml index d10d24ae21..fa6f705b19 100644 --- a/test-files/golden-tests/config/extract-friends/extract-friends.xml +++ b/test-files/golden-tests/config/extract-friends/extract-friends.xml @@ -118,6 +118,7 @@ function oizNQDy8La+BwcGOBpMPC63TA5U= + public regular jTCZUvygQOxo6L+VfFZcAI6KU0Y= diff --git a/test-files/golden-tests/config/extract-friends/no-extract-friends.xml b/test-files/golden-tests/config/extract-friends/no-extract-friends.xml index d6632f40c4..e9d954e944 100644 --- a/test-files/golden-tests/config/extract-friends/no-extract-friends.xml +++ b/test-files/golden-tests/config/extract-friends/no-extract-friends.xml @@ -118,6 +118,7 @@ function oizNQDy8La+BwcGOBpMPC63TA5U= + public regular jTCZUvygQOxo6L+VfFZcAI6KU0Y= diff --git a/test-files/golden-tests/config/extract-implicit-specializations/base.xml b/test-files/golden-tests/config/extract-implicit-specializations/base.xml index 1f3c4d72d0..aabb782211 100644 --- a/test-files/golden-tests/config/extract-implicit-specializations/base.xml +++ b/test-files/golden-tests/config/extract-implicit-specializations/base.xml @@ -35,6 +35,7 @@ B + public @@ -58,6 +59,7 @@ function TokaYJ9UI6a6x0IfsXTGliIuJ9k= + public regular 3JsK1DO0O+wZhv+0meptQrbs3fY= @@ -107,6 +109,7 @@ function TokaYJ9UI6a6x0IfsXTGliIuJ9k= + public regular 3JsK1DO0O+wZhv+0meptQrbs3fY= diff --git a/test-files/golden-tests/config/extract-implicit-specializations/extract-implicit-specializations.xml b/test-files/golden-tests/config/extract-implicit-specializations/extract-implicit-specializations.xml index 85b0d5062a..5163028cab 100644 --- a/test-files/golden-tests/config/extract-implicit-specializations/extract-implicit-specializations.xml +++ b/test-files/golden-tests/config/extract-implicit-specializations/extract-implicit-specializations.xml @@ -36,6 +36,7 @@ B + public @@ -59,6 +60,7 @@ function i2Kh9WfDseks8Lnr/kapVaR9r4g= + public regular 1 YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -118,6 +120,7 @@ function yNvFAvs6ngp6sqCFBzu5nPSIyfk= + public regular Bu/3QcmNOdsc7RSM3OKHnuCxGPU= diff --git a/test-files/golden-tests/config/extract-implicit-specializations/no-extract-implicit-specializations.xml b/test-files/golden-tests/config/extract-implicit-specializations/no-extract-implicit-specializations.xml index af53aa5d12..adbba56e2c 100644 --- a/test-files/golden-tests/config/extract-implicit-specializations/no-extract-implicit-specializations.xml +++ b/test-files/golden-tests/config/extract-implicit-specializations/no-extract-implicit-specializations.xml @@ -36,6 +36,7 @@ B + public @@ -59,6 +60,7 @@ function yNvFAvs6ngp6sqCFBzu5nPSIyfk= + public regular Bu/3QcmNOdsc7RSM3OKHnuCxGPU= @@ -117,6 +119,7 @@ function yNvFAvs6ngp6sqCFBzu5nPSIyfk= + public regular Bu/3QcmNOdsc7RSM3OKHnuCxGPU= diff --git a/test-files/golden-tests/config/extract-private-virtual/extract-private-virtual.xml b/test-files/golden-tests/config/extract-private-virtual/extract-private-virtual.xml index e107e60520..e02a648baf 100644 --- a/test-files/golden-tests/config/extract-private-virtual/extract-private-virtual.xml +++ b/test-files/golden-tests/config/extract-private-virtual/extract-private-virtual.xml @@ -49,6 +49,7 @@ function hLXvGC+nOrLQRH9lODKkgi/oUas= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -74,6 +75,7 @@ function IWP5ktgJAZgjufMQ6EE1eb6mm9g= + private regular YrPSaKAbmXgzCAX5WByx4eVoqBM= diff --git a/test-files/golden-tests/config/extract-private-virtual/no-extract-private-virtual.xml b/test-files/golden-tests/config/extract-private-virtual/no-extract-private-virtual.xml index 0a275370d5..184d0caaa3 100644 --- a/test-files/golden-tests/config/extract-private-virtual/no-extract-private-virtual.xml +++ b/test-files/golden-tests/config/extract-private-virtual/no-extract-private-virtual.xml @@ -48,6 +48,7 @@ function hLXvGC+nOrLQRH9lODKkgi/oUas= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= diff --git a/test-files/golden-tests/config/inherit-base-members/base-overload-set.xml b/test-files/golden-tests/config/inherit-base-members/base-overload-set.xml index 44531633fc..b9e16c4c72 100644 --- a/test-files/golden-tests/config/inherit-base-members/base-overload-set.xml +++ b/test-files/golden-tests/config/inherit-base-members/base-overload-set.xml @@ -36,6 +36,7 @@ ConstBase + public BrX2oZup9qgy4SfJloKCuUYZshA= @@ -66,6 +67,7 @@ overloads QHJvDmodINf8DNWem4Zc6XU8nvk= + public regular ZIHuevKEF1ZlGviVwUZq1CEFBRc= normal @@ -92,6 +94,7 @@ function pSUoXAwvwzBmhWkB1ABLnXwZdkY= + public regular ZIHuevKEF1ZlGviVwUZq1CEFBRc= @@ -117,6 +120,7 @@ function hbsgojOPl9JVh9Nb8C7b2dZ389k= + public regular ZIHuevKEF1ZlGviVwUZq1CEFBRc= @@ -154,6 +158,7 @@ Base + public @@ -183,6 +188,7 @@ overloads QHJvDmodINf8DNWem4Zc6XU8nvk= + public regular ZIHuevKEF1ZlGviVwUZq1CEFBRc= normal @@ -209,6 +215,7 @@ function pSUoXAwvwzBmhWkB1ABLnXwZdkY= + public regular ZIHuevKEF1ZlGviVwUZq1CEFBRc= @@ -234,6 +241,7 @@ function hbsgojOPl9JVh9Nb8C7b2dZ389k= + public regular ZIHuevKEF1ZlGviVwUZq1CEFBRc= @@ -286,6 +294,7 @@ function Q5DcZVrEwKvh1JSM5lUHNrOvQlU= + public regular 2iD5AHuu7qrCVJnAauz4We2QkKU= diff --git a/test-files/golden-tests/config/inherit-base-members/copy-dependencies.xml b/test-files/golden-tests/config/inherit-base-members/copy-dependencies.xml index 0f436fdeba..2d42a4e49e 100644 --- a/test-files/golden-tests/config/inherit-base-members/copy-dependencies.xml +++ b/test-files/golden-tests/config/inherit-base-members/copy-dependencies.xml @@ -49,6 +49,7 @@ base_base + public ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -81,6 +82,7 @@ function 2D7yc6q3buDhuPwzpn4pWzbu8ls= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -124,6 +126,7 @@ function v0BroyWjs67MHzc1SyTlXrSxn8M= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -167,6 +170,7 @@ function ECBBLxlaKar55qA0k1BCFn6MdH8= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -210,6 +214,7 @@ function aYhSUMJkgCRo3AZmBb/rre04Ghg= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -253,6 +258,7 @@ function MEPVWyGd8KdZFR1kBYlQMgPyQlo= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -296,6 +302,7 @@ function TaKAQiDmx8UXkT9p/momqiOZyHU= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -339,6 +346,7 @@ function eHxe3z0iWUXdcNyXK0PD2+6DRbs= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -382,6 +390,7 @@ function KGOrnDVJV2nPDK1hlkvBm6diYXY= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -462,6 +471,7 @@ function 2D7yc6q3buDhuPwzpn4pWzbu8ls= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -505,6 +515,7 @@ function MEPVWyGd8KdZFR1kBYlQMgPyQlo= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -568,6 +579,7 @@ base + public @@ -577,6 +589,7 @@ excluded_base + public @@ -612,6 +625,7 @@ function 2D7yc6q3buDhuPwzpn4pWzbu8ls= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -655,6 +669,7 @@ function v0BroyWjs67MHzc1SyTlXrSxn8M= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -698,6 +713,7 @@ function ECBBLxlaKar55qA0k1BCFn6MdH8= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -741,6 +757,7 @@ function MGQhB2O6ghdJWit6wao+PsH30Ew= + public regular ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -784,6 +801,7 @@ function MEPVWyGd8KdZFR1kBYlQMgPyQlo= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -827,6 +845,7 @@ function rTSnS8Pv8GoWusQQE42y0pgN4cw= + public regular ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -870,6 +889,7 @@ function P1Eq799RJkNMSTci+0jy+ZejsyU= + public regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -907,6 +927,7 @@ function TaKAQiDmx8UXkT9p/momqiOZyHU= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -950,6 +971,7 @@ function eHxe3z0iWUXdcNyXK0PD2+6DRbs= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -993,6 +1015,7 @@ function KGOrnDVJV2nPDK1hlkvBm6diYXY= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1036,6 +1059,7 @@ function oW3pQYXjjv2wrXIwIceF6Xd8nTA= + protected regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -1073,6 +1097,7 @@ function IYnrJp6ur6C+AiuhFl5x1YPnxkM= + protected regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -1130,6 +1155,7 @@ base + private @@ -1139,6 +1165,7 @@ excluded_base + private @@ -1164,6 +1191,7 @@ function 9wqRoOH7cwNhkz5vwpTHLeb01BY= + public regular aiF6nWGZXbG8UfC75J5tNuoPMRc= @@ -1207,6 +1235,7 @@ function NJYWKnKWmizdaSr1ldC7FGh7fD0= + public regular aiF6nWGZXbG8UfC75J5tNuoPMRc= @@ -1270,6 +1299,7 @@ base + protected @@ -1279,6 +1309,7 @@ excluded_base + protected @@ -1315,6 +1346,7 @@ function oVVGDloOS5F7d4VIcKLc0YpnsiE= + public regular KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1358,6 +1390,7 @@ function 4ZJznHda5QNdk/tsMca4Psswlj0= + public regular KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1401,6 +1434,7 @@ function 2D7yc6q3buDhuPwzpn4pWzbu8ls= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -1444,6 +1478,7 @@ function v0BroyWjs67MHzc1SyTlXrSxn8M= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1487,6 +1522,7 @@ function ECBBLxlaKar55qA0k1BCFn6MdH8= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1530,6 +1566,7 @@ function aYhSUMJkgCRo3AZmBb/rre04Ghg= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1573,6 +1610,7 @@ function MEPVWyGd8KdZFR1kBYlQMgPyQlo= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -1616,6 +1654,7 @@ function TaKAQiDmx8UXkT9p/momqiOZyHU= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1659,6 +1698,7 @@ function eHxe3z0iWUXdcNyXK0PD2+6DRbs= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1702,6 +1742,7 @@ function KGOrnDVJV2nPDK1hlkvBm6diYXY= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1745,6 +1786,7 @@ function KdkXQxu2xOfAXegJgCMmLcFq8MM= + protected regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1782,6 +1824,7 @@ function UysvazUbtV39Omg33c9Me+Gri/M= + protected regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1819,6 +1862,7 @@ function H8wEIL8+8s3iNqadfPsH1HWRQU4= + public regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= diff --git a/test-files/golden-tests/config/inherit-base-members/copy.xml b/test-files/golden-tests/config/inherit-base-members/copy.xml index c14839ab4e..e56cf4b9cc 100644 --- a/test-files/golden-tests/config/inherit-base-members/copy.xml +++ b/test-files/golden-tests/config/inherit-base-members/copy.xml @@ -49,6 +49,7 @@ base_base + public ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -81,6 +82,7 @@ function kuwWLj5gwO5grGVaKw+6QPB7t2k= + public regular 1 sk8HTAQHhzXfZej4IJliADonAJQ= @@ -125,6 +127,7 @@ function v0BroyWjs67MHzc1SyTlXrSxn8M= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -168,6 +171,7 @@ function ECBBLxlaKar55qA0k1BCFn6MdH8= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -211,6 +215,7 @@ function aYhSUMJkgCRo3AZmBb/rre04Ghg= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -254,6 +259,7 @@ function QFvlG37sjpI5QZrNwpdQ06VrrSM= + public regular 1 sk8HTAQHhzXfZej4IJliADonAJQ= @@ -298,6 +304,7 @@ function TaKAQiDmx8UXkT9p/momqiOZyHU= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -341,6 +348,7 @@ function eHxe3z0iWUXdcNyXK0PD2+6DRbs= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -384,6 +392,7 @@ function KGOrnDVJV2nPDK1hlkvBm6diYXY= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -464,6 +473,7 @@ function 2D7yc6q3buDhuPwzpn4pWzbu8ls= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -507,6 +517,7 @@ function MEPVWyGd8KdZFR1kBYlQMgPyQlo= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -570,6 +581,7 @@ base + public @@ -579,6 +591,7 @@ excluded_base + public @@ -614,6 +627,7 @@ function Tt5J064ctbXRBv/qZbRJxCebPs0= + public regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -658,6 +672,7 @@ function Ew/9fVRXcBGEFLrWpdrt3lktMto= + public regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -702,6 +717,7 @@ function VrpbGEQk6hRwzmAJBudLSCOZh7Y= + public regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -746,6 +762,7 @@ function MGQhB2O6ghdJWit6wao+PsH30Ew= + public regular ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -789,6 +806,7 @@ function 3vFJsBKleDdECAQKJp6m7566RQQ= + public regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -833,6 +851,7 @@ function rTSnS8Pv8GoWusQQE42y0pgN4cw= + public regular ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -876,6 +895,7 @@ function P1Eq799RJkNMSTci+0jy+ZejsyU= + public regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -913,6 +933,7 @@ function J8r4aXb9++EldZDgHmv2rU2GhW0= + protected regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -957,6 +978,7 @@ function TeAnpSrYd1HafyFwmcm4jG6bj2w= + protected regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -1001,6 +1023,7 @@ function 1BMmFoheKBz9kYkFKzXHyfWZMQg= + protected regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -1045,6 +1068,7 @@ function oW3pQYXjjv2wrXIwIceF6Xd8nTA= + protected regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -1082,6 +1106,7 @@ function IYnrJp6ur6C+AiuhFl5x1YPnxkM= + protected regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -1139,6 +1164,7 @@ base + private @@ -1148,6 +1174,7 @@ excluded_base + private @@ -1173,6 +1200,7 @@ function 9wqRoOH7cwNhkz5vwpTHLeb01BY= + public regular aiF6nWGZXbG8UfC75J5tNuoPMRc= @@ -1216,6 +1244,7 @@ function NJYWKnKWmizdaSr1ldC7FGh7fD0= + public regular aiF6nWGZXbG8UfC75J5tNuoPMRc= @@ -1279,6 +1308,7 @@ base + protected @@ -1288,6 +1318,7 @@ excluded_base + protected @@ -1324,6 +1355,7 @@ function oVVGDloOS5F7d4VIcKLc0YpnsiE= + public regular KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1367,6 +1399,7 @@ function 4ZJznHda5QNdk/tsMca4Psswlj0= + public regular KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1410,6 +1443,7 @@ function fmeE0HcB3oP1daboxYZOH/pxDwU= + public regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1454,6 +1488,7 @@ function vIj2+WtgSIJo5ner9NMU/5gSQaE= + public regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1498,6 +1533,7 @@ function 8yYxCHdO5GHsa9EDJUegzWA1gsM= + public regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1542,6 +1578,7 @@ function 9BTAtv04iyibbbELEv2rF8AH+Uc= + public regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1586,6 +1623,7 @@ function Jif8i0TqV0aN5cctSlCwsvdid/s= + public regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1630,6 +1668,7 @@ function 99dMSYjVFm3pIP2+aQ+9NrCmzuI= + protected regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1674,6 +1713,7 @@ function P4XIUNZt183bxiDCnXrNw4kbmkg= + protected regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1718,6 +1758,7 @@ function ZJGKp3yoIaFScOAN2naqfrJMlQQ= + protected regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1762,6 +1803,7 @@ function KdkXQxu2xOfAXegJgCMmLcFq8MM= + protected regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1799,6 +1841,7 @@ function UysvazUbtV39Omg33c9Me+Gri/M= + protected regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1836,6 +1879,7 @@ function H8wEIL8+8s3iNqadfPsH1HWRQU4= + public regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= diff --git a/test-files/golden-tests/config/inherit-base-members/impl-defined-base.xml b/test-files/golden-tests/config/inherit-base-members/impl-defined-base.xml index 113d0568fd..6dda338ba6 100644 --- a/test-files/golden-tests/config/inherit-base-members/impl-defined-base.xml +++ b/test-files/golden-tests/config/inherit-base-members/impl-defined-base.xml @@ -68,6 +68,7 @@ function 0k4Wdt7n3RgOCeAZcrhJ7PruWP0= + public implementation-defined zJyAW21qgGwkRrS6Ea2uUqKSLhE= @@ -116,6 +117,7 @@ + public @@ -141,6 +143,7 @@ function o0JbdzeoEgGm/tWclYdgORU0Qyw= + public regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -174,6 +177,7 @@ function LsIEKTwhFIkvPhRlDXC1p7T+GPU= + public regular ABxWcxit2TyVLv16ZxoJKAc6LKw= diff --git a/test-files/golden-tests/config/inherit-base-members/never.xml b/test-files/golden-tests/config/inherit-base-members/never.xml index 0f10005a1c..4b16777941 100644 --- a/test-files/golden-tests/config/inherit-base-members/never.xml +++ b/test-files/golden-tests/config/inherit-base-members/never.xml @@ -49,6 +49,7 @@ base_base + public ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -79,6 +80,7 @@ function v0BroyWjs67MHzc1SyTlXrSxn8M= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -122,6 +124,7 @@ function ECBBLxlaKar55qA0k1BCFn6MdH8= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -165,6 +168,7 @@ function aYhSUMJkgCRo3AZmBb/rre04Ghg= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -208,6 +212,7 @@ function TaKAQiDmx8UXkT9p/momqiOZyHU= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -251,6 +256,7 @@ function eHxe3z0iWUXdcNyXK0PD2+6DRbs= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -294,6 +300,7 @@ function KGOrnDVJV2nPDK1hlkvBm6diYXY= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -374,6 +381,7 @@ function 2D7yc6q3buDhuPwzpn4pWzbu8ls= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -417,6 +425,7 @@ function MEPVWyGd8KdZFR1kBYlQMgPyQlo= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -480,6 +489,7 @@ base + public @@ -489,6 +499,7 @@ excluded_base + public @@ -514,6 +525,7 @@ function MGQhB2O6ghdJWit6wao+PsH30Ew= + public regular ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -557,6 +569,7 @@ function rTSnS8Pv8GoWusQQE42y0pgN4cw= + public regular ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -620,6 +633,7 @@ base + private @@ -629,6 +643,7 @@ excluded_base + private @@ -654,6 +669,7 @@ function 9wqRoOH7cwNhkz5vwpTHLeb01BY= + public regular aiF6nWGZXbG8UfC75J5tNuoPMRc= @@ -697,6 +713,7 @@ function NJYWKnKWmizdaSr1ldC7FGh7fD0= + public regular aiF6nWGZXbG8UfC75J5tNuoPMRc= @@ -760,6 +777,7 @@ base + protected @@ -769,6 +787,7 @@ excluded_base + protected @@ -794,6 +813,7 @@ function oVVGDloOS5F7d4VIcKLc0YpnsiE= + public regular KpfFXd3FeSffU3rGswegSIkkCrM= @@ -837,6 +857,7 @@ function 4ZJznHda5QNdk/tsMca4Psswlj0= + public regular KpfFXd3FeSffU3rGswegSIkkCrM= diff --git a/test-files/golden-tests/config/inherit-base-members/reference.xml b/test-files/golden-tests/config/inherit-base-members/reference.xml index 3b2028e52b..77954c7822 100644 --- a/test-files/golden-tests/config/inherit-base-members/reference.xml +++ b/test-files/golden-tests/config/inherit-base-members/reference.xml @@ -49,6 +49,7 @@ base_base + public ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -81,6 +82,7 @@ function 2D7yc6q3buDhuPwzpn4pWzbu8ls= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -124,6 +126,7 @@ function v0BroyWjs67MHzc1SyTlXrSxn8M= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -167,6 +170,7 @@ function ECBBLxlaKar55qA0k1BCFn6MdH8= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -210,6 +214,7 @@ function aYhSUMJkgCRo3AZmBb/rre04Ghg= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -253,6 +258,7 @@ function MEPVWyGd8KdZFR1kBYlQMgPyQlo= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -296,6 +302,7 @@ function TaKAQiDmx8UXkT9p/momqiOZyHU= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -339,6 +346,7 @@ function eHxe3z0iWUXdcNyXK0PD2+6DRbs= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -382,6 +390,7 @@ function KGOrnDVJV2nPDK1hlkvBm6diYXY= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -462,6 +471,7 @@ function 2D7yc6q3buDhuPwzpn4pWzbu8ls= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -505,6 +515,7 @@ function MEPVWyGd8KdZFR1kBYlQMgPyQlo= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -568,6 +579,7 @@ base + public @@ -577,6 +589,7 @@ excluded_base + public @@ -609,6 +622,7 @@ function 2D7yc6q3buDhuPwzpn4pWzbu8ls= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -652,6 +666,7 @@ function v0BroyWjs67MHzc1SyTlXrSxn8M= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -695,6 +710,7 @@ function ECBBLxlaKar55qA0k1BCFn6MdH8= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -738,6 +754,7 @@ function MGQhB2O6ghdJWit6wao+PsH30Ew= + public regular ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -781,6 +798,7 @@ function MEPVWyGd8KdZFR1kBYlQMgPyQlo= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -824,6 +842,7 @@ function rTSnS8Pv8GoWusQQE42y0pgN4cw= + public regular ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -867,6 +886,7 @@ function TaKAQiDmx8UXkT9p/momqiOZyHU= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -910,6 +930,7 @@ function eHxe3z0iWUXdcNyXK0PD2+6DRbs= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -953,6 +974,7 @@ function KGOrnDVJV2nPDK1hlkvBm6diYXY= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1016,6 +1038,7 @@ base + private @@ -1025,6 +1048,7 @@ excluded_base + private @@ -1050,6 +1074,7 @@ function 9wqRoOH7cwNhkz5vwpTHLeb01BY= + public regular aiF6nWGZXbG8UfC75J5tNuoPMRc= @@ -1093,6 +1118,7 @@ function NJYWKnKWmizdaSr1ldC7FGh7fD0= + public regular aiF6nWGZXbG8UfC75J5tNuoPMRc= @@ -1156,6 +1182,7 @@ base + protected @@ -1165,6 +1192,7 @@ excluded_base + protected @@ -1198,6 +1226,7 @@ function oVVGDloOS5F7d4VIcKLc0YpnsiE= + public regular KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1241,6 +1270,7 @@ function 4ZJznHda5QNdk/tsMca4Psswlj0= + public regular KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1284,6 +1314,7 @@ function 2D7yc6q3buDhuPwzpn4pWzbu8ls= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -1327,6 +1358,7 @@ function v0BroyWjs67MHzc1SyTlXrSxn8M= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1370,6 +1402,7 @@ function ECBBLxlaKar55qA0k1BCFn6MdH8= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1413,6 +1446,7 @@ function aYhSUMJkgCRo3AZmBb/rre04Ghg= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1456,6 +1490,7 @@ function MEPVWyGd8KdZFR1kBYlQMgPyQlo= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -1499,6 +1534,7 @@ function TaKAQiDmx8UXkT9p/momqiOZyHU= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1542,6 +1578,7 @@ function eHxe3z0iWUXdcNyXK0PD2+6DRbs= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1585,6 +1622,7 @@ function KGOrnDVJV2nPDK1hlkvBm6diYXY= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= diff --git a/test-files/golden-tests/config/inherit-base-members/see-below-base.xml b/test-files/golden-tests/config/inherit-base-members/see-below-base.xml index 6d18156b69..49b5c6d8ec 100644 --- a/test-files/golden-tests/config/inherit-base-members/see-below-base.xml +++ b/test-files/golden-tests/config/inherit-base-members/see-below-base.xml @@ -83,6 +83,7 @@ + public @@ -108,6 +109,7 @@ function nOVGo4vrMcebHm4Ap0P9O3FPudg= + public regular 1 J1syoWzn2cGgGxt+fceKEo2Jpzc= @@ -141,6 +143,7 @@ function fm0dS2I7h8XX4MVUXEdDThuOKWg= + public regular J1syoWzn2cGgGxt+fceKEo2Jpzc= diff --git a/test-files/golden-tests/config/inherit-base-members/skip-special.xml b/test-files/golden-tests/config/inherit-base-members/skip-special.xml index 6f1e36c4b8..b20ba15423 100644 --- a/test-files/golden-tests/config/inherit-base-members/skip-special.xml +++ b/test-files/golden-tests/config/inherit-base-members/skip-special.xml @@ -39,6 +39,7 @@ base_base + public ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -73,6 +74,7 @@ function i32Wxo5FwAB92S9eyq4OmJr+PwE= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -106,6 +108,7 @@ function zem/akJ/sAPS+vXkWB/zJ3kqYho= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -139,6 +142,7 @@ function 2D7yc6q3buDhuPwzpn4pWzbu8ls= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -175,6 +179,7 @@ function v0BroyWjs67MHzc1SyTlXrSxn8M= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -211,6 +216,7 @@ function ECBBLxlaKar55qA0k1BCFn6MdH8= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -247,6 +253,7 @@ function aYhSUMJkgCRo3AZmBb/rre04Ghg= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -283,6 +290,7 @@ function MEPVWyGd8KdZFR1kBYlQMgPyQlo= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -319,6 +327,7 @@ function TaKAQiDmx8UXkT9p/momqiOZyHU= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -355,6 +364,7 @@ function eHxe3z0iWUXdcNyXK0PD2+6DRbs= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -391,6 +401,7 @@ function KGOrnDVJV2nPDK1hlkvBm6diYXY= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -456,6 +467,7 @@ function 0hT5zKl+ugygmEuMXhib2MIZLpU= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -489,6 +501,7 @@ function pXBvtV7fI6xpBYpqDE+uiFh8oQk= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -522,6 +535,7 @@ function 2D7yc6q3buDhuPwzpn4pWzbu8ls= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -558,6 +572,7 @@ function MEPVWyGd8KdZFR1kBYlQMgPyQlo= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -604,6 +619,7 @@ base + public @@ -613,6 +629,7 @@ excluded_base + public @@ -650,6 +667,7 @@ function Mb8fERE5UxaDv4qmeuyT42BBof8= + public regular ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -683,6 +701,7 @@ function 6DgPvK2zzHe4kSaF/gWVBDdJ74U= + public regular ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -716,6 +735,7 @@ function 2D7yc6q3buDhuPwzpn4pWzbu8ls= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -752,6 +772,7 @@ function v0BroyWjs67MHzc1SyTlXrSxn8M= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -788,6 +809,7 @@ function ECBBLxlaKar55qA0k1BCFn6MdH8= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -824,6 +846,7 @@ function MGQhB2O6ghdJWit6wao+PsH30Ew= + public regular ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -860,6 +883,7 @@ function MEPVWyGd8KdZFR1kBYlQMgPyQlo= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -896,6 +920,7 @@ function rTSnS8Pv8GoWusQQE42y0pgN4cw= + public regular ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -932,6 +957,7 @@ function P1Eq799RJkNMSTci+0jy+ZejsyU= + public regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -969,6 +995,7 @@ function TaKAQiDmx8UXkT9p/momqiOZyHU= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1005,6 +1032,7 @@ function eHxe3z0iWUXdcNyXK0PD2+6DRbs= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1041,6 +1069,7 @@ function KGOrnDVJV2nPDK1hlkvBm6diYXY= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1077,6 +1106,7 @@ function oW3pQYXjjv2wrXIwIceF6Xd8nTA= + protected regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -1114,6 +1144,7 @@ function IYnrJp6ur6C+AiuhFl5x1YPnxkM= + protected regular 1 ABxWcxit2TyVLv16ZxoJKAc6LKw= @@ -1161,6 +1192,7 @@ base + private @@ -1170,6 +1202,7 @@ excluded_base + private @@ -1197,6 +1230,7 @@ function jCqo+0V7MK+reBG7J4tBA/8VGiI= + public regular aiF6nWGZXbG8UfC75J5tNuoPMRc= @@ -1230,6 +1264,7 @@ function v41bk6Gd1CiDPZueTqvYeEM6DqU= + public regular aiF6nWGZXbG8UfC75J5tNuoPMRc= @@ -1263,6 +1298,7 @@ function 9wqRoOH7cwNhkz5vwpTHLeb01BY= + public regular aiF6nWGZXbG8UfC75J5tNuoPMRc= @@ -1299,6 +1335,7 @@ function NJYWKnKWmizdaSr1ldC7FGh7fD0= + public regular aiF6nWGZXbG8UfC75J5tNuoPMRc= @@ -1355,6 +1392,7 @@ base + protected @@ -1364,6 +1402,7 @@ excluded_base + protected @@ -1402,6 +1441,7 @@ function P0+PNfj+C0MyzTnJ6ITq8JvjciM= + public regular KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1435,6 +1475,7 @@ function dhUWdRyTi/gQAcf2yVfnV5Jf1sg= + public regular KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1468,6 +1509,7 @@ function oVVGDloOS5F7d4VIcKLc0YpnsiE= + public regular KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1511,6 +1553,7 @@ function 4ZJznHda5QNdk/tsMca4Psswlj0= + public regular KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1554,6 +1597,7 @@ function 2D7yc6q3buDhuPwzpn4pWzbu8ls= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -1590,6 +1634,7 @@ function v0BroyWjs67MHzc1SyTlXrSxn8M= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1626,6 +1671,7 @@ function ECBBLxlaKar55qA0k1BCFn6MdH8= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1662,6 +1708,7 @@ function aYhSUMJkgCRo3AZmBb/rre04Ghg= + public regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1698,6 +1745,7 @@ function MEPVWyGd8KdZFR1kBYlQMgPyQlo= + public regular /PcbLGG9Q7grLgSOV/R/ZnEg9Cs= @@ -1734,6 +1782,7 @@ function TaKAQiDmx8UXkT9p/momqiOZyHU= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1770,6 +1819,7 @@ function eHxe3z0iWUXdcNyXK0PD2+6DRbs= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1806,6 +1856,7 @@ function KGOrnDVJV2nPDK1hlkvBm6diYXY= + protected regular sk8HTAQHhzXfZej4IJliADonAJQ= @@ -1842,6 +1893,7 @@ function KdkXQxu2xOfAXegJgCMmLcFq8MM= + protected regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1879,6 +1931,7 @@ function UysvazUbtV39Omg33c9Me+Gri/M= + protected regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= @@ -1916,6 +1969,7 @@ function H8wEIL8+8s3iNqadfPsH1HWRQU4= + public regular 1 KpfFXd3FeSffU3rGswegSIkkCrM= diff --git a/test-files/golden-tests/config/legible-names/constructor.xml b/test-files/golden-tests/config/legible-names/constructor.xml index d8cbc77f82..b0cd448faa 100644 --- a/test-files/golden-tests/config/legible-names/constructor.xml +++ b/test-files/golden-tests/config/legible-names/constructor.xml @@ -72,6 +72,7 @@ overloads iRe6Tyv0qU6vIHNyvLHuISP/Fw4= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -108,6 +109,7 @@ function 6Jx2eK9l4C46QIRucTvox+6PH2k= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -140,6 +142,7 @@ function 4C2UEs8la3Eghf4mLyeViCJNOwY= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -193,6 +196,7 @@ function ad/AzbLEE6b8dNnnX2OLy1+HxDQ= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -245,6 +249,7 @@ function bzCqmNJXWfd3zGOkytPkJL6K6VQ= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -301,6 +306,7 @@ function d9h3reyOyp3JT3kwQOTPOI9tmzg= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= diff --git a/test-files/golden-tests/config/overloads/const-mutable.xml b/test-files/golden-tests/config/overloads/const-mutable.xml index 8536f9cd89..933224b4ce 100644 --- a/test-files/golden-tests/config/overloads/const-mutable.xml +++ b/test-files/golden-tests/config/overloads/const-mutable.xml @@ -54,6 +54,7 @@ overloads 4/AwllBtll8FuW0tFA3cMUpR8Sg= + public regular BrX2oZup9qgy4SfJloKCuUYZshA= normal @@ -80,6 +81,7 @@ function umtiZdZUSDxw3juVm+S7M40tpXQ= + public regular BrX2oZup9qgy4SfJloKCuUYZshA= @@ -105,6 +107,7 @@ function c8FMK37zKpqJXH2ZioM0tYziY1g= + public regular BrX2oZup9qgy4SfJloKCuUYZshA= diff --git a/test-files/golden-tests/config/overloads/visibility.xml b/test-files/golden-tests/config/overloads/visibility.xml index 90339a7e98..aa484cb4d8 100644 --- a/test-files/golden-tests/config/overloads/visibility.xml +++ b/test-files/golden-tests/config/overloads/visibility.xml @@ -57,6 +57,7 @@ overloads 4/AwllBtll8FuW0tFA3cMUpR8Sg= + public regular BrX2oZup9qgy4SfJloKCuUYZshA= normal @@ -81,6 +82,7 @@ function umtiZdZUSDxw3juVm+S7M40tpXQ= + public regular BrX2oZup9qgy4SfJloKCuUYZshA= @@ -104,6 +106,7 @@ function ZlzGLjjc8rseQAYYNLgCZvhC28g= + public regular BrX2oZup9qgy4SfJloKCuUYZshA= @@ -141,6 +144,7 @@ overloads NcMo7ffWjuFftsr66BskEGEgREc= + public regular BrX2oZup9qgy4SfJloKCuUYZshA= normal @@ -165,6 +169,7 @@ function /FdiOdEzqaZeg+AJKJir7X+Te/U= + public regular BrX2oZup9qgy4SfJloKCuUYZshA= @@ -182,6 +187,7 @@ normal + static 1 @@ -196,6 +202,7 @@ function UNX9B8tS+5rPg6IDVPCp65KU9K8= + public regular BrX2oZup9qgy4SfJloKCuUYZshA= @@ -221,6 +228,7 @@ normal + static 1 @@ -241,6 +249,7 @@ overloads TMteh8/S1VX9JEEHtJWh5Th1uZg= + protected regular BrX2oZup9qgy4SfJloKCuUYZshA= normal @@ -265,6 +274,7 @@ function o2jTMMUUPQBbGJOrh0qwurUTaTc= + protected regular BrX2oZup9qgy4SfJloKCuUYZshA= @@ -304,6 +314,7 @@ function xtm3DYSrIA4dEog7ntDc3s6rKHs= + protected regular BrX2oZup9qgy4SfJloKCuUYZshA= @@ -357,6 +368,7 @@ overloads SO7h8EG4J1fko32lzeE1EufNKsY= + protected regular BrX2oZup9qgy4SfJloKCuUYZshA= normal @@ -381,6 +393,7 @@ function B3IB3WYPg106i0ziVCj3FHkRNAE= + protected regular BrX2oZup9qgy4SfJloKCuUYZshA= @@ -414,6 +427,7 @@ normal + static 1 @@ -428,6 +442,7 @@ function 9QPd0C7ERvmPWPhi4ucPT1LXybM= + protected regular BrX2oZup9qgy4SfJloKCuUYZshA= @@ -469,6 +484,7 @@ normal + static 1 diff --git a/test-files/golden-tests/config/sort-members-by/sort-members-by-location.xml b/test-files/golden-tests/config/sort-members-by/sort-members-by-location.xml index df94dcadf6..2a69c2beb0 100644 --- a/test-files/golden-tests/config/sort-members-by/sort-members-by-location.xml +++ b/test-files/golden-tests/config/sort-members-by/sort-members-by-location.xml @@ -62,6 +62,7 @@ overloads Cnsc4OfzqGbrnICr/PmPGh6bkZc= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -95,6 +96,7 @@ function aQWtFVa4Xa+eceLXiLW74q44JRk= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -151,6 +153,7 @@ function WltomC+2IcmzMN0COGL0OWWmbZk= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -183,6 +186,7 @@ function HMG56OCQ5OpB2E9hu4bG3/hoOho= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -215,6 +219,7 @@ function lBA1besl9J3wAZAcEn9C+K05hf4= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -239,6 +244,7 @@ function gRx0djRTyQ5zuzBd9ujP7LLlWNg= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -263,6 +269,7 @@ function zQ0DYAZMF+xhfbo8hUyqZRNKJ+U= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -317,6 +324,7 @@ function rjPdhFxUkaC43tWXi+kka78JQxI= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -375,6 +383,7 @@ function atwUGLD+QHVhH3x1+8qzINNxzMY= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -454,6 +463,7 @@ function CB0pXrzU8BKZ2LF0BSpclxIfgrs= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -533,6 +543,7 @@ function 6/NYLeQdPqWrbu5kHnTpE3u6Yg4= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= diff --git a/test-files/golden-tests/config/sort-members-by/sort-members-by-name.xml b/test-files/golden-tests/config/sort-members-by/sort-members-by-name.xml index b2146c68cd..1c3f56c83e 100644 --- a/test-files/golden-tests/config/sort-members-by/sort-members-by-name.xml +++ b/test-files/golden-tests/config/sort-members-by/sort-members-by-name.xml @@ -62,6 +62,7 @@ overloads Cnsc4OfzqGbrnICr/PmPGh6bkZc= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -95,6 +96,7 @@ function WltomC+2IcmzMN0COGL0OWWmbZk= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -127,6 +129,7 @@ function aQWtFVa4Xa+eceLXiLW74q44JRk= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -183,6 +186,7 @@ function HMG56OCQ5OpB2E9hu4bG3/hoOho= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -215,6 +219,7 @@ function gRx0djRTyQ5zuzBd9ujP7LLlWNg= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -239,6 +244,7 @@ function lBA1besl9J3wAZAcEn9C+K05hf4= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -263,6 +269,7 @@ function zQ0DYAZMF+xhfbo8hUyqZRNKJ+U= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -317,6 +324,7 @@ function rjPdhFxUkaC43tWXi+kka78JQxI= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -375,6 +383,7 @@ function atwUGLD+QHVhH3x1+8qzINNxzMY= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -454,6 +463,7 @@ function CB0pXrzU8BKZ2LF0BSpclxIfgrs= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -533,6 +543,7 @@ function 6/NYLeQdPqWrbu5kHnTpE3u6Yg4= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= diff --git a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.adoc b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.adoc index c88bd28d08..feed9ec9be 100644 --- a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.adoc +++ b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.adoc @@ -27,7 +27,7 @@ | Name| Description | link:#h[`h`] | -| link:#g-0f[`g`] +| link:#g-0c[`g`] | | link:#f[`f`] | @@ -425,7 +425,7 @@ void h(); ---- -[#g-0f] +[#g-0c] == g === Synopses diff --git a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.html b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.html index 0ea675a24c..1a65a9b7be 100644 --- a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.html +++ b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.html @@ -44,7 +44,7 @@

h -g +g f operator! Negation operator operator== Equality operator @@ -518,7 +518,7 @@

-

+

g

diff --git a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.xml b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.xml index 81fc115fb9..67cbbc4d3f 100644 --- a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.xml +++ b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-location.xml @@ -18,7 +18,7 @@ YrPSaKAbmXgzCAX5WByx4eVoqBM= NQ8uQgTcafPcttyBMHHLHAXA4MA= rvT6OxIrrSI0KxJ2nkfEgBz/Lz4= - 9JfSlZfEThLXiWTez3b8eT/AbZU= + yrBu1PLNI6d+uEC9ml1Q/9KAt4o= s6nsa+zVhpzzrN+yUVPP5rvdXqs= yuKyBhGbND+Kyypyb9UsuC4Qe3E= kibUx6k1SXB+HsXkRXroJl9f59w= @@ -397,6 +397,7 @@ overloads Cnsc4OfzqGbrnICr/PmPGh6bkZc= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -430,6 +431,7 @@ function WltomC+2IcmzMN0COGL0OWWmbZk= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -462,6 +464,7 @@ function aQWtFVa4Xa+eceLXiLW74q44JRk= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -518,6 +521,7 @@ function HMG56OCQ5OpB2E9hu4bG3/hoOho= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -550,6 +554,7 @@ function lBA1besl9J3wAZAcEn9C+K05hf4= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -574,6 +579,7 @@ function zQ0DYAZMF+xhfbo8hUyqZRNKJ+U= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -628,6 +634,7 @@ function rjPdhFxUkaC43tWXi+kka78JQxI= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -686,6 +693,7 @@ function atwUGLD+QHVhH3x1+8qzINNxzMY= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -765,6 +773,7 @@ function CB0pXrzU8BKZ2LF0BSpclxIfgrs= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -844,6 +853,7 @@ function 6/NYLeQdPqWrbu5kHnTpE3u6Yg4= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -964,7 +974,7 @@ overloads - 9JfSlZfEThLXiWTez3b8eT/AbZU= + yrBu1PLNI6d+uEC9ml1Q/9KAt4o= regular //////////////////////////8= normal diff --git a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.adoc b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.adoc index a5c37427ed..bf05895cb7 100644 --- a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.adoc +++ b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.adoc @@ -27,7 +27,7 @@ | Name| Description | link:#f[`f`] | -| link:#g-0f[`g`] +| link:#g-0c[`g`] | | link:#h[`h`] | @@ -425,7 +425,7 @@ void f(); ---- -[#g-0f] +[#g-0c] == g === Synopses diff --git a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.html b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.html index c73dd3066f..8993068cec 100644 --- a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.html +++ b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.html @@ -44,7 +44,7 @@

f -g +g h operator! Negation operator operator== Equality operator @@ -518,7 +518,7 @@

-

+

g

diff --git a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.xml b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.xml index 58f9b39153..b80caaf8fb 100644 --- a/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.xml +++ b/test-files/golden-tests/config/sort-namespace-members-by/sort-namespace-members-by-name.xml @@ -18,7 +18,7 @@ CSFzdUEgi4+pu0K2D3isHXeaoFQ= NQ8uQgTcafPcttyBMHHLHAXA4MA= s6nsa+zVhpzzrN+yUVPP5rvdXqs= - 9JfSlZfEThLXiWTez3b8eT/AbZU= + yrBu1PLNI6d+uEC9ml1Q/9KAt4o= rvT6OxIrrSI0KxJ2nkfEgBz/Lz4= yuKyBhGbND+Kyypyb9UsuC4Qe3E= kibUx6k1SXB+HsXkRXroJl9f59w= @@ -397,6 +397,7 @@ overloads Cnsc4OfzqGbrnICr/PmPGh6bkZc= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -430,6 +431,7 @@ function WltomC+2IcmzMN0COGL0OWWmbZk= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -462,6 +464,7 @@ function aQWtFVa4Xa+eceLXiLW74q44JRk= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -518,6 +521,7 @@ function HMG56OCQ5OpB2E9hu4bG3/hoOho= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -550,6 +554,7 @@ function lBA1besl9J3wAZAcEn9C+K05hf4= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -574,6 +579,7 @@ function zQ0DYAZMF+xhfbo8hUyqZRNKJ+U= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -628,6 +634,7 @@ function rjPdhFxUkaC43tWXi+kka78JQxI= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -686,6 +693,7 @@ function atwUGLD+QHVhH3x1+8qzINNxzMY= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -765,6 +773,7 @@ function CB0pXrzU8BKZ2LF0BSpclxIfgrs= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -844,6 +853,7 @@ function 6/NYLeQdPqWrbu5kHnTpE3u6Yg4= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -964,7 +974,7 @@ overloads - 9JfSlZfEThLXiWTez3b8eT/AbZU= + yrBu1PLNI6d+uEC9ml1Q/9KAt4o= regular //////////////////////////8= normal diff --git a/test-files/golden-tests/config/sort/sort-members.adoc b/test-files/golden-tests/config/sort/sort-members.adoc index 162873f655..7448843ba6 100644 --- a/test-files/golden-tests/config/sort/sort-members.adoc +++ b/test-files/golden-tests/config/sort/sort-members.adoc @@ -27,7 +27,7 @@ | Name| Description | link:#f[`f`] | -| link:#g-0f[`g`] +| link:#g-0c[`g`] | | link:#h[`h`] | @@ -425,7 +425,7 @@ void f(); ---- -[#g-0f] +[#g-0c] == g === Synopses diff --git a/test-files/golden-tests/config/sort/sort-members.html b/test-files/golden-tests/config/sort/sort-members.html index b851359ade..544b6db524 100644 --- a/test-files/golden-tests/config/sort/sort-members.html +++ b/test-files/golden-tests/config/sort/sort-members.html @@ -44,7 +44,7 @@

f -g +g h operator! Negation operator operator== Equality operator @@ -518,7 +518,7 @@

-

+

g

diff --git a/test-files/golden-tests/config/sort/sort-members.xml b/test-files/golden-tests/config/sort/sort-members.xml index cffd20302d..da97e6c8f0 100644 --- a/test-files/golden-tests/config/sort/sort-members.xml +++ b/test-files/golden-tests/config/sort/sort-members.xml @@ -18,7 +18,7 @@ CSFzdUEgi4+pu0K2D3isHXeaoFQ= NQ8uQgTcafPcttyBMHHLHAXA4MA= s6nsa+zVhpzzrN+yUVPP5rvdXqs= - 9JfSlZfEThLXiWTez3b8eT/AbZU= + yrBu1PLNI6d+uEC9ml1Q/9KAt4o= rvT6OxIrrSI0KxJ2nkfEgBz/Lz4= yuKyBhGbND+Kyypyb9UsuC4Qe3E= kibUx6k1SXB+HsXkRXroJl9f59w= @@ -397,6 +397,7 @@ overloads Cnsc4OfzqGbrnICr/PmPGh6bkZc= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -430,6 +431,7 @@ function WltomC+2IcmzMN0COGL0OWWmbZk= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -462,6 +464,7 @@ function aQWtFVa4Xa+eceLXiLW74q44JRk= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -518,6 +521,7 @@ function HMG56OCQ5OpB2E9hu4bG3/hoOho= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -550,6 +554,7 @@ function lBA1besl9J3wAZAcEn9C+K05hf4= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -574,6 +579,7 @@ function zQ0DYAZMF+xhfbo8hUyqZRNKJ+U= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -628,6 +634,7 @@ function rjPdhFxUkaC43tWXi+kka78JQxI= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -686,6 +693,7 @@ function atwUGLD+QHVhH3x1+8qzINNxzMY= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -765,6 +773,7 @@ function CB0pXrzU8BKZ2LF0BSpclxIfgrs= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -844,6 +853,7 @@ function 6/NYLeQdPqWrbu5kHnTpE3u6Yg4= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -964,7 +974,7 @@ overloads - 9JfSlZfEThLXiWTez3b8eT/AbZU= + yrBu1PLNI6d+uEC9ml1Q/9KAt4o= regular //////////////////////////8= normal diff --git a/test-files/golden-tests/config/sort/unordered.adoc b/test-files/golden-tests/config/sort/unordered.adoc index ec08d339ac..0e0af0bd54 100644 --- a/test-files/golden-tests/config/sort/unordered.adoc +++ b/test-files/golden-tests/config/sort/unordered.adoc @@ -33,7 +33,7 @@ | Negation operator | link:#h[`h`] | -| link:#g-0f[`g`] +| link:#g-0c[`g`] | | link:#f[`f`] | @@ -520,7 +520,7 @@ void h(); ---- -[#g-0f] +[#g-0c] == g === Synopses diff --git a/test-files/golden-tests/config/sort/unordered.html b/test-files/golden-tests/config/sort/unordered.html index 262308744c..3b0aefbebe 100644 --- a/test-files/golden-tests/config/sort/unordered.html +++ b/test-files/golden-tests/config/sort/unordered.html @@ -47,7 +47,7 @@

operator== Equality operator operator! Negation operator h -g +g f @@ -650,7 +650,7 @@

-

+

g

diff --git a/test-files/golden-tests/config/sort/unordered.xml b/test-files/golden-tests/config/sort/unordered.xml index b14dd090e9..d90efc2c3b 100644 --- a/test-files/golden-tests/config/sort/unordered.xml +++ b/test-files/golden-tests/config/sort/unordered.xml @@ -21,7 +21,7 @@ kibUx6k1SXB+HsXkRXroJl9f59w= yuKyBhGbND+Kyypyb9UsuC4Qe3E= rvT6OxIrrSI0KxJ2nkfEgBz/Lz4= - 9JfSlZfEThLXiWTez3b8eT/AbZU= + yrBu1PLNI6d+uEC9ml1Q/9KAt4o= s6nsa+zVhpzzrN+yUVPP5rvdXqs= @@ -391,6 +391,7 @@ function 6/NYLeQdPqWrbu5kHnTpE3u6Yg4= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -448,6 +449,7 @@ function CB0pXrzU8BKZ2LF0BSpclxIfgrs= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -527,6 +529,7 @@ function atwUGLD+QHVhH3x1+8qzINNxzMY= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -606,6 +609,7 @@ function rjPdhFxUkaC43tWXi+kka78JQxI= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -664,6 +668,7 @@ function zQ0DYAZMF+xhfbo8hUyqZRNKJ+U= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -718,6 +723,7 @@ function lBA1besl9J3wAZAcEn9C+K05hf4= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -742,6 +748,7 @@ function HMG56OCQ5OpB2E9hu4bG3/hoOho= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -780,6 +787,7 @@ overloads Cnsc4OfzqGbrnICr/PmPGh6bkZc= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -813,6 +821,7 @@ function WltomC+2IcmzMN0COGL0OWWmbZk= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -845,6 +854,7 @@ function aQWtFVa4Xa+eceLXiLW74q44JRk= + public regular NQ8uQgTcafPcttyBMHHLHAXA4MA= @@ -1252,7 +1262,7 @@ overloads - 9JfSlZfEThLXiWTez3b8eT/AbZU= + yrBu1PLNI6d+uEC9ml1Q/9KAt4o= regular //////////////////////////8= normal diff --git a/test-files/golden-tests/filters/symbol-name/excluded-base-class.xml b/test-files/golden-tests/filters/symbol-name/excluded-base-class.xml index c14bf55a2f..03012df967 100644 --- a/test-files/golden-tests/filters/symbol-name/excluded-base-class.xml +++ b/test-files/golden-tests/filters/symbol-name/excluded-base-class.xml @@ -59,6 +59,7 @@ + public @@ -85,6 +86,7 @@ function BcIYmKdVh0f6TsMPCA/M0Cmr9VI= + public regular 1 /TldxA72JGXtufh5RbJgxLW2mwU= @@ -109,6 +111,7 @@ function o+85JO3Sv4bIWiG3+bfyUw5gJWI= + public regular /TldxA72JGXtufh5RbJgxLW2mwU= @@ -134,6 +137,7 @@ function NiHV825xQJhfQDhKCeAex3UuHGY= + public regular /TldxA72JGXtufh5RbJgxLW2mwU= @@ -159,6 +163,7 @@ function d5/JtPJCrP6OG8ToxUKNR5xqJ4I= + public regular /TldxA72JGXtufh5RbJgxLW2mwU= @@ -198,6 +203,7 @@ + public @@ -224,6 +230,7 @@ function e7VYD0d5BKg0c6yEn8zt92t304s= + public regular 1 ejPqzkotYMoiJcYkJf0fmJ0UNFM= @@ -248,6 +255,7 @@ function JgPp0cAF/suYYKB1RQalvRP+hjk= + public regular 1 ejPqzkotYMoiJcYkJf0fmJ0UNFM= @@ -274,6 +282,7 @@ function KiY+7o+uUp3h7bndNOpI2AuCrAE= + public regular ejPqzkotYMoiJcYkJf0fmJ0UNFM= @@ -299,6 +308,7 @@ function 0wO8aZwuOLvF7/RooHUZJ5SyKzk= + public regular ejPqzkotYMoiJcYkJf0fmJ0UNFM= diff --git a/test-files/golden-tests/filters/symbol-name/extraction-mode.xml b/test-files/golden-tests/filters/symbol-name/extraction-mode.xml index e728175f12..32e6ebcc99 100644 --- a/test-files/golden-tests/filters/symbol-name/extraction-mode.xml +++ b/test-files/golden-tests/filters/symbol-name/extraction-mode.xml @@ -194,6 +194,7 @@ record HIH1h4hOIdF5+btaX+gwmErtATY= + public regular uwCvFwfbmTvoEwwfxdL9EV+P8/c= @@ -229,6 +230,7 @@ record ZZiAG+2jvp211xfxhzPQi3p+JQU= + public regular HIH1h4hOIdF5+btaX+gwmErtATY= @@ -959,6 +961,7 @@ record bCLHAM9lOQrXlNa5dlpbk5UpW2k= + public regular cw0xJkxH12xMAqMkCi84zr2R6nQ= @@ -994,6 +997,7 @@ record cF5hGQlXVxQ9lU9qT768m47j5fE= + public regular bCLHAM9lOQrXlNa5dlpbk5UpW2k= diff --git a/test-files/golden-tests/filters/symbol-name/whitelist_0.xml b/test-files/golden-tests/filters/symbol-name/whitelist_0.xml index 8d7e3fea1a..06cb754d9b 100644 --- a/test-files/golden-tests/filters/symbol-name/whitelist_0.xml +++ b/test-files/golden-tests/filters/symbol-name/whitelist_0.xml @@ -584,6 +584,7 @@ record WRUY2j3O9l2Pd1qDymu1ksSw07c= + public regular BrX2oZup9qgy4SfJloKCuUYZshA= @@ -626,6 +627,7 @@ function /QkJ00FbaOOH1IQKxpOPbklxM0c= + public regular WRUY2j3O9l2Pd1qDymu1ksSw07c= @@ -666,6 +668,7 @@ function vL6CN4hW4T9Ah0GmoIu9Hx4iaPo= + public regular BrX2oZup9qgy4SfJloKCuUYZshA= diff --git a/test-files/golden-tests/filters/symbol-type/nested-private-template.xml b/test-files/golden-tests/filters/symbol-type/nested-private-template.xml index c4da398361..307d781bab 100644 --- a/test-files/golden-tests/filters/symbol-type/nested-private-template.xml +++ b/test-files/golden-tests/filters/symbol-type/nested-private-template.xml @@ -56,6 +56,7 @@ record 7XlFKPcXRfyYPWc4WPN3PAH+m58= + private regular sjnSu9g/42wrfWC6AbtyVuLVV6Y= struct @@ -96,6 +97,7 @@ record BCRU3eMBRSysyvFsjJj+0yg+Vfc= + private regular sjnSu9g/42wrfWC6AbtyVuLVV6Y= struct diff --git a/test-files/golden-tests/javadoc/brief/brief-3.adoc b/test-files/golden-tests/javadoc/brief/brief-3.adoc index b97aeeeaaf..f13b0f4050 100644 --- a/test-files/golden-tests/javadoc/brief/brief-3.adoc +++ b/test-files/golden-tests/javadoc/brief/brief-3.adoc @@ -9,11 +9,11 @@ [cols="1,4"] |=== | Name| Description -| link:#f-0c[`f`] +| link:#f-01[`f`] | `f` overloads |=== -[#f-0c] +[#f-01] == f `f` overloads diff --git a/test-files/golden-tests/javadoc/brief/brief-3.html b/test-files/golden-tests/javadoc/brief/brief-3.html index 28164b5343..1db0f0280d 100644 --- a/test-files/golden-tests/javadoc/brief/brief-3.html +++ b/test-files/golden-tests/javadoc/brief/brief-3.html @@ -21,14 +21,14 @@

-f f overloads +f f overloads

-

+

f

f overloads

diff --git a/test-files/golden-tests/javadoc/brief/brief-3.xml b/test-files/golden-tests/javadoc/brief/brief-3.xml index 32485ecf07..028a0ce920 100644 --- a/test-files/golden-tests/javadoc/brief/brief-3.xml +++ b/test-files/golden-tests/javadoc/brief/brief-3.xml @@ -8,7 +8,7 @@ //////////////////////////8= regular - x0B55dWJmTMqTXm6ZEu790gmPxY= + GDxqxKc4bkmO2HKXdEn9Zgy37O8= @@ -44,7 +44,7 @@ overloads - x0B55dWJmTMqTXm6ZEu790gmPxY= + GDxqxKc4bkmO2HKXdEn9Zgy37O8= regular //////////////////////////8= diff --git a/test-files/golden-tests/javadoc/copydoc/conversion.xml b/test-files/golden-tests/javadoc/copydoc/conversion.xml index 1e0142412f..d071a70682 100644 --- a/test-files/golden-tests/javadoc/copydoc/conversion.xml +++ b/test-files/golden-tests/javadoc/copydoc/conversion.xml @@ -60,6 +60,7 @@ overloads TBURMVj9++7bBh2sg4BgMGmdMP4= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -112,6 +113,7 @@ function gnscUVeCG+RVOHYPi/rKmD4KT3k= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -176,6 +178,7 @@ function CGrNRU4S73WU6e3HjSzK2ehtLi0= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -241,6 +244,7 @@ function KpKT2IPgl8pNnQdWRqrAmcPRtV0= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -283,6 +287,7 @@ function DKM26GOkLsGMoiNoOqDVjK/yk6A= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= diff --git a/test-files/golden-tests/javadoc/copydoc/decay-params.adoc b/test-files/golden-tests/javadoc/copydoc/decay-params.adoc index 9ceb9e6f4d..ebc8db5c46 100644 --- a/test-files/golden-tests/javadoc/copydoc/decay-params.adoc +++ b/test-files/golden-tests/javadoc/copydoc/decay-params.adoc @@ -11,7 +11,7 @@ | Name| Description | link:#bar[`bar`] | Brief from `foo()` -| link:#foo-02[`foo`] +| link:#foo-0a[`foo`] | `foo` overloads |=== @@ -49,7 +49,7 @@ A boolean value. | An array of integers. |=== -[#foo-02] +[#foo-0a] == foo `foo` overloads diff --git a/test-files/golden-tests/javadoc/copydoc/decay-params.html b/test-files/golden-tests/javadoc/copydoc/decay-params.html index 76edf11d01..18f62994fa 100644 --- a/test-files/golden-tests/javadoc/copydoc/decay-params.html +++ b/test-files/golden-tests/javadoc/copydoc/decay-params.html @@ -22,7 +22,7 @@

bar Brief from foo() -foo foo overloads +foo foo overloads @@ -75,7 +75,7 @@

-

+

foo

foo overloads

diff --git a/test-files/golden-tests/javadoc/copydoc/decay-params.xml b/test-files/golden-tests/javadoc/copydoc/decay-params.xml index 08ccc14115..c45af03630 100644 --- a/test-files/golden-tests/javadoc/copydoc/decay-params.xml +++ b/test-files/golden-tests/javadoc/copydoc/decay-params.xml @@ -9,7 +9,7 @@ regular mHoykrvnCPrloD8rIG6+dIga8dM= - IPZj2cmKd30EV/ztyuacllbdZcg= + pcjPlb94+CIWLp/GqtdwNH0kKCY= @@ -84,6 +84,7 @@ a normal + constexpr foo @@ -111,7 +112,7 @@ overloads - IPZj2cmKd30EV/ztyuacllbdZcg= + pcjPlb94+CIWLp/GqtdwNH0kKCY= regular //////////////////////////8= @@ -332,5 +333,6 @@ a normal + constexpr diff --git a/test-files/golden-tests/javadoc/copydoc/fundamental.adoc b/test-files/golden-tests/javadoc/copydoc/fundamental.adoc index a2205a55b8..7c02a0d0fa 100644 --- a/test-files/golden-tests/javadoc/copydoc/fundamental.adoc +++ b/test-files/golden-tests/javadoc/copydoc/fundamental.adoc @@ -9,7 +9,7 @@ [cols="1,4"] |=== | Name| Description -| link:#f-0c[`f`] +| link:#f-01[`f`] | `f` overloads | link:#g[`g`] | Brief @@ -17,7 +17,7 @@ | Brief |=== -[#f-0c] +[#f-01] == f `f` overloads diff --git a/test-files/golden-tests/javadoc/copydoc/fundamental.html b/test-files/golden-tests/javadoc/copydoc/fundamental.html index 1ac53f61f2..8845cc9607 100644 --- a/test-files/golden-tests/javadoc/copydoc/fundamental.html +++ b/test-files/golden-tests/javadoc/copydoc/fundamental.html @@ -21,7 +21,7 @@

-f f overloads +f f overloads g Brief h Brief @@ -30,7 +30,7 @@

-

+

f

f overloads

diff --git a/test-files/golden-tests/javadoc/copydoc/fundamental.xml b/test-files/golden-tests/javadoc/copydoc/fundamental.xml index 66db07fb9b..ed15384ead 100644 --- a/test-files/golden-tests/javadoc/copydoc/fundamental.xml +++ b/test-files/golden-tests/javadoc/copydoc/fundamental.xml @@ -8,7 +8,7 @@ //////////////////////////8= regular - x0B55dWJmTMqTXm6ZEu790gmPxY= + GDxqxKc4bkmO2HKXdEn9Zgy37O8= YeUN6nJ9c4mQKDbDWPlXFODDK1Y= AF4Au7CviDbKZx+hVBlelmlAwJ0= @@ -32,7 +32,7 @@ overloads - x0B55dWJmTMqTXm6ZEu790gmPxY= + GDxqxKc4bkmO2HKXdEn9Zgy37O8= regular //////////////////////////8= diff --git a/test-files/golden-tests/javadoc/copydoc/no-param.adoc b/test-files/golden-tests/javadoc/copydoc/no-param.adoc index eba4864efc..efbb68a60e 100644 --- a/test-files/golden-tests/javadoc/copydoc/no-param.adoc +++ b/test-files/golden-tests/javadoc/copydoc/no-param.adoc @@ -13,7 +13,7 @@ | Brief from `foo()` | link:#copyfromOverloads[`copyfromOverloads`] | Brief from `foo()` -| link:#foo-02[`foo`] +| link:#foo-0a5[`foo`] | Brief from `foo()` |=== @@ -67,7 +67,7 @@ This documentation is copied from the page containing all overloads of foo&perio A boolean value. -[#foo-02] +[#foo-0a5] == foo Brief from `foo()` @@ -95,10 +95,10 @@ Brief from `foo()` ---- constexpr bool -link:#foo-0a[foo](char ch); +link:#foo-0af[foo](char ch); ---- -[.small]#link:#foo-0a[_» more..._]# +[.small]#link:#foo-0af[_» more..._]# === Return Value @@ -138,7 +138,7 @@ This is the function original documentation for the foo function with no paramet A boolean value. -[#foo-0a] +[#foo-0af] == foo Brief from `foo()` diff --git a/test-files/golden-tests/javadoc/copydoc/no-param.html b/test-files/golden-tests/javadoc/copydoc/no-param.html index 8d9dae51b1..b89b333d22 100644 --- a/test-files/golden-tests/javadoc/copydoc/no-param.html +++ b/test-files/golden-tests/javadoc/copydoc/no-param.html @@ -23,7 +23,7 @@

copyFromNoParam Brief from foo() copyfromOverloads Brief from foo() -foo Brief from foo() +foo Brief from foo() @@ -87,7 +87,7 @@

-

+

foo

Brief from foo()

@@ -107,8 +107,8 @@

Brief from foo()

constexpr
 bool
-foo(char ch);
-» more... +foo(char ch); +» more...

@@ -165,7 +165,7 @@

-

+

foo

Brief from foo()

diff --git a/test-files/golden-tests/javadoc/copydoc/no-param.xml b/test-files/golden-tests/javadoc/copydoc/no-param.xml index de06d32f8c..1d5af907d5 100644 --- a/test-files/golden-tests/javadoc/copydoc/no-param.xml +++ b/test-files/golden-tests/javadoc/copydoc/no-param.xml @@ -10,7 +10,7 @@ w/4YwvbadDuW7Jcd/fzixfCXP54= 3y+Rt2TVgN8SW9EozffoZoL4lCI= - IPZj2cmKd30EV/ztyuacllbdZcg= + pcjPlb94+CIWLp/GqtdwNH0kKCY= @@ -73,6 +73,7 @@ normal + constexpr copyfromOverloads @@ -127,6 +128,7 @@ normal + constexpr foo @@ -147,7 +149,7 @@ overloads - IPZj2cmKd30EV/ztyuacllbdZcg= + pcjPlb94+CIWLp/GqtdwNH0kKCY= regular //////////////////////////8= @@ -243,6 +245,7 @@ normal + constexpr foo @@ -314,5 +317,6 @@ ch normal + constexpr diff --git a/test-files/golden-tests/javadoc/copydoc/operator-param.xml b/test-files/golden-tests/javadoc/copydoc/operator-param.xml index eab467ca8a..8d00b43908 100644 --- a/test-files/golden-tests/javadoc/copydoc/operator-param.xml +++ b/test-files/golden-tests/javadoc/copydoc/operator-param.xml @@ -56,6 +56,7 @@ overloads iwz19PoDb0ZmejgAK2mR0j19c9I= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -106,6 +107,7 @@ function +yVVNLbCaXDXfZPFoKE5xv2xPZQ= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -156,6 +158,7 @@ ch normal + constexpr 1 1 @@ -172,6 +175,7 @@ function tslXb2aqh8tYThe+A16a9felw5M= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -221,6 +225,7 @@ ch normal + constexpr 1 1 diff --git a/test-files/golden-tests/javadoc/copydoc/param-types.adoc b/test-files/golden-tests/javadoc/copydoc/param-types.adoc index 1d48ffbe88..71c11bfaa7 100644 --- a/test-files/golden-tests/javadoc/copydoc/param-types.adoc +++ b/test-files/golden-tests/javadoc/copydoc/param-types.adoc @@ -37,9 +37,9 @@ [cols="1,4"] |=== | Name| Description -| link:#f-0c7[`f`] +| link:#f-018[`f`] | `f` overloads -| link:#g-0f[`g`] +| link:#g-0ca[`g`] | `g` overloads |=== @@ -231,7 +231,7 @@ struct paramType; | Reference function. | link:#f-0b5[`f`] | struct param function -| link:#f-0c1[`f`] +| link:#f-0c[`f`] | Non‐variadic function |=== @@ -257,7 +257,7 @@ enum testEnum; | Enum param function |=== -[#f-0c7] +[#f-018] == f `f` overloads @@ -316,10 +316,10 @@ Non‐variadic function [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- void -link:#f-0c1[f](link:#paramType[paramType<3>] a); +link:#f-0c[f](link:#paramType[paramType<3>] a); ---- -[.small]#link:#f-0c1[_» more..._]# +[.small]#link:#f-0c[_» more..._]# struct param function @@ -498,7 +498,7 @@ This reference uses the `...` keyword. | The first parameter of g |=== -[#f-0c1] +[#f-0c] == f Non‐variadic function @@ -684,7 +684,7 @@ This reference uses the qualified identifier `N::M::Q`&p | The first parameter of g |=== -[#g-0f] +[#g-0ca] == g `g` overloads @@ -765,12 +765,12 @@ Decltype function [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- void -link:#g-0c[g]( +link:#g-0c0[g]( int a, decltype(a) b); ---- -[.small]#link:#g-0c[_» more..._]# +[.small]#link:#g-0c0[_» more..._]# === Parameters @@ -958,7 +958,7 @@ Documentation for a function with an enum parameter. | The first parameter of g |=== -[#g-0c] +[#g-0c0] == g Decltype function diff --git a/test-files/golden-tests/javadoc/copydoc/param-types.html b/test-files/golden-tests/javadoc/copydoc/param-types.html index e6817c7388..ce353a5f2c 100644 --- a/test-files/golden-tests/javadoc/copydoc/param-types.html +++ b/test-files/golden-tests/javadoc/copydoc/param-types.html @@ -64,8 +64,8 @@

-f f overloads -g g overloads +f f overloads +g g overloads @@ -321,7 +321,7 @@

fQualified identifier param function fReference function. fstruct param function -fNon-variadic function +fNon-variadic function

@@ -356,7 +356,7 @@

-

+

f

f overloads

@@ -389,8 +389,8 @@

Non-variadic function

void
-f(paramType<3> a);
-» more... +f(paramType<3> a); +» more...

struct param function

void
@@ -584,7 +584,7 @@ 

-

+

f

Non-variadic function

@@ -830,7 +830,7 @@

-

+

g

g overloads

@@ -873,10 +873,10 @@

Decltype function

void
-g(
+g(
     int a,
     decltype(a) b);
-» more... +» more...

@@ -1144,7 +1144,7 @@

-

+

g

Decltype function

diff --git a/test-files/golden-tests/javadoc/copydoc/param-types.xml b/test-files/golden-tests/javadoc/copydoc/param-types.xml index f63c1e6365..af30f307b0 100644 --- a/test-files/golden-tests/javadoc/copydoc/param-types.xml +++ b/test-files/golden-tests/javadoc/copydoc/param-types.xml @@ -12,8 +12,8 @@ YrPSaKAbmXgzCAX5WByx4eVoqBM= 5uZOiQm8Wn76QPmEs/Kkcw4y7Uc= pUJEk/x997P8q+ILVKlwge3u5Ag= - x0B55dWJmTMqTXm6ZEu790gmPxY= - 9JfSlZfEThLXiWTez3b8eT/AbZU= + GDxqxKc4bkmO2HKXdEn9Zgy37O8= + yrBu1PLNI6d+uEC9ml1Q/9KAt4o= @@ -165,6 +165,7 @@ function ZtNDo4tS35tJKrXxGM1LJZVrCwA= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -242,6 +243,7 @@ function c2hExG7/ditEkntdYONY88sivsA= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -495,7 +497,7 @@ overloads - x0B55dWJmTMqTXm6ZEu790gmPxY= + GDxqxKc4bkmO2HKXdEn9Zgy37O8= regular //////////////////////////8= @@ -1362,7 +1364,7 @@ overloads - 9JfSlZfEThLXiWTez3b8eT/AbZU= + yrBu1PLNI6d+uEC9ml1Q/9KAt4o= regular //////////////////////////8= diff --git a/test-files/golden-tests/javadoc/copydoc/qualified.xml b/test-files/golden-tests/javadoc/copydoc/qualified.xml index fc8060380a..3458b10289 100644 --- a/test-files/golden-tests/javadoc/copydoc/qualified.xml +++ b/test-files/golden-tests/javadoc/copydoc/qualified.xml @@ -70,6 +70,7 @@ record xp72Inw+cnb6GxbVsJgjH7TkgII= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= struct @@ -144,6 +145,7 @@ overloads VwIx9C7xzurmuUedpdVgpyfl23w= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= @@ -193,6 +195,7 @@ function pUFM90f8kBr9AsLuseHTO2tsfaM= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= @@ -252,6 +255,7 @@ function sdXtSkU3z9AnRNxz51/MgSpAzhc= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= @@ -311,6 +315,7 @@ function 6IcyV8zPUVI0rQ9Cb7I4fWxuKOw= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= @@ -370,6 +375,7 @@ function D9aUerVEX7T3i7vZrYEez8hDwJQ= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= @@ -429,6 +435,7 @@ function LPZyZzCf0L+0jI1iS+qmDhm0/KM= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= @@ -488,6 +495,7 @@ function ku9bOec7VX6p5+pyDlhlgll7QfY= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= @@ -547,6 +555,7 @@ function l8nlq2W8r0sGfJplanVYEUfvO8o= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= @@ -606,6 +615,7 @@ function c8O1q40UylpJzj8XWv17OnPP6Ow= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= @@ -672,6 +682,7 @@ overloads buGkrq4c7sN9WxxEp57nMvk43N0= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= @@ -721,6 +732,7 @@ function pkByPldRuMDs8h9fkQnHTrf/rxM= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= @@ -779,6 +791,7 @@ function bDQUNJ3SHpCjwF8zCqo7Jw8Cjic= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= @@ -843,6 +856,7 @@ overloads XzuysJJQNENYd3Lg4r+yuMp2bnw= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= @@ -892,6 +906,7 @@ function 8LU2TGwTCTeuAKkMvJpmvMdlTeE= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= @@ -960,6 +975,7 @@ function aEsACCmKRAV5MPYavFglHXgugn0= + public regular xFab/Y8fwS0B1mPatfT5Qz3HpRI= diff --git a/test-files/golden-tests/javadoc/copydoc/qualifiers.xml b/test-files/golden-tests/javadoc/copydoc/qualifiers.xml index 32f600f9df..a3b85dc98b 100644 --- a/test-files/golden-tests/javadoc/copydoc/qualifiers.xml +++ b/test-files/golden-tests/javadoc/copydoc/qualifiers.xml @@ -54,6 +54,7 @@ record mHefDbLazHBw57+qAsFRfF7H528= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= class @@ -78,6 +79,7 @@ record js4a2N+AFdpGVqiwDoP6CRe5qnw= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= class @@ -110,6 +112,7 @@ overloads MmuFIkmRn2CIRDHWFph0P7qxq6s= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -161,6 +164,7 @@ function bHIVx85/epfX445qui1ES+eXxAE= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -209,6 +213,7 @@ function wdqJSwTs1MoRjomfd+M0f99GpL0= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -258,6 +263,7 @@ function nrGLN7FWjL9EkildFya4MufPTi8= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -308,6 +314,7 @@ function up/n+NenUj2VFy/iJnzCQL2/j3E= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -374,6 +381,7 @@ overloads X2obKmJv3pBU/lvZ6h+2rPfxXow= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -420,6 +428,7 @@ function UdqSOVfju1IlXGfdLPp3gwh4bQo= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -463,6 +472,7 @@ function 51kEb0dyrnHV5CD4f0ndIecmNig= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -506,6 +516,7 @@ function RPHQosc2m05tKyyFkpodac2CBUU= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -551,6 +562,7 @@ function eQB30nnNgju4ULQ5w/fxpDFoRmI= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -596,6 +608,7 @@ function 6KwEPWneBuFYEn0I8T3yYt0yN+k= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= diff --git a/test-files/golden-tests/javadoc/function-object/function-object.xml b/test-files/golden-tests/javadoc/function-object/function-object.xml index 8743a5e992..6870ea992d 100644 --- a/test-files/golden-tests/javadoc/function-object/function-object.xml +++ b/test-files/golden-tests/javadoc/function-object/function-object.xml @@ -66,6 +66,7 @@ function SJcq0OY0c+Sn2qeErP31YsnigRE= + public implementation-defined DBR3jN3uyfnI20zmAUSKJdd5czg= @@ -142,6 +143,7 @@ function WetcQwZF2HLFqHvCelvdZkd3uKw= + public implementation-defined wkfZ7hBp72uNy/H08ouKSfh83xw= @@ -226,6 +228,7 @@ function dPBhh3IXC4bo1W1R+KW7DKUhWXc= + public implementation-defined btOmu4Wi+12LN0yOtwktdItL6TI= @@ -263,6 +266,7 @@ function yzemSe6FSS2yygjwWU0fDjnApag= + public implementation-defined btOmu4Wi+12LN0yOtwktdItL6TI= @@ -329,6 +333,7 @@ function ADXCgWvBcGrBZsanaYhrkqsGrm0= + public implementation-defined 8MtMw2t61OoqkEmw6hklgOf9YUY= diff --git a/test-files/golden-tests/javadoc/inline/styled.xml b/test-files/golden-tests/javadoc/inline/styled.xml index 5bcbba48f2..3cfdc9d4ef 100644 --- a/test-files/golden-tests/javadoc/inline/styled.xml +++ b/test-files/golden-tests/javadoc/inline/styled.xml @@ -106,6 +106,7 @@ function CKPqawUTt6FNIN9qEFTMcdnvPkI= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= diff --git a/test-files/golden-tests/javadoc/param/param-1.xml b/test-files/golden-tests/javadoc/param/param-1.xml index 2c5da8d5e7..22fb52bc73 100644 --- a/test-files/golden-tests/javadoc/param/param-1.xml +++ b/test-files/golden-tests/javadoc/param/param-1.xml @@ -80,6 +80,7 @@ int i + in @@ -122,6 +123,7 @@ int i + out @@ -166,6 +168,7 @@ int i + inout diff --git a/test-files/golden-tests/javadoc/param/param-direction.xml b/test-files/golden-tests/javadoc/param/param-direction.xml index 1f2c003193..46df07731b 100644 --- a/test-files/golden-tests/javadoc/param/param-direction.xml +++ b/test-files/golden-tests/javadoc/param/param-direction.xml @@ -114,6 +114,7 @@
y1 + in @@ -187,6 +188,7 @@ y2 + out @@ -245,6 +247,7 @@ x3 + in param @@ -260,6 +263,7 @@ y3 + out @@ -333,6 +337,7 @@ y4 + inout @@ -391,6 +396,7 @@ x5 + out param @@ -406,6 +412,7 @@ y5 + in param @@ -488,6 +495,7 @@ x6 + out param @@ -518,6 +526,7 @@ z6 + in @@ -600,6 +609,7 @@ x7 + in param @@ -615,6 +625,7 @@ y7 + out @@ -680,6 +691,7 @@ x8 + in @@ -736,6 +748,7 @@ x9 + in param @@ -751,6 +764,7 @@ x9 + out diff --git a/test-files/golden-tests/javadoc/ref/parent_context.adoc b/test-files/golden-tests/javadoc/ref/parent_context.adoc index 9e4bc24f38..dc358863db 100644 --- a/test-files/golden-tests/javadoc/ref/parent_context.adoc +++ b/test-files/golden-tests/javadoc/ref/parent_context.adoc @@ -39,7 +39,7 @@ [cols=1] |=== | Name -| link:#boost-openmethod-final_virtual_ptr-04[`final_virtual_ptr`] +| link:#boost-openmethod-final_virtual_ptr-085[`final_virtual_ptr`] |=== [#boost-openmethod-policies] @@ -81,9 +81,9 @@ struct runtime_checks; === Description -See link:#boost-openmethod-final_virtual_ptr-04[`final_virtual_ptr`] +See link:#boost-openmethod-final_virtual_ptr-085[`final_virtual_ptr`] -[#boost-openmethod-final_virtual_ptr-04] +[#boost-openmethod-final_virtual_ptr-085] == link:#boost[boost]::link:#boost-openmethod[openmethod]::final_virtual_ptr === Synopses @@ -95,10 +95,10 @@ Declared in `<parent_context.cpp>` ---- template<class Arg> auto -link:#boost-openmethod-final_virtual_ptr-08[final_virtual_ptr](Arg&& obj); +link:#boost-openmethod-final_virtual_ptr-08e[final_virtual_ptr](Arg&& obj); ---- -[.small]#link:#boost-openmethod-final_virtual_ptr-08[_» more..._]# +[.small]#link:#boost-openmethod-final_virtual_ptr-08e[_» more..._]# [source,cpp,subs="verbatim,replacements,macros,-callouts"] @@ -112,7 +112,7 @@ link:#boost-openmethod-final_virtual_ptr-03[final_virtual_ptr](Arg [.small]#link:#boost-openmethod-final_virtual_ptr-03[_» more..._]# -[#boost-openmethod-final_virtual_ptr-08] +[#boost-openmethod-final_virtual_ptr-08e] == link:#boost[boost]::link:#boost-openmethod[openmethod]::final_virtual_ptr === Synopsis diff --git a/test-files/golden-tests/javadoc/ref/parent_context.html b/test-files/golden-tests/javadoc/ref/parent_context.html index c19e9f0140..c16c05ff4a 100644 --- a/test-files/golden-tests/javadoc/ref/parent_context.html +++ b/test-files/golden-tests/javadoc/ref/parent_context.html @@ -75,7 +75,7 @@

-final_virtual_ptr +final_virtual_ptr @@ -138,14 +138,14 @@

Description

-

See final_virtual_ptr

+

See final_virtual_ptr

-

+

boost::openmethod::final_virtual_ptr

@@ -156,8 +156,8 @@

template<class Arg>
 auto
-final_virtual_ptr(Arg&& obj);
-» more... +final_virtual_ptr(Arg&& obj); +» more...
template<
@@ -171,7 +171,7 @@ 

-

+

boost::openmethod::final_virtual_ptr

diff --git a/test-files/golden-tests/javadoc/ref/parent_context.xml b/test-files/golden-tests/javadoc/ref/parent_context.xml index 50e41756f5..274d4308ac 100644 --- a/test-files/golden-tests/javadoc/ref/parent_context.xml +++ b/test-files/golden-tests/javadoc/ref/parent_context.xml @@ -45,7 +45,7 @@ +jO0pmMB/RXahxtatVUYoEwUKWs= iyqzr2bAIIz4tcVOh2wjYTkCOC0= - RgmcrbKVGmXz6c3Lxk0nacbfXkg= + hR1icsm+sLZATXeAwQs0Rg3Bgbc= @@ -109,7 +109,7 @@ reference final_virtual_ptr - RgmcrbKVGmXz6c3Lxk0nacbfXkg= + hR1icsm+sLZATXeAwQs0Rg3Bgbc= @@ -147,7 +147,7 @@ overloads - RgmcrbKVGmXz6c3Lxk0nacbfXkg= + hR1icsm+sLZATXeAwQs0Rg3Bgbc= regular 8vOLQN1FS3phbXzrBx8KohfFQCw= normal diff --git a/test-files/golden-tests/javadoc/ref/ref.xml b/test-files/golden-tests/javadoc/ref/ref.xml index 55c2f7dd66..c72b2a5c71 100644 --- a/test-files/golden-tests/javadoc/ref/ref.xml +++ b/test-files/golden-tests/javadoc/ref/ref.xml @@ -118,6 +118,7 @@ function UrNEyy62P/QaY1BkJmO7NDGZSj4= + public regular w1h8sAoo8RqYTF+5WQRakdFasXg= @@ -168,6 +169,7 @@ function zsIKv6vJxoUhHtYtugUJIB9aWMo= + public regular DJrmic0LRMkHQmpzqYXGqAbcxAc= @@ -191,6 +193,7 @@ function 8ScA2YfwRe5KHsj/rEbtJeXWYz8= + public regular DJrmic0LRMkHQmpzqYXGqAbcxAc= @@ -225,6 +228,7 @@ C + public @@ -251,6 +255,7 @@ record 10qzjzJQhBscbAmic63bnI+Xm4g= + public regular /TldxA72JGXtufh5RbJgxLW2mwU= @@ -313,6 +318,7 @@ function zsIKv6vJxoUhHtYtugUJIB9aWMo= + public regular DJrmic0LRMkHQmpzqYXGqAbcxAc= @@ -336,6 +342,7 @@ function BJ7/Ds7ODvX+B2GNt69Xylatb0M= + public regular /TldxA72JGXtufh5RbJgxLW2mwU= @@ -471,6 +478,7 @@ function 4kEX5cyrkrbZqQhxb/7zuwJe06c= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -506,6 +514,7 @@ function 73SLmNIvWuD1x05NFJfjN5Tw9dI= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -541,6 +550,7 @@ function eH/S82KH2Afa//Il8eL+eetP2oY= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -576,6 +586,7 @@ function Ua+I8TjggG4f6Kh9Cd4PqWl+L3c= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -611,6 +622,7 @@ function q1RRcpfiolN+sGlkQKFIR7zXw3Y= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -646,6 +658,7 @@ function s8Sj0SHvk8ztPnOv7kqTpLOFym0= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -681,6 +694,7 @@ function dgeFs66S2JTHtYJ46SdfSKrTHpw= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -716,6 +730,7 @@ function 6E9Wc51OXC1EuYFyXcfnRKyaSUQ= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -751,6 +766,7 @@ function iRsJO4RJUDxRReCEOEGUr8z2Dog= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -786,6 +802,7 @@ function uWgcvJSykruOksCy3oG6mliThTU= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -821,6 +838,7 @@ function ayIMyqIPvK5ooT3+6bzqvikAe2M= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -844,6 +862,7 @@ function PJEPb391sh5h9UGcBsg9S+NbbOc= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -879,6 +898,7 @@ function MdfknCJ8anbDNS7X0ZYzre/aWQQ= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -914,6 +934,7 @@ function gvnFfUpiWSxAgTxhtpuiEjIoCb4= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -949,6 +970,7 @@ function IMTroH5DZKQ9XB1WksK3iSCShbU= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -972,6 +994,7 @@ function KDQr8/lEqgd8pJtSdTnd3fC66vY= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1007,6 +1030,7 @@ function jEkSq3UPl4dH1KNAwrVl3jY5lw4= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1030,6 +1054,7 @@ function O/dGYwCIdWpqL6atSM3pmq8Yk98= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1065,6 +1090,7 @@ function CqAcZ21y0JP32hw7PHO31UxiviA= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1100,6 +1126,7 @@ function nlXVuPy3T3MP7qelm3WGXP9sxHs= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1135,6 +1162,7 @@ function rn2dr+lEU1Y+nZ76RvF705Amt7Y= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1170,6 +1198,7 @@ function UW/rnK+Cj7mGybqf3Ftz8ov8AAk= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1205,6 +1234,7 @@ function P2xgjlanIonF9IWlntd4b45qHv8= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1240,6 +1270,7 @@ function 3JThobgsU4rdNkfW2McxqHS/9CA= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1275,6 +1306,7 @@ function SSFNeC35i5KtYL6Tno8HnVjyX4U= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1310,6 +1342,7 @@ function PCZOPisEjvPudnFdMOV2Wqc+HDI= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1345,6 +1378,7 @@ function MJ6J65nDyFc+MnN7Jx4/DjOFJGw= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1380,6 +1414,7 @@ function oSeQzrs59Zd9rcweG2DRZVa6OpQ= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1415,6 +1450,7 @@ function GKmeopHLbzp3t6uxUtanpR4Tdk4= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1450,6 +1486,7 @@ function i0ULCt5GV/PS0YAGQP2fValTik8= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1473,6 +1510,7 @@ function 1pkl7XGJ2JVw7Xbm/xwSNKmflV4= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1508,6 +1546,7 @@ function ZoClmvCX93Yg08gfEaOD38rj0EM= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1531,6 +1570,7 @@ function k1TITJ9F+RdpX68VCHzCVjpumSE= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1566,6 +1606,7 @@ function +h1YcypZimsCxOl2AOqurQDO6/w= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1601,6 +1642,7 @@ function qZqDjtbfsftj0EhxY2cdp4y5r6E= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1636,6 +1678,7 @@ function 0rK5iNi5hwJI0k+ajN7X/jsUDew= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1671,6 +1714,7 @@ function im95jlqAf+bFSRJ6laltkGbJj38= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1706,6 +1750,7 @@ function c1PYDvrte7rUAE4DaiUopjWnAWY= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1741,6 +1786,7 @@ function cqSDwRFzB3Z6A5z95/VLPQSp5GI= + public regular 47VHAvq/9ANwJboZT8J8RwBjMLU= diff --git a/test-files/golden-tests/javadoc/returns/returns.xml b/test-files/golden-tests/javadoc/returns/returns.xml index 6ba754c46d..4af30f5e4d 100644 --- a/test-files/golden-tests/javadoc/returns/returns.xml +++ b/test-files/golden-tests/javadoc/returns/returns.xml @@ -70,6 +70,7 @@ variable zYZRwoC/XWBesPi1AQs+kPHibHI= + public regular Hu9BKPbk/tFDZMVcFeVpIqFnAJE= @@ -92,6 +93,7 @@ variable AfaC9XI9L85KNgrioXVThVhljqA= + public regular Hu9BKPbk/tFDZMVcFeVpIqFnAJE= diff --git a/test-files/golden-tests/snippets/function_object.xml b/test-files/golden-tests/snippets/function_object.xml index 0372d4af92..c298b37426 100644 --- a/test-files/golden-tests/snippets/function_object.xml +++ b/test-files/golden-tests/snippets/function_object.xml @@ -50,6 +50,7 @@ function 0fCnNSyclgzOiis0FFRJ3fBSGtM= + public implementation-defined 7X78dvKaHCvXfNokuB9sZf6Fq4o= diff --git a/test-files/golden-tests/symbols/concept/requires-clause.adoc b/test-files/golden-tests/symbols/concept/requires-clause.adoc index 239e905cd3..7abcad3f1f 100644 --- a/test-files/golden-tests/symbols/concept/requires-clause.adoc +++ b/test-files/golden-tests/symbols/concept/requires-clause.adoc @@ -19,7 +19,7 @@ |=== | Name | link:#f[`f`] -| link:#g-0f49[`g`] +| link:#g-0c[`g`] |=== [#A-09] @@ -65,7 +65,7 @@ f() requires (sizeof(U) == 2); ---- -[#g-0f49] +[#g-0c] == g === Synopses @@ -89,10 +89,10 @@ link:#g-0d[g](); template<typename T> requires (sizeof(T) == 4) void -link:#g-0f4d[g](); +link:#g-0f[g](); ---- -[.small]#link:#g-0f4d[_» more..._]# +[.small]#link:#g-0f[_» more..._]# [source,cpp,subs="verbatim,replacements,macros,-callouts"] @@ -120,7 +120,7 @@ void g(); ---- -[#g-0f4d] +[#g-0f] == g === Synopsis diff --git a/test-files/golden-tests/symbols/concept/requires-clause.html b/test-files/golden-tests/symbols/concept/requires-clause.html index 6db9c317b3..a439b96e09 100644 --- a/test-files/golden-tests/symbols/concept/requires-clause.html +++ b/test-files/golden-tests/symbols/concept/requires-clause.html @@ -37,7 +37,7 @@

f -g +g @@ -94,7 +94,7 @@

-

+

g

@@ -113,8 +113,8 @@

template<typename T>
 requires (sizeof(T) == 4)
 void
-g();
-» more... +g();
+» more...
template<typename U>
@@ -143,7 +143,7 @@ 

-

+

g

diff --git a/test-files/golden-tests/symbols/concept/requires-clause.xml b/test-files/golden-tests/symbols/concept/requires-clause.xml index ed2c11e5d2..8b801f16b9 100644 --- a/test-files/golden-tests/symbols/concept/requires-clause.xml +++ b/test-files/golden-tests/symbols/concept/requires-clause.xml @@ -11,7 +11,7 @@ kkH6jADpFuYV65W9qUpVvq20Cgs= EBNjyD4nMb0o/Bpkztrno/0a+tA= PmhXjCXUJYVnj/a7NhfjjSesyp0= - 9JfSlZfEThLXiWTez3b8eT/AbZU= + yrBu1PLNI6d+uEC9ml1Q/9KAt4o= @@ -143,7 +143,7 @@ overloads - 9JfSlZfEThLXiWTez3b8eT/AbZU= + yrBu1PLNI6d+uEC9ml1Q/9KAt4o= regular //////////////////////////8= normal diff --git a/test-files/golden-tests/symbols/function/explicit-conv-operator.xml b/test-files/golden-tests/symbols/function/explicit-conv-operator.xml index 35c1e9fbd9..2c286707cb 100644 --- a/test-files/golden-tests/symbols/function/explicit-conv-operator.xml +++ b/test-files/golden-tests/symbols/function/explicit-conv-operator.xml @@ -51,6 +51,7 @@ function 64zY8rVu+TzEUayzMrnV65i9nFc= + public regular bonobNKGOblPVcRjxpiPan4nYnc= @@ -141,6 +142,7 @@ function q6N8XkMK9WWWGKNQnlx/o2E1EYc= + public regular ztb0u1Q4SVBUQ0roTOM7MFlUt/o= @@ -219,6 +221,7 @@ function hJXOxv26Y9uxUYMMVZRsp3Wps4A= + public regular Lt5u3k14Z7EBxY7Ike3h9qkJ0fo= @@ -297,6 +300,7 @@ function 9tpZWv9eJGfWj37jmTdNTg+gp14= + public regular htdCGapMsdazR1XkXoanrOCkvDE= diff --git a/test-files/golden-tests/symbols/function/explicit-ctor.xml b/test-files/golden-tests/symbols/function/explicit-ctor.xml index 2e8c1a432a..cb37109058 100644 --- a/test-files/golden-tests/symbols/function/explicit-ctor.xml +++ b/test-files/golden-tests/symbols/function/explicit-ctor.xml @@ -69,6 +69,7 @@ overloads Q0rFzGKBYJzUfWemkMds75mPjJU= + public regular bonobNKGOblPVcRjxpiPan4nYnc= @@ -104,6 +105,7 @@ function JPrjQsrkg+QoApI2wln2eGwCGP4= + public regular bonobNKGOblPVcRjxpiPan4nYnc= @@ -136,6 +138,7 @@ function CuzDbFSxtCdVcGerq2UySnHF7po= + public regular bonobNKGOblPVcRjxpiPan4nYnc= @@ -189,6 +192,7 @@ function saOH3agrCzNHcRhbXHOM0FYFxGc= + public regular bonobNKGOblPVcRjxpiPan4nYnc= @@ -241,6 +245,7 @@ function Oj6cGCOaarVfZXkgsr/pOPOOiFY= + public regular bonobNKGOblPVcRjxpiPan4nYnc= @@ -344,6 +349,7 @@ overloads f+Hwm4zWY/Tvp2r3/j/hgeahqjE= + public regular ztb0u1Q4SVBUQ0roTOM7MFlUt/o= @@ -379,6 +385,7 @@ function s6L5UKI8FLTRiyny1rXgYxG/f/0= + public regular ztb0u1Q4SVBUQ0roTOM7MFlUt/o= @@ -411,6 +418,7 @@ function Ty1Sv+L6at7TykYdCITSQKmXwVs= + public regular ztb0u1Q4SVBUQ0roTOM7MFlUt/o= @@ -464,6 +472,7 @@ function gDoLCstIvgYYJng1jhLOLe/yz+Q= + public regular ztb0u1Q4SVBUQ0roTOM7MFlUt/o= @@ -516,6 +525,7 @@ function J31K1hQq31LWiQhVy5ro0V+1pD0= + public regular ztb0u1Q4SVBUQ0roTOM7MFlUt/o= @@ -607,6 +617,7 @@ overloads dnlN/iFc3Ih19qTLmv3gczFwHjA= + public regular Lt5u3k14Z7EBxY7Ike3h9qkJ0fo= @@ -642,6 +653,7 @@ function GVN7KvqFotNClBLUnxR3nnPlH7Y= + public regular Lt5u3k14Z7EBxY7Ike3h9qkJ0fo= @@ -674,6 +686,7 @@ function gsl+2i8v8v4Lifq3SZ5sFhSfseQ= + public regular Lt5u3k14Z7EBxY7Ike3h9qkJ0fo= @@ -727,6 +740,7 @@ function qXjKOO0FQ3p2vTehkEQl2kIKpFs= + public regular Lt5u3k14Z7EBxY7Ike3h9qkJ0fo= @@ -779,6 +793,7 @@ function T0aRgSzz7xtFbPWKv3q57ueIYlI= + public regular Lt5u3k14Z7EBxY7Ike3h9qkJ0fo= @@ -870,6 +885,7 @@ overloads EX6X/2XknCtjmarXemc0JA+x364= + public regular htdCGapMsdazR1XkXoanrOCkvDE= @@ -905,6 +921,7 @@ function 3sd37ryB4gMx1BgYdDdQzVJFniU= + public regular htdCGapMsdazR1XkXoanrOCkvDE= @@ -937,6 +954,7 @@ function Tj9uY+jY7QBYQC8IsjplHuoDgQo= + public regular htdCGapMsdazR1XkXoanrOCkvDE= @@ -990,6 +1008,7 @@ function iQOO8pEh0iNSnpupVwR9tCVIf8U= + public regular htdCGapMsdazR1XkXoanrOCkvDE= @@ -1042,6 +1061,7 @@ function XCoHYDLlYJYpV6Ut7Ms0GjcQKjM= + public regular htdCGapMsdazR1XkXoanrOCkvDE= diff --git a/test-files/golden-tests/symbols/function/explicit-object-parameter.xml b/test-files/golden-tests/symbols/function/explicit-object-parameter.xml index bc4963059d..d04266338b 100644 --- a/test-files/golden-tests/symbols/function/explicit-object-parameter.xml +++ b/test-files/golden-tests/symbols/function/explicit-object-parameter.xml @@ -54,6 +54,7 @@ overloads yAoBkmRqQkJsKfweNOdQt2SnUkc= + public regular /TAtWMuvF+kz/B0ChmDlGQtnkaA= normal @@ -76,6 +77,7 @@ function XLLL4h9bZlRyA4AQMlfVPCuwMoU= + public regular /TAtWMuvF+kz/B0ChmDlGQtnkaA= @@ -102,6 +104,7 @@ normal 1 + constexpr 1 @@ -116,6 +119,7 @@ function aOpxAmSvyM7g6X3lLAJG5i3CTZA= + public regular /TAtWMuvF+kz/B0ChmDlGQtnkaA= @@ -151,6 +155,7 @@ normal 1 + constexpr 1 diff --git a/test-files/golden-tests/symbols/function/function-template-template.xml b/test-files/golden-tests/symbols/function/function-template-template.xml index c82d2cc0c9..63f860cc79 100644 --- a/test-files/golden-tests/symbols/function/function-template-template.xml +++ b/test-files/golden-tests/symbols/function/function-template-template.xml @@ -52,5 +52,6 @@ normal + constexpr diff --git a/test-files/golden-tests/symbols/function/mem-fn.xml b/test-files/golden-tests/symbols/function/mem-fn.xml index cd386b9270..8f48600147 100644 --- a/test-files/golden-tests/symbols/function/mem-fn.xml +++ b/test-files/golden-tests/symbols/function/mem-fn.xml @@ -65,6 +65,7 @@ function dmtEtFE6EVKE6hWuugP9vFuib6Y= + public regular O2UBDeG42PMrk1up8f8PGVFhIGk= @@ -113,6 +114,7 @@ function QPLurkQ2BXODb4xY6bw1mlNtQ28= + public regular H+pnPDuG6B+W6+srjVP2qhqXCrQ= @@ -122,6 +124,7 @@ normal + static 1 @@ -161,6 +164,7 @@ function p6A5dCCvCkASDE6pH4cJA/27/o8= + public regular rM+ml6ikwiS9Twa1IwpCHbSHTbg= @@ -209,6 +213,7 @@ function G71rDzcAZPSKGoGGoDswQjD1JuA= + public regular MBpLzhyCDdQBHul4AN2i2fR8fw0= @@ -257,6 +262,7 @@ function rWLMsKBEv1FtDyk7Y7XNzcgmt68= + public regular 5s81XyCIgauM5viJN9KAwx2A6DU= @@ -306,6 +312,7 @@ function A3MUO5+pwkURxw+SBeh1y0BKv7c= + public regular SzwXGFnhX4HlHjHolU7XF/KEqDs= @@ -315,6 +322,7 @@ normal + constexpr 1 @@ -354,6 +362,7 @@ function jlrEtbnYd1B6OAjYlF0gQ/oYu5w= + public regular WU9ZeQm0IOT8cYJkWXom3NXeWsM= @@ -402,6 +411,7 @@ function u+MePKsNF/sYSk6UpgNS65+USGU= + public regular SX7tpa77UInh7a4AsMFjfiCtoLY= @@ -450,6 +460,7 @@ function 0hjrVGeDlQhdYkOu4shvWWPqNKU= + public regular TJnjDRnoO8E/5XEw8BaODsKxlwQ= @@ -499,6 +510,7 @@ function +NevzZlqigIe1KSKS7eqq7pCd40= + public regular MXMa4TZZfdRkREzWSLpIF6ruUyw= @@ -548,6 +560,7 @@ function I0S8eMgTnTkagm+IrM34MBiU4XI= + public regular 7rg34TfmIwu+7zOd7DN+Dq8mLCc= @@ -597,6 +610,7 @@ function 5d5eSOvkYwBOnpbLcrkRuFvJGP4= + public regular NyLraUP0R3lYeyTpHQYZpyZMstc= @@ -648,6 +662,7 @@ function 1Lz3aFupR+OsCqiPOaIFWqGuyCc= + public regular SLJhBKx+2u4KxSJ78Fg6wqlObPc= @@ -699,6 +714,7 @@ function wSFf8IAx5Twq6aD5T8XdnXGuhw8= + public regular Bu7lz+fvOPzOR6oSlAo9R8R0alg= @@ -748,6 +764,7 @@ function OEX+TUed8FjXJPiI4c3+9WHzJl4= + public regular 75395VGvKeZbe1EhfJwktZuWLs0= @@ -757,6 +774,7 @@ normal + static 1 @@ -782,6 +800,7 @@ T14 + public @@ -805,6 +824,7 @@ function 5+yfyWtDpz80IwKT3xugro18Ev0= + public regular HL3/1NhKSels2G5ay7F0IYzlSLs= @@ -858,6 +878,7 @@ function DBXd564vaQo7GHkh6XCC6HV78/I= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -869,6 +890,7 @@ normal 1 1 + constexpr 1 1 1 @@ -885,6 +907,7 @@ function YOkqb7VjZXBs2Rg5gWCOYGX3Tnw= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -913,6 +936,7 @@ function II436kVwM/ZBYOf9q474VxRXK6c= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -923,6 +947,8 @@ normal 1 + constexpr + static 1 @@ -948,6 +974,7 @@ U + public @@ -973,6 +1000,7 @@ function DBXd564vaQo7GHkh6XCC6HV78/I= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -984,6 +1012,7 @@ normal 1 1 + constexpr 1 1 1 @@ -1000,6 +1029,7 @@ function /C2pxLlwRMKnr6YRbVnykUArzEI= + public regular 9kzYwt0WPztMEDUaFxul1Jvqqs8= @@ -1027,6 +1057,7 @@ function II436kVwM/ZBYOf9q474VxRXK6c= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -1037,6 +1068,8 @@ normal 1 + constexpr + static 1 diff --git a/test-files/golden-tests/symbols/function/noreturn.xml b/test-files/golden-tests/symbols/function/noreturn.xml index 30e5f99d32..ea212a8adb 100644 --- a/test-files/golden-tests/symbols/function/noreturn.xml +++ b/test-files/golden-tests/symbols/function/noreturn.xml @@ -53,6 +53,7 @@ function TkBjWwqMDycyUbq+TJZ9qfUhSn0= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -78,6 +79,7 @@ function QjsWLydQujVa097RP8f2Lq3nLQ4= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -88,6 +90,7 @@ normal 1 + static 1 noreturn diff --git a/test-files/golden-tests/symbols/function/overloaded-op-1.xml b/test-files/golden-tests/symbols/function/overloaded-op-1.xml index 6a17c0bf9e..9a958db8b5 100644 --- a/test-files/golden-tests/symbols/function/overloaded-op-1.xml +++ b/test-files/golden-tests/symbols/function/overloaded-op-1.xml @@ -48,6 +48,7 @@ function 2JysU2zJdfiiAb7nyNnvkDzkKvU= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= diff --git a/test-files/golden-tests/symbols/function/overloaded-op-2.xml b/test-files/golden-tests/symbols/function/overloaded-op-2.xml index 2af1afc77a..1ad0a70317 100644 --- a/test-files/golden-tests/symbols/function/overloaded-op-2.xml +++ b/test-files/golden-tests/symbols/function/overloaded-op-2.xml @@ -48,6 +48,7 @@ function LhEvBUAmiZm97R+EE8Wp8+CtOwU= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= diff --git a/test-files/golden-tests/symbols/function/sfinae.xml b/test-files/golden-tests/symbols/function/sfinae.xml index cfb4b1a3c9..31e8fb5a2f 100644 --- a/test-files/golden-tests/symbols/function/sfinae.xml +++ b/test-files/golden-tests/symbols/function/sfinae.xml @@ -250,6 +250,7 @@ function KmwKarrWHSv7aalrBX18hjPbEfs= + public regular IZrmVBMJu1uvsP9zur5JVrwgYmE= @@ -351,6 +352,7 @@ function 2KfuSRGlpNo9Lk/lk1bhwZqm/BY= + public regular g0UNZpdodOU5mGCtcpviXd8o6Vk= diff --git a/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.xml b/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.xml index 7d5ef71cf7..74ec5b5e3a 100644 --- a/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.xml +++ b/test-files/golden-tests/symbols/function/spec-mem-implicit-instantiation.xml @@ -61,6 +61,7 @@ record dKDSVrZun8skBV/NUCmJyCUOvJA= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= struct @@ -93,6 +94,7 @@ function P0HRKTdcNYA5qjhIXTqtJIxYItQ= + public regular dKDSVrZun8skBV/NUCmJyCUOvJA= @@ -116,6 +118,7 @@ record UYi0dO2mWSf0nD8WRfX9JD1eJyw= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= struct @@ -148,6 +151,7 @@ function 5XAhWGI1AQuRh2DnECuhvkGU0qs= + public regular UYi0dO2mWSf0nD8WRfX9JD1eJyw= @@ -171,6 +175,7 @@ function c4jAAYDw9qnOxUCpXquNT7fALUY= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -235,6 +240,7 @@ record 6QY0PJXWe/WbREWJNqGWAxKfjl8= + public regular /vjeowK9rbOfBZNuMjVMRn2iGMo= struct @@ -266,6 +272,7 @@ record CmGU1i/sBhCN4qrHoR7Et/3vN18= + public regular /vjeowK9rbOfBZNuMjVMRn2iGMo= struct @@ -297,6 +304,7 @@ record EyperGIiZ7cSv/PB2BApKjPRQVA= + public regular /vjeowK9rbOfBZNuMjVMRn2iGMo= struct @@ -342,6 +350,7 @@ function 4hePn1dLCqLal3xld/sSlBvpu6U= + public regular EyperGIiZ7cSv/PB2BApKjPRQVA= @@ -365,6 +374,7 @@ record xYK8qpEgWzczUMGnNUx+ozeBle0= + public regular /vjeowK9rbOfBZNuMjVMRn2iGMo= struct @@ -409,6 +419,7 @@ function ks7mzzkRLaNXkyZ4CdZPO75g8js= + public regular xYK8qpEgWzczUMGnNUx+ozeBle0= @@ -432,6 +443,7 @@ function MXnrYOauCPqySxkgtxhqKGFRX5w= + public regular /vjeowK9rbOfBZNuMjVMRn2iGMo= @@ -495,6 +507,7 @@ record O0cvG3FLegojxWfTpLGLrtCaiDg= + public regular AKwlChAOi+0ttIAPsD7uitS+gk0= struct @@ -526,6 +539,7 @@ record kLfkJ6zwS7/fgRzTYaPfbg3WHg8= + public regular AKwlChAOi+0ttIAPsD7uitS+gk0= struct @@ -569,6 +583,7 @@ function 7fGykhsl+TDnhidf/wArzvaeUXY= + public regular kLfkJ6zwS7/fgRzTYaPfbg3WHg8= @@ -592,6 +607,7 @@ record TIHR+/r3scoX8MpUnGX9TnhdTMw= + public regular AKwlChAOi+0ttIAPsD7uitS+gk0= struct @@ -629,6 +645,7 @@ function 5vQMmBbKdcjmr6fZ5KE/+hqkRD0= + public regular AKwlChAOi+0ttIAPsD7uitS+gk0= @@ -691,6 +708,7 @@ record 7YGPyrC+yNaV349G+Ofic+lrQQ0= + public regular C6fFmGgpPJ7jgwKJA98mfx5cxts= struct @@ -728,6 +746,7 @@ record bJ8v5jNLvcM2EtaEdF2cpbTmU5s= + public regular C6fFmGgpPJ7jgwKJA98mfx5cxts= struct @@ -760,6 +779,7 @@ function FnUXB08e7tKDcXA1I7E6hiu2/i0= + public regular bJ8v5jNLvcM2EtaEdF2cpbTmU5s= @@ -783,6 +803,7 @@ function Bkfxhhw3rhTX4AsAahIpOZcNmmo= + public regular C6fFmGgpPJ7jgwKJA98mfx5cxts= @@ -832,6 +853,7 @@ record 7FuwQh5wWHsQZAFDRF5GiHXiYdI= + public regular CSFzdUEgi4+pu0K2D3isHXeaoFQ= struct @@ -864,6 +886,7 @@ function cJsLsaJ126sgoCXsFOa+lMSNEVI= + public regular 7FuwQh5wWHsQZAFDRF5GiHXiYdI= @@ -887,6 +910,7 @@ record 27+9TQyh1Vcx+C3POBLdyXJP8bo= + public regular CSFzdUEgi4+pu0K2D3isHXeaoFQ= struct @@ -930,6 +954,7 @@ function ePyn5n+volZWM9Xn5rQhbb07Yn8= + public regular 27+9TQyh1Vcx+C3POBLdyXJP8bo= diff --git a/test-files/golden-tests/symbols/overloads/overloads-brief.adoc b/test-files/golden-tests/symbols/overloads/overloads-brief.adoc index a0080c7024..2b456302cf 100644 --- a/test-files/golden-tests/symbols/overloads/overloads-brief.adoc +++ b/test-files/golden-tests/symbols/overloads/overloads-brief.adoc @@ -20,11 +20,11 @@ [cols="1,4"] |=== | Name| Description -| link:#no_way_to_infer_this_brief-04[`no_way_to_infer_this_brief`] +| link:#no_way_to_infer_this_brief-0f[`no_way_to_infer_this_brief`] | `no_way_to_infer_this_brief` overloads -| link:#operator_plus-09[`operator+`] +| link:#operator_plus-08[`operator+`] | Unary plus operators -| link:#sameBrief-07[`sameBrief`] +| link:#sameBrief-0f[`sameBrief`] | Function with same brief |=== @@ -465,7 +465,7 @@ struct B; | Unary operator for B |=== -[#no_way_to_infer_this_brief-04] +[#no_way_to_infer_this_brief-0f] == no_way_to_infer_this_brief `no_way_to_infer_this_brief` overloads @@ -546,7 +546,7 @@ no_way_to_infer_this_brief(int a); | Describe a |=== -[#operator_plus-09] +[#operator_plus-08] == operator+ Unary plus operators @@ -639,7 +639,7 @@ Result | The operand |=== -[#sameBrief-07] +[#sameBrief-0f] == sameBrief Function with same brief diff --git a/test-files/golden-tests/symbols/overloads/overloads-brief.html b/test-files/golden-tests/symbols/overloads/overloads-brief.html index dc0ebaf644..4c4b199c69 100644 --- a/test-files/golden-tests/symbols/overloads/overloads-brief.html +++ b/test-files/golden-tests/symbols/overloads/overloads-brief.html @@ -36,9 +36,9 @@

-no_way_to_infer_this_brief no_way_to_infer_this_brief overloads -operator+ Unary plus operators -sameBrief Function with same brief +no_way_to_infer_this_brief no_way_to_infer_this_brief overloads +operator+ Unary plus operators +sameBrief Function with same brief @@ -577,7 +577,7 @@

-

+

no_way_to_infer_this_brief

no_way_to_infer_this_brief overloads

@@ -672,7 +672,7 @@

-

+

operator+

Unary plus operators

@@ -782,7 +782,7 @@

-

+

sameBrief

Function with same brief

diff --git a/test-files/golden-tests/symbols/overloads/overloads-brief.xml b/test-files/golden-tests/symbols/overloads/overloads-brief.xml index 0c8234d9cd..692ad32e33 100644 --- a/test-files/golden-tests/symbols/overloads/overloads-brief.xml +++ b/test-files/golden-tests/symbols/overloads/overloads-brief.xml @@ -10,9 +10,9 @@ YrPSaKAbmXgzCAX5WByx4eVoqBM= 3JsK1DO0O+wZhv+0meptQrbs3fY= - RjY3QWFLXBVMaEm9BnT1iH8A5JU= - lk5hZ+u3TPuYLv5UfIl4hOGGzjM= - fSdp0tRtLwcb+V3z/2Nwq8IdAAU= + /hucOiT8pcqRdkW15dk2G/D7xlU= + jE+MGE9EsNiR3aQKMfpwCmL6a/k= + /2uLQOeZ13kuKGEODAupW4G5i8o= @@ -78,6 +78,7 @@ overloads +yf24/wS549V5ZqYWGboHExPRoY= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -120,6 +121,7 @@ function NsCpw4jurMmwsYzp5jE+NgG1eLE= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -153,6 +155,7 @@ function HkGsg4usg6CytwvmqPS1ZbH99t8= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -210,6 +213,7 @@ overloads TBURMVj9++7bBh2sg4BgMGmdMP4= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -265,6 +269,7 @@ function RRhK09XtJWQqLWvHlgZUv4deW1E= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -332,6 +337,7 @@ function aOkWiNwfbs/JSs8z9GP/vTAwsbA= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -402,6 +408,7 @@ overloads DqUsxXtK/1rFeA0YoMBaT2oD5iw= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -455,6 +462,7 @@ function ycaQWu1bpL50KsLIdks09uNq0fw= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -516,6 +524,7 @@ function 4jg29DjTLdYrWC4PLhyeE68ztvQ= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -588,6 +597,7 @@ overloads nmsbNfdtYwc961rRlS7GTlnL3ik= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -630,6 +640,7 @@ function JJtrUCsKraCMZOeI5dC8UzKCEmI= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -678,6 +689,7 @@ function x8gblCF18xnamr/xm7nsLiL0taU= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -792,7 +804,7 @@ overloads - RjY3QWFLXBVMaEm9BnT1iH8A5JU= + /hucOiT8pcqRdkW15dk2G/D7xlU= regular //////////////////////////8= @@ -929,7 +941,7 @@ overloads - lk5hZ+u3TPuYLv5UfIl4hOGGzjM= + jE+MGE9EsNiR3aQKMfpwCmL6a/k= regular //////////////////////////8= @@ -1107,7 +1119,7 @@ overloads - fSdp0tRtLwcb+V3z/2Nwq8IdAAU= + /2uLQOeZ13kuKGEODAupW4G5i8o= regular //////////////////////////8= diff --git a/test-files/golden-tests/symbols/overloads/overloads-metadata.adoc b/test-files/golden-tests/symbols/overloads/overloads-metadata.adoc index 22ad027650..cc4a6597c3 100644 --- a/test-files/golden-tests/symbols/overloads/overloads-metadata.adoc +++ b/test-files/golden-tests/symbols/overloads/overloads-metadata.adoc @@ -9,11 +9,11 @@ [cols="1,4"] |=== | Name| Description -| link:#f-0c[`f`] +| link:#f-01[`f`] | Test function |=== -[#f-0c] +[#f-01] == f Test function diff --git a/test-files/golden-tests/symbols/overloads/overloads-metadata.html b/test-files/golden-tests/symbols/overloads/overloads-metadata.html index 50eecf3efd..8351210e96 100644 --- a/test-files/golden-tests/symbols/overloads/overloads-metadata.html +++ b/test-files/golden-tests/symbols/overloads/overloads-metadata.html @@ -21,14 +21,14 @@

-f Test function +f Test function

-

+

f

Test function

diff --git a/test-files/golden-tests/symbols/overloads/overloads-metadata.xml b/test-files/golden-tests/symbols/overloads/overloads-metadata.xml index 36c6db7e16..7465bf5f78 100644 --- a/test-files/golden-tests/symbols/overloads/overloads-metadata.xml +++ b/test-files/golden-tests/symbols/overloads/overloads-metadata.xml @@ -8,7 +8,7 @@ //////////////////////////8= regular - x0B55dWJmTMqTXm6ZEu790gmPxY= + GDxqxKc4bkmO2HKXdEn9Zgy37O8= @@ -37,7 +37,7 @@ overloads - x0B55dWJmTMqTXm6ZEu790gmPxY= + GDxqxKc4bkmO2HKXdEn9Zgy37O8= regular //////////////////////////8= diff --git a/test-files/golden-tests/symbols/overloads/overloads-ostream.xml b/test-files/golden-tests/symbols/overloads/overloads-ostream.xml index db5255e98f..1861d379c7 100644 --- a/test-files/golden-tests/symbols/overloads/overloads-ostream.xml +++ b/test-files/golden-tests/symbols/overloads/overloads-ostream.xml @@ -74,6 +74,7 @@ overloads CHEdD6V2JZOWqrKOrzrAFB01ag4= + public regular mPR5L0+aXmfmkEAliRYGzCDx/No= @@ -110,6 +111,7 @@ function 933XchiQ+t56rbxrI6xHFc4VHpg= + public regular mPR5L0+aXmfmkEAliRYGzCDx/No= @@ -169,6 +171,7 @@ function uV72HdBWsWZ4EwLG0yd905Rczwc= + public regular mPR5L0+aXmfmkEAliRYGzCDx/No= @@ -387,6 +390,7 @@ overloads /s4tLGsRLchmoXSCfp1huP12grE= + public regular S5XtDqY96X0u1hXzl3cx6YoVW8A= @@ -423,6 +427,7 @@ function 1fuMcZHDrARpZPSclbAk4IYVnps= + public regular S5XtDqY96X0u1hXzl3cx6YoVW8A= diff --git a/test-files/golden-tests/symbols/overloads/overloads.adoc b/test-files/golden-tests/symbols/overloads/overloads.adoc index 21cdd18c28..3ac98e3be1 100644 --- a/test-files/golden-tests/symbols/overloads/overloads.adoc +++ b/test-files/golden-tests/symbols/overloads/overloads.adoc @@ -18,7 +18,7 @@ [cols="1,4"] |=== | Name| Description -| link:#f-0c[`f`] +| link:#f-01[`f`] | | link:#operator_eq-073[`operator==`] | Equality operators @@ -194,7 +194,7 @@ struct B; | Equality operator |=== -[#f-0c] +[#f-01] == f === Synopses diff --git a/test-files/golden-tests/symbols/overloads/overloads.html b/test-files/golden-tests/symbols/overloads/overloads.html index d5bbded430..81214d05a4 100644 --- a/test-files/golden-tests/symbols/overloads/overloads.html +++ b/test-files/golden-tests/symbols/overloads/overloads.html @@ -36,7 +36,7 @@

-f +f operator== Equality operators @@ -245,7 +245,7 @@

-

+

f

diff --git a/test-files/golden-tests/symbols/overloads/overloads.xml b/test-files/golden-tests/symbols/overloads/overloads.xml index b1f00d884d..9ae63760b6 100644 --- a/test-files/golden-tests/symbols/overloads/overloads.xml +++ b/test-files/golden-tests/symbols/overloads/overloads.xml @@ -10,7 +10,7 @@ YrPSaKAbmXgzCAX5WByx4eVoqBM= 3JsK1DO0O+wZhv+0meptQrbs3fY= - x0B55dWJmTMqTXm6ZEu790gmPxY= + GDxqxKc4bkmO2HKXdEn9Zgy37O8= c3LDQg7wK1RzpLzXObmUCRAFDco= @@ -64,6 +64,7 @@ overloads ct3b2BagsWFMKFtMRx/UVwhsQmo= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= normal @@ -84,6 +85,7 @@ function hLXvGC+nOrLQRH9lODKkgi/oUas= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -107,6 +109,7 @@ function 7Bg4Ruo9NHdsGok6ICFQWW1MBuE= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -144,6 +147,7 @@ overloads 2gneMpbsIf1Dp6ctLj6MDFw9p/w= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= normal @@ -164,6 +168,7 @@ function qw8/QuVZ7n9UkJWa5gz1gYkPlBc= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -173,6 +178,7 @@ normal + static 1 @@ -187,6 +193,7 @@ function E2RBHdoNQKveCfR6zUiWe+Ztmtk= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -204,6 +211,7 @@ normal + static 1 @@ -259,7 +267,7 @@ overloads - x0B55dWJmTMqTXm6ZEu790gmPxY= + GDxqxKc4bkmO2HKXdEn9Zgy37O8= regular //////////////////////////8= normal @@ -350,6 +358,7 @@ overloads c3LDQg7wK1RzpLzXObmUCRAFDco= + public regular //////////////////////////8= @@ -385,6 +394,7 @@ function 7bqo4XOxyyg5NIOu+8i4lZ3L47c= + public regular //////////////////////////8= @@ -476,6 +486,7 @@ function pqHl3WkOZfX6m6ltquhjuQtzXp4= + public regular //////////////////////////8= diff --git a/test-files/golden-tests/symbols/record/class-private-alias.xml b/test-files/golden-tests/symbols/record/class-private-alias.xml index 80921fe568..5a08d0834b 100644 --- a/test-files/golden-tests/symbols/record/class-private-alias.xml +++ b/test-files/golden-tests/symbols/record/class-private-alias.xml @@ -49,6 +49,7 @@ function rEl08eLCQtT5kTV7R87YlkuVPa8= + public regular pOYGF6pLJlICuiGO0Xj0daDb/to= diff --git a/test-files/golden-tests/symbols/record/class-template-partial-spec.xml b/test-files/golden-tests/symbols/record/class-template-partial-spec.xml index 25414be979..e9c652ea84 100644 --- a/test-files/golden-tests/symbols/record/class-template-partial-spec.xml +++ b/test-files/golden-tests/symbols/record/class-template-partial-spec.xml @@ -57,6 +57,7 @@ record oAtKB0INIy/QCSdQExvcQwsaZJA= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= struct @@ -93,6 +94,7 @@ record RB9DBMAJDxjxuRQCinQOVPFSNek= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= struct @@ -138,6 +140,7 @@ record Y/lm1lkT88vf1Ml123mbuN6Fp2Y= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= struct diff --git a/test-files/golden-tests/symbols/record/class-template-spec.xml b/test-files/golden-tests/symbols/record/class-template-spec.xml index 538adeb9e5..4f240fa6b8 100644 --- a/test-files/golden-tests/symbols/record/class-template-spec.xml +++ b/test-files/golden-tests/symbols/record/class-template-spec.xml @@ -63,6 +63,7 @@ function c4jAAYDw9qnOxUCpXquNT7fALUY= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -123,6 +124,7 @@ function NCn1LYKSU8X/x/ejZTTGKsJQLug= + public regular AKwlChAOi+0ttIAPsD7uitS+gk0= @@ -183,6 +185,7 @@ function t1Sc28cdaNrQCdMKo/gCBCog34Q= + public regular y/8TvVlacBAIG2ds2aYgZE+zGUU= @@ -238,6 +241,7 @@ function toIq7IwIU6fbbbkqhsEmDYWVF00= + public regular Bu/3QcmNOdsc7RSM3OKHnuCxGPU= @@ -305,6 +309,7 @@ function Y1o9DjZarkgpmS4JVrc/XkZMn3k= + public regular ZjUaxeOoGJ0Jol9Nmn7cGRE7RCo= @@ -372,6 +377,7 @@ function YqMF7qPhrCzrLLwscZ76goyLl0k= + public regular dydGCFMdrM4nOwuv3RCXqg2KCUA= @@ -432,6 +438,7 @@ function mhp5LhlIUPVO0i2zQmcJLvBQAlk= + public regular 8nYw0KA23eAszqSOs0wOXAD1DYQ= @@ -501,6 +508,7 @@ function xGwiZK/5LGsqcQUgiFrCHkH3zFU= + public regular qrcrkE8Br83XKNMh95Dvwpph/M8= @@ -577,6 +585,7 @@ function N2KH/LGAYrCEUFXj6hyS4bkzaIs= + public regular 6zS87fCNnLtFfHbRWEmcdeAT1Zg= diff --git a/test-files/golden-tests/symbols/record/class-template-specializations-1.xml b/test-files/golden-tests/symbols/record/class-template-specializations-1.xml index 4a12a0927b..5898b1ac6f 100644 --- a/test-files/golden-tests/symbols/record/class-template-specializations-1.xml +++ b/test-files/golden-tests/symbols/record/class-template-specializations-1.xml @@ -128,6 +128,7 @@ S0 + public @@ -153,6 +154,7 @@ record 2CQyWIWOAM25oQ1AdJcdT6hFqAE= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= struct @@ -179,6 +181,7 @@ record oNfOAnUjZE7WlBGdMiNtQ9ePi8g= + public regular 2CQyWIWOAM25oQ1AdJcdT6hFqAE= struct @@ -232,6 +235,7 @@ record LjJr8jL1hFRtsFi7N5gXIU8pmt8= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= struct @@ -257,6 +261,7 @@ function kggTp6wAC1WcJ2lc/xWgjVAOQuA= + public regular LjJr8jL1hFRtsFi7N5gXIU8pmt8= @@ -280,6 +285,7 @@ record 8UtqZHVItGCqKLwlXny0WJDLkDQ= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= struct @@ -331,6 +337,7 @@ function Yvbv/xeM6X331Nb6AJbcVkWAahI= + public regular 8UtqZHVItGCqKLwlXny0WJDLkDQ= @@ -354,6 +361,7 @@ function 5LiMTgzbzcSlhmq/BqmjMgGLylU= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= @@ -377,6 +385,7 @@ function Smls1Gk2gVcm6OCyBWhckfHGjdY= + public regular 2CQyWIWOAM25oQ1AdJcdT6hFqAE= @@ -400,6 +409,7 @@ record t/fAg/z+G5QClTBG74e6bR64CDI= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= struct @@ -452,6 +462,7 @@ record icRp7NeoOT+m93ddn+fcm7v0hWU= + public regular t/fAg/z+G5QClTBG74e6bR64CDI= struct @@ -478,6 +489,7 @@ record 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= + public regular icRp7NeoOT+m93ddn+fcm7v0hWU= struct @@ -531,6 +543,7 @@ record 2R/ZzEEP3phjsDdKShbY468avc4= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= struct @@ -556,6 +569,7 @@ function 1qLmT/E1Z0aTdRbvVR5DlYKFIqU= + public regular 2R/ZzEEP3phjsDdKShbY468avc4= @@ -579,6 +593,7 @@ record T91uOH7uarKVQhSHZ7iIV+AOuBQ= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= struct @@ -630,6 +645,7 @@ function iMAaUVX+WTUsZujSqIp9ktYZhik= + public regular T91uOH7uarKVQhSHZ7iIV+AOuBQ= @@ -653,6 +669,7 @@ function Iwvgpu+8ybZBfaI59pUCSNk2QJU= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= @@ -676,6 +693,7 @@ function eyMfyb/yiMt+xDQ69MK4bQAQjpo= + public regular icRp7NeoOT+m93ddn+fcm7v0hWU= @@ -699,6 +717,7 @@ function bGpHFhdgGF7bWiaCzWSwMOzJPg8= + public regular t/fAg/z+G5QClTBG74e6bR64CDI= @@ -722,6 +741,7 @@ function tXE+VoFnukoh9WI4ll0zyAkhGOc= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= @@ -756,6 +776,7 @@ S0 + public @@ -804,6 +825,7 @@ + public @@ -852,6 +874,7 @@ + public @@ -900,6 +923,7 @@ + public @@ -948,6 +972,7 @@ + public @@ -986,6 +1011,7 @@ + public @@ -1024,6 +1050,7 @@ + public @@ -1062,6 +1089,7 @@ + public @@ -1100,6 +1128,7 @@ + public @@ -1143,6 +1172,7 @@ + public @@ -1191,6 +1221,7 @@ + public @@ -1224,6 +1255,7 @@ S0 + public @@ -1249,6 +1281,7 @@ record 2CQyWIWOAM25oQ1AdJcdT6hFqAE= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= struct @@ -1275,6 +1308,7 @@ record oNfOAnUjZE7WlBGdMiNtQ9ePi8g= + public regular 2CQyWIWOAM25oQ1AdJcdT6hFqAE= struct @@ -1328,6 +1362,7 @@ record LjJr8jL1hFRtsFi7N5gXIU8pmt8= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= struct @@ -1353,6 +1388,7 @@ function kggTp6wAC1WcJ2lc/xWgjVAOQuA= + public regular LjJr8jL1hFRtsFi7N5gXIU8pmt8= @@ -1376,6 +1412,7 @@ record 8UtqZHVItGCqKLwlXny0WJDLkDQ= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= struct @@ -1427,6 +1464,7 @@ function Yvbv/xeM6X331Nb6AJbcVkWAahI= + public regular 8UtqZHVItGCqKLwlXny0WJDLkDQ= @@ -1450,6 +1488,7 @@ function 5LiMTgzbzcSlhmq/BqmjMgGLylU= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= @@ -1473,6 +1512,7 @@ function Smls1Gk2gVcm6OCyBWhckfHGjdY= + public regular 2CQyWIWOAM25oQ1AdJcdT6hFqAE= @@ -1496,6 +1536,7 @@ record t/fAg/z+G5QClTBG74e6bR64CDI= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= struct @@ -1548,6 +1589,7 @@ record icRp7NeoOT+m93ddn+fcm7v0hWU= + public regular t/fAg/z+G5QClTBG74e6bR64CDI= struct @@ -1574,6 +1616,7 @@ record 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= + public regular icRp7NeoOT+m93ddn+fcm7v0hWU= struct @@ -1627,6 +1670,7 @@ record 2R/ZzEEP3phjsDdKShbY468avc4= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= struct @@ -1652,6 +1696,7 @@ function 1qLmT/E1Z0aTdRbvVR5DlYKFIqU= + public regular 2R/ZzEEP3phjsDdKShbY468avc4= @@ -1675,6 +1720,7 @@ record T91uOH7uarKVQhSHZ7iIV+AOuBQ= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= struct @@ -1726,6 +1772,7 @@ function iMAaUVX+WTUsZujSqIp9ktYZhik= + public regular T91uOH7uarKVQhSHZ7iIV+AOuBQ= @@ -1749,6 +1796,7 @@ function Iwvgpu+8ybZBfaI59pUCSNk2QJU= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= @@ -1772,6 +1820,7 @@ function eyMfyb/yiMt+xDQ69MK4bQAQjpo= + public regular icRp7NeoOT+m93ddn+fcm7v0hWU= @@ -1795,6 +1844,7 @@ function bGpHFhdgGF7bWiaCzWSwMOzJPg8= + public regular t/fAg/z+G5QClTBG74e6bR64CDI= @@ -1818,6 +1868,7 @@ function tXE+VoFnukoh9WI4ll0zyAkhGOc= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= @@ -1867,6 +1918,7 @@ + public @@ -1915,6 +1967,7 @@ + public @@ -1963,6 +2016,7 @@ + public @@ -2016,6 +2070,7 @@ + public @@ -2069,6 +2124,7 @@ + public @@ -2122,6 +2178,7 @@ + public @@ -2175,6 +2232,7 @@ + public @@ -2228,6 +2286,7 @@ + public @@ -2261,6 +2320,7 @@ S0 + public @@ -2286,6 +2346,7 @@ record 2CQyWIWOAM25oQ1AdJcdT6hFqAE= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= struct @@ -2312,6 +2373,7 @@ record oNfOAnUjZE7WlBGdMiNtQ9ePi8g= + public regular 2CQyWIWOAM25oQ1AdJcdT6hFqAE= struct @@ -2365,6 +2427,7 @@ record LjJr8jL1hFRtsFi7N5gXIU8pmt8= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= struct @@ -2390,6 +2453,7 @@ function kggTp6wAC1WcJ2lc/xWgjVAOQuA= + public regular LjJr8jL1hFRtsFi7N5gXIU8pmt8= @@ -2413,6 +2477,7 @@ record 8UtqZHVItGCqKLwlXny0WJDLkDQ= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= struct @@ -2464,6 +2529,7 @@ function Yvbv/xeM6X331Nb6AJbcVkWAahI= + public regular 8UtqZHVItGCqKLwlXny0WJDLkDQ= @@ -2487,6 +2553,7 @@ function 5LiMTgzbzcSlhmq/BqmjMgGLylU= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= @@ -2510,6 +2577,7 @@ function Smls1Gk2gVcm6OCyBWhckfHGjdY= + public regular 2CQyWIWOAM25oQ1AdJcdT6hFqAE= @@ -2533,6 +2601,7 @@ record t/fAg/z+G5QClTBG74e6bR64CDI= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= struct @@ -2585,6 +2654,7 @@ record icRp7NeoOT+m93ddn+fcm7v0hWU= + public regular t/fAg/z+G5QClTBG74e6bR64CDI= struct @@ -2611,6 +2681,7 @@ record 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= + public regular icRp7NeoOT+m93ddn+fcm7v0hWU= struct @@ -2664,6 +2735,7 @@ record 2R/ZzEEP3phjsDdKShbY468avc4= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= struct @@ -2689,6 +2761,7 @@ function 1qLmT/E1Z0aTdRbvVR5DlYKFIqU= + public regular 2R/ZzEEP3phjsDdKShbY468avc4= @@ -2712,6 +2785,7 @@ record T91uOH7uarKVQhSHZ7iIV+AOuBQ= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= struct @@ -2763,6 +2837,7 @@ function iMAaUVX+WTUsZujSqIp9ktYZhik= + public regular T91uOH7uarKVQhSHZ7iIV+AOuBQ= @@ -2786,6 +2861,7 @@ function Iwvgpu+8ybZBfaI59pUCSNk2QJU= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= @@ -2809,6 +2885,7 @@ function eyMfyb/yiMt+xDQ69MK4bQAQjpo= + public regular icRp7NeoOT+m93ddn+fcm7v0hWU= @@ -2832,6 +2909,7 @@ function bGpHFhdgGF7bWiaCzWSwMOzJPg8= + public regular t/fAg/z+G5QClTBG74e6bR64CDI= @@ -2855,6 +2933,7 @@ function tXE+VoFnukoh9WI4ll0zyAkhGOc= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= @@ -2889,6 +2968,7 @@ S0 + public @@ -2914,6 +2994,7 @@ record 2CQyWIWOAM25oQ1AdJcdT6hFqAE= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= struct @@ -2940,6 +3021,7 @@ record oNfOAnUjZE7WlBGdMiNtQ9ePi8g= + public regular 2CQyWIWOAM25oQ1AdJcdT6hFqAE= struct @@ -2993,6 +3075,7 @@ record LjJr8jL1hFRtsFi7N5gXIU8pmt8= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= struct @@ -3018,6 +3101,7 @@ function kggTp6wAC1WcJ2lc/xWgjVAOQuA= + public regular LjJr8jL1hFRtsFi7N5gXIU8pmt8= @@ -3041,6 +3125,7 @@ record 8UtqZHVItGCqKLwlXny0WJDLkDQ= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= struct @@ -3092,6 +3177,7 @@ function Yvbv/xeM6X331Nb6AJbcVkWAahI= + public regular 8UtqZHVItGCqKLwlXny0WJDLkDQ= @@ -3115,6 +3201,7 @@ function 5LiMTgzbzcSlhmq/BqmjMgGLylU= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= @@ -3138,6 +3225,7 @@ function Smls1Gk2gVcm6OCyBWhckfHGjdY= + public regular 2CQyWIWOAM25oQ1AdJcdT6hFqAE= @@ -3161,6 +3249,7 @@ record t/fAg/z+G5QClTBG74e6bR64CDI= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= struct @@ -3213,6 +3302,7 @@ record icRp7NeoOT+m93ddn+fcm7v0hWU= + public regular t/fAg/z+G5QClTBG74e6bR64CDI= struct @@ -3239,6 +3329,7 @@ record 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= + public regular icRp7NeoOT+m93ddn+fcm7v0hWU= struct @@ -3292,6 +3383,7 @@ record 2R/ZzEEP3phjsDdKShbY468avc4= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= struct @@ -3317,6 +3409,7 @@ function 1qLmT/E1Z0aTdRbvVR5DlYKFIqU= + public regular 2R/ZzEEP3phjsDdKShbY468avc4= @@ -3340,6 +3433,7 @@ record T91uOH7uarKVQhSHZ7iIV+AOuBQ= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= struct @@ -3391,6 +3485,7 @@ function iMAaUVX+WTUsZujSqIp9ktYZhik= + public regular T91uOH7uarKVQhSHZ7iIV+AOuBQ= @@ -3414,6 +3509,7 @@ function Iwvgpu+8ybZBfaI59pUCSNk2QJU= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= @@ -3437,6 +3533,7 @@ function eyMfyb/yiMt+xDQ69MK4bQAQjpo= + public regular icRp7NeoOT+m93ddn+fcm7v0hWU= @@ -3460,6 +3557,7 @@ function bGpHFhdgGF7bWiaCzWSwMOzJPg8= + public regular t/fAg/z+G5QClTBG74e6bR64CDI= @@ -3483,6 +3581,7 @@ function tXE+VoFnukoh9WI4ll0zyAkhGOc= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= @@ -3517,6 +3616,7 @@ S0 + public @@ -3555,6 +3655,7 @@ + public @@ -3579,6 +3680,7 @@ record boLQk9sIyBQTBaPhSeSLjkGr51k= + public regular yiTNiZbPnfj9SDdT8k1YKmjW68g= struct @@ -3629,6 +3731,7 @@ function boc7yC4tWsGrT4a762yRiFkFe3E= + public regular yiTNiZbPnfj9SDdT8k1YKmjW68g= @@ -3690,6 +3793,7 @@ + public @@ -3733,6 +3837,7 @@ + public @@ -3776,6 +3881,7 @@ + public @@ -3824,6 +3930,7 @@ + public @@ -3847,6 +3954,7 @@ function bLNBUo4KpSS0BZPlsnEoRwbgQU0= + public regular aOsVfXK2YXy8YzpChV4neMCBUNE= @@ -3913,6 +4021,7 @@ + public @@ -3961,6 +4070,7 @@ + public @@ -4009,6 +4119,7 @@ + public @@ -4064,6 +4175,7 @@ + public @@ -4102,6 +4214,7 @@ + public @@ -4140,6 +4253,7 @@ + public @@ -4178,6 +4292,7 @@ + public @@ -4221,6 +4336,7 @@ + public @@ -4245,6 +4361,7 @@ record Qi1L025HS2xzUSVM/EdHO3S86T8= + public regular ESA+jWIqD6n9bgbcE+2k+r76ElE= struct @@ -4295,6 +4412,7 @@ function 3sJu+IqldeGkloa8X4vNDJFmKEQ= + public regular ESA+jWIqD6n9bgbcE+2k+r76ElE= @@ -4361,6 +4479,7 @@ + public @@ -4409,6 +4528,7 @@ + public @@ -4457,6 +4577,7 @@ + public @@ -4510,6 +4631,7 @@ + public @@ -4533,6 +4655,7 @@ function dLKTrZfdhQpgAK1S0l66Tj7if2o= + public regular UTUtsfPLhT8t0PfqqpBYR2R6IeA= @@ -4604,6 +4727,7 @@ + public @@ -4657,6 +4781,7 @@ + public @@ -4710,6 +4835,7 @@ + public @@ -4753,6 +4879,7 @@ + public @@ -4796,6 +4923,7 @@ + public @@ -4839,6 +4967,7 @@ + public @@ -4882,6 +5011,7 @@ + public @@ -4930,6 +5060,7 @@ + public @@ -5009,6 +5140,7 @@ record 2CQyWIWOAM25oQ1AdJcdT6hFqAE= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= struct @@ -5035,6 +5167,7 @@ record oNfOAnUjZE7WlBGdMiNtQ9ePi8g= + public regular 2CQyWIWOAM25oQ1AdJcdT6hFqAE= struct @@ -5088,6 +5221,7 @@ record LjJr8jL1hFRtsFi7N5gXIU8pmt8= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= struct @@ -5113,6 +5247,7 @@ function kggTp6wAC1WcJ2lc/xWgjVAOQuA= + public regular LjJr8jL1hFRtsFi7N5gXIU8pmt8= @@ -5136,6 +5271,7 @@ record 8UtqZHVItGCqKLwlXny0WJDLkDQ= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= struct @@ -5187,6 +5323,7 @@ function Yvbv/xeM6X331Nb6AJbcVkWAahI= + public regular 8UtqZHVItGCqKLwlXny0WJDLkDQ= @@ -5210,6 +5347,7 @@ function 5LiMTgzbzcSlhmq/BqmjMgGLylU= + public regular oNfOAnUjZE7WlBGdMiNtQ9ePi8g= @@ -5233,6 +5371,7 @@ function Smls1Gk2gVcm6OCyBWhckfHGjdY= + public regular 2CQyWIWOAM25oQ1AdJcdT6hFqAE= @@ -5256,6 +5395,7 @@ record t/fAg/z+G5QClTBG74e6bR64CDI= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= struct @@ -5308,6 +5448,7 @@ record icRp7NeoOT+m93ddn+fcm7v0hWU= + public regular t/fAg/z+G5QClTBG74e6bR64CDI= struct @@ -5334,6 +5475,7 @@ record 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= + public regular icRp7NeoOT+m93ddn+fcm7v0hWU= struct @@ -5387,6 +5529,7 @@ record 2R/ZzEEP3phjsDdKShbY468avc4= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= struct @@ -5412,6 +5555,7 @@ function 1qLmT/E1Z0aTdRbvVR5DlYKFIqU= + public regular 2R/ZzEEP3phjsDdKShbY468avc4= @@ -5435,6 +5579,7 @@ record T91uOH7uarKVQhSHZ7iIV+AOuBQ= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= struct @@ -5486,6 +5631,7 @@ function iMAaUVX+WTUsZujSqIp9ktYZhik= + public regular T91uOH7uarKVQhSHZ7iIV+AOuBQ= @@ -5509,6 +5655,7 @@ function Iwvgpu+8ybZBfaI59pUCSNk2QJU= + public regular 3ZrGNdgVY0Bl8pl2wuSUdgLSht4= @@ -5532,6 +5679,7 @@ function eyMfyb/yiMt+xDQ69MK4bQAQjpo= + public regular icRp7NeoOT+m93ddn+fcm7v0hWU= @@ -5555,6 +5703,7 @@ function bGpHFhdgGF7bWiaCzWSwMOzJPg8= + public regular t/fAg/z+G5QClTBG74e6bR64CDI= @@ -5578,6 +5727,7 @@ function tXE+VoFnukoh9WI4ll0zyAkhGOc= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= @@ -5667,6 +5817,7 @@ record H+OiQqpA/bs1dZi3ZS1WWNa5qBA= + public regular hwWIBHTi29w+6bJar0PyQvwnZWw= struct @@ -5694,6 +5845,7 @@ record s/+gz4h48mKOopEb9TmxFUzl6o8= + public regular H+OiQqpA/bs1dZi3ZS1WWNa5qBA= struct @@ -5744,6 +5896,7 @@ record g2iVCce1Dp6iPMyevfuMN/UU9F0= + public regular H+OiQqpA/bs1dZi3ZS1WWNa5qBA= struct @@ -5779,6 +5932,7 @@ record NW6Rl/c5GWs2dbFctQ6kW8Kbyh4= + public regular g2iVCce1Dp6iPMyevfuMN/UU9F0= struct @@ -5809,6 +5963,7 @@ record jsWbJZfAfgKMXbl9GaZXHLmhL2U= + public regular g2iVCce1Dp6iPMyevfuMN/UU9F0= struct @@ -5860,6 +6015,7 @@ function 31rtLV2nV7nDWL7fCGb7qzxxfGw= + public regular g2iVCce1Dp6iPMyevfuMN/UU9F0= @@ -5883,6 +6039,7 @@ function r8P4rZWYb+zKTgNEF+NSpJtmTQY= + public regular H+OiQqpA/bs1dZi3ZS1WWNa5qBA= @@ -5906,6 +6063,7 @@ record Ba443e4B7ySMlh7XYx/5pmJ4VD8= + public regular hwWIBHTi29w+6bJar0PyQvwnZWw= struct @@ -5956,6 +6114,7 @@ function KGcMjUUMibv+s0wPtSt4tcBl4Y4= + public regular hwWIBHTi29w+6bJar0PyQvwnZWw= @@ -6013,6 +6172,7 @@ record Pjf6KqCPylu2b46BR/wONC7VjWU= + public regular 7v/tytUkZe7COeYW1bbrzC9LRio= struct @@ -6040,6 +6200,7 @@ record l5pN6etoKup4CUg+bcu1xKLH0TQ= + public regular Pjf6KqCPylu2b46BR/wONC7VjWU= struct @@ -6090,6 +6251,7 @@ record Lu2i8tgrw9I5p6DXmX9LfM8mVSo= + public regular Pjf6KqCPylu2b46BR/wONC7VjWU= struct @@ -6125,6 +6287,7 @@ record 5Sz5l6GKNl23KxxZFfhqy7YgES0= + public regular Lu2i8tgrw9I5p6DXmX9LfM8mVSo= struct @@ -6149,6 +6312,7 @@ record Aj9j+drHHvowKlbxWQ6lW8Fl0rA= + public regular Lu2i8tgrw9I5p6DXmX9LfM8mVSo= struct @@ -6199,6 +6363,7 @@ record yPCRvP9B34hMThomBKlaCzkFM54= + public regular Lu2i8tgrw9I5p6DXmX9LfM8mVSo= struct @@ -6231,6 +6396,7 @@ function F7pj6JDH9H4/SWPMvDhp5qkE54M= + public regular Lu2i8tgrw9I5p6DXmX9LfM8mVSo= @@ -6254,6 +6420,7 @@ function WQNriRYCsA5OMkiQoqrMlzbC990= + public regular Pjf6KqCPylu2b46BR/wONC7VjWU= @@ -6277,6 +6444,7 @@ record OipUIhe/9mIgCedaT6w3xdMAnb0= + public regular 7v/tytUkZe7COeYW1bbrzC9LRio= struct @@ -6327,6 +6495,7 @@ function x6IUm6XNKIu7PBFBBFhX+8fjDiY= + public regular 7v/tytUkZe7COeYW1bbrzC9LRio= @@ -6384,6 +6553,7 @@ record 6gImp3XchQxxpQbqRhUq0szIb+A= + public regular nkoZM9sg9xpibNb1eDSyhqn/Ato= struct @@ -6411,6 +6581,7 @@ record f89EHPCeOKy7zB9suvC7AVQwNHk= + public regular 6gImp3XchQxxpQbqRhUq0szIb+A= struct @@ -6461,6 +6632,7 @@ record JnRKKJOV9sM2/Wi7ytI5OenLTcs= + public regular 6gImp3XchQxxpQbqRhUq0szIb+A= struct @@ -6498,6 +6670,7 @@ record RK410huBsKvtBfnloh7nxNTsrmA= + public regular JnRKKJOV9sM2/Wi7ytI5OenLTcs= struct @@ -6522,6 +6695,7 @@ record DWQYigctrt98IiK0iwD/f5A92cI= + public regular JnRKKJOV9sM2/Wi7ytI5OenLTcs= struct @@ -6573,6 +6747,7 @@ record J3UZDljdSJ1mGU9Js0JpA3TjVtc= + public regular JnRKKJOV9sM2/Wi7ytI5OenLTcs= struct @@ -6616,6 +6791,7 @@ record cV4O7e/J4xug1ZmsOQKwDVjE99M= + public regular JnRKKJOV9sM2/Wi7ytI5OenLTcs= struct @@ -6663,6 +6839,7 @@ function yEKI9aB0zN7ix7cfYpPWvZMxJnw= + public regular JnRKKJOV9sM2/Wi7ytI5OenLTcs= @@ -6686,6 +6863,7 @@ function B8ooeOwYxxkXsZKKq+FKmDR88f0= + public regular 6gImp3XchQxxpQbqRhUq0szIb+A= @@ -6709,6 +6887,7 @@ record fUPoYhU5UIcUerJv8OMQMiEWtfU= + public regular nkoZM9sg9xpibNb1eDSyhqn/Ato= struct @@ -6759,6 +6938,7 @@ function HGOi9jg5kA0498DhhZWqajVngFE= + public regular nkoZM9sg9xpibNb1eDSyhqn/Ato= @@ -6817,6 +6997,7 @@ record o00NNFGC28+7Dvmb3/cTyVzCRvQ= + public regular eiJusMAs3cvoF4DWqUBlAfXzYcA= struct @@ -6847,6 +7028,7 @@ record camC/bDL1+gedizXtv+BQXm3/4s= + public regular eiJusMAs3cvoF4DWqUBlAfXzYcA= struct @@ -6898,6 +7080,7 @@ function 8EcOY24uh+c5ZuUim+J+NMoqDOQ= + public regular eiJusMAs3cvoF4DWqUBlAfXzYcA= @@ -6956,6 +7139,7 @@ record XKSdNXUZ0e+FReoXOI4yAC6LBDQ= + public regular pxo3Lx5X+FdLdaGOmXmAiuNVQME= struct @@ -6980,6 +7164,7 @@ record MoHYU9ImAUNH5QobwugA5LN9DBQ= + public regular pxo3Lx5X+FdLdaGOmXmAiuNVQME= struct @@ -7030,6 +7215,7 @@ record dO93MwJZmA5Fpzul37ZMH6F1ong= + public regular pxo3Lx5X+FdLdaGOmXmAiuNVQME= struct @@ -7062,6 +7248,7 @@ function p4KEBJUJ+Mr75PasgEdMml3A0+A= + public regular pxo3Lx5X+FdLdaGOmXmAiuNVQME= @@ -7125,6 +7312,7 @@ record yY+X2/Fqu8ENz37/HFEJCBOSfVg= + public regular nJGs54s6oYf7fHzIpo0tyaCSH9M= struct @@ -7150,6 +7338,7 @@ record 5pMsyGC09WFCpWuQKcGtioRlb5Y= + public regular nJGs54s6oYf7fHzIpo0tyaCSH9M= struct @@ -7200,6 +7389,7 @@ function qS0LbdI34V5nviXbrQbdS1lCo1g= + public regular nJGs54s6oYf7fHzIpo0tyaCSH9M= @@ -7260,6 +7450,7 @@ record acxje4ZpfatuwoQZl1hZ9D/KHM4= + public regular MUilGFE5YvyMgRjHIcQZ38yyl2c= struct @@ -7284,6 +7475,7 @@ record fJLNRIc/VqJctXPlhGCD5XwmXKg= + public regular MUilGFE5YvyMgRjHIcQZ38yyl2c= struct @@ -7335,6 +7527,7 @@ record NnzxSBCBz0/s6OkCTTL/yDO06Go= + public regular MUilGFE5YvyMgRjHIcQZ38yyl2c= struct @@ -7378,6 +7571,7 @@ record umZ8gPZZ+qTWuYY3zYO/hx1XCGI= + public regular MUilGFE5YvyMgRjHIcQZ38yyl2c= struct @@ -7425,6 +7619,7 @@ function 7Fhe0DKsIelNVuC32GIw7+LNURg= + public regular MUilGFE5YvyMgRjHIcQZ38yyl2c= @@ -7483,6 +7678,7 @@ record yAgJODUxUtNlmUvwjJFy8uTsQME= + public regular WK6dfZ+3VdrJbp4Egq7SCGyoAF8= struct @@ -7507,6 +7703,7 @@ record svdEQOjjswR4ileGG8pU+ldVtFk= + public regular WK6dfZ+3VdrJbp4Egq7SCGyoAF8= struct @@ -7557,6 +7754,7 @@ record lmGGu3RmJh5DZfXs5nd811FPf14= + public regular WK6dfZ+3VdrJbp4Egq7SCGyoAF8= struct @@ -7596,6 +7794,7 @@ record w4IHOtNv5zozrqG240cCIM/ceiU= + public regular lmGGu3RmJh5DZfXs5nd811FPf14= struct @@ -7621,6 +7820,7 @@ function ZlQDFmYDY0CqAw3CFoQKBQwjPn4= + public regular lmGGu3RmJh5DZfXs5nd811FPf14= @@ -7644,6 +7844,7 @@ function cJsBKAiYFwG6lI+NjH5CwejBLr4= + public regular WK6dfZ+3VdrJbp4Egq7SCGyoAF8= @@ -7702,6 +7903,7 @@ record CToVG+Nxp/obngx4xEPXSkKc6ec= + public regular oj8XjM2vuWbeoc2sBpfsIoleCao= struct @@ -7726,6 +7928,7 @@ record ROVvQTAm3IUCI9Z+u5p6znhCXIM= + public regular oj8XjM2vuWbeoc2sBpfsIoleCao= struct @@ -7776,6 +7979,7 @@ record I29LgIfKHs2KVKydoPZ2XncISyM= + public regular oj8XjM2vuWbeoc2sBpfsIoleCao= struct @@ -7809,6 +8013,7 @@ record JQyJB8YSN2kw6hjQe1bBwKlHuJ4= + public regular I29LgIfKHs2KVKydoPZ2XncISyM= struct @@ -7842,6 +8047,7 @@ record ExhHzwlrMNSfv2bLNPrl3Ts+Nvk= + public regular JQyJB8YSN2kw6hjQe1bBwKlHuJ4= struct @@ -7893,6 +8099,7 @@ function VDmoFK1cJeUnWAQxYAoG+ipxBV8= + public regular JQyJB8YSN2kw6hjQe1bBwKlHuJ4= @@ -7916,6 +8123,7 @@ function M5V9ddQpexRbUHZGzxlaYkczsIU= + public regular I29LgIfKHs2KVKydoPZ2XncISyM= @@ -7939,6 +8147,7 @@ function hQ+oG9vciFs+KwvLEeCE7WWRZE0= + public regular oj8XjM2vuWbeoc2sBpfsIoleCao= @@ -7997,6 +8206,7 @@ record m95euF404cXorkuumA4YL7rf/M4= + public regular niyoFejCRrpY1Aa9GHwGMnaDfsQ= struct @@ -8021,6 +8231,7 @@ record t1Qlkn8HaE31JtoPhBd1DqNaK54= + public regular niyoFejCRrpY1Aa9GHwGMnaDfsQ= struct @@ -8071,6 +8282,7 @@ record wpJv75dxyLgHOdHJsb50f1IIDVc= + public regular niyoFejCRrpY1Aa9GHwGMnaDfsQ= struct @@ -8104,6 +8316,7 @@ record eSNDaVdF6Ls1X50hIBbC2/ZrfXc= + public regular wpJv75dxyLgHOdHJsb50f1IIDVc= struct @@ -8133,6 +8346,7 @@ record vfK1DPDpK0avS7QO2IsoINEq6hw= + public regular eSNDaVdF6Ls1X50hIBbC2/ZrfXc= struct @@ -8184,6 +8398,7 @@ record 3eTbiMMR3GPY7/xRty3EmJ9bdQU= + public regular eSNDaVdF6Ls1X50hIBbC2/ZrfXc= struct @@ -8227,6 +8442,7 @@ record pbmVOgtPeZtTL7BQG/AM7NVsNdo= + public regular eSNDaVdF6Ls1X50hIBbC2/ZrfXc= struct @@ -8274,6 +8490,7 @@ function k6XRmHNKFO3DuTbVZ/jakKefbI4= + public regular eSNDaVdF6Ls1X50hIBbC2/ZrfXc= @@ -8297,6 +8514,7 @@ function wRe5wKQpkh33p1oRAeIdiCcipWE= + public regular wpJv75dxyLgHOdHJsb50f1IIDVc= @@ -8320,6 +8538,7 @@ function WxHie89cv3o9ybAEURwAW/nkF8c= + public regular niyoFejCRrpY1Aa9GHwGMnaDfsQ= @@ -8377,6 +8596,7 @@ record mAjvoVYFGHUEtQCq4FWGGMMxH1s= + public regular c7NNZfjOZ8Ztuw0u26xL/h7UKvA= struct @@ -8410,6 +8630,7 @@ record 96AKnFS/OwIoVISFMJoJhA0YXIU= + public regular mAjvoVYFGHUEtQCq4FWGGMMxH1s= struct @@ -8461,6 +8682,7 @@ function 5O/Uisi+wk+iNU2d86KQ78VKmXs= + public regular mAjvoVYFGHUEtQCq4FWGGMMxH1s= @@ -8484,6 +8706,7 @@ record ySgtQ6cLT4QxgOy9pXpcRhuRj3A= + public regular c7NNZfjOZ8Ztuw0u26xL/h7UKvA= struct @@ -8534,6 +8757,7 @@ function KwtZHhEOKc1Y7x9/3RaMuc0jSAQ= + public regular c7NNZfjOZ8Ztuw0u26xL/h7UKvA= @@ -8592,6 +8816,7 @@ record oVLW+4nkn0j9ObUhnIa4DMKY/kE= + public regular FREf1tucqdONQ71W3hB/Sf/Fbw4= struct @@ -8616,6 +8841,7 @@ record fwkbAJn4bwLVQhZizPOq/sf5LQs= + public regular FREf1tucqdONQ71W3hB/Sf/Fbw4= struct @@ -8666,6 +8892,7 @@ record RFQpd+7V+unGQTgk13maA1YEoyY= + public regular FREf1tucqdONQ71W3hB/Sf/Fbw4= struct @@ -8699,6 +8926,7 @@ record oosblLoO9PeSiNyXVDJFFvMU0K4= + public regular RFQpd+7V+unGQTgk13maA1YEoyY= struct @@ -8726,6 +8954,7 @@ record w5EzxR7VXcWh8IwwCTwF2DmD6HY= + public regular oosblLoO9PeSiNyXVDJFFvMU0K4= struct @@ -8776,6 +9005,7 @@ record VxqDdgdkcw8E86ZiNolpXLlhyWs= + public regular oosblLoO9PeSiNyXVDJFFvMU0K4= struct @@ -8808,6 +9038,7 @@ function Ke2zPAmT+7re6NcSIx0HrVAWtbQ= + public regular oosblLoO9PeSiNyXVDJFFvMU0K4= @@ -8831,6 +9062,7 @@ function eWIS1JspwXf4VFbeC250nOaW8DQ= + public regular RFQpd+7V+unGQTgk13maA1YEoyY= @@ -8854,6 +9086,7 @@ function sVuDyryz5zU8wOhK3dlSYmZU5CE= + public regular FREf1tucqdONQ71W3hB/Sf/Fbw4= @@ -8912,6 +9145,7 @@ record LG1bMk2cI8hV4lWJVykhw6PCrNc= + public regular nuqq8wSa/4T9E2xaPl/SzBPbekM= struct @@ -8936,6 +9170,7 @@ record tpjDVYdBSPTndP8VDazRf6/8meo= + public regular nuqq8wSa/4T9E2xaPl/SzBPbekM= struct @@ -8986,6 +9221,7 @@ record IhITMrVguwgsTFnxWSalhrn5lnw= + public regular nuqq8wSa/4T9E2xaPl/SzBPbekM= struct @@ -9019,6 +9255,7 @@ record Fw48V8nmSkOhCwPsm1XbxRqPDn0= + public regular IhITMrVguwgsTFnxWSalhrn5lnw= struct @@ -9046,6 +9283,7 @@ record lQaOnq1H6h180eqz6xbidShIrdA= + public regular Fw48V8nmSkOhCwPsm1XbxRqPDn0= struct @@ -9096,6 +9334,7 @@ record NkmHmT5oAR5xJObAVl4zdPrTJPk= + public regular Fw48V8nmSkOhCwPsm1XbxRqPDn0= struct @@ -9136,6 +9375,7 @@ record 3sBLDynoSyGl1xzXtqGZlO/q6dA= + public regular NkmHmT5oAR5xJObAVl4zdPrTJPk= struct @@ -9161,6 +9401,7 @@ record i37LIAL4s3bszXAkCCOEqZEiWm8= + public regular NkmHmT5oAR5xJObAVl4zdPrTJPk= struct @@ -9211,6 +9452,7 @@ function FHki6wfLc2cVbKaSJZQ0J/kMrFo= + public regular NkmHmT5oAR5xJObAVl4zdPrTJPk= @@ -9234,6 +9476,7 @@ function xKUVVd6fzFIwXuQJL2uv/je3C8U= + public regular Fw48V8nmSkOhCwPsm1XbxRqPDn0= @@ -9257,6 +9500,7 @@ function Of4ksZ/82qBZ8faycsAMuRTZk/w= + public regular IhITMrVguwgsTFnxWSalhrn5lnw= @@ -9280,6 +9524,7 @@ function vmcPpW2nEdzEJBR3lq8IYcZgp/A= + public regular nuqq8wSa/4T9E2xaPl/SzBPbekM= @@ -9338,6 +9583,7 @@ record sfl4idQ3XqqjqsGVqx42d8FOaro= + public regular MyTy/GXkOXKOTiJVqHAVVvaU4es= struct @@ -9362,6 +9608,7 @@ record MTJJE+UTS9FHxIdoox7q++4JZsM= + public regular MyTy/GXkOXKOTiJVqHAVVvaU4es= struct @@ -9412,6 +9659,7 @@ record +J66oroZ92MSPf/1vk3672IXQRM= + public regular MyTy/GXkOXKOTiJVqHAVVvaU4es= struct @@ -9445,6 +9693,7 @@ record CWcmlxIs9QnjmES2Cgjlon6OI7w= + public regular +J66oroZ92MSPf/1vk3672IXQRM= struct @@ -9472,6 +9721,7 @@ record WLA6nHwh9KxFHIJwkS99a51Xyko= + public regular CWcmlxIs9QnjmES2Cgjlon6OI7w= struct @@ -9522,6 +9772,7 @@ record 3jBuzbuFB0fvpQa1ETvIXevGH2w= + public regular CWcmlxIs9QnjmES2Cgjlon6OI7w= struct @@ -9557,6 +9808,7 @@ record 7Jcjk4Lbfc4kwJznX3cZjXNHpWk= + public regular 3jBuzbuFB0fvpQa1ETvIXevGH2w= struct @@ -9587,6 +9839,7 @@ record KChFuNDElPROHklvCtkJ+O4+io8= + public regular 3jBuzbuFB0fvpQa1ETvIXevGH2w= struct @@ -9638,6 +9891,7 @@ function PRpDe6JxVNh4nb7miNLK+J4NyBs= + public regular 3jBuzbuFB0fvpQa1ETvIXevGH2w= @@ -9661,6 +9915,7 @@ function ERePVxBavpYklZW1095eFijAzyo= + public regular CWcmlxIs9QnjmES2Cgjlon6OI7w= @@ -9684,6 +9939,7 @@ function IjwNsbTnmvUUOE6c1avVudG7BPo= + public regular +J66oroZ92MSPf/1vk3672IXQRM= @@ -9707,6 +9963,7 @@ function 0JoCfsJh02aIFVEgGdn5b6kIfBE= + public regular MyTy/GXkOXKOTiJVqHAVVvaU4es= @@ -9765,6 +10022,7 @@ record jhii04LwtzP2xeX9VvJ1vkHi96E= + public regular a69mw641E3cHVf6ovpLtJxTpmps= struct @@ -9789,6 +10047,7 @@ record MbQ51g7F4DNybKeSijW6A6+Py8E= + public regular a69mw641E3cHVf6ovpLtJxTpmps= struct @@ -9839,6 +10098,7 @@ record fpqbvQR9NuaJY4fq9LHbiAsZKzw= + public regular a69mw641E3cHVf6ovpLtJxTpmps= struct @@ -9872,6 +10132,7 @@ record zcC98n6b6xzVSJI0qlmjgV7wC4o= + public regular fpqbvQR9NuaJY4fq9LHbiAsZKzw= struct @@ -9899,6 +10160,7 @@ record i5c0yET+iPN3LFNMF/gwxTd2pSk= + public regular zcC98n6b6xzVSJI0qlmjgV7wC4o= struct @@ -9949,6 +10211,7 @@ record r7aMtw1PqhcjWuGFP7pwiW2v0ks= + public regular zcC98n6b6xzVSJI0qlmjgV7wC4o= struct @@ -9986,6 +10249,7 @@ record CS/7AtaJ5KeKtA/s2xnAgctdhCE= + public regular r7aMtw1PqhcjWuGFP7pwiW2v0ks= struct @@ -10010,6 +10274,7 @@ record XZQjC+vy5ZHIMKQ5ib7EqS1pU24= + public regular r7aMtw1PqhcjWuGFP7pwiW2v0ks= struct @@ -10061,6 +10326,7 @@ record hwfbdkFRNunC/3V+s6HA5BwWiSQ= + public regular r7aMtw1PqhcjWuGFP7pwiW2v0ks= struct @@ -10104,6 +10370,7 @@ record CvFJnK9Xu7B2Fbh91NqM0+gKVEU= + public regular r7aMtw1PqhcjWuGFP7pwiW2v0ks= struct @@ -10151,6 +10418,7 @@ function KrK+9nkR4h4eiQEFo/GgzdFR0jE= + public regular r7aMtw1PqhcjWuGFP7pwiW2v0ks= @@ -10174,6 +10442,7 @@ function n1dNaz9okSE0T7t4QZY0RXNA62A= + public regular zcC98n6b6xzVSJI0qlmjgV7wC4o= @@ -10197,6 +10466,7 @@ function EdyFVm0ykK3NCJxIiQhOuJ51n0E= + public regular fpqbvQR9NuaJY4fq9LHbiAsZKzw= @@ -10220,6 +10490,7 @@ function MM35lzfSA81vvD31+lhSPgusPVM= + public regular a69mw641E3cHVf6ovpLtJxTpmps= @@ -10277,6 +10548,7 @@ record 709lyZwEiIBHmnH6StkYFJ+CdtU= + public regular oXfsqUlMzPbEZZJ7K+iZYQj3wko= struct @@ -10304,6 +10576,7 @@ record Cc0mRYlhWpgycSGkK7WePuPT7hE= + public regular 709lyZwEiIBHmnH6StkYFJ+CdtU= struct @@ -10354,6 +10627,7 @@ record 8snJ9gp5ca88/AsWGEnFe6Ln6RQ= + public regular 709lyZwEiIBHmnH6StkYFJ+CdtU= struct @@ -10386,6 +10660,7 @@ function +FNNWeksNjExb7Yll0auYGtEtL8= + public regular 709lyZwEiIBHmnH6StkYFJ+CdtU= @@ -10409,6 +10684,7 @@ record Qiu5RA/uiY+Qq/uITWh8gZDl09s= + public regular oXfsqUlMzPbEZZJ7K+iZYQj3wko= struct @@ -10459,6 +10735,7 @@ function WcxbiuS6xk05fAxP3nrYhfXXjOI= + public regular oXfsqUlMzPbEZZJ7K+iZYQj3wko= @@ -10517,6 +10794,7 @@ record lTVuthrZypwbNFQmSwD5A+GPxkk= + public regular uoCdOuqB1v1s6rvl4wDWcLrD4LA= struct @@ -10541,6 +10819,7 @@ record /7HGQwWirqFWT+sfif66EM4XDWY= + public regular uoCdOuqB1v1s6rvl4wDWcLrD4LA= struct @@ -10591,6 +10870,7 @@ record j53XjxydcG+wI0iK3mM8/acK5rY= + public regular uoCdOuqB1v1s6rvl4wDWcLrD4LA= struct @@ -10624,6 +10904,7 @@ record c68+fcTp+SPAEXyf+mHRUULqSwU= + public regular j53XjxydcG+wI0iK3mM8/acK5rY= struct @@ -10651,6 +10932,7 @@ record SkuJEV5Urlw9+2JP4u2d89sySxc= + public regular c68+fcTp+SPAEXyf+mHRUULqSwU= struct @@ -10701,6 +10983,7 @@ record J7tgsUhd+qpsq/85qkEgF1l14uk= + public regular c68+fcTp+SPAEXyf+mHRUULqSwU= struct @@ -10736,6 +11019,7 @@ record sw7s/ZGAiU2YPilewUBphRtHzJE= + public regular J7tgsUhd+qpsq/85qkEgF1l14uk= struct @@ -10760,6 +11044,7 @@ record vh1pnm0rrDrR7KEDjTsvkyCZpmk= + public regular J7tgsUhd+qpsq/85qkEgF1l14uk= struct @@ -10810,6 +11095,7 @@ record 8PQtbs9xGpu1L+b0VOqfLlE6TnY= + public regular J7tgsUhd+qpsq/85qkEgF1l14uk= struct @@ -10842,6 +11128,7 @@ function 8BsWxDSWjQPObBD1lHi1PhOvSok= + public regular J7tgsUhd+qpsq/85qkEgF1l14uk= @@ -10865,6 +11152,7 @@ function d35dZd0PoNHWeWKzMMqMNGyPJIk= + public regular c68+fcTp+SPAEXyf+mHRUULqSwU= @@ -10888,6 +11176,7 @@ function 2jXEaf0MU38HzvGajpp7MmuAZ6U= + public regular j53XjxydcG+wI0iK3mM8/acK5rY= @@ -10911,6 +11200,7 @@ function E0QQHdN0Iau6v+NyL5rsEm2ikeE= + public regular uoCdOuqB1v1s6rvl4wDWcLrD4LA= @@ -10968,6 +11258,7 @@ record OHtykpXPLoa0xO0Dw3P7uAImGWI= + public regular flxREiXFL5ObY0xUAxojj+jvR54= struct @@ -10997,6 +11288,7 @@ record TIdvQT1/SnDhh51ggGvABG3pR/A= + public regular OHtykpXPLoa0xO0Dw3P7uAImGWI= struct @@ -11048,6 +11340,7 @@ record eWg27/kfn86dUmPA26mcOo6kkfs= + public regular OHtykpXPLoa0xO0Dw3P7uAImGWI= struct @@ -11091,6 +11384,7 @@ record ZyL4aBHmvCmfq+HyxDSySKwRsdA= + public regular OHtykpXPLoa0xO0Dw3P7uAImGWI= struct @@ -11138,6 +11432,7 @@ function 7KdBX5zEl2LQ4HyUjwS94i+QrTQ= + public regular OHtykpXPLoa0xO0Dw3P7uAImGWI= @@ -11161,6 +11456,7 @@ record XIHF6Im4J5Yw0dYbehnXXQwDdjk= + public regular flxREiXFL5ObY0xUAxojj+jvR54= struct @@ -11211,6 +11507,7 @@ function Kg0p1xSLyLmWemst8ZeO3wFK56Y= + public regular flxREiXFL5ObY0xUAxojj+jvR54= @@ -11268,6 +11565,7 @@ record uoWeOq9HHkUSZZj7t+ilmBmv3N8= + public regular o06yQpJHyCkZyFI44/nN8/tpgT8= struct @@ -11295,6 +11593,7 @@ record vycCuI8tFTO2XzFK982RELdJtik= + public regular uoWeOq9HHkUSZZj7t+ilmBmv3N8= struct @@ -11345,6 +11644,7 @@ record zpDyI51RjdguXF8/9KXFrICQwEc= + public regular uoWeOq9HHkUSZZj7t+ilmBmv3N8= struct @@ -11385,6 +11685,7 @@ record OuyCzwMT3B0xth9oee9dTlGkXVw= + public regular zpDyI51RjdguXF8/9KXFrICQwEc= struct @@ -11410,6 +11711,7 @@ record LWqz4rXaiDuM3Pahx88MykZZO9I= + public regular zpDyI51RjdguXF8/9KXFrICQwEc= struct @@ -11460,6 +11762,7 @@ function U3UO/3IhQR4/Q8lDNCFrbFAfiYc= + public regular zpDyI51RjdguXF8/9KXFrICQwEc= @@ -11483,6 +11786,7 @@ function 7vVh0IOJS0he8/krIfs50SAl0X4= + public regular uoWeOq9HHkUSZZj7t+ilmBmv3N8= @@ -11506,6 +11810,7 @@ record dFsG0X1P6Tx3hNcuZ3zkjFvRAjg= + public regular o06yQpJHyCkZyFI44/nN8/tpgT8= struct @@ -11556,6 +11861,7 @@ function C2OfmMrOoj9kLOIz4Xl7/jX9SF0= + public regular o06yQpJHyCkZyFI44/nN8/tpgT8= @@ -11665,6 +11971,7 @@ record gCtb2dXrFOJZr+D3olVozhWHsfk= + public regular Wu710hbNOx84LbfjQUEgqKkZ2dA= struct @@ -11692,6 +11999,7 @@ record cAbW+A71ZucFEdutIxvQsMrRZfo= + public regular gCtb2dXrFOJZr+D3olVozhWHsfk= struct @@ -11742,6 +12050,7 @@ record tcws+2wcXL0FEmvv7ZVXvxSkAaI= + public regular gCtb2dXrFOJZr+D3olVozhWHsfk= struct @@ -11785,6 +12094,7 @@ record p6fsvQWRFPREuEHQiwv+xc/06nE= + public regular tcws+2wcXL0FEmvv7ZVXvxSkAaI= struct @@ -11809,6 +12119,7 @@ record dgnsEZRrgKjkRc2mMZu4n+Thg5Q= + public regular tcws+2wcXL0FEmvv7ZVXvxSkAaI= struct @@ -11860,6 +12171,7 @@ function JK68a02L8lf5rdAoU2Fn1//XKPo= + public regular tcws+2wcXL0FEmvv7ZVXvxSkAaI= @@ -11883,6 +12195,7 @@ function sM/INx8vioY0BEfKReMBuXm2HBY= + public regular gCtb2dXrFOJZr+D3olVozhWHsfk= @@ -11906,6 +12219,7 @@ record 2Rq4N3puoKp2QK24IubTKoiTfq8= + public regular Wu710hbNOx84LbfjQUEgqKkZ2dA= struct @@ -11956,6 +12270,7 @@ function 9jg1NFcwLuCMIlOGSPvpf8kTo6I= + public regular Wu710hbNOx84LbfjQUEgqKkZ2dA= @@ -12022,6 +12337,7 @@ record cGWeDtBrKQollzB0qm7B9OTac+M= + public regular zYIKjNzi/kYNKvtrTXu8BhQTFt8= struct @@ -12049,6 +12365,7 @@ record 7ApgPzN0o+KiX+h1Nt7kpUam/fk= + public regular cGWeDtBrKQollzB0qm7B9OTac+M= struct @@ -12099,6 +12416,7 @@ record Xes4IqvFnQoGkxPlP4C4wtbjqxQ= + public regular cGWeDtBrKQollzB0qm7B9OTac+M= struct @@ -12143,6 +12461,7 @@ record KxH5DjtSj5DEteXEQKvnnGIKd1Q= + public regular Xes4IqvFnQoGkxPlP4C4wtbjqxQ= struct @@ -12167,6 +12486,7 @@ record CHRZtPEkA7kslbQF1GY7Gmxte3Y= + public regular Xes4IqvFnQoGkxPlP4C4wtbjqxQ= struct @@ -12218,6 +12538,7 @@ function v1PzqmCVJCqo5vQoiAwHdmaDors= + public regular Xes4IqvFnQoGkxPlP4C4wtbjqxQ= @@ -12241,6 +12562,7 @@ function /F0xQ8CkYuPSsF+C7kU6Hq4vBoc= + public regular cGWeDtBrKQollzB0qm7B9OTac+M= @@ -12264,6 +12586,7 @@ record Nojg2jsXai1iAFP9hsJPlC9tFI8= + public regular zYIKjNzi/kYNKvtrTXu8BhQTFt8= struct @@ -12314,6 +12637,7 @@ function ucTI0a5I6c+mUNdSQ9uEo8SHcC0= + public regular zYIKjNzi/kYNKvtrTXu8BhQTFt8= @@ -12380,6 +12704,7 @@ record GznvBx9oA37GPuoz+kPaL75Zrjc= + public regular ANhUz0/2S6fRsXsZFhXPTPyPfAE= struct @@ -12407,6 +12732,7 @@ record gdFNVKv7I0ihKVjLeuz6GIMd5Q0= + public regular GznvBx9oA37GPuoz+kPaL75Zrjc= struct @@ -12457,6 +12783,7 @@ record OsUzyKi8NDCZFI1r1y4+Ki/4H0s= + public regular GznvBx9oA37GPuoz+kPaL75Zrjc= struct @@ -12501,6 +12828,7 @@ record UJmcVTa6Q9SnE8MBzVgHK8jLUHg= + public regular OsUzyKi8NDCZFI1r1y4+Ki/4H0s= struct @@ -12525,6 +12853,7 @@ record sTA4/H21kP6LPe77SqrI73H6zDA= + public regular OsUzyKi8NDCZFI1r1y4+Ki/4H0s= struct @@ -12576,6 +12905,7 @@ function j3/ONreNlLZw2kJhM+NP0uenvFM= + public regular OsUzyKi8NDCZFI1r1y4+Ki/4H0s= @@ -12599,6 +12929,7 @@ function YQDcNZ1zulU+hPdNVZulbfgVCyw= + public regular GznvBx9oA37GPuoz+kPaL75Zrjc= @@ -12622,6 +12953,7 @@ record GDPrCGIY2hnM7cbCaFUOmm2wshE= + public regular ANhUz0/2S6fRsXsZFhXPTPyPfAE= struct @@ -12672,6 +13004,7 @@ function 0MKfZq7R9Aq9aiL1AC64igXi3CI= + public regular ANhUz0/2S6fRsXsZFhXPTPyPfAE= @@ -12738,6 +13071,7 @@ record rWuMv5WTv4dyM17MMm+5Z+5mYms= + public regular UUBd87/k0jse5896L03eJ4N0l+c= struct @@ -12762,6 +13096,7 @@ record +mrn5TAPBw5Ly6qXobQ1L41PIgQ= + public regular UUBd87/k0jse5896L03eJ4N0l+c= struct @@ -12813,6 +13148,7 @@ function svewSfOd2nUBZzGQEKQl0cT2aPE= + public regular UUBd87/k0jse5896L03eJ4N0l+c= @@ -12880,6 +13216,7 @@ record 01kpyRVWFqRqOFsaZYkbMogWtPo= + public regular AhWlDEmWhkTeQuWWCaZwMGCG5HQ= struct @@ -12904,6 +13241,7 @@ record jsvmsDChIjbJL9NiOfViZSJnAjY= + public regular AhWlDEmWhkTeQuWWCaZwMGCG5HQ= struct @@ -12955,6 +13293,7 @@ function UbssWKiKA2XCn+KOXE4lp7iGdzQ= + public regular AhWlDEmWhkTeQuWWCaZwMGCG5HQ= @@ -13021,6 +13360,7 @@ record yiTNiZbPnfj9SDdT8k1YKmjW68g= + public regular PA+4gdvi0ChhszyGuOL6zlYXHpk= struct @@ -13048,6 +13388,7 @@ record boLQk9sIyBQTBaPhSeSLjkGr51k= + public regular yiTNiZbPnfj9SDdT8k1YKmjW68g= struct @@ -13098,6 +13439,7 @@ function boc7yC4tWsGrT4a762yRiFkFe3E= + public regular yiTNiZbPnfj9SDdT8k1YKmjW68g= @@ -13121,6 +13463,7 @@ record gL1/NnHh2HYS9OB5keD9fU12dSo= + public regular PA+4gdvi0ChhszyGuOL6zlYXHpk= struct @@ -13171,6 +13514,7 @@ function 4/0nNUnS+aKTLkNic02JvmAYN8w= + public regular PA+4gdvi0ChhszyGuOL6zlYXHpk= @@ -13238,6 +13582,7 @@ record fGVNLPQ3MMrnwX04ymPQlkujFTU= + public regular A9DWlv0rbuFs3A9eHqZTaJDN7Uk= struct @@ -13262,6 +13607,7 @@ record yoz58B5jOuyETge5TB/Gq0sww/s= + public regular A9DWlv0rbuFs3A9eHqZTaJDN7Uk= struct @@ -13313,6 +13659,7 @@ function SI6fCmHpjXt1eDUQcdjtWNvw+kI= + public regular A9DWlv0rbuFs3A9eHqZTaJDN7Uk= @@ -13380,6 +13727,7 @@ record b/ObiarHd7/3VFD3w5j3+B1ESLU= + public regular x7MfNbWaSdnUCRBlHt+nSvOlEPw= struct @@ -13404,6 +13752,7 @@ record NCeRVwwum78r2U1ltYyxR8L2w1E= + public regular x7MfNbWaSdnUCRBlHt+nSvOlEPw= struct @@ -13454,6 +13803,7 @@ record +YuAVlOefcnfZIU1wckNM7lfNaA= + public regular x7MfNbWaSdnUCRBlHt+nSvOlEPw= struct @@ -13496,6 +13846,7 @@ record ESA+jWIqD6n9bgbcE+2k+r76ElE= + public regular +YuAVlOefcnfZIU1wckNM7lfNaA= struct @@ -13523,6 +13874,7 @@ record Qi1L025HS2xzUSVM/EdHO3S86T8= + public regular ESA+jWIqD6n9bgbcE+2k+r76ElE= struct @@ -13573,6 +13925,7 @@ function 3sJu+IqldeGkloa8X4vNDJFmKEQ= + public regular ESA+jWIqD6n9bgbcE+2k+r76ElE= @@ -13596,6 +13949,7 @@ function deCReqMCMZ5o+J9gqrHth9Wy1Es= + public regular +YuAVlOefcnfZIU1wckNM7lfNaA= @@ -13619,6 +13973,7 @@ function bgKQbkZimRWN+9DAu9D4f7oEGV4= + public regular x7MfNbWaSdnUCRBlHt+nSvOlEPw= @@ -13686,6 +14041,7 @@ record n4hlCG4vxyjaMc8kMpGE14UyogA= + public regular Up/SfnuYTQw+Y6klSO3f5z86DOY= struct @@ -13710,6 +14066,7 @@ record UQEIeTWOsCvViISUDQjHQsKXKEE= + public regular Up/SfnuYTQw+Y6klSO3f5z86DOY= struct @@ -13760,6 +14117,7 @@ record XLAZYk894KbFFFIzJpR6c2Fi870= + public regular Up/SfnuYTQw+Y6klSO3f5z86DOY= struct @@ -13802,6 +14160,7 @@ record ej1LvbYphHq2t9yaXo4D3iiKKN8= + public regular XLAZYk894KbFFFIzJpR6c2Fi870= struct @@ -13828,6 +14187,7 @@ record x+oMV86+KxeHkrtmDX4jZW+PwTk= + public regular ej1LvbYphHq2t9yaXo4D3iiKKN8= struct @@ -13879,6 +14239,7 @@ function pe+fNqI2/HCc7+9hx+x2SXNXUwA= + public regular ej1LvbYphHq2t9yaXo4D3iiKKN8= @@ -13902,6 +14263,7 @@ function vv6Mh6UCpIt7vw3PdpXT2eOk7Tg= + public regular XLAZYk894KbFFFIzJpR6c2Fi870= @@ -13925,6 +14287,7 @@ function iJXyVDuCFsVl1t+hV5SjCNCvaII= + public regular Up/SfnuYTQw+Y6klSO3f5z86DOY= @@ -13992,6 +14355,7 @@ record zTfn5SIG1/BQB4Vz9PrFkzIqCmI= + public regular ByHV/GlyHOt9h6ZVKpsDi/DkBkM= struct @@ -14016,6 +14380,7 @@ record 93+VLxr4uaKDABFrJr8DqishCnQ= + public regular ByHV/GlyHOt9h6ZVKpsDi/DkBkM= struct @@ -14066,6 +14431,7 @@ record 1ro4Sv8wGUNxysGIgXgcl9hcP68= + public regular ByHV/GlyHOt9h6ZVKpsDi/DkBkM= struct @@ -14108,6 +14474,7 @@ record /Iw6bfcamLwq/8bygja2aJQXqVE= + public regular 1ro4Sv8wGUNxysGIgXgcl9hcP68= struct @@ -14135,6 +14502,7 @@ record 0eW+7m0STZ21+XZ3v4lkSVybZJ0= + public regular /Iw6bfcamLwq/8bygja2aJQXqVE= struct @@ -14186,6 +14554,7 @@ function Nl8m6GnygwbQGO3a+eqFjZylM/A= + public regular /Iw6bfcamLwq/8bygja2aJQXqVE= @@ -14209,6 +14578,7 @@ function sQl4L7MS92M2vveFlkZvlOV/oPA= + public regular 1ro4Sv8wGUNxysGIgXgcl9hcP68= @@ -14232,6 +14602,7 @@ function z6YotJ9CmnzyqJ41yK7Ra+fopbM= + public regular ByHV/GlyHOt9h6ZVKpsDi/DkBkM= @@ -14298,6 +14669,7 @@ record jUAs995uvzET3EsGSOVUwR/Ptzc= + public regular kn1OyT1FzAvXXJMp4nKleaEX+5c= struct @@ -14324,6 +14696,7 @@ record 3Hz31SDA9BZgZc5teheYelVphp0= + public regular jUAs995uvzET3EsGSOVUwR/Ptzc= struct @@ -14375,6 +14748,7 @@ function NgX9CxLoQTLVac6OtBsbNcSNcME= + public regular jUAs995uvzET3EsGSOVUwR/Ptzc= @@ -14398,6 +14772,7 @@ record r2RB8PwDCI61PfLPFsx2brM49Ac= + public regular kn1OyT1FzAvXXJMp4nKleaEX+5c= struct @@ -14448,6 +14823,7 @@ function AMQ/ByA794GAhRus8AOu07b33Tg= + public regular kn1OyT1FzAvXXJMp4nKleaEX+5c= @@ -14515,6 +14891,7 @@ record 6s/466DwNZ4E0YDtiYJqR03gjAg= + public regular IbslzK4eUJj1gUsgbS4h/0Axavg= struct @@ -14539,6 +14916,7 @@ record ZVrd+z+aj7kndV8zl/tQD4n2PpI= + public regular IbslzK4eUJj1gUsgbS4h/0Axavg= struct @@ -14589,6 +14967,7 @@ record s40Z8yfzcJnCZSeYYV5sYlFzOxs= + public regular IbslzK4eUJj1gUsgbS4h/0Axavg= struct @@ -14631,6 +15010,7 @@ record 5i4Oz7fFAR9QRQ2ctfC9IaLMH8I= + public regular s40Z8yfzcJnCZSeYYV5sYlFzOxs= struct @@ -14658,6 +15038,7 @@ record /GAHgBYtFNuyluNz/U8S+0bmRSQ= + public regular 5i4Oz7fFAR9QRQ2ctfC9IaLMH8I= struct @@ -14709,6 +15090,7 @@ function qSy8qMv7vuyeun0rwa2i7+4N/w0= + public regular 5i4Oz7fFAR9QRQ2ctfC9IaLMH8I= @@ -14732,6 +15114,7 @@ function stYI2mx3fdFM8h3v5Xyaklh+ErA= + public regular s40Z8yfzcJnCZSeYYV5sYlFzOxs= @@ -14755,6 +15138,7 @@ function gyl1ik0AKbg8uSCDNeqNmWeweQE= + public regular IbslzK4eUJj1gUsgbS4h/0Axavg= @@ -14822,6 +15206,7 @@ record oKYUjNx6J9ekTkwMm5ue92k5Au4= + public regular MYFk6ANWkex8j7vBuMpAqchgYIY= struct @@ -14846,6 +15231,7 @@ record 8vEnMjkS28lfiCf8rbBriqxcO5Y= + public regular MYFk6ANWkex8j7vBuMpAqchgYIY= struct @@ -14896,6 +15282,7 @@ record uE1JLlP4kj18/7anYGDOOUyNK5M= + public regular MYFk6ANWkex8j7vBuMpAqchgYIY= struct @@ -14938,6 +15325,7 @@ record FOmk9y+Cw81IBREmsFKS2/xbZEw= + public regular uE1JLlP4kj18/7anYGDOOUyNK5M= struct @@ -14965,6 +15353,7 @@ record SL5VtD+e99bejq70N9+jOCWJkA0= + public regular FOmk9y+Cw81IBREmsFKS2/xbZEw= struct @@ -15015,6 +15404,7 @@ record V/H0waQNmYhkbcgX6kBFOODNK64= + public regular FOmk9y+Cw81IBREmsFKS2/xbZEw= struct @@ -15058,6 +15448,7 @@ record UTUtsfPLhT8t0PfqqpBYR2R6IeA= + public regular V/H0waQNmYhkbcgX6kBFOODNK64= struct @@ -15084,6 +15475,7 @@ function dLKTrZfdhQpgAK1S0l66Tj7if2o= + public regular UTUtsfPLhT8t0PfqqpBYR2R6IeA= @@ -15107,6 +15499,7 @@ record C3y4XMVXMiPK3FyTTBIV1tLNz9M= + public regular V/H0waQNmYhkbcgX6kBFOODNK64= struct @@ -15157,6 +15550,7 @@ function 6TcwPGKK+W3PE75/YLv55OzEi/A= + public regular V/H0waQNmYhkbcgX6kBFOODNK64= @@ -15180,6 +15574,7 @@ function R/FKz/QxHGy4jxNh5iP4wsRDhoU= + public regular FOmk9y+Cw81IBREmsFKS2/xbZEw= @@ -15203,6 +15598,7 @@ function 9SbKKVmtvhC9upM/OzrfC2t8dV4= + public regular uE1JLlP4kj18/7anYGDOOUyNK5M= @@ -15226,6 +15622,7 @@ function U/Fu8CN+iTfaiVuOFc26ahDBCBE= + public regular MYFk6ANWkex8j7vBuMpAqchgYIY= @@ -15293,6 +15690,7 @@ record 5FmKYRFMpfbAvqSrRPpQZHF1NuE= + public regular 1gjCMmREpyWTXEFMqDWbHTY9s+Q= struct @@ -15317,6 +15715,7 @@ record l7G+8vz4XtvP9QMA2Pay6EiAAmc= + public regular 1gjCMmREpyWTXEFMqDWbHTY9s+Q= struct @@ -15367,6 +15766,7 @@ record tZqwapq24sWOnWsHAcGXH/3yX3Y= + public regular 1gjCMmREpyWTXEFMqDWbHTY9s+Q= struct @@ -15409,6 +15809,7 @@ record lOYR3RSOn6EXRgMVOdiUYeA1St0= + public regular tZqwapq24sWOnWsHAcGXH/3yX3Y= struct @@ -15436,6 +15837,7 @@ record gMX/HXKHuwdr3ZUv3Th0+z3Yn0s= + public regular lOYR3RSOn6EXRgMVOdiUYeA1St0= struct @@ -15486,6 +15888,7 @@ record 1YtqF4WYT0uK7amUiCmJVk03Oog= + public regular lOYR3RSOn6EXRgMVOdiUYeA1St0= struct @@ -15529,6 +15932,7 @@ record k9AaqBo71BbsBfJvC8zagAfoRJ8= + public regular 1YtqF4WYT0uK7amUiCmJVk03Oog= struct @@ -15553,6 +15957,7 @@ record Z3kwHhQ9TeFidONs1zwBzesA5Qk= + public regular 1YtqF4WYT0uK7amUiCmJVk03Oog= struct @@ -15604,6 +16009,7 @@ function ZiN2GuZuzwIBJ2u7TMltuIbCH4k= + public regular 1YtqF4WYT0uK7amUiCmJVk03Oog= @@ -15627,6 +16033,7 @@ function btGWH8GuFbEAWESUiKiAeYkimlg= + public regular lOYR3RSOn6EXRgMVOdiUYeA1St0= @@ -15650,6 +16057,7 @@ function Ui54+P4LXLXOsVwvvHvLzgj2TYM= + public regular tZqwapq24sWOnWsHAcGXH/3yX3Y= @@ -15673,6 +16081,7 @@ function 0ILOaAwePGv2L8GkSJc3XNfRjFs= + public regular 1gjCMmREpyWTXEFMqDWbHTY9s+Q= @@ -15740,6 +16149,7 @@ record NLQ1ldoPQ5U1FSx0Ab8ZF4V6wnI= + public regular IG7byGfx+stnhACpeGR2toLyv7U= struct @@ -15764,6 +16174,7 @@ record ZZH7BKff6J0lIPMbz4l4lG/x9Xw= + public regular IG7byGfx+stnhACpeGR2toLyv7U= struct @@ -15814,6 +16225,7 @@ record hpAmCOpzad0YvzIs/nrK1blINCo= + public regular IG7byGfx+stnhACpeGR2toLyv7U= struct @@ -15856,6 +16268,7 @@ record psFAepglqmkBtNBdTg6lzRdenHA= + public regular hpAmCOpzad0YvzIs/nrK1blINCo= struct @@ -15883,6 +16296,7 @@ record ZDCCpKbLnTUygKHcdXArtd9dGLM= + public regular psFAepglqmkBtNBdTg6lzRdenHA= struct @@ -15933,6 +16347,7 @@ record GJK8oH0tb+kOcrLsJD4KLPgW01k= + public regular psFAepglqmkBtNBdTg6lzRdenHA= struct @@ -15977,6 +16392,7 @@ record dD1k1XHEsya/0+XaDOV1rQpVjGc= + public regular GJK8oH0tb+kOcrLsJD4KLPgW01k= struct @@ -16001,6 +16417,7 @@ record /sbl0h6rv808/hLp3t8ImQj/xWI= + public regular GJK8oH0tb+kOcrLsJD4KLPgW01k= struct @@ -16052,6 +16469,7 @@ function I1peKpkItbyZJLRhSXWz9ZLv9XM= + public regular GJK8oH0tb+kOcrLsJD4KLPgW01k= @@ -16075,6 +16493,7 @@ function J91kBbn5207CxEaYbUx30k2zkfk= + public regular psFAepglqmkBtNBdTg6lzRdenHA= @@ -16098,6 +16517,7 @@ function GHQfYAax5Ac22tnBlatuH9UkDLo= + public regular hpAmCOpzad0YvzIs/nrK1blINCo= @@ -16121,6 +16541,7 @@ function sEmDiLyFZrN489MsciDebnecEUg= + public regular IG7byGfx+stnhACpeGR2toLyv7U= @@ -16187,6 +16608,7 @@ record AedlkzTQ3XMtklY5JQNTU9Q693U= + public regular tuaR3CreZXFWLNOiRe6vUMcdi/0= struct @@ -16214,6 +16636,7 @@ record ZVPQu+o+bOETjTeYbQPX3DpZHsI= + public regular AedlkzTQ3XMtklY5JQNTU9Q693U= struct @@ -16265,6 +16688,7 @@ function FCas52GV+t9i8WTg9zQMdKw3qy8= + public regular AedlkzTQ3XMtklY5JQNTU9Q693U= @@ -16288,6 +16712,7 @@ record x4evHZHGuxDX33AZdmaDmPqEUBQ= + public regular tuaR3CreZXFWLNOiRe6vUMcdi/0= struct @@ -16338,6 +16763,7 @@ function UFIUrTz1AhNVnXp36I2CQg9ixr4= + public regular tuaR3CreZXFWLNOiRe6vUMcdi/0= @@ -16405,6 +16831,7 @@ record U0z/ndEFBRPUsRocwKtkeFJARB4= + public regular UpHebkkBv0Q2s1ECAoKTf79hJ0Q= struct @@ -16429,6 +16856,7 @@ record IXEkzvLrMpSwXl5gP+lIgInnSP8= + public regular UpHebkkBv0Q2s1ECAoKTf79hJ0Q= struct @@ -16479,6 +16907,7 @@ record 51FuSsXmA0w505ZBRVkx0q/lmUk= + public regular UpHebkkBv0Q2s1ECAoKTf79hJ0Q= struct @@ -16521,6 +16950,7 @@ record MeilWWlQPSeKS/ejqoeb8fMZVQU= + public regular 51FuSsXmA0w505ZBRVkx0q/lmUk= struct @@ -16548,6 +16978,7 @@ record QT17UXq7NxbmhSdqWIqRBy1Qb/g= + public regular MeilWWlQPSeKS/ejqoeb8fMZVQU= struct @@ -16598,6 +17029,7 @@ record 9PQcUNZCJePNJhT5t0prZNV/lHk= + public regular MeilWWlQPSeKS/ejqoeb8fMZVQU= struct @@ -16642,6 +17074,7 @@ record y8luMpuVeImIqogf4JhqQfKDkmw= + public regular 9PQcUNZCJePNJhT5t0prZNV/lHk= struct @@ -16666,6 +17099,7 @@ record aoYmf5zFdrgPH9Wo0O/CQ5Gm7e8= + public regular 9PQcUNZCJePNJhT5t0prZNV/lHk= struct @@ -16717,6 +17151,7 @@ function l03rKLGOW4AKcXYHLtxb2PpTzq0= + public regular 9PQcUNZCJePNJhT5t0prZNV/lHk= @@ -16740,6 +17175,7 @@ function odTALSD5XhrHnqB65Bl24mMbP3c= + public regular MeilWWlQPSeKS/ejqoeb8fMZVQU= @@ -16763,6 +17199,7 @@ function SbCOlmHxM2JSOc4kKArR7lRcYTU= + public regular 51FuSsXmA0w505ZBRVkx0q/lmUk= @@ -16786,6 +17223,7 @@ function LHz/pAtXgUwDFkq91SaD+POSBrQ= + public regular UpHebkkBv0Q2s1ECAoKTf79hJ0Q= @@ -16852,6 +17290,7 @@ record qbJT920zehI9gqkvbe0x/HrzT00= + public regular IxCiCl8tf7r2/CmQWZiWxFHf7+g= struct @@ -16879,6 +17318,7 @@ record 9BOS99lqNCS5fAcBO02qQ0Z2st8= + public regular qbJT920zehI9gqkvbe0x/HrzT00= struct @@ -16930,6 +17370,7 @@ function fAm4hbV0Td9FyKgjfNXd5vBMN9Q= + public regular qbJT920zehI9gqkvbe0x/HrzT00= @@ -16953,6 +17394,7 @@ record YmolZwhgz1SAGaOGoKIE4JAN0KM= + public regular IxCiCl8tf7r2/CmQWZiWxFHf7+g= struct @@ -17003,6 +17445,7 @@ function lsMH3dD3dKbeUC9Ps78rkbjfPs8= + public regular IxCiCl8tf7r2/CmQWZiWxFHf7+g= @@ -17069,6 +17512,7 @@ record ICgSeUPCz86m25XZTXmGxzgkbhY= + public regular Rh5ZoB5qF98iwmDPqUPnsyKkTcs= struct @@ -17096,6 +17540,7 @@ record 5nVb5siuVRlsyau36E3FYJlBgdA= + public regular ICgSeUPCz86m25XZTXmGxzgkbhY= struct @@ -17146,6 +17591,7 @@ record p3PhPnVydwdupHBMAXlcrNQuiFo= + public regular ICgSeUPCz86m25XZTXmGxzgkbhY= struct @@ -17189,6 +17635,7 @@ record aOsVfXK2YXy8YzpChV4neMCBUNE= + public regular p3PhPnVydwdupHBMAXlcrNQuiFo= struct @@ -17215,6 +17662,7 @@ function bLNBUo4KpSS0BZPlsnEoRwbgQU0= + public regular aOsVfXK2YXy8YzpChV4neMCBUNE= @@ -17238,6 +17686,7 @@ record Vfp4UI1q/WKw9xkfiS/VJGS128A= + public regular p3PhPnVydwdupHBMAXlcrNQuiFo= struct @@ -17288,6 +17737,7 @@ function MALiKbm+kvgFLsUl6NAFGk8/mbk= + public regular p3PhPnVydwdupHBMAXlcrNQuiFo= @@ -17311,6 +17761,7 @@ function wPErD4kGY0RQwZPJCHE5l7qe7BU= + public regular ICgSeUPCz86m25XZTXmGxzgkbhY= @@ -17334,6 +17785,7 @@ record UArBfH6vZIOYsAbmmAKjRN+1EuM= + public regular Rh5ZoB5qF98iwmDPqUPnsyKkTcs= struct @@ -17384,6 +17836,7 @@ function 3MkimKMLv1YlKrDKDOy2h9rv8dc= + public regular Rh5ZoB5qF98iwmDPqUPnsyKkTcs= diff --git a/test-files/golden-tests/symbols/record/class-template-specializations-2.xml b/test-files/golden-tests/symbols/record/class-template-specializations-2.xml index 2fac92c30d..c9a1bc28fc 100644 --- a/test-files/golden-tests/symbols/record/class-template-specializations-2.xml +++ b/test-files/golden-tests/symbols/record/class-template-specializations-2.xml @@ -96,6 +96,7 @@ record t1k8CaeFknlnAWQfa52he803Mcw= + public regular bcCFiKKGBMnWrAf/IBu1R/sC07s= struct @@ -129,6 +130,7 @@ record GhbkOB/0KLVvGJAl1Q3aM43ZocQ= + public regular t1k8CaeFknlnAWQfa52he803Mcw= struct @@ -160,6 +162,7 @@ record TpBRSCUm33PjLoWxW50FZsR1GSM= + public regular t1k8CaeFknlnAWQfa52he803Mcw= struct @@ -204,6 +207,7 @@ record lKNoRiq1oi0XgdyuRlHKmVsSkus= + public regular TpBRSCUm33PjLoWxW50FZsR1GSM= struct @@ -228,6 +232,7 @@ record RdjbfZA0y514GFSR1pCAjUyfq24= + public regular bcCFiKKGBMnWrAf/IBu1R/sC07s= struct @@ -266,6 +271,7 @@ record ZbjwxkmALgjx71k6/JAk0jbwrlo= + public regular RdjbfZA0y514GFSR1pCAjUyfq24= struct @@ -297,6 +303,7 @@ record zPgrcrIOrcVWP7Qpw8x3Zl2fIpI= + public regular RdjbfZA0y514GFSR1pCAjUyfq24= struct @@ -340,6 +347,7 @@ record flW1A8++hJYAIoinZHMJ/EargvI= + public regular bcCFiKKGBMnWrAf/IBu1R/sC07s= struct @@ -378,6 +386,7 @@ record dJDN8VcF38oFGTOC/XblQpYtzWU= + public regular flW1A8++hJYAIoinZHMJ/EargvI= struct @@ -409,6 +418,7 @@ record HzSR9lAhcaSZke6x6ggUIqnawQw= + public regular flW1A8++hJYAIoinZHMJ/EargvI= struct @@ -454,6 +464,7 @@ record UkRYUyzSKKaCbVo7DS8mUuPk5Qs= + public regular HzSR9lAhcaSZke6x6ggUIqnawQw= struct @@ -519,6 +530,7 @@ record aLeAk47i8rqZcwQtgQM7NQUE9Oo= + public regular K6BawvzqAtXZLU2Hm0qPq6aGiS8= struct @@ -550,6 +562,7 @@ record 3isZeaf80hT1/O3yko6EPBPmq8s= + public regular K6BawvzqAtXZLU2Hm0qPq6aGiS8= struct @@ -586,6 +599,7 @@ record WeO5ITJRmNS4Q90O2A5hmw/KZc8= + public regular K6BawvzqAtXZLU2Hm0qPq6aGiS8= struct @@ -631,6 +645,7 @@ record W4yrcTF+RN1qGXUi97b5Tcm2v60= + public regular WeO5ITJRmNS4Q90O2A5hmw/KZc8= struct @@ -701,6 +716,7 @@ record XTiSWRMM5OD8mjz+RJ6oZpKYgCQ= + public regular Nkvb8FA0/0YIpaybicEkWLwFOPo= struct @@ -732,6 +748,7 @@ record vuv6bo9spUYsHZ3uwTm6i6UxSNI= + public regular Nkvb8FA0/0YIpaybicEkWLwFOPo= struct @@ -768,6 +785,7 @@ record HP4W/UatJ6BMg+LZKC5cQM4kCzw= + public regular Nkvb8FA0/0YIpaybicEkWLwFOPo= struct @@ -812,6 +830,7 @@ record qgS1WVyttKFsoadDE/OO4QyodlM= + public regular HP4W/UatJ6BMg+LZKC5cQM4kCzw= struct diff --git a/test-files/golden-tests/symbols/record/class-template-specializations-3.xml b/test-files/golden-tests/symbols/record/class-template-specializations-3.xml index 47ad39dfb3..42952dbfdd 100644 --- a/test-files/golden-tests/symbols/record/class-template-specializations-3.xml +++ b/test-files/golden-tests/symbols/record/class-template-specializations-3.xml @@ -61,6 +61,7 @@ record dKDSVrZun8skBV/NUCmJyCUOvJA= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= struct @@ -95,6 +96,7 @@ record bmgK1R0ByNI2o0uDX/xUzqUPaB0= + public regular dKDSVrZun8skBV/NUCmJyCUOvJA= struct @@ -119,6 +121,7 @@ record mavB0Yf/srdYpaA0qL6bxBdfPlk= + public regular dKDSVrZun8skBV/NUCmJyCUOvJA= struct @@ -150,6 +153,7 @@ record 8gtdVs8Zc/2hE1ugmc5SJaowDrk= + public regular dKDSVrZun8skBV/NUCmJyCUOvJA= struct @@ -186,6 +190,7 @@ record Ax52oDYNHKdb/kayrTPXtP7EnLo= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= struct @@ -225,6 +230,7 @@ record AwZsTwyQp9xqkJ5YDcGgbnNSg3Q= + public regular Ax52oDYNHKdb/kayrTPXtP7EnLo= struct @@ -249,6 +255,7 @@ record mlI5CyZeYMi0hLKKprnY2lkWYuI= + public regular Ax52oDYNHKdb/kayrTPXtP7EnLo= struct @@ -280,6 +287,7 @@ record 2n2EC+ZzX4R61vVgqMqWD1h4Fqc= + public regular Ax52oDYNHKdb/kayrTPXtP7EnLo= struct @@ -354,6 +362,7 @@ record eAzY1gFXtaCsmFJ7gW8gRwXcMpI= + public regular GFV3P/JtfrnQwjOLVfI9VbJpd9U= struct @@ -385,6 +394,7 @@ record gNJJgsCrBHI+de6/WxRWfc6QUSQ= + public regular GFV3P/JtfrnQwjOLVfI9VbJpd9U= struct @@ -424,6 +434,7 @@ record B/thZ5I0G7tgrSCTq/QPdxvZ7mk= + public regular gNJJgsCrBHI+de6/WxRWfc6QUSQ= struct @@ -448,6 +459,7 @@ record rofuVJc3n2uMiYUFG+jEprNPhfk= + public regular gNJJgsCrBHI+de6/WxRWfc6QUSQ= struct @@ -479,6 +491,7 @@ record rzmzIDLemEwnRqvVCiQsLO9rHE4= + public regular gNJJgsCrBHI+de6/WxRWfc6QUSQ= struct @@ -560,6 +573,7 @@ record sJKQ/XsqBeYlnpwi1s54+RRv5NA= + public regular y/8TvVlacBAIG2ds2aYgZE+zGUU= struct @@ -594,6 +608,7 @@ record Dpv+NzmwhV+wRSY65GFxl+38zQM= + public regular sJKQ/XsqBeYlnpwi1s54+RRv5NA= struct @@ -618,6 +633,7 @@ record AzqBWCSJNi1p7gzPriIyLxFdnrY= + public regular sJKQ/XsqBeYlnpwi1s54+RRv5NA= struct @@ -649,6 +665,7 @@ record vu+upAyFdAr9NpomAT9maDrr5VU= + public regular sJKQ/XsqBeYlnpwi1s54+RRv5NA= struct @@ -685,6 +702,7 @@ record 3fOXhba/en8Im2gUSThzllitRc0= + public regular y/8TvVlacBAIG2ds2aYgZE+zGUU= struct @@ -724,6 +742,7 @@ record y0bAB1lqim3CuNevLIQcyhSRoF0= + public regular 3fOXhba/en8Im2gUSThzllitRc0= struct @@ -748,6 +767,7 @@ record yLNKrbXJxOfwo1+MCru26q+JH3c= + public regular 3fOXhba/en8Im2gUSThzllitRc0= struct @@ -779,6 +799,7 @@ record P+rxL5vI4ct+gzn9YkO97Pt7Ras= + public regular 3fOXhba/en8Im2gUSThzllitRc0= struct @@ -815,6 +836,7 @@ record jvnZWmA3eB78JX83nJawhD8NGhw= + public regular y/8TvVlacBAIG2ds2aYgZE+zGUU= struct @@ -854,6 +876,7 @@ record ctaWbbvndczuSnONWd9XeHYCB9w= + public regular jvnZWmA3eB78JX83nJawhD8NGhw= struct @@ -878,6 +901,7 @@ record hJww7bbg+EMQbb4Z6K/mcREdNrI= + public regular jvnZWmA3eB78JX83nJawhD8NGhw= struct @@ -909,6 +933,7 @@ record NNxnP63PrqW2AkyLFpJx0uaNuTk= + public regular jvnZWmA3eB78JX83nJawhD8NGhw= struct @@ -984,6 +1009,7 @@ record 7YGPyrC+yNaV349G+Ofic+lrQQ0= + public regular C6fFmGgpPJ7jgwKJA98mfx5cxts= struct @@ -1015,6 +1041,7 @@ record fSC2izK+T4vA4Kndw3xNjCTDpoQ= + public regular C6fFmGgpPJ7jgwKJA98mfx5cxts= struct @@ -1054,6 +1081,7 @@ record 7Z6H18MmJp6db1Qe2eaOiN597z0= + public regular fSC2izK+T4vA4Kndw3xNjCTDpoQ= struct @@ -1078,6 +1106,7 @@ record FbDKEGMJtBcKX13TWrKFGTDcIfc= + public regular fSC2izK+T4vA4Kndw3xNjCTDpoQ= struct @@ -1109,6 +1138,7 @@ record FQCRWOnd4VbpVowmyiWSRR2l2cA= + public regular fSC2izK+T4vA4Kndw3xNjCTDpoQ= struct @@ -1145,6 +1175,7 @@ record AmrHzqMyGcAD714oirSEx/XCTwk= + public regular C6fFmGgpPJ7jgwKJA98mfx5cxts= struct @@ -1184,6 +1215,7 @@ record uGKF2n5ovA4i95uQxRmzyMq2uqY= + public regular AmrHzqMyGcAD714oirSEx/XCTwk= struct @@ -1208,6 +1240,7 @@ record NXKMuGv+ES2JssXCxPAKpwv8kek= + public regular AmrHzqMyGcAD714oirSEx/XCTwk= struct @@ -1239,6 +1272,7 @@ record eYdoT3vlHlbkG+t3+ckhZAqrnlY= + public regular AmrHzqMyGcAD714oirSEx/XCTwk= struct @@ -1314,6 +1348,7 @@ record OqH2nTulqZzSwHPpqaqq/8Aw1rA= + public regular eeh34/7lF7rCmE7zXKBrUC7mz3A= struct @@ -1345,6 +1380,7 @@ record Pna+OT/o27zekcoRTFxKtb5m+BQ= + public regular eeh34/7lF7rCmE7zXKBrUC7mz3A= struct @@ -1384,6 +1420,7 @@ record Gv8ovSPi4vbvyLsPbAfOvhMp5+o= + public regular Pna+OT/o27zekcoRTFxKtb5m+BQ= struct @@ -1408,6 +1445,7 @@ record Hx+JG1wcGiKbsf3sdpq4N3s6yPg= + public regular Pna+OT/o27zekcoRTFxKtb5m+BQ= struct @@ -1439,6 +1477,7 @@ record 9bJvdwRZpk2+HRV+Az3lOybs1Wc= + public regular Pna+OT/o27zekcoRTFxKtb5m+BQ= struct @@ -1475,6 +1514,7 @@ record X9RyjucPb3aRFUq3aZCNE4g/ZVE= + public regular eeh34/7lF7rCmE7zXKBrUC7mz3A= struct @@ -1514,6 +1554,7 @@ record eXPfVkdfVF382Q5KqAEfOcjpVmo= + public regular X9RyjucPb3aRFUq3aZCNE4g/ZVE= struct @@ -1538,6 +1579,7 @@ record 7BP9bS6v3+IVgLRg4/sPKlbVgwc= + public regular X9RyjucPb3aRFUq3aZCNE4g/ZVE= struct @@ -1569,6 +1611,7 @@ record E3rBDckOC8QkP+2YLNtbMxg69mc= + public regular X9RyjucPb3aRFUq3aZCNE4g/ZVE= struct @@ -1644,6 +1687,7 @@ variable oHfKrPnHC+B6Hx/yJYk5Fyxe+CI= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -1672,6 +1716,7 @@ variable EvoFLEsY/zIQw+ATCcszcUXQX1U= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -1700,6 +1745,7 @@ variable M37GfnOSLu7LdwyWNUKiLSwQU8E= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -1733,6 +1779,7 @@ variable zs4yFWypzJvC9fBTuqRIWShHXDI= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -1766,6 +1813,7 @@ variable npnYjIFI4UqRV4lM1m0vGdOXafw= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -1799,6 +1847,7 @@ variable m3ZkUTvg5FF0YzKrQCCIMDL4Gjk= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -1832,6 +1881,7 @@ variable lvoZQmyEhLRRqpEiNgzPQH1SOJ0= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -1865,6 +1915,7 @@ variable QerDxfhCX/VklfvPy6KMWR5/grA= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -1893,6 +1944,7 @@ variable jkZFwdFnuuwOAnc9RU1Pi4xsuZQ= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -1921,6 +1973,7 @@ variable Jz1/8DLujy3S44Nw3O0+j7/ib/E= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -1949,6 +2002,7 @@ variable caJb3xi3hSrcOYpFTjaGGYy2Lwo= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -1982,6 +2036,7 @@ variable I9XmCN/8GnrjYZlx8qXp383uWq0= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -2015,6 +2070,7 @@ variable 1q9S+RfN6FdeN1hVj4px4bBGHps= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -2048,6 +2104,7 @@ variable lV8Cih1vnhktZoDmSG/54XfsVMY= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -2081,6 +2138,7 @@ variable HXroC5e+xF7qrqN/j/TCTfZsqRM= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= diff --git a/test-files/golden-tests/symbols/record/class-template.xml b/test-files/golden-tests/symbols/record/class-template.xml index 8b3acc250d..fca4c2dcf5 100644 --- a/test-files/golden-tests/symbols/record/class-template.xml +++ b/test-files/golden-tests/symbols/record/class-template.xml @@ -62,6 +62,7 @@ record gx6LdMT9nBMQKB26lZXGWbB7N6c= + public regular sv7ww7qclY8KsvAbFHXaKZnSO80= struct @@ -87,6 +88,7 @@ variable sdv932bFyf1dJzPblqxQGqsy8G4= + public regular gx6LdMT9nBMQKB26lZXGWbB7N6c= @@ -109,6 +111,7 @@ variable ySFHEWJe6/b1dbtjDC2IAvT2vmU= + public regular sv7ww7qclY8KsvAbFHXaKZnSO80= @@ -131,6 +134,7 @@ variable 81imwKxfuTfd7lfVGnF+fKx46lY= + public regular sv7ww7qclY8KsvAbFHXaKZnSO80= @@ -154,6 +158,7 @@ variable UKBRhwzQ0PeL6ZwfxmreRBoDQSY= + public regular sv7ww7qclY8KsvAbFHXaKZnSO80= @@ -202,6 +207,7 @@ record F1Cyqn/faLYbjTU4RfGsepUiiZw= + public regular tm2khHa6qZM0lj1f7IwBdxVxDgE= struct @@ -236,6 +242,7 @@ variable bQCgblScrSKOxQMVJxT7vFw9W4I= + public regular F1Cyqn/faLYbjTU4RfGsepUiiZw= @@ -259,6 +266,7 @@ variable phg6+zMhjV0SJ7vav871OGqoPPQ= + public regular F1Cyqn/faLYbjTU4RfGsepUiiZw= @@ -281,6 +289,7 @@ variable 53ijFg2EUlLuOP8qvufgjwZDNoI= + public regular F1Cyqn/faLYbjTU4RfGsepUiiZw= @@ -303,6 +312,7 @@ variable Q0itZUB0O9hts+pFPk9DO415Lo8= + public regular tm2khHa6qZM0lj1f7IwBdxVxDgE= @@ -358,6 +368,7 @@ record xljI5oOqNOhyyR4QzmKvFB3nEfw= + public regular IIPz8Fm6nqKoYQpeJ/kvZaWvtI8= struct @@ -393,6 +404,7 @@ variable bLX5mthqXMHAtLNEc87RKLQSUyU= + public regular xljI5oOqNOhyyR4QzmKvFB3nEfw= @@ -416,6 +428,7 @@ variable qSNOAAxaet7aBxvD7WvFqJOpm3A= + public regular xljI5oOqNOhyyR4QzmKvFB3nEfw= @@ -438,6 +451,7 @@ variable P9x8qHxDv7huDL0MyNORJ/enU0Q= + public regular xljI5oOqNOhyyR4QzmKvFB3nEfw= @@ -460,6 +474,7 @@ variable pRO2j7I5aEQI+ktDwT1fLJPqy28= + public regular xljI5oOqNOhyyR4QzmKvFB3nEfw= @@ -482,6 +497,7 @@ variable rvAO5HvzEvS8z9PgbRoqkyTi+1c= + public regular IIPz8Fm6nqKoYQpeJ/kvZaWvtI8= @@ -542,6 +558,7 @@ variable 28J+g16kE2M7qwnrP4yzW4hHlIg= + public regular x60FzYL65XgZZRrxrZuC5jemrwQ= diff --git a/test-files/golden-tests/symbols/record/conditional-explicit.xml b/test-files/golden-tests/symbols/record/conditional-explicit.xml index a74cffd24a..a7615cb61e 100644 --- a/test-files/golden-tests/symbols/record/conditional-explicit.xml +++ b/test-files/golden-tests/symbols/record/conditional-explicit.xml @@ -81,6 +81,7 @@ overloads 90LmpTUv2mRF4c7fOK5KY82aqfg= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -117,6 +118,7 @@ function tu1aWR2dJXMP1qCjx0wfqGbHUrU= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -167,6 +169,7 @@ function AXLv33SreHARdqogAHAgfhC3lFA= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -217,6 +220,7 @@ function F4U5PyaDoe8VKg41ubwK8aze9QE= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -267,6 +271,7 @@ function Lh5IpjK5DH9VZV67YWZB6MBX3eg= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -324,6 +329,7 @@ function 8QQvac4UAEj232hkdEvLmrs4iXo= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -379,6 +385,7 @@ function BQIWwUrUqUCA8gEZNkinmhykZiw= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -427,6 +434,7 @@ function RoN1eWo04RrcRuREabBhJcBRP9g= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -475,6 +483,7 @@ function G/Kyu+7RZ7YjYMEcMH57nQNmUeQ= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= diff --git a/test-files/golden-tests/symbols/record/dtor-overloads.xml b/test-files/golden-tests/symbols/record/dtor-overloads.xml index 017f166557..f3bd6d570c 100644 --- a/test-files/golden-tests/symbols/record/dtor-overloads.xml +++ b/test-files/golden-tests/symbols/record/dtor-overloads.xml @@ -61,6 +61,7 @@ overloads LEZJddSqCEXJZ++1t8aAiluL0/E= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -94,6 +95,7 @@ function x5T8zVxBVmg1ModTwgEAXcXWKDg= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -127,6 +129,7 @@ function uiH+ZSS+bYC5efGHgbdzlzXaV/o= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= diff --git a/test-files/golden-tests/symbols/record/final-class.xml b/test-files/golden-tests/symbols/record/final-class.xml index 69144317ca..98a4da953d 100644 --- a/test-files/golden-tests/symbols/record/final-class.xml +++ b/test-files/golden-tests/symbols/record/final-class.xml @@ -96,6 +96,7 @@ B1 + public @@ -105,6 +106,7 @@ B2 + public diff --git a/test-files/golden-tests/symbols/record/forward-declared-member.xml b/test-files/golden-tests/symbols/record/forward-declared-member.xml index b70089cdbd..b86b2b85cb 100644 --- a/test-files/golden-tests/symbols/record/forward-declared-member.xml +++ b/test-files/golden-tests/symbols/record/forward-declared-member.xml @@ -58,6 +58,7 @@ + public diff --git a/test-files/golden-tests/symbols/record/friend-duplicate.xml b/test-files/golden-tests/symbols/record/friend-duplicate.xml index a2a47369ad..3e2c7b4ceb 100644 --- a/test-files/golden-tests/symbols/record/friend-duplicate.xml +++ b/test-files/golden-tests/symbols/record/friend-duplicate.xml @@ -92,6 +92,7 @@ function s6nsa+zVhpzzrN+yUVPP5rvdXqs= + public regular //////////////////////////8= diff --git a/test-files/golden-tests/symbols/record/friend-fn-has-docs.xml b/test-files/golden-tests/symbols/record/friend-fn-has-docs.xml index fa41dd7257..44213552f5 100644 --- a/test-files/golden-tests/symbols/record/friend-fn-has-docs.xml +++ b/test-files/golden-tests/symbols/record/friend-fn-has-docs.xml @@ -58,6 +58,7 @@ function s6nsa+zVhpzzrN+yUVPP5rvdXqs= + public regular //////////////////////////8= diff --git a/test-files/golden-tests/symbols/record/friend-fn-member.xml b/test-files/golden-tests/symbols/record/friend-fn-member.xml index ebca7dcb04..f323847d47 100644 --- a/test-files/golden-tests/symbols/record/friend-fn-member.xml +++ b/test-files/golden-tests/symbols/record/friend-fn-member.xml @@ -84,6 +84,7 @@ function 6Jx2eK9l4C46QIRucTvox+6PH2k= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -116,6 +117,7 @@ function HK6hbp0kJrHWxbYoHddN1v/GCWc= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -149,6 +151,7 @@ function wZtQh+QR5vgNZmk34MnRmnKO5MI= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= diff --git a/test-files/golden-tests/symbols/record/friend-fn-multi-2nd.xml b/test-files/golden-tests/symbols/record/friend-fn-multi-2nd.xml index 6f9027c3b8..9c3c16d535 100644 --- a/test-files/golden-tests/symbols/record/friend-fn-multi-2nd.xml +++ b/test-files/golden-tests/symbols/record/friend-fn-multi-2nd.xml @@ -85,6 +85,7 @@ function s6nsa+zVhpzzrN+yUVPP5rvdXqs= + public regular //////////////////////////8= diff --git a/test-files/golden-tests/symbols/record/friend-fn-multi-free.xml b/test-files/golden-tests/symbols/record/friend-fn-multi-free.xml index 0e02686f9e..0109b13ef3 100644 --- a/test-files/golden-tests/symbols/record/friend-fn-multi-free.xml +++ b/test-files/golden-tests/symbols/record/friend-fn-multi-free.xml @@ -86,6 +86,7 @@ function s6nsa+zVhpzzrN+yUVPP5rvdXqs= + public regular //////////////////////////8= diff --git a/test-files/golden-tests/symbols/record/friend-fn-multi.xml b/test-files/golden-tests/symbols/record/friend-fn-multi.xml index f7176b33cc..f431e440e0 100644 --- a/test-files/golden-tests/symbols/record/friend-fn-multi.xml +++ b/test-files/golden-tests/symbols/record/friend-fn-multi.xml @@ -86,6 +86,7 @@ function s6nsa+zVhpzzrN+yUVPP5rvdXqs= + public regular //////////////////////////8= diff --git a/test-files/golden-tests/symbols/record/friend-fn.xml b/test-files/golden-tests/symbols/record/friend-fn.xml index c60d6273c2..8867e060eb 100644 --- a/test-files/golden-tests/symbols/record/friend-fn.xml +++ b/test-files/golden-tests/symbols/record/friend-fn.xml @@ -52,6 +52,7 @@ function s6nsa+zVhpzzrN+yUVPP5rvdXqs= + public regular //////////////////////////8= diff --git a/test-files/golden-tests/symbols/record/local-class.xml b/test-files/golden-tests/symbols/record/local-class.xml index 3028a464df..bd606cd3fc 100644 --- a/test-files/golden-tests/symbols/record/local-class.xml +++ b/test-files/golden-tests/symbols/record/local-class.xml @@ -50,6 +50,7 @@ function jCCBBuUPAMKbCDHSsikdFgCuMPQ= + public regular iyPnRqvK5CeWtYJ+M257FJexgOs= @@ -80,6 +81,7 @@ f() + public diff --git a/test-files/golden-tests/symbols/record/record-1.xml b/test-files/golden-tests/symbols/record/record-1.xml index a9d9a7a337..a1ee84b505 100644 --- a/test-files/golden-tests/symbols/record/record-1.xml +++ b/test-files/golden-tests/symbols/record/record-1.xml @@ -55,6 +55,7 @@ typedef 6UtddyCJy89K/bZpTmDb5jVXwAY= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -77,6 +78,7 @@ typedef wwp4SQjMPktMmsnvq1thxjxFHFs= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -98,6 +100,7 @@ function 9sznTZ3/SXQNZpCsoMG8KWGLuEc= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -121,6 +124,7 @@ function w0ONazxXaWlB0RQLjfDqDWICUwo= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -144,6 +148,7 @@ function TkBjWwqMDycyUbq+TJZ9qfUhSn0= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -168,6 +173,7 @@ function /xzUDYrXtCl2xCoyCvXqIZ4fKfA= + protected regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -208,6 +214,7 @@ function flHl59B/bdRwuiNeh3sHqCycic0= + protected regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -248,6 +255,7 @@ function DKxv4h+rP37b0u6O1qbB+u416ZY= + protected regular CgGNdHpW5mG/i5741WPYQDw28OQ= diff --git a/test-files/golden-tests/symbols/record/record-access.xml b/test-files/golden-tests/symbols/record/record-access.xml index 2e45a06910..15cd6b39ff 100644 --- a/test-files/golden-tests/symbols/record/record-access.xml +++ b/test-files/golden-tests/symbols/record/record-access.xml @@ -52,6 +52,7 @@ function ZOAAp99eH9zKUZqx0JzW6AuhRTQ= + public regular sTaqkoFcVbtntbfpe777v5/pWL0= @@ -75,6 +76,7 @@ function EyRDT2mXtRNmcISD2rsC6/mLusw= + protected regular sTaqkoFcVbtntbfpe777v5/pWL0= @@ -98,6 +100,7 @@ function IdInRLjINkaIuyTqWyEUhoM1DZM= + private regular sTaqkoFcVbtntbfpe777v5/pWL0= @@ -148,6 +151,7 @@ function STTnU4grbgOl2xPE6okWC57zruc= + public regular u38+snleg17KL7EQuD9FV1Z8b9E= @@ -171,6 +175,7 @@ function IaPeEIwn9q94M3MuwxsB3qhBOSE= + protected regular u38+snleg17KL7EQuD9FV1Z8b9E= @@ -194,6 +199,7 @@ function QicvGhxlL09TrpXiFYAS+pz8/9g= + private regular u38+snleg17KL7EQuD9FV1Z8b9E= @@ -244,6 +250,7 @@ function eY4R9etszWK2H42p4kWNm5XfpnE= + public regular SHIJWZPzfYtLVfe/rzFAmeVpANk= @@ -267,6 +274,7 @@ function KjiG7Uufpmd65dhiSV+Jv2RjgHA= + protected regular SHIJWZPzfYtLVfe/rzFAmeVpANk= @@ -290,6 +298,7 @@ function KXASSTkImsSKBg6l0hOSkbt1K7M= + private regular SHIJWZPzfYtLVfe/rzFAmeVpANk= diff --git a/test-files/golden-tests/symbols/record/record-data.xml b/test-files/golden-tests/symbols/record/record-data.xml index 03e09f178e..f2c3b0c776 100644 --- a/test-files/golden-tests/symbols/record/record-data.xml +++ b/test-files/golden-tests/symbols/record/record-data.xml @@ -56,6 +56,7 @@ variable 91xV6rCFObgi6i1/U2uZ/GnD3WM= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -78,6 +79,7 @@ variable g7xcHrg43mq7PlaOEmNvMHlU+Hk= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -100,6 +102,7 @@ variable DDn/yzxAAKSmBASeK+/IuU+FvzM= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -123,6 +126,7 @@ variable wmuk99bazNMSdS8W8oD/7vIsIhQ= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -147,6 +151,7 @@ variable 8Olj7aMWgTqR7bHtl+C3EZ5wILI= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -196,6 +201,7 @@ variable LvEIBVXJYQQL4yraOaQv7ijMDng= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -246,6 +252,7 @@ variable VKvx+Pci4bUmtjCsXJqKb7SNYqw= + protected regular 9kzYwt0WPztMEDUaFxul1Jvqqs8= @@ -268,6 +275,7 @@ variable EWXCzRl9erjnMQFZ8VmHC5cVkLM= + private regular 9kzYwt0WPztMEDUaFxul1Jvqqs8= @@ -290,6 +298,7 @@ variable iKr1oLycejUWY6AnSgoQnbmaCEE= + private regular 9kzYwt0WPztMEDUaFxul1Jvqqs8= @@ -337,6 +346,7 @@ variable 2akJUSKKPN7IylZjqGMRlhXupds= + public regular 6OhcFM3BV6KlrvmfpsljaMHxpdA= @@ -408,6 +418,7 @@ typedef nkW23Ykh9wywIjUzLqEQlHf8R5k= + public regular XSI9u4gB6ZYb6pWxN29K8+iKza4= @@ -430,6 +441,7 @@ variable WMA7IrW+2LvVbOV8OxRgz1lZtgs= + public regular XSI9u4gB6ZYb6pWxN29K8+iKza4= @@ -453,6 +465,7 @@ variable 9mHoUUHldwcRXKA3lf94KNCXALA= + public regular XSI9u4gB6ZYb6pWxN29K8+iKza4= @@ -475,6 +488,7 @@ variable BBtkYfP6w9XgHxk01Va2e1WZHo0= + public regular XSI9u4gB6ZYb6pWxN29K8+iKza4= @@ -500,6 +514,7 @@ variable nnQtR7SV1kLSZgMv0quXSh0M8/A= + public regular XSI9u4gB6ZYb6pWxN29K8+iKza4= @@ -523,6 +538,7 @@ variable iixsM8X5M740uqb1jSRUfUuvNo0= + public regular XSI9u4gB6ZYb6pWxN29K8+iKza4= diff --git a/test-files/golden-tests/symbols/record/record-inheritance.xml b/test-files/golden-tests/symbols/record/record-inheritance.xml index 84175e1582..1bea4301b1 100644 --- a/test-files/golden-tests/symbols/record/record-inheritance.xml +++ b/test-files/golden-tests/symbols/record/record-inheritance.xml @@ -74,6 +74,7 @@ C0 + private @@ -107,6 +108,7 @@ C0 + public @@ -140,6 +142,7 @@ C0 + protected @@ -173,6 +176,7 @@ C0 + private @@ -206,6 +210,7 @@ C0 + private 1 RoJyFLcF4tn+I7Xvlv0H+vBkIE4= @@ -241,6 +246,7 @@ C1 + private 1 RoJyFLcF4tn+I7Xvlv0H+vBkIE4= @@ -276,6 +282,7 @@ C5 + public @@ -285,6 +292,7 @@ C6 + public @@ -374,6 +382,7 @@ S0 + public OkKbIK8En3Y5FbOBQVeHnAsZ0aY= @@ -408,6 +417,7 @@ S1 + public OkKbIK8En3Y5FbOBQVeHnAsZ0aY= @@ -442,6 +452,7 @@ S2 + public @@ -451,6 +462,7 @@ S3 + public @@ -484,6 +496,7 @@ S0 + private @@ -493,6 +506,7 @@ S1 + protected @@ -534,6 +548,7 @@ Ts + public diff --git a/test-files/golden-tests/symbols/record/template-specialization-inheritance.xml b/test-files/golden-tests/symbols/record/template-specialization-inheritance.xml index b30ebd31a6..ac2b03badc 100644 --- a/test-files/golden-tests/symbols/record/template-specialization-inheritance.xml +++ b/test-files/golden-tests/symbols/record/template-specialization-inheritance.xml @@ -119,6 +119,7 @@ S0 + public @@ -142,6 +143,7 @@ record 2CQyWIWOAM25oQ1AdJcdT6hFqAE= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= struct @@ -182,6 +184,7 @@ + public @@ -215,6 +218,7 @@ S0 + public @@ -289,6 +293,7 @@ record 2CQyWIWOAM25oQ1AdJcdT6hFqAE= + public regular z/QEAP16LEoD3NlABxA6BOFpYpA= struct @@ -345,6 +350,7 @@ record yY+X2/Fqu8ENz37/HFEJCBOSfVg= + public regular nJGs54s6oYf7fHzIpo0tyaCSH9M= struct @@ -434,6 +440,7 @@ record fzQKX2ygXfWjrcDi23o2CnGMkaY= + public regular 6Syw3aWFS3pfPUbWU7C8uCE7Jjc= struct diff --git a/test-files/golden-tests/symbols/record/union.xml b/test-files/golden-tests/symbols/record/union.xml index db9e446050..7095e0aba0 100644 --- a/test-files/golden-tests/symbols/record/union.xml +++ b/test-files/golden-tests/symbols/record/union.xml @@ -50,6 +50,7 @@ variable Be23kXXQRAQHfKNTp2HOM2jouJo= + public regular rOga+mYntM7ytFb7bhJSklZ0r34= @@ -73,6 +74,7 @@ variable HqUCV+CnE+akUirdwlf8maZxw40= + public regular rOga+mYntM7ytFb7bhJSklZ0r34= @@ -123,6 +125,7 @@ variable QtOrWpj/+5ytPBCEoNlbW+uW/oA= + public regular 3JsK1DO0O+wZhv+0meptQrbs3fY= @@ -146,6 +149,7 @@ variable 8o+2/UVx4hIiDLQRYohp688sXmI= + public regular 3JsK1DO0O+wZhv+0meptQrbs3fY= @@ -169,6 +173,7 @@ variable zTVqdWL2ShJziu85kaeOk2wfYFs= + public regular 3JsK1DO0O+wZhv+0meptQrbs3fY= diff --git a/test-files/golden-tests/symbols/record/unnamed.xml b/test-files/golden-tests/symbols/record/unnamed.xml index 3add224bc7..cb6953d5fb 100644 --- a/test-files/golden-tests/symbols/record/unnamed.xml +++ b/test-files/golden-tests/symbols/record/unnamed.xml @@ -51,6 +51,7 @@ function yiR+Q9T0kIzuR5+cO8MjyUGxhD4= + public implementation-defined F1Jq7+g4G9C/ONGL1uiGY4NNso4= @@ -110,6 +111,7 @@ variable 4Sy+GbRmqI4igByqQo0hAnRUahY= + public regular 8AwuUPjsLEReggyF5UohZMvrh8k= @@ -182,6 +184,7 @@ 8AwuUPjsLEReggyF5UohZMvrh8k= + extern y @@ -213,5 +216,6 @@ 8AwuUPjsLEReggyF5UohZMvrh8k= + extern diff --git a/test-files/golden-tests/symbols/typedef/alias-template.xml b/test-files/golden-tests/symbols/typedef/alias-template.xml index 43c137c9d8..4acbb2a3fd 100644 --- a/test-files/golden-tests/symbols/typedef/alias-template.xml +++ b/test-files/golden-tests/symbols/typedef/alias-template.xml @@ -155,6 +155,7 @@ typedef STM3CgeaOEakPrQJdlRWWM4MMFo= + public regular i5oK/nki0o3BH2ZAgkGyaGib07g= diff --git a/test-files/golden-tests/symbols/typedef/decay-to-primary.xml b/test-files/golden-tests/symbols/typedef/decay-to-primary.xml index ecf53d917c..eb356eebfe 100644 --- a/test-files/golden-tests/symbols/typedef/decay-to-primary.xml +++ b/test-files/golden-tests/symbols/typedef/decay-to-primary.xml @@ -116,6 +116,7 @@ typedef aBQMz/OqX2QEHy4Cqfjgby4lSi4= + public regular P9+etXi0Ae+VNs1u8rYrHIbi6qE= @@ -138,6 +139,7 @@ typedef 14SKPuw/wwAUmFZKoonB8Uu8gaY= + public regular P9+etXi0Ae+VNs1u8rYrHIbi6qE= @@ -206,6 +208,7 @@ typedef rd0VksPlzUP2z9uBlAh7QCSvXlc= + public regular nM49pHyBLj9V6pphxxYAxi4tXXc= @@ -228,6 +231,7 @@ typedef 55w2+SxFbPDR4zxtZen23YT6oyY= + public regular nM49pHyBLj9V6pphxxYAxi4tXXc= @@ -296,6 +300,7 @@ typedef xwZQjxyx34OE1PjRX/paK2bdWb0= + public regular BWgkCsMw6w/Tkzj0tkQJ8/AWTUo= @@ -318,6 +323,7 @@ typedef 59lOx3WiBtHW8lORAEbx2R0bEwM= + public regular BWgkCsMw6w/Tkzj0tkQJ8/AWTUo= diff --git a/test-files/golden-tests/symbols/typedef/dependency-propagation.xml b/test-files/golden-tests/symbols/typedef/dependency-propagation.xml index 0f77ffc660..c5e5f3361b 100644 --- a/test-files/golden-tests/symbols/typedef/dependency-propagation.xml +++ b/test-files/golden-tests/symbols/typedef/dependency-propagation.xml @@ -177,6 +177,7 @@ + public diff --git a/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.xml b/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.xml index 748be35ed8..e27132d2e1 100644 --- a/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.xml +++ b/test-files/golden-tests/symbols/typedef/implicit-instantiation-member-ref.xml @@ -124,6 +124,7 @@ record gxI8lOzHEX5mX3u/0hCHnvUY1OM= + public regular P9+etXi0Ae+VNs1u8rYrHIbi6qE= struct @@ -157,6 +158,7 @@ typedef NnkA706kKqg/azveB/lExZwRfFI= + public regular gxI8lOzHEX5mX3u/0hCHnvUY1OM= @@ -179,6 +181,7 @@ typedef TBl15ml95lYP4APzAuH1VpGgjgs= + public regular gxI8lOzHEX5mX3u/0hCHnvUY1OM= @@ -247,6 +250,7 @@ record 3bDJlUJg+Wg63OKbCChN7xs/THg= + public regular BWgkCsMw6w/Tkzj0tkQJ8/AWTUo= struct @@ -278,6 +282,7 @@ record LQDMND21bNwDyy/hE3qQoQzFLXY= + public regular BWgkCsMw6w/Tkzj0tkQJ8/AWTUo= struct @@ -316,6 +321,7 @@ typedef KI+cz9NSHQSZN2PnUoAaBtILqNQ= + public regular LQDMND21bNwDyy/hE3qQoQzFLXY= @@ -338,6 +344,7 @@ typedef xu84aTnEsoVB4EugJR5m2weQzUE= + public regular LQDMND21bNwDyy/hE3qQoQzFLXY= diff --git a/test-files/golden-tests/symbols/using/using-alias-template-dependent.xml b/test-files/golden-tests/symbols/using/using-alias-template-dependent.xml index f66d9f2772..a0d907682b 100644 --- a/test-files/golden-tests/symbols/using/using-alias-template-dependent.xml +++ b/test-files/golden-tests/symbols/using/using-alias-template-dependent.xml @@ -143,6 +143,7 @@ typedef SrZbYkahcv/tBYSnQf6ndFySgTg= + public regular MBGPS/84tvNdD37cvMMFLX91CIs= @@ -241,6 +242,7 @@ enum ojy2H3a1lmqWgs1IHVc6fgGwKO0= + public regular qA3Nv3MdXjhVzIuwWZK2uT6FskY= 5+HaEEsX//OaezDumbrpRhUuOp0= @@ -257,6 +259,7 @@ enum-constant 5+HaEEsX//OaezDumbrpRhUuOp0= + public regular ojy2H3a1lmqWgs1IHVc6fgGwKO0= false diff --git a/test-files/golden-tests/symbols/using/using-function-after.adoc b/test-files/golden-tests/symbols/using/using-function-after.adoc index 06386e1a4e..7db2bc760d 100644 --- a/test-files/golden-tests/symbols/using/using-function-after.adoc +++ b/test-files/golden-tests/symbols/using/using-function-after.adoc @@ -29,11 +29,11 @@ [cols="1,4"] |=== | Name| Description -| link:#A-f-08[`f`] +| link:#A-f-03[`f`] | `f` overloads |=== -[#A-f-08] +[#A-f-03] == link:#A[A]::f `f` overloads diff --git a/test-files/golden-tests/symbols/using/using-function-after.html b/test-files/golden-tests/symbols/using/using-function-after.html index a338be183e..f96178a10a 100644 --- a/test-files/golden-tests/symbols/using/using-function-after.html +++ b/test-files/golden-tests/symbols/using/using-function-after.html @@ -55,14 +55,14 @@

-f f overloads +f f overloads

-

+

A::f

f overloads

diff --git a/test-files/golden-tests/symbols/using/using-function-after.xml b/test-files/golden-tests/symbols/using/using-function-after.xml index a2324318bd..82a5b864a5 100644 --- a/test-files/golden-tests/symbols/using/using-function-after.xml +++ b/test-files/golden-tests/symbols/using/using-function-after.xml @@ -33,7 +33,7 @@ regular //////////////////////////8= - gAFZ/q+ghQPrWK8SOl+US+U0jTU= + MWV4pZAIXJFn1I+74ARAr+ZOmkw= @@ -55,7 +55,7 @@ overloads - gAFZ/q+ghQPrWK8SOl+US+U0jTU= + MWV4pZAIXJFn1I+74ARAr+ZOmkw= regular jQQu/8mLNzRQvGtbkKMwwloVDpw= diff --git a/test-files/golden-tests/symbols/using/using-function-local-overloads.adoc b/test-files/golden-tests/symbols/using/using-function-local-overloads.adoc index 68550d3580..08eff82553 100644 --- a/test-files/golden-tests/symbols/using/using-function-local-overloads.adoc +++ b/test-files/golden-tests/symbols/using/using-function-local-overloads.adoc @@ -37,11 +37,11 @@ [cols="1,4"] |=== | Name| Description -| link:#A-f-08[`f`] +| link:#A-f-031[`f`] | `f` overloads |=== -[#A-f-08] +[#A-f-031] == link:#A[A]::f `f` overloads @@ -165,7 +165,7 @@ using A::f; |=== |Name|Description -| link:#A-f-08[A::f] +| link:#A-f-031[A::f] | `f` overloads |=== diff --git a/test-files/golden-tests/symbols/using/using-function-local-overloads.html b/test-files/golden-tests/symbols/using/using-function-local-overloads.html index 6d76da1b80..154e92743d 100644 --- a/test-files/golden-tests/symbols/using/using-function-local-overloads.html +++ b/test-files/golden-tests/symbols/using/using-function-local-overloads.html @@ -69,14 +69,14 @@

-f f overloads +f f overloads

-

+

A::f

f overloads

@@ -200,7 +200,7 @@

-A::f +A::f f overloads diff --git a/test-files/golden-tests/symbols/using/using-function-local-overloads.xml b/test-files/golden-tests/symbols/using/using-function-local-overloads.xml index 4e8bc5a5b3..d777482e0c 100644 --- a/test-files/golden-tests/symbols/using/using-function-local-overloads.xml +++ b/test-files/golden-tests/symbols/using/using-function-local-overloads.xml @@ -28,7 +28,7 @@ regular //////////////////////////8= - gAFZ/q+ghQPrWK8SOl+US+U0jTU= + MWV4pZAIXJFn1I+74ARAr+ZOmkw= @@ -57,7 +57,7 @@ overloads - gAFZ/q+ghQPrWK8SOl+US+U0jTU= + MWV4pZAIXJFn1I+74ARAr+ZOmkw= regular jQQu/8mLNzRQvGtbkKMwwloVDpw= @@ -271,7 +271,7 @@ A - gAFZ/q+ghQPrWK8SOl+US+U0jTU= + MWV4pZAIXJFn1I+74ARAr+ZOmkw= f @@ -299,7 +299,7 @@ overloads - gAFZ/q+ghQPrWK8SOl+US+U0jTU= + MWV4pZAIXJFn1I+74ARAr+ZOmkw= regular jQQu/8mLNzRQvGtbkKMwwloVDpw= diff --git a/test-files/golden-tests/symbols/using/using-function-overloads.adoc b/test-files/golden-tests/symbols/using/using-function-overloads.adoc index 4eb48f957c..b13911075b 100644 --- a/test-files/golden-tests/symbols/using/using-function-overloads.adoc +++ b/test-files/golden-tests/symbols/using/using-function-overloads.adoc @@ -29,11 +29,11 @@ [cols="1,4"] |=== | Name| Description -| link:#A-f-08[`f`] +| link:#A-f-031[`f`] | `f` overloads |=== -[#A-f-08] +[#A-f-031] == link:#A[A]::f `f` overloads @@ -144,7 +144,7 @@ using A::f; |=== |Name|Description -| link:#A-f-08[A::f] +| link:#A-f-031[A::f] | `f` overloads |=== diff --git a/test-files/golden-tests/symbols/using/using-function-overloads.html b/test-files/golden-tests/symbols/using/using-function-overloads.html index 8e6fc74a46..a2d5416c82 100644 --- a/test-files/golden-tests/symbols/using/using-function-overloads.html +++ b/test-files/golden-tests/symbols/using/using-function-overloads.html @@ -55,14 +55,14 @@

-f f overloads +f f overloads

-

+

A::f

f overloads

@@ -172,7 +172,7 @@

-A::f +A::f f overloads diff --git a/test-files/golden-tests/symbols/using/using-function-overloads.xml b/test-files/golden-tests/symbols/using/using-function-overloads.xml index 8f18ed647e..05ab70a2b3 100644 --- a/test-files/golden-tests/symbols/using/using-function-overloads.xml +++ b/test-files/golden-tests/symbols/using/using-function-overloads.xml @@ -27,7 +27,7 @@ regular //////////////////////////8= - gAFZ/q+ghQPrWK8SOl+US+U0jTU= + MWV4pZAIXJFn1I+74ARAr+ZOmkw= @@ -56,7 +56,7 @@ overloads - gAFZ/q+ghQPrWK8SOl+US+U0jTU= + MWV4pZAIXJFn1I+74ARAr+ZOmkw= regular jQQu/8mLNzRQvGtbkKMwwloVDpw= @@ -240,7 +240,7 @@ A - gAFZ/q+ghQPrWK8SOl+US+U0jTU= + MWV4pZAIXJFn1I+74ARAr+ZOmkw= f @@ -268,7 +268,7 @@ overloads - gAFZ/q+ghQPrWK8SOl+US+U0jTU= + MWV4pZAIXJFn1I+74ARAr+ZOmkw= regular jQQu/8mLNzRQvGtbkKMwwloVDpw= diff --git a/test-files/golden-tests/symbols/using/using-member-conversion.xml b/test-files/golden-tests/symbols/using/using-member-conversion.xml index 397cd8e640..591cc697da 100644 --- a/test-files/golden-tests/symbols/using/using-member-conversion.xml +++ b/test-files/golden-tests/symbols/using/using-member-conversion.xml @@ -98,6 +98,7 @@ function Yyyb35deIA+gpVYakhwVjtGJBkQ= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -160,6 +161,7 @@ X + public @@ -185,6 +187,7 @@ function Yyyb35deIA+gpVYakhwVjtGJBkQ= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= @@ -227,6 +230,7 @@ using EFiZJ7JGhYhYwHH32s8HA+C+gns= + public regular yi1fc3tRK4IAsSp9WUPwfU6MSc8= @@ -263,6 +267,7 @@ function Yyyb35deIA+gpVYakhwVjtGJBkQ= + public regular ynx5NXMLXqzSXwgOnIP6CHzNx14= diff --git a/test-files/golden-tests/symbols/using/using-member-function.xml b/test-files/golden-tests/symbols/using/using-member-function.xml index 2aad594114..3f8e5f5b27 100644 --- a/test-files/golden-tests/symbols/using/using-member-function.xml +++ b/test-files/golden-tests/symbols/using/using-member-function.xml @@ -68,6 +68,7 @@ function nGMtjL9NQBvDG5i6/RUEWr+GrRg= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -154,6 +155,7 @@ function xY3rr0vMQ99dtCUUyDbfqsakgww= + protected regular 3JsK1DO0O+wZhv+0meptQrbs3fY= @@ -232,6 +234,7 @@ function PvNGaaAeF9VeSz8kIOeaPmy37BQ= + public regular BrX2oZup9qgy4SfJloKCuUYZshA= @@ -310,6 +313,7 @@ function mEbr7lEslKhZ3jpVBYzcTiHp/oA= + protected regular CSFzdUEgi4+pu0K2D3isHXeaoFQ= @@ -388,6 +392,7 @@ function CEIniuKR4So6PAYFUcT6B+Nx+H8= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -466,6 +471,7 @@ function 5FJgzIcro5VIoeXTsaIxTaVD91s= + protected regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -581,6 +587,7 @@ A + public @@ -590,6 +597,7 @@ B + public @@ -599,6 +607,7 @@ C + protected @@ -608,6 +617,7 @@ D + protected @@ -645,6 +655,7 @@ function nGMtjL9NQBvDG5i6/RUEWr+GrRg= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -694,6 +705,7 @@ using rmQLRfXW6vtP8GPIdyNNwtpI+fw= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -729,6 +741,7 @@ using G3OvpIVH5hy5WK887jqrPTyl37g= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -764,6 +777,7 @@ using HTq6bF0wwPrK9aYY2w2AP0w7n4M= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -799,6 +813,7 @@ using zZluhP9Ym1VXLys/h+I2mnz4A6E= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -834,6 +849,7 @@ using T+dE7rV3VUFcNGkSQ5sS+TE3ovE= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -869,6 +885,7 @@ using YoyYEMZ0BckFWg9oBMs6hEGFY1o= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -904,6 +921,7 @@ using DND4SGqk7GU/0r60b5NpJlihpCI= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -940,6 +958,7 @@ function nGMtjL9NQBvDG5i6/RUEWr+GrRg= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -989,6 +1008,7 @@ using vu1xdQQ6LH5sjZHsW8XwytWstO8= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -1025,6 +1045,7 @@ function xY3rr0vMQ99dtCUUyDbfqsakgww= + protected regular 3JsK1DO0O+wZhv+0meptQrbs3fY= @@ -1067,6 +1088,7 @@ using 91+ZMOvfXn2lxSqWzq2TgM9xueo= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -1103,6 +1125,7 @@ function PvNGaaAeF9VeSz8kIOeaPmy37BQ= + public regular BrX2oZup9qgy4SfJloKCuUYZshA= @@ -1145,6 +1168,7 @@ using CQN3Y3phH+3gaj82D6tq5au3JMQ= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -1181,6 +1205,7 @@ function mEbr7lEslKhZ3jpVBYzcTiHp/oA= + protected regular CSFzdUEgi4+pu0K2D3isHXeaoFQ= @@ -1223,6 +1248,7 @@ using vYTRrgx7/KOCWsM9RR5gIdgaRsw= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -1259,6 +1285,7 @@ function CEIniuKR4So6PAYFUcT6B+Nx+H8= + public regular KJWEqOD/QXinlGIqVHqmIlA5Z6E= @@ -1301,6 +1328,7 @@ using IrXefx1M56k6Iagrba7mfDBpg80= + public regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -1337,6 +1365,7 @@ function 5FJgzIcro5VIoeXTsaIxTaVD91s= + protected regular 47VHAvq/9ANwJboZT8J8RwBjMLU= @@ -1393,6 +1422,7 @@ overloads fRZCjYpQKv6bmUv7+MW+i+lpbAc= + protected regular FLgkhM3m0U3Lo2o3XLPUizWPH00= @@ -1435,6 +1465,7 @@ function xY3rr0vMQ99dtCUUyDbfqsakgww= + protected regular 3JsK1DO0O+wZhv+0meptQrbs3fY= @@ -1477,6 +1508,7 @@ function PvNGaaAeF9VeSz8kIOeaPmy37BQ= + public regular BrX2oZup9qgy4SfJloKCuUYZshA= @@ -1519,6 +1551,7 @@ function mEbr7lEslKhZ3jpVBYzcTiHp/oA= + protected regular CSFzdUEgi4+pu0K2D3isHXeaoFQ= diff --git a/test-files/golden-tests/symbols/using/using-typename.xml b/test-files/golden-tests/symbols/using/using-typename.xml index 3b34a688dc..5598010103 100644 --- a/test-files/golden-tests/symbols/using/using-typename.xml +++ b/test-files/golden-tests/symbols/using/using-typename.xml @@ -56,6 +56,7 @@ typedef GJwWDf/H5L0HhOr2GLrume6MtVg= + public regular pOlR4JvM07kjg0dk5WSjWZiChpc= diff --git a/test-files/golden-tests/symbols/variable/function-objects.adoc b/test-files/golden-tests/symbols/variable/function-objects.adoc index 29585b7855..2224a06420 100644 --- a/test-files/golden-tests/symbols/variable/function-objects.adoc +++ b/test-files/golden-tests/symbols/variable/function-objects.adoc @@ -75,7 +75,7 @@ | Overload from type‐marked function object. | link:#example-mixed[`mixed`] | The call operator. -| link:#example-multi_overload-06[`multi_overload`] +| link:#example-multi_overload-0c[`multi_overload`] | `multi_overload` overloads | link:#example-nested_record_fo[`nested_record_fo`] | Nested‐record overload. @@ -809,7 +809,7 @@ The result. | The input. |=== -[#example-multi_overload-06] +[#example-multi_overload-0c] == link:#example[example]::multi_overload `multi_overload` overloads diff --git a/test-files/golden-tests/symbols/variable/function-objects.html b/test-files/golden-tests/symbols/variable/function-objects.html index e195699f6f..41ddc687ab 100644 --- a/test-files/golden-tests/symbols/variable/function-objects.html +++ b/test-files/golden-tests/symbols/variable/function-objects.html @@ -89,7 +89,7 @@

explicit_fo Explicit overload. marked_on_type Overload from type-marked function object. mixed The call operator. -multi_overload multi_overload overloads +multi_overload multi_overload overloads nested_record_fo Nested-record overload. ordinary_function An ordinary function for comparison. single_overload The single overload. @@ -999,7 +999,7 @@

-

+

example::multi_overload

multi_overload overloads

diff --git a/test-files/golden-tests/symbols/variable/function-objects.xml b/test-files/golden-tests/symbols/variable/function-objects.xml index a7bacedfb2..7c137e63aa 100644 --- a/test-files/golden-tests/symbols/variable/function-objects.xml +++ b/test-files/golden-tests/symbols/variable/function-objects.xml @@ -64,7 +64,7 @@ jheJbElDtz8sRPC5LnSDQq8lZxk= Q7TeXaooeWBCT9SU99nyB5CtK+s= U4zTCtzSQV8IWSGvNJ9yVS05DrI= - aH5Pl0fbmu90J23OrryO2sgW4nQ= + xR65goSvHe3iHYZOSCxa3obFJxU= CKAGfUg3xu9aj/61O8lvzoUtJ1Y= oZ3I+KHvN54JGuKNFFjwQbrpV/s= gqHyzWPULraMQqYE5Z7KRclfhlU= @@ -160,6 +160,7 @@ function ncXmIInH4q8y85ElLYqPtp4Sh7k= + public implementation-defined 2LfkQhwiuDwFsKFjyyY80x+aQlo= @@ -261,6 +262,7 @@ function z4MsJNxheGTP8zz11tDKbex/Zmg= + public implementation-defined dz4ofw8qgvj3+fcNASP+amk1UNM= @@ -336,6 +338,7 @@ function b/HysfrapANFiwuzDbaP4vFpQ60= + public implementation-defined V3WwbBFpxCbUh0q1EW7VPy75Jz0= @@ -421,6 +424,7 @@ overloads NUvxcQ9Cgz6qTi0dPJwX33aEujc= + public implementation-defined mZtv21AdBSGdGVNkTV5gNP0Hn/s= @@ -455,6 +459,7 @@ function 5SxFoaISsZsYzIp9HRw7tVX/TBY= + public implementation-defined mZtv21AdBSGdGVNkTV5gNP0Hn/s= @@ -475,6 +480,7 @@ constructor 1 1 + constexpr 1 @@ -489,6 +495,7 @@ function LYHk7iBgu2JeT2lpllNkJBcGHLQ= + public implementation-defined mZtv21AdBSGdGVNkTV5gNP0Hn/s= @@ -530,6 +537,7 @@ constructor 1 1 + constexpr 1 @@ -544,6 +552,7 @@ function lRw3HhK40/l+C3AHJ9IXZ0YiR/U= + public implementation-defined mZtv21AdBSGdGVNkTV5gNP0Hn/s= @@ -584,6 +593,7 @@ constructor 1 1 + constexpr 1 @@ -598,6 +608,7 @@ function njwFVAfRvQKdhOoe3xOPwxaPATY= + public implementation-defined mZtv21AdBSGdGVNkTV5gNP0Hn/s= @@ -618,6 +629,7 @@ destructor 1 1 + constexpr 1 @@ -632,6 +644,7 @@ overloads 4fr25Ymu72J1jfBMI4M7C2nWJBM= + public implementation-defined mZtv21AdBSGdGVNkTV5gNP0Hn/s= @@ -668,6 +681,7 @@ function 6VFxN0vFHQ1ltsX6WvDNzolS25o= + public implementation-defined mZtv21AdBSGdGVNkTV5gNP0Hn/s= @@ -719,6 +733,7 @@ normal 1 1 + constexpr 1 @@ -733,6 +748,7 @@ function UqbIsgY8DwZ8/6gwpjlHbkxC2bM= + public implementation-defined mZtv21AdBSGdGVNkTV5gNP0Hn/s= @@ -783,6 +799,7 @@ normal 1 1 + constexpr 1 @@ -798,6 +815,7 @@ function 9N/DoqP9RHp9oKIyjd88SuxV/rY= + public implementation-defined mZtv21AdBSGdGVNkTV5gNP0Hn/s= @@ -881,6 +899,7 @@ function Lfqm/zhq8Q8oS9Q0D2bS6UyswPY= + public implementation-defined D8IWM+7P/nyQQB/NcuOZMF8WDCo= @@ -942,6 +961,7 @@ function sx7jOM1J8Bx2DQECVEuJjtUWYMQ= + public implementation-defined D8IWM+7P/nyQQB/NcuOZMF8WDCo= @@ -1032,6 +1052,7 @@ function J6kTsHT7fNdgA7bSU4ZOMKLM04w= + public implementation-defined KzRcRDf1l+SCwO6jl7+0aO9JJIQ= @@ -1148,6 +1169,7 @@ function 646BAjJD4AjEZDXn0F7WmTCVnJA= + public implementation-defined +MYTjwT3NRZ4i0BUpsmhZ1YaAOs= @@ -1184,6 +1206,7 @@ 0 constructor + constexpr 1 @@ -1199,6 +1222,7 @@ function SBSUA5qD7n1g5kE4lOaTinh2gvg= + public implementation-defined +MYTjwT3NRZ4i0BUpsmhZ1YaAOs= @@ -1282,6 +1306,7 @@ function kBLhEu0L9QFIGvGeOITcw2renN0= + public implementation-defined Az+6QP9SgQCZ4pUqFjmL9Ycbg0c= @@ -1366,6 +1391,7 @@ function Dor3XY0DNbRqrq6o3VxmPSzwEPw= + public implementation-defined 8GvlDu9dAD8UG/F0pZ8sAX1YesQ= @@ -1403,6 +1429,7 @@ function 7NEMEfqJ2qq9ya8mcW1t7V5K0DA= + public implementation-defined 8GvlDu9dAD8UG/F0pZ8sAX1YesQ= @@ -1479,6 +1506,7 @@ record /wWRZ47l3RGQk0A5qVxlYjTR7sA= + public implementation-defined ZbHWoM9CoNiYVmufn0FnQWFE1ZQ= struct @@ -1505,6 +1533,7 @@ function nKjbGVj5I947gr5VfJysn6vnTe8= + public implementation-defined /wWRZ47l3RGQk0A5qVxlYjTR7sA= @@ -1546,6 +1575,7 @@ function rKnLJR7lcC0C6lxW9+MhJd/snzI= + public regular ZbHWoM9CoNiYVmufn0FnQWFE1ZQ= @@ -1620,6 +1650,7 @@ record HAgVk74XB+nAkzBERa0oYoigmBY= + public regular 3kuCvqZIS5FgwyOIBUEhgYmqu0E= struct @@ -1646,6 +1677,7 @@ function /hS1hRoPxuWySkopC1x6FD0nDZs= + public regular HAgVk74XB+nAkzBERa0oYoigmBY= @@ -1722,6 +1754,7 @@ record Giq2nqOt5SEaT5yKq9j2bejuWvs= + public implementation-defined uwDbzoOh24VM871hbgoix965hvM= struct @@ -1748,6 +1781,7 @@ function LjkioF0I8g9FaNmeTIt55ASSryw= + public implementation-defined Giq2nqOt5SEaT5yKq9j2bejuWvs= @@ -1789,6 +1823,7 @@ function 4grFl9KUVcmgR4SaG47T6S4hBcg= + protected regular uwDbzoOh24VM871hbgoix965hvM= @@ -1865,6 +1900,7 @@ function o734JPIfZePYuyAyua3N+JYwItg= + public implementation-defined XFQrzDfbt/aT3nLEC8SIREJ5+7E= @@ -1898,6 +1934,7 @@ function spf/dXaQav7IqxEsfSwHdsLfHWA= + public implementation-defined XFQrzDfbt/aT3nLEC8SIREJ5+7E= @@ -1990,6 +2027,7 @@ function sqKzgkIg6wchew4YY2o9aHpXB5k= + public implementation-defined Q9BKcT6i3Nm4PivgU7CqtfQE0Ac= @@ -2048,6 +2086,7 @@ function StQp0Y2/XG9TgxxTnrLdK5J14tc= + public implementation-defined Q9BKcT6i3Nm4PivgU7CqtfQE0Ac= @@ -2081,6 +2120,7 @@ variable IXlACVGYZDttXUeLMB8kTaDmKxI= + public implementation-defined Q9BKcT6i3Nm4PivgU7CqtfQE0Ac= @@ -2155,6 +2195,7 @@ overloads 4yMh7Vr6W8B4tNabZDXG8+DRxCk= + public implementation-defined WqZB1D86sSU2lzC30xcTY6pwqHk= @@ -2212,6 +2253,7 @@ function 3pFm3c1ouZFHVz2VuYyh06UPI8k= + public implementation-defined WqZB1D86sSU2lzC30xcTY6pwqHk= @@ -2253,6 +2295,7 @@ function QnmIVR1Ls62IV8fNUQH/87RT+rw= + public implementation-defined WqZB1D86sSU2lzC30xcTY6pwqHk= @@ -2369,6 +2412,7 @@ function ObkoK/8a36a2cpcglnOZeQ0CK6c= + public implementation-defined wR6zAGIhJWV1xy/X/ML6Op9S+u0= @@ -2444,6 +2488,7 @@ function SzUbNth6+mFqhSkU3FRUROTwn8I= + public regular E/A/OzFlfSba7YOnb9pdx6Kzl6g= @@ -2504,6 +2549,7 @@ function VP74GFLyNdozTrTey2tdfoaKjUY= + public regular /CKyuk1DFM5gAFSwM3GfxffLRNY= @@ -2528,6 +2574,7 @@ function Bm5H0TkZTEkMu+OEU9dcfKqFe20= + public regular /CKyuk1DFM5gAFSwM3GfxffLRNY= @@ -2622,6 +2669,7 @@ function BinZVJt4PqUyP1CO2JwuP1ErFQ8= + public implementation-defined s8nEdmju6kIl769Zvq7LJHs8AKk= @@ -2705,6 +2753,7 @@ function NZU9vrif2JKVBHco3BSjU081qx0= + public regular yVsgdCQ8HsNP7QyqPoq5iBc9f0M= @@ -2772,6 +2821,7 @@ function s6JXEmJmgs/H6a+GJMvxyFG2e4w= + public regular yVsgdCQ8HsNP7QyqPoq5iBc9f0M= @@ -2855,6 +2905,7 @@ function s5A+2w1YzMHk0ociR6NK5lJqCfY= + public implementation-defined GRVLpM4dLol3Ue3NbyG8bey66g0= @@ -2978,6 +3029,7 @@ overloads e+cfJyIox6lE1iWy1zo7AAzH+gk= + public regular DRkO3nVEpuQnXYIVWnNBGj2hiaU= @@ -3011,6 +3063,7 @@ function WIOS77QIsEF9HDdKTHvR3vrhYFM= + public regular DRkO3nVEpuQnXYIVWnNBGj2hiaU= @@ -3031,6 +3084,7 @@ constructor 1 1 + constexpr 1 @@ -3045,6 +3099,7 @@ function Vymw5R4e5hNHeWpujcciD/MqyDA= + public regular DRkO3nVEpuQnXYIVWnNBGj2hiaU= @@ -3109,6 +3164,7 @@ function HKwRMG1TCcdL9/dO4RHiRSkYj+4= + public regular DRkO3nVEpuQnXYIVWnNBGj2hiaU= @@ -3199,6 +3255,7 @@ function dSYqwa5823mxb9MxBFg2LyhF9Es= + public implementation-defined Cs8nEj6ZkCT7h1GP1HjjcVxOUlI= @@ -3284,6 +3341,7 @@ function huKuawyv71bSszEI0u56adA4Lwo= + public implementation-defined h5HKx53sOtPBzVoVIKOnPpebeA4= @@ -3334,6 +3392,7 @@ function kqTsWjHssMexPe9Mf2RuIb8S1s4= + public implementation-defined xK7ya2AjlmpquvBT9IAYtgjz4J0= @@ -3925,7 +3984,7 @@ overloads - aH5Pl0fbmu90J23OrryO2sgW4nQ= + xR65goSvHe3iHYZOSCxa3obFJxU= regular aq/rzLqHv/iV3WBl6G2uDMW2aTo= @@ -4660,6 +4719,7 @@ function /29KnLYPswG8mop699YNDxPe6/w= + public regular wNm1kb23AfA8iHR4axtiYb0LV1g= diff --git a/test-files/golden-tests/symbols/variable/member-pointer.xml b/test-files/golden-tests/symbols/variable/member-pointer.xml index 4f9c1d5eea..a79241a5e3 100644 --- a/test-files/golden-tests/symbols/variable/member-pointer.xml +++ b/test-files/golden-tests/symbols/variable/member-pointer.xml @@ -61,6 +61,7 @@ variable DXJlc6wJoMqdyInhGyTWrnqPjXQ= + public regular pOYGF6pLJlICuiGO0Xj0daDb/to= @@ -83,6 +84,7 @@ variable Nf9nw1tdylSujfxB7RZlc/qmkeM= + public regular pOYGF6pLJlICuiGO0Xj0daDb/to= diff --git a/test-files/golden-tests/symbols/variable/no_unique_address.xml b/test-files/golden-tests/symbols/variable/no_unique_address.xml index 2cc5a9fc5d..444a1bd435 100644 --- a/test-files/golden-tests/symbols/variable/no_unique_address.xml +++ b/test-files/golden-tests/symbols/variable/no_unique_address.xml @@ -74,6 +74,7 @@ variable h2j8f921HD+Fyaokcs4ndGM/yNk= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -102,6 +103,7 @@ variable 91xV6rCFObgi6i1/U2uZ/GnD3WM= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= diff --git a/test-files/golden-tests/symbols/variable/ns-variables.xml b/test-files/golden-tests/symbols/variable/ns-variables.xml index a04a26898d..36c0ce4d5e 100644 --- a/test-files/golden-tests/symbols/variable/ns-variables.xml +++ b/test-files/golden-tests/symbols/variable/ns-variables.xml @@ -117,6 +117,7 @@ 1 + extern 1 @@ -146,6 +147,7 @@ 1 + extern 1 @@ -191,6 +193,7 @@ T + extern x0 @@ -236,6 +239,7 @@ 0 + static 1 @@ -259,6 +263,7 @@ 0 + static 1 1 diff --git a/test-files/golden-tests/symbols/variable/static-data-def-constexpr.xml b/test-files/golden-tests/symbols/variable/static-data-def-constexpr.xml index fee36e32d5..2525d19ab1 100644 --- a/test-files/golden-tests/symbols/variable/static-data-def-constexpr.xml +++ b/test-files/golden-tests/symbols/variable/static-data-def-constexpr.xml @@ -55,6 +55,7 @@ variable Sugb8cWjf0PRq2dN0pOEbkKY9C4= + public regular pOYGF6pLJlICuiGO0Xj0daDb/to= @@ -65,6 +66,7 @@ S{} + static 1 1 @@ -111,6 +113,7 @@ variable +nDx93NmBRbrBZ8RlBwzPk8rp8I= + public regular CgGNdHpW5mG/i5741WPYQDw28OQ= @@ -120,6 +123,7 @@ 0 + static 1 1 1 diff --git a/test-files/golden-tests/symbols/variable/static-data-def.xml b/test-files/golden-tests/symbols/variable/static-data-def.xml index 31412bd5e5..6faee51828 100644 --- a/test-files/golden-tests/symbols/variable/static-data-def.xml +++ b/test-files/golden-tests/symbols/variable/static-data-def.xml @@ -70,6 +70,7 @@ variable rW6h+mCfZLROHlYzwXFIUPN6oSE= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -79,6 +80,7 @@ 0 + static v1 @@ -98,6 +100,7 @@ variable nkB0lMmDvMsu9GDrKr3Mzwi5g6I= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -107,6 +110,7 @@ 1 + static 1 @@ -127,6 +131,7 @@ variable e48c97dC3AIWJHWE5T0yWVxezgg= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -136,6 +141,7 @@ 2 + static 1 1 @@ -157,6 +163,7 @@ variable Wx5S5oWv5o4nV7I+zFEKTvWl40g= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -167,6 +174,7 @@ 3 + static 1 @@ -187,6 +195,7 @@ variable 6a2wBN4mHiuAAqV0gYgYQeqFNVM= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -197,6 +206,7 @@ 4 + static v5 @@ -210,6 +220,7 @@ variable Q96okKllwtE2Tg+t7HAkms6flbk= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -219,6 +230,7 @@ 5 + static 1 @@ -233,6 +245,7 @@ variable 0Xh4ypD2+Eipbqc5Z8n4fEkXZ8c= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -243,6 +256,7 @@ 6 + static 1 @@ -257,6 +271,7 @@ variable VCnmz8Cp9RtJzQQQ7yw57uzbQAY= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -266,6 +281,7 @@ 7 + static 1 1 @@ -313,6 +329,7 @@ variable +yhNlGuTVY4spCfBXSTBkEDzi30= + public regular 3JsK1DO0O+wZhv+0meptQrbs3fY= @@ -323,6 +340,7 @@ 0 + static 1 @@ -337,6 +355,7 @@ variable vNYWHh2ovZiBP3uVEeJhMkaiF3w= + public regular 3JsK1DO0O+wZhv+0meptQrbs3fY= @@ -346,6 +365,7 @@ 0 + static 1 1 1 diff --git a/test-files/golden-tests/symbols/variable/static-data-template.xml b/test-files/golden-tests/symbols/variable/static-data-template.xml index 19b8e7410b..64256d4fb5 100644 --- a/test-files/golden-tests/symbols/variable/static-data-template.xml +++ b/test-files/golden-tests/symbols/variable/static-data-template.xml @@ -57,6 +57,7 @@ variable XzfcXqh7M7tQVHWKvlB891KIC/0= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -78,6 +79,7 @@ 0 + static 1 1 @@ -93,6 +95,7 @@ variable eKdgKT44WwfN7UkQXGEqVJssIPM= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -122,6 +125,7 @@ 2 + static 1 1 @@ -137,6 +141,7 @@ variable odTOUblgmooUozrBqW3qKzPWSO4= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -173,6 +178,7 @@ 1 + static 1 1 diff --git a/test-files/golden-tests/symbols/variable/var-template.xml b/test-files/golden-tests/symbols/variable/var-template.xml index e6cc18cd84..214f29b144 100644 --- a/test-files/golden-tests/symbols/variable/var-template.xml +++ b/test-files/golden-tests/symbols/variable/var-template.xml @@ -53,6 +53,7 @@ variable kMNXdSEDYBD+T4RYbkq3ekR+jUU= + public regular 3JsK1DO0O+wZhv+0meptQrbs3fY= @@ -69,6 +70,7 @@ 0 + static 1 @@ -83,6 +85,7 @@ variable Wtlw7VEK38lEEBeqNoDOjTkJE+U= + public regular 3JsK1DO0O+wZhv+0meptQrbs3fY= @@ -103,6 +106,7 @@ -1 + static 1 @@ -117,6 +121,7 @@ variable wvoZkG3eTMaiFAf971AFdvmHCDE= + public regular 3JsK1DO0O+wZhv+0meptQrbs3fY= @@ -144,6 +149,7 @@ sizeof(T) + static 1 diff --git a/test-files/golden-tests/templates/c_mct_expl_inline.xml b/test-files/golden-tests/templates/c_mct_expl_inline.xml index 2a92b6692d..07a29b53fb 100644 --- a/test-files/golden-tests/templates/c_mct_expl_inline.xml +++ b/test-files/golden-tests/templates/c_mct_expl_inline.xml @@ -49,6 +49,7 @@ record TqGFMDXDQ6ddt946aVDeyhY9Ij8= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= struct @@ -81,6 +82,7 @@ function GOVvMTuIkLp/PqUkD5z7Bvf4+FQ= + public regular TqGFMDXDQ6ddt946aVDeyhY9Ij8= @@ -104,6 +106,7 @@ record FxMFFVpoV2/LOOndnkQ2gu3w69U= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= struct @@ -141,6 +144,7 @@ function nxkAf/oNulEWX8A/IPUHkew79Y4= + public regular FxMFFVpoV2/LOOndnkQ2gu3w69U= diff --git a/test-files/golden-tests/templates/c_mct_expl_outside.xml b/test-files/golden-tests/templates/c_mct_expl_outside.xml index 69e21fb2f9..54468f51ba 100644 --- a/test-files/golden-tests/templates/c_mct_expl_outside.xml +++ b/test-files/golden-tests/templates/c_mct_expl_outside.xml @@ -49,6 +49,7 @@ record TqGFMDXDQ6ddt946aVDeyhY9Ij8= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= struct @@ -81,6 +82,7 @@ function GOVvMTuIkLp/PqUkD5z7Bvf4+FQ= + public regular TqGFMDXDQ6ddt946aVDeyhY9Ij8= @@ -104,6 +106,7 @@ record FxMFFVpoV2/LOOndnkQ2gu3w69U= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= struct @@ -141,6 +144,7 @@ function nxkAf/oNulEWX8A/IPUHkew79Y4= + public regular FxMFFVpoV2/LOOndnkQ2gu3w69U= diff --git a/test-files/golden-tests/templates/c_mft_expl_inline.xml b/test-files/golden-tests/templates/c_mft_expl_inline.xml index 76b185d1e1..2d8636ea99 100644 --- a/test-files/golden-tests/templates/c_mft_expl_inline.xml +++ b/test-files/golden-tests/templates/c_mft_expl_inline.xml @@ -48,6 +48,7 @@ overloads ct3b2BagsWFMKFtMRx/UVwhsQmo= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= normal @@ -72,6 +73,7 @@ function 6UIt6/hx1mqXnkk0IbjFZNnVJ2Y= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -102,6 +104,7 @@ function veV2posfyuimiNezTTVnomiz6tY= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= diff --git a/test-files/golden-tests/templates/c_mft_expl_outside.xml b/test-files/golden-tests/templates/c_mft_expl_outside.xml index 4181a47e63..d4a45ebf52 100644 --- a/test-files/golden-tests/templates/c_mft_expl_outside.xml +++ b/test-files/golden-tests/templates/c_mft_expl_outside.xml @@ -48,6 +48,7 @@ overloads ct3b2BagsWFMKFtMRx/UVwhsQmo= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= normal @@ -72,6 +73,7 @@ function 6UIt6/hx1mqXnkk0IbjFZNnVJ2Y= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= @@ -102,6 +104,7 @@ function veV2posfyuimiNezTTVnomiz6tY= + public regular YrPSaKAbmXgzCAX5WByx4eVoqBM= diff --git a/test-files/golden-tests/templates/ct_expl.xml b/test-files/golden-tests/templates/ct_expl.xml index e7b8a06820..71e43adbc2 100644 --- a/test-files/golden-tests/templates/ct_expl.xml +++ b/test-files/golden-tests/templates/ct_expl.xml @@ -56,6 +56,7 @@ function c4jAAYDw9qnOxUCpXquNT7fALUY= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -116,6 +117,7 @@ function NCn1LYKSU8X/x/ejZTTGKsJQLug= + public regular AKwlChAOi+0ttIAPsD7uitS+gk0= diff --git a/test-files/golden-tests/templates/ct_expl_dependency.xml b/test-files/golden-tests/templates/ct_expl_dependency.xml index 1d21184ee7..f8b0eef6a6 100644 --- a/test-files/golden-tests/templates/ct_expl_dependency.xml +++ b/test-files/golden-tests/templates/ct_expl_dependency.xml @@ -59,6 +59,7 @@ function NCn1LYKSU8X/x/ejZTTGKsJQLug= + public regular AKwlChAOi+0ttIAPsD7uitS+gk0= diff --git a/test-files/golden-tests/templates/ct_mc.xml b/test-files/golden-tests/templates/ct_mc.xml index 774d2efff5..15cdc59510 100644 --- a/test-files/golden-tests/templates/ct_mc.xml +++ b/test-files/golden-tests/templates/ct_mc.xml @@ -55,6 +55,7 @@ record fWoD36lD5WiSb4UmeWlbUQhHuXU= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= struct @@ -80,6 +81,7 @@ function FBE8MWhdRJutTkraJIXajcEr4U0= + public regular fWoD36lD5WiSb4UmeWlbUQhHuXU= diff --git a/test-files/golden-tests/templates/ct_mc_expl_outside.xml b/test-files/golden-tests/templates/ct_mc_expl_outside.xml index f4a71e9b82..c70c04393d 100644 --- a/test-files/golden-tests/templates/ct_mc_expl_outside.xml +++ b/test-files/golden-tests/templates/ct_mc_expl_outside.xml @@ -56,6 +56,7 @@ record fWoD36lD5WiSb4UmeWlbUQhHuXU= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= struct @@ -81,6 +82,7 @@ function FBE8MWhdRJutTkraJIXajcEr4U0= + public regular fWoD36lD5WiSb4UmeWlbUQhHuXU= @@ -147,6 +149,7 @@ record xks7eBJx25CIVelbqBa2LCCEll4= + public regular AKwlChAOi+0ttIAPsD7uitS+gk0= struct @@ -172,6 +175,7 @@ function 692fgnQlzTAWgxI/0d6qH/zXq2w= + public regular xks7eBJx25CIVelbqBa2LCCEll4= diff --git a/test-files/golden-tests/templates/ct_mct.xml b/test-files/golden-tests/templates/ct_mct.xml index a144c48625..7dc5a12532 100644 --- a/test-files/golden-tests/templates/ct_mct.xml +++ b/test-files/golden-tests/templates/ct_mct.xml @@ -55,6 +55,7 @@ record dKDSVrZun8skBV/NUCmJyCUOvJA= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= struct @@ -87,6 +88,7 @@ function E/7hys/9wYX9YmsaiN5VHroNb8A= + public regular dKDSVrZun8skBV/NUCmJyCUOvJA= diff --git a/test-files/golden-tests/templates/ct_mct_expl_inline.xml b/test-files/golden-tests/templates/ct_mct_expl_inline.xml index 6580f28709..218a32f99e 100644 --- a/test-files/golden-tests/templates/ct_mct_expl_inline.xml +++ b/test-files/golden-tests/templates/ct_mct_expl_inline.xml @@ -56,6 +56,7 @@ record dKDSVrZun8skBV/NUCmJyCUOvJA= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= struct @@ -88,6 +89,7 @@ function E/7hys/9wYX9YmsaiN5VHroNb8A= + public regular dKDSVrZun8skBV/NUCmJyCUOvJA= @@ -111,6 +113,7 @@ record bHsbts/3qH4qdnqFkFXkR6e8OCw= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= struct @@ -148,6 +151,7 @@ function ymRqXpmLCXBjCy4HMrul4HOObrs= + public regular bHsbts/3qH4qdnqFkFXkR6e8OCw= diff --git a/test-files/golden-tests/templates/ct_mct_expl_outside.xml b/test-files/golden-tests/templates/ct_mct_expl_outside.xml index 86c9fbb084..4c2d64111b 100644 --- a/test-files/golden-tests/templates/ct_mct_expl_outside.xml +++ b/test-files/golden-tests/templates/ct_mct_expl_outside.xml @@ -56,6 +56,7 @@ record dKDSVrZun8skBV/NUCmJyCUOvJA= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= struct @@ -88,6 +89,7 @@ function E/7hys/9wYX9YmsaiN5VHroNb8A= + public regular dKDSVrZun8skBV/NUCmJyCUOvJA= @@ -149,6 +151,7 @@ record O0cvG3FLegojxWfTpLGLrtCaiDg= + public regular AKwlChAOi+0ttIAPsD7uitS+gk0= struct @@ -180,6 +183,7 @@ record IMS2etMN5nj/r7pRC8mVNme6K+o= + public regular AKwlChAOi+0ttIAPsD7uitS+gk0= struct @@ -217,6 +221,7 @@ function wgUjzBOiB/QKB2Z0bKQ7J2DgRR0= + public regular IMS2etMN5nj/r7pRC8mVNme6K+o= diff --git a/test-files/golden-tests/templates/ct_mf.xml b/test-files/golden-tests/templates/ct_mf.xml index 8d593fd26a..89bc8cd82b 100644 --- a/test-files/golden-tests/templates/ct_mf.xml +++ b/test-files/golden-tests/templates/ct_mf.xml @@ -55,6 +55,7 @@ function c4jAAYDw9qnOxUCpXquNT7fALUY= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= diff --git a/test-files/golden-tests/templates/ct_mf_expl_outside.xml b/test-files/golden-tests/templates/ct_mf_expl_outside.xml index b6803bf651..af25664379 100644 --- a/test-files/golden-tests/templates/ct_mf_expl_outside.xml +++ b/test-files/golden-tests/templates/ct_mf_expl_outside.xml @@ -56,6 +56,7 @@ function c4jAAYDw9qnOxUCpXquNT7fALUY= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -122,6 +123,7 @@ function 5vQMmBbKdcjmr6fZ5KE/+hqkRD0= + public regular AKwlChAOi+0ttIAPsD7uitS+gk0= diff --git a/test-files/golden-tests/templates/ct_mft.xml b/test-files/golden-tests/templates/ct_mft.xml index 20b403c803..283fb7194a 100644 --- a/test-files/golden-tests/templates/ct_mft.xml +++ b/test-files/golden-tests/templates/ct_mft.xml @@ -55,6 +55,7 @@ function fycIFVnUjGsczEihLemEC7pcV4w= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= diff --git a/test-files/golden-tests/templates/ct_mft_expl_inline.xml b/test-files/golden-tests/templates/ct_mft_expl_inline.xml index cfbc7a499b..efb6a4c8b3 100644 --- a/test-files/golden-tests/templates/ct_mft_expl_inline.xml +++ b/test-files/golden-tests/templates/ct_mft_expl_inline.xml @@ -55,6 +55,7 @@ overloads AvAESYZFVvK3PiO4+x9D9ee81UQ= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= normal @@ -79,6 +80,7 @@ function fycIFVnUjGsczEihLemEC7pcV4w= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -109,6 +111,7 @@ function TneA5Ayz4v/9oOUbbnRL1ybm8VM= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= diff --git a/test-files/golden-tests/templates/ct_mft_expl_outside.xml b/test-files/golden-tests/templates/ct_mft_expl_outside.xml index 4bf78c294d..21d5bf89ed 100644 --- a/test-files/golden-tests/templates/ct_mft_expl_outside.xml +++ b/test-files/golden-tests/templates/ct_mft_expl_outside.xml @@ -56,6 +56,7 @@ function fycIFVnUjGsczEihLemEC7pcV4w= + public regular 5tUSuMtQqtYE49jBjSYSWp0DJAM= @@ -129,6 +130,7 @@ overloads op80FfPhYepRTXrszso/lDC+jBQ= + public regular AKwlChAOi+0ttIAPsD7uitS+gk0= normal @@ -153,6 +155,7 @@ function MtpaTgur0M7GGwfDIj9dUJZjaHM= + public regular AKwlChAOi+0ttIAPsD7uitS+gk0= @@ -183,6 +186,7 @@ function fjcm9F09lrCrLSgw6Swqw9KOBlM= + public regular AKwlChAOi+0ttIAPsD7uitS+gk0= diff --git a/test-files/golden-tests/templates/ft_expl.adoc b/test-files/golden-tests/templates/ft_expl.adoc index 9e7c47f0ef..cc2c0c2ab2 100644 --- a/test-files/golden-tests/templates/ft_expl.adoc +++ b/test-files/golden-tests/templates/ft_expl.adoc @@ -9,10 +9,10 @@ [cols=1] |=== | Name -| link:#f-0c7[`f`] +| link:#f-01[`f`] |=== -[#f-0c7] +[#f-01] == f === Synopses @@ -34,10 +34,10 @@ link:#f-03[f](); ---- template<> void -link:#f-0ca[f<int>](); +link:#f-0c[f<int>](); ---- -[.small]#link:#f-0ca[_» more..._]# +[.small]#link:#f-0c[_» more..._]# [#f-03] == f @@ -53,7 +53,7 @@ void f(); ---- -[#f-0ca] +[#f-0c] == link:#f-03[f]<int> === Synopsis diff --git a/test-files/golden-tests/templates/ft_expl.html b/test-files/golden-tests/templates/ft_expl.html index 60bdd61040..49009071a7 100644 --- a/test-files/golden-tests/templates/ft_expl.html +++ b/test-files/golden-tests/templates/ft_expl.html @@ -21,14 +21,14 @@

-f +f

-

+

f

@@ -45,8 +45,8 @@

template<>
 void
-f<int>();
-» more... +f<int>(); +» more...

@@ -67,7 +67,7 @@

-

+

f<int>

diff --git a/test-files/golden-tests/templates/ft_expl.xml b/test-files/golden-tests/templates/ft_expl.xml index 925f1b0e72..427b189cb6 100644 --- a/test-files/golden-tests/templates/ft_expl.xml +++ b/test-files/golden-tests/templates/ft_expl.xml @@ -8,7 +8,7 @@ //////////////////////////8= regular - x0B55dWJmTMqTXm6ZEu790gmPxY= + GDxqxKc4bkmO2HKXdEn9Zgy37O8= @@ -22,7 +22,7 @@ overloads - x0B55dWJmTMqTXm6ZEu790gmPxY= + GDxqxKc4bkmO2HKXdEn9Zgy37O8= regular //////////////////////////8= normal From b9fac7c409f121080987d6062429b486ecb6de8d Mon Sep 17 00:00:00 2001 From: Gennaro Prota Date: Thu, 16 Apr 2026 17:02:58 +0200 Subject: [PATCH 5/6] build: replace the hand-written mrdocs.rnc with the one generated via --schemas This guarantees the RELAX NG schema stays in sync with the C++ type definitions. Every CI run now validates all golden test XML files against a schema derived from the same reflection metadata that produces the XML. --- CMakeLists.txt | 15 +- mrdocs.rnc | 949 -------------------- util/bootstrap/src/configs/run_configs.py | 10 +- util/bootstrap/src/configs/visual_studio.py | 2 +- util/bootstrap/tests/test_ide_configs.py | 2 +- 5 files changed, 22 insertions(+), 956 deletions(-) delete mode 100644 mrdocs.rnc diff --git a/CMakeLists.txt b/CMakeLists.txt index edebc5100d..3d747b9cce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -561,12 +561,19 @@ if (MRDOCS_BUILD_TESTS) message(FATAL_ERROR "Java is needed to run xml-lint") endif() + # Generate mrdocs.rnc via the --schemas option, then + # convert it to a .rng for xmllint validation. + add_custom_command( + COMMAND mrdocs --schemas=${CMAKE_CURRENT_BINARY_DIR} + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mrdocs.rnc + DEPENDS mrdocs + COMMENT "Generating mrdocs.rnc from --schemas") add_custom_command( COMMAND ${Java_JAVA_EXECUTABLE} -jar ${CMAKE_CURRENT_SOURCE_DIR}/util/trang.jar - ${CMAKE_CURRENT_SOURCE_DIR}/mrdocs.rnc ${CMAKE_CURRENT_BINARY_DIR}/mrdocs.rng - OUTPUT mrdocs.rng - DEPENDS mrdocs.rnc) - add_custom_target(mrdocs_rng ALL DEPENDS mrdocs.rng) + ${CMAKE_CURRENT_BINARY_DIR}/mrdocs.rnc ${CMAKE_CURRENT_BINARY_DIR}/mrdocs.rng + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mrdocs.rng + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/mrdocs.rnc) + add_custom_target(mrdocs_rng ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/mrdocs.rng) file(GLOB_RECURSE XML_SOURCES CONFIGURE_DEPENDS test-files/golden-tests/*.xml) add_test(NAME xml-lint diff --git a/mrdocs.rnc b/mrdocs.rnc deleted file mode 100644 index 75c69b3477..0000000000 --- a/mrdocs.rnc +++ /dev/null @@ -1,949 +0,0 @@ -# -# Licensed under the Apache License v2.0 with LLVM Exceptions. -# See https://llvm.org/LICENSE.txt for license information. -# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -# -# Copyright (c) 2023 Klemens Morgenstern (klemens.morgenstern@gmx.net) -# Copyright (c) 2023 Krystian Stasiowski (sdkrystian@gmail.com) -# Copyright (c) 2024 Fernando Pelliccioni (fpelliccioni@gmail.com) -# Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) -# Copyright (c) 2026 Gennaro Prota (gennaro.prota@gmail.com) -# -# Official repository: https://github.com/cppalliance/mrdocs -# -# https://relaxng.org/compact-tutorial-20030326.html -# -# convert to mrdocs.rng with tools/trang.jar (https://relaxng.org/jclark/trang.html) -# when commiting because xmllint doesn't understand the compact format -# - -namespace xsi= "http://www.w3.org/2001/XMLSchema-instance" - -grammar -{ - start = Mrdocs | Tagfile - - Mrdocs = - element mrdocs - { - attribute xsi:noNamespaceSchemaLocation { text }?, - AnySymbol* - } - - Tagfile = - element tagfile - { - TagCompound+ - } - - TagCompound = - element compound - { - attribute kind { "namespace" | "class" }, - element name { text }, - element filename { text }, - (TagClass | TagMember)* - } - - TagClass = - element class - { - attribute kind { "class" }, - text - } - - TagMember = - element member - { - attribute kind { "function" }, - element type { text }, - element name { text }, - element anchorfile { text }, - element anchor { text }, - element arglist { text } - } - - #--------------------------------------------- - # Common types - #--------------------------------------------- - - SymbolID = text # Base64-encoded - - Bool = "1" - - #--------------------------------------------- - # Enums - #--------------------------------------------- - - ExtractionMode = "regular" | "see-below" | "implementation-defined" | "dependency" - - FileKind = "source" | "system" | "other" - - FunctionClass = "normal" | "constructor" | "conversion" | "destructor" - - RecordKeyKind = "struct" | "class" | "union" - - UsingClass = "normal" | "typename" | "enum" - - AccessSpecifier = "public" | "private" | "protected" - - AdmonitionKind = "note" | "tip" | "important" | "warning" | "caution" - - ListKind = "ordered" | "unordered" | "task" - - ParamDirection = "in" | "out" | "in-out" - - TableAlignmentKind = "left" | "center" | "right" - - #--------------------------------------------- - # Name (used inside types, not for symbol names) - #--------------------------------------------- - - Name = - element name - { - element kind { text }?, - element id { SymbolID }?, - element identifier { text }?, - Name? - } - - #--------------------------------------------- - # Location & Source - #--------------------------------------------- - - Location = - element location - { - element short-path { text }?, - element source-path { text }?, - element line-number { text }?, - element column-number { text }?, - element documented { Bool }? - } - - SourceInfo = - element source - { - Location* - } - - #--------------------------------------------- - # Symbol base - #--------------------------------------------- - - SymbolBase = - ( - element name { text }?, - SourceInfo, - element kind { text }?, - element id { SymbolID }?, - element access { AccessSpecifier }?, - element extraction { ExtractionMode }?, - element is-copy-from-inherited { Bool }?, - element parent { SymbolID }?, - DocComment? - ) - - #--------------------------------------------- - # Types (polymorphic) - #--------------------------------------------- - - TypeBase = - ( - element is-pack-expansion { Bool }?, - element is-const { Bool }?, - element is-volatile { Bool }?, - element constraints { text }? - ) - - ArrayType = - element array - { - TypeBase, - AnyType?, - element bounds { text }? - } - - AutoType = - element auto - { - TypeBase, - Name?, - element keyword { text }?, - element constraint { text }? - } - - DecltypeType = - element decltype - { - TypeBase, - element operand { text }? - } - - FunctionType = - element function - { - TypeBase, - AnyType*, - element ref-qualifier { text }?, - element exception-spec { text }?, - element is-variadic { Bool }? - } - - LValueReferenceType = - element l-value-reference - { - TypeBase, - AnyType? - } - - RValueReferenceType = - element r-value-reference - { - TypeBase, - AnyType? - } - - PointerType = - element pointer - { - TypeBase, - AnyType? - } - - MemberPointerType = - element member-pointer - { - TypeBase, - AnyType* - } - - NamedType = - element named - { - TypeBase, - Name?, - element fundamental-type { text }? - } - - AnyType = - ArrayType | AutoType | DecltypeType | FunctionType | - LValueReferenceType | RValueReferenceType | PointerType | - MemberPointerType | NamedType - - #--------------------------------------------- - # Template parameters (polymorphic) - #--------------------------------------------- - - TParamBase = - ( - element kind { text }?, - element name { text }?, - element is-parameter-pack { Bool }?, - AnyTArg? - ) - - TypeTParam = - element type-tparam - { - TParamBase, - element key-kind { text }?, - Name? - } - - ConstantTParam = - element constant-tparam - { - TParamBase, - AnyType? - } - - TemplateTParam = - element template-tparam - { - TParamBase, - AnyTParam* - } - - AnyTParam = TypeTParam | ConstantTParam | TemplateTParam - - #--------------------------------------------- - # Template arguments (polymorphic) - #--------------------------------------------- - - TArgBase = - ( - element kind { text }?, - element is-pack-expansion { Bool }? - ) - - TypeTArg = - element type-targ - { - TArgBase, - AnyType? - } - - ConstantTArg = - element constant-targ - { - TArgBase, - element value { text }? - } - - TemplateTArg = - element template-targ - { - TArgBase, - element name { text }?, - element template { text }? - } - - AnyTArg = TypeTArg | ConstantTArg | TemplateTArg - - #--------------------------------------------- - # Template - #--------------------------------------------- - - TemplateInfo = - element template - { - AnyTParam*, - AnyTArg*, - element requires { text }?, - element primary { SymbolID }? - } - - #--------------------------------------------- - # Param - #--------------------------------------------- - - Param = - element param - { - AnyType?, - element name { text }?, - element default { text }? - } - - #--------------------------------------------- - # Symbols - #--------------------------------------------- - - Namespace = - element namespace - { - SymbolBase, - element is-inline { Bool }?, - element is-anonymous { Bool }?, - Name*, - NamespaceTranche? - } - - NamespaceTranche = - element namespace-tranche - { - element namespaces { SymbolID }*, - element namespace-aliases { SymbolID }*, - element typedefs { SymbolID }*, - element records { SymbolID }*, - element enums { SymbolID }*, - element functions { SymbolID }*, - element variables { SymbolID }*, - element concepts { SymbolID }*, - element guides { SymbolID }*, - element usings { SymbolID }* - } - - #--------------------------------------------- - - Record = - element record - { - SymbolBase, - element key-kind { RecordKeyKind }?, - TemplateInfo?, - element is-type-def { Bool }?, - element is-final { Bool }?, - element is-final-destructor { Bool }?, - BaseInfo*, - element derived { SymbolID }*, - RecordInterface?, - FriendInfo* - } - - BaseInfo = - element base - { - AnyType?, - element access { AccessSpecifier }?, - element is-virtual { Bool }? - } - - RecordInterface = - element record-interface - { - RecordTranche* - } - - RecordTranche = - element record-tranche - { - element namespace-aliases { SymbolID }*, - element typedefs { SymbolID }*, - element records { SymbolID }*, - element enums { SymbolID }*, - element functions { SymbolID }*, - element static-functions { SymbolID }*, - element variables { SymbolID }*, - element static-variables { SymbolID }*, - element concepts { SymbolID }*, - element guides { SymbolID }*, - element usings { SymbolID }* - } - - FriendInfo = - element friend - { - AnyType?, - element id { SymbolID }? - } - - #--------------------------------------------- - - Function = - element function - { - SymbolBase, - AnyType?, - Param*, - TemplateInfo?, - element func-class { FunctionClass }?, - element noexcept { text }?, - element requires { text }?, - element is-variadic { Bool }?, - element is-defaulted { Bool }?, - element is-explicitly-defaulted { Bool }?, - element is-deleted { Bool }?, - element is-deleted-as-written { Bool }?, - element is-no-return { Bool }?, - element has-override-attr { Bool }?, - element has-trailing-return { Bool }?, - element is-nodiscard { Bool }?, - element is-explicit-object-member-function { Bool }?, - element constexpr { text }?, - element overloaded-operator { text }?, - element storage-class { text }?, - element is-record-method { Bool }?, - element is-virtual { Bool }?, - element is-virtual-as-written { Bool }?, - element is-pure { Bool }?, - element is-const { Bool }?, - element is-volatile { Bool }?, - element is-final { Bool }?, - element ref-qualifier { text }?, - element explicit { text }?, - element attributes { text }*, - element function-object-impl { SymbolID }? - } - - #--------------------------------------------- - - Guide = - element guide - { - SymbolBase, - AnyType?, - TemplateInfo?, - Param*, - element explicit { text }? - } - - #--------------------------------------------- - - Enum = - element enum - { - SymbolBase, - element scoped { Bool }?, - AnyType?, - element constants { SymbolID }* - } - - EnumConstant = - element enum-constant - { - SymbolBase, - element initializer { text }? - } - - #--------------------------------------------- - - Typedef = - element typedef - { - SymbolBase, - AnyType?, - element is-using { Bool }?, - TemplateInfo? - } - - #--------------------------------------------- - - Variable = - element variable - { - SymbolBase, - AnyType?, - TemplateInfo?, - element initializer { text }?, - element storage-class { text }?, - element is-inline { Bool }?, - element is-constexpr { Bool }?, - element is-constinit { Bool }?, - element is-thread-local { Bool }?, - element attributes { text }*, - element is-maybe-unused { Bool }?, - element is-deprecated { Bool }?, - element has-no-unique-address { Bool }?, - element is-record-field { Bool }?, - element is-mutable { Bool }?, - element is-variant { Bool }?, - element is-bitfield { Bool }?, - element bitfield-width { text }? - } - - #--------------------------------------------- - - NamespaceAlias = - element namespace-alias - { - SymbolBase, - IdentifierName? - } - - IdentifierName = - element identifier-name - { - element kind { text }?, - element id { SymbolID }?, - element identifier { text }?, - Name? - } - - #--------------------------------------------- - - Using = - element using - { - SymbolBase, - element class { UsingClass }?, - Name?, - element shadow-declarations { SymbolID }* - } - - #--------------------------------------------- - - Concept = - element concept - { - SymbolBase, - TemplateInfo?, - element constraint { text }? - } - - #--------------------------------------------- - - Overloads = - element overloads - { - SymbolBase, - element func-class { FunctionClass }?, - element overloaded-operator { text }?, - element members { SymbolID }*, - AnyType? - } - - #--------------------------------------------- - # All symbol types (flat at top level) - #--------------------------------------------- - - AnySymbol = - ( - Namespace | - Record | - Function | - Typedef | - Enum | - EnumConstant | - Variable | - Guide | - NamespaceAlias | - Using | - Concept | - Overloads - ) - - #--------------------------------------------- - # - # DocComment - # - #--------------------------------------------- - - DocComment = - element doc-comment - { - BlockNode* - } - - #--------------------------------------------- - # Block nodes - #--------------------------------------------- - - BlockNode = - ( - AdmonitionBlock | - BriefBlock | - CodeBlock | - HeadingBlock | - ParagraphBlock | - ListBlock | - DefinitionListBlock | - QuoteBlock | - ThematicBreakBlock | - FootnoteDefinitionBlock | - TableBlock | - MathBlock | - ParamBlock | - PostconditionBlock | - PreconditionBlock | - ReferenceBlock | - ReturnsBlock | - SeeBlock | - ThrowsBlock | - TParamBlock - ) - - BlockBase = - element kind { text }? - - AdmonitionBlock = - element admonition - { - BlockBase, - BlockNode*, - element admonish { AdmonitionKind }? - } - - BriefBlock = - element brief - { - BlockBase, - InlineNode*, - element copied-from { SymbolID }* - } - - CodeBlock = - element code - { - BlockBase, - element literal { text }?, - element info { text }? - } - - HeadingBlock = - element heading - { - BlockBase, - InlineNode*, - element level { text }? - } - - ParagraphBlock = - element paragraph - { - BlockBase, - InlineNode* - } - - ListItem = - element list-item - { - BlockNode* - } - - ListBlock = - element list - { - BlockBase, - ListItem*, - element list-kind { ListKind }? - } - - DefinitionListItem = - element definition-list-item - { - BlockNode*, - element term { InlineNode }* - } - - DefinitionListBlock = - element definition-list - { - BlockBase, - DefinitionListItem* - } - - QuoteBlock = - element quote - { - BlockBase, - BlockNode* - } - - ThematicBreakBlock = - element thematic-break - { - BlockBase - } - - FootnoteDefinitionBlock = - element footnote-definition - { - BlockBase, - BlockNode*, - element label { text }? - } - - TableCell = - element table-cell - { - InlineNode* - } - - TableRow = - element table-row - { - element is-header { Bool }?, - element cells { TableCell }* - } - - TableBlock = - element table - { - BlockBase, - element alignments { TableAlignmentKind }*, - TableRow* - } - - MathBlock = - element math - { - BlockBase, - element literal { text }? - } - - ParamBlock = - element param - { - BlockBase, - InlineNode*, - element name { text }?, - element direction { ParamDirection }? - } - - PostconditionBlock = - element postcondition - { - BlockBase, - InlineNode* - } - - PreconditionBlock = - element precondition - { - BlockBase, - InlineNode* - } - - ReferenceBlock = - element reference - { - BlockBase, - element literal { text }?, - element id { SymbolID }? - } - - ReturnsBlock = - element returns - { - BlockBase, - InlineNode* - } - - SeeBlock = - element see - { - BlockBase, - InlineNode* - } - - ThrowsBlock = - element throws - { - BlockBase, - InlineNode*, - element exception { text }? - } - - TParamBlock = - element t-param - { - BlockBase, - InlineNode*, - element name { text }? - } - - #--------------------------------------------- - # Inline nodes - #--------------------------------------------- - - InlineNode = - ( - TextInline | - CodeInline | - MathInline | - EmphInline | - StrongInline | - HighlightInline | - StrikethroughInline | - SubscriptInline | - SuperscriptInline | - LinkInline | - ReferenceInline | - ImageInline | - FootnoteReferenceInline | - CopyDetailsInline | - LineBreakInline | - SoftBreakInline - ) - - InlineBase = - element kind { text }? - - TextInline = - element text - { - InlineBase, - element literal { text }? - } - - CodeInline = - element code - { - InlineBase, - InlineNode* - } - - MathInline = - element math - { - InlineBase, - element literal { text }? - } - - EmphInline = - element emph - { - InlineBase, - InlineNode* - } - - StrongInline = - element strong - { - InlineBase, - InlineNode* - } - - HighlightInline = - element highlight - { - InlineBase, - InlineNode* - } - - StrikethroughInline = - element strikethrough - { - InlineBase, - InlineNode* - } - - SubscriptInline = - element subscript - { - InlineBase, - InlineNode* - } - - SuperscriptInline = - element superscript - { - InlineBase, - InlineNode* - } - - LinkInline = - element link - { - InlineBase, - InlineNode*, - element href { text }? - } - - ReferenceInline = - element reference - { - InlineBase, - element literal { text }?, - element id { SymbolID }? - } - - ImageInline = - element image - { - InlineBase, - InlineNode*, - element src { text }?, - element alt { text }? - } - - FootnoteReferenceInline = - element footnote-reference - { - InlineBase, - element label { text }? - } - - CopyDetailsInline = - element copy-details - { - InlineBase, - element string { text }?, - element id { SymbolID }? - } - - LineBreakInline = - element line-break - { - InlineBase - } - - SoftBreakInline = - element soft-break - { - InlineBase - } -} diff --git a/util/bootstrap/src/configs/run_configs.py b/util/bootstrap/src/configs/run_configs.py index a65c9c517b..588e69b856 100644 --- a/util/bootstrap/src/configs/run_configs.py +++ b/util/bootstrap/src/configs/run_configs.py @@ -184,13 +184,21 @@ def get_dynamic_run_configs( # XML / RelaxNG tasks requiring Java and libxml2 if java_path: + configs.append({ + "name": "MrDocs Generate Schemas", + "script": os.path.join(options.build_dir, "bin", "mrdocs"), + "args": [ + "--schemas=" + options.build_dir, + ], + "cwd": options.source_dir, + }) configs.append({ "name": "MrDocs Generate RelaxNG Schema", "script": java_path, "args": [ "-jar", os.path.join(options.source_dir, "util", "trang.jar"), - os.path.join(options.source_dir, "mrdocs.rnc"), + os.path.join(options.build_dir, "mrdocs.rnc"), os.path.join(options.build_dir, "mrdocs.rng"), ], "cwd": options.source_dir, diff --git a/util/bootstrap/src/configs/visual_studio.py b/util/bootstrap/src/configs/visual_studio.py index c519c86cd1..a1390e2f7c 100644 --- a/util/bootstrap/src/configs/visual_studio.py +++ b/util/bootstrap/src/configs/visual_studio.py @@ -162,7 +162,7 @@ def vs_config_project_target(config): new_task["appliesTo"] = os.path.join(new_task["workingDirectory"], "package.json") new_task["appliesTo"] = rel_to_mrdocs_dir(new_task["appliesTo"], source_dir) elif new_task["taskLabel"] == "MrDocs Generate RelaxNG Schema": - new_task["appliesTo"] = "mrdocs.rnc" + new_task["appliesTo"] = "*" elif new_task["taskLabel"] == "MrDocs XML Lint with RelaxNG Schema": new_task["appliesTo"] = "mrdocs.rng" diff --git a/util/bootstrap/tests/test_ide_configs.py b/util/bootstrap/tests/test_ide_configs.py index 5276d6f082..b7fcdab215 100644 --- a/util/bootstrap/tests/test_ide_configs.py +++ b/util/bootstrap/tests/test_ide_configs.py @@ -784,7 +784,7 @@ def test_relaxng_schema_task(self, mock_ensure, mock_load, mock_write): ) tasks_data = json.loads(mock_write.call_args_list[1][0][1]) task = tasks_data["tasks"][0] - self.assertEqual(task["appliesTo"], "mrdocs.rnc") + self.assertEqual(task["appliesTo"], "*") @patch("src.configs.visual_studio.write_text") @patch("src.configs.visual_studio.load_json_file", return_value=None) From 7c86fab632b16b9dcab3b06c82bdf826a7f6c808 Mon Sep 17 00:00:00 2001 From: Gennaro Prota Date: Fri, 1 May 2026 16:16:57 +0200 Subject: [PATCH 6/6] feat(schemas): describe DOM types and members in the JSON schema This adds a small lookup table keyed by (typeName, memberName) carrying hand-written descriptions for the DOM seen by Handlebars templates which become "description" fields in the JSON schema. --- include/mrdocs/Schemas/DomDescriptions.hpp | 761 +++++++++++++++++++++ include/mrdocs/Schemas/DomSchemaWriter.hpp | 109 ++- 2 files changed, 844 insertions(+), 26 deletions(-) create mode 100644 include/mrdocs/Schemas/DomDescriptions.hpp diff --git a/include/mrdocs/Schemas/DomDescriptions.hpp b/include/mrdocs/Schemas/DomDescriptions.hpp new file mode 100644 index 0000000000..f115668e76 --- /dev/null +++ b/include/mrdocs/Schemas/DomDescriptions.hpp @@ -0,0 +1,761 @@ +// +// Licensed under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +// Copyright (c) 2026 Gennaro Prota (gennaro.prota@gmail.com) +// +// Official repository: https://github.com/cppalliance/mrdocs +// + +#ifndef MRDOCS_API_SCHEMAS_DOMDESCRIPTIONS_HPP +#define MRDOCS_API_SCHEMAS_DOMDESCRIPTIONS_HPP + +#include + +/** Hand-curated descriptions for the JSON Schema produced by + @ref DomSchemaWriter. + + The DOM that Handlebars templates see is a projection of the + C++ corpus types. Its field names and shapes are derived + automatically by reflection, but the *meaning* of each field + cannot be inferred from the C++ types alone (e.g. the C++ doc + comment describes the C++ class, not the DOM projection; + synthesized fields like `class` or `isSeeBelow` have no C++ + counterpart at all). + + This header carries a small lookup table indexed by + `(typeName, memberName)`. The schema writer consults it when + emitting each `$defs` entry and each property; matched entries + become `description` fields in the JSON Schema and propagate + automatically to any human-readable rendering of it. + + A `memberName` of `""` denotes the type-level description. +*/ +namespace mrdocs::schema { + +/** A single description entry. + + `type` matches the readable type name produced by + `readableTypeName()` (e.g. `"FunctionSymbol"`, + `"NamedType"`). + + `member` matches the DOM-normalized field name (the + C++ identifier with its first letter lowercased), or + `""` for a description of the type itself. +*/ +struct DomDescription +{ + std::string_view type; + std::string_view member; + std::string_view text; +}; + +/** Retrieve the description for `(type, member)`, or `""` if + no entry exists. +*/ +constexpr std::string_view +findDomDescription( + std::string_view type, + std::string_view member = "") noexcept; + +namespace detail { + +inline constexpr DomDescription kDomDescriptions[] = { + // ----- Symbol (base) ------------------------------------------- + {"Symbol", "", + "Common base of every C++ symbol the corpus exposes. " + "Concrete symbols (function, record, namespace, etc.) " + "extend this with their kind-specific fields."}, + {"Symbol", "name", + "Unqualified name of the symbol, as written in the source."}, + {"Symbol", "id", + "Stable, base64-encoded identifier used for cross-references " + "between DOM objects."}, + {"Symbol", "kind", + "Discriminator selecting the symbol kind (e.g. " + "`\"function\"`, `\"record\"`). Each concrete symbol type " + "constrains this field to a single literal value."}, + {"Symbol", "access", + "Access specifier (`\"public\"`, `\"protected\"`, " + "`\"private\"`); empty for namespace-scope members."}, + {"Symbol", "extraction", + "Why the symbol was extracted: `\"regular\"`, " + "`\"see-below\"`, `\"implementation-defined\"`, or " + "`\"dependency\"`."}, + {"Symbol", "isCopyFromInherited", + "True when the symbol is a synthesized copy of an " + "inherited member (see the `inherit-base-members` " + "configuration option)."}, + {"Symbol", "parent", + "Identifier of the enclosing scope, or empty when the " + "symbol lives in the global namespace."}, + {"Symbol", "doc", + "Parsed documentation comment attached to the symbol, " + "or absent when the symbol is undocumented."}, + {"Symbol", "loc", + "Source location information for the symbol's declaration " + "and definition."}, + + // ----- Symbol synthesized fields ------------------------------- + {"Symbol", "class", + "Tag set to the literal `\"symbol\"`. Lets templates " + "discriminate symbol DOM objects from auxiliary types " + "(`type`, `name`, etc.) without inspecting `kind`."}, + {"Symbol", "isRegular", + "Convenience boolean equivalent to " + "`extraction === \"regular\"`."}, + {"Symbol", "isSeeBelow", + "Convenience boolean equivalent to " + "`extraction === \"see-below\"`."}, + {"Symbol", "isImplementationDefined", + "Convenience boolean equivalent to " + "`extraction === \"implementation-defined\"`."}, + {"Symbol", "isDependency", + "Convenience boolean equivalent to " + "`extraction === \"dependency\"`."}, + + // ----- FunctionSymbol ------------------------------------------ + {"FunctionSymbol", "", + "A function declaration, including free functions, " + "member functions, constructors, destructors, and " + "user-defined operators."}, + {"FunctionSymbol", "params", + "Function parameter list, in declaration order."}, + {"FunctionSymbol", "returnType", + "Return type. Absent for constructors and destructors."}, + {"FunctionSymbol", "template", + "Template head if this is a function template; absent " + "for non-templates."}, + {"FunctionSymbol", "funcClass", + "Special-function classification (`\"constructor\"`, " + "`\"destructor\"`, `\"conversion\"`, etc.) or empty for " + "ordinary functions."}, + {"FunctionSymbol", "noexcept", + "Rendered `noexcept` specifier, if any."}, + {"FunctionSymbol", "requires", + "Trailing `requires`-clause expression as written."}, + {"FunctionSymbol", "isVariadic", + "True when the function accepts a C-style `...` " + "argument list."}, + {"FunctionSymbol", "isDefaulted", + "True when the function is `= default`."}, + {"FunctionSymbol", "isExplicitlyDefaulted", + "True when the function carries an explicit `= default` " + "in source (not just an implicit defaulted special " + "member)."}, + {"FunctionSymbol", "isDeleted", + "True when the function is `= delete` (whether written " + "explicitly or implied by language rules)."}, + {"FunctionSymbol", "isDeletedAsWritten", + "True only when the function is `= delete` as written in " + "source; distinguishes user-deleted from implicitly " + "deleted."}, + {"FunctionSymbol", "isNoReturn", + "True when the function is marked `[[noreturn]]`."}, + {"FunctionSymbol", "hasOverrideAttr", + "True when the function carries the `override` " + "specifier."}, + {"FunctionSymbol", "hasTrailingReturn", + "True when the function uses trailing-return-type " + "syntax (`auto … -> T`)."}, + {"FunctionSymbol", "isNodiscard", + "True when the function is marked `[[nodiscard]]`."}, + {"FunctionSymbol", "isExplicitObjectMemberFunction", + "True when the function declares an explicit object " + "parameter (deducing-this member function)."}, + {"FunctionSymbol", "constexpr", + "Constexpr level: `\"constexpr\"`, `\"consteval\"`, or " + "empty."}, + {"FunctionSymbol", "overloadedOperator", + "Overloaded operator name (e.g. `\"operator+\"`) or " + "empty if not an operator."}, + {"FunctionSymbol", "storageClass", + "Storage class: `\"static\"`, `\"extern\"`, etc., or " + "empty."}, + {"FunctionSymbol", "isRecordMethod", + "True when the function is a member of a class, struct, " + "or union."}, + {"FunctionSymbol", "isVirtual", + "True when the function is virtual (whether by `virtual` " + "keyword or by overriding a virtual function)."}, + {"FunctionSymbol", "isVirtualAsWritten", + "True only when the `virtual` keyword appears in source."}, + {"FunctionSymbol", "isPure", + "True when the function is pure virtual (`= 0`)."}, + {"FunctionSymbol", "isConst", + "True when the function is a `const` member function."}, + {"FunctionSymbol", "isVolatile", + "True when the function is a `volatile` member " + "function."}, + {"FunctionSymbol", "isFinal", + "True when the function is declared `final`."}, + {"FunctionSymbol", "refQualifier", + "Reference qualifier on the implicit object parameter: " + "`\"&\"`, `\"&&\"`, or empty."}, + {"FunctionSymbol", "explicit", + "Rendered `explicit` specifier (with optional condition) " + "for constructors and conversion functions."}, + {"FunctionSymbol", "attributes", + "Attributes attached to the declaration."}, + + // ----- RecordSymbol -------------------------------------------- + {"RecordSymbol", "", + "A class, struct, or union declaration."}, + {"RecordSymbol", "keyKind", + "The introducing keyword: `\"class\"`, `\"struct\"`, " + "or `\"union\"`."}, + {"RecordSymbol", "isFinal", + "True if the class is declared `final`."}, + {"RecordSymbol", "bases", + "Direct base classes, in declaration order."}, + {"RecordSymbol", "template", + "Template head if this is a class template; absent " + "for non-templates."}, + {"RecordSymbol", "interface", + "Per-access summary of the record's members (public, " + "protected, private, plus aggregated views)."}, + {"RecordSymbol", "isTypeDef", + "True when the record was introduced by an anonymous " + "`typedef struct { … } Name;` declaration."}, + {"RecordSymbol", "isFinalDestructor", + "True when the record's destructor is declared `final`."}, + {"RecordSymbol", "derived", + "Identifiers of records that derive from this one and " + "appear in the corpus."}, + {"RecordSymbol", "friends", + "List of friend declarations attached to the record."}, + + // ----- NamespaceSymbol ----------------------------------------- + {"NamespaceSymbol", "", + "A namespace declaration. The implicit global namespace " + "appears as a namespace symbol with an empty name and " + "no parent."}, + {"NamespaceSymbol", "isInline", + "True if the namespace is declared `inline`."}, + {"NamespaceSymbol", "isAnonymous", + "True if the namespace has no name in source."}, + {"NamespaceSymbol", "members", + "All members of the namespace, grouped into tranches " + "by kind."}, + {"NamespaceSymbol", "usingDirectives", + "List of `using namespace` directives found in this " + "namespace's scope."}, + + // ----- EnumSymbol ---------------------------------------------- + {"EnumSymbol", "", + "An enum declaration (scoped or unscoped)."}, + {"EnumSymbol", "scoped", + "True for `enum class` / `enum struct`; false for " + "unscoped enums."}, + {"EnumSymbol", "underlyingType", + "Underlying integer type, when an explicit one was " + "specified."}, + {"EnumSymbol", "constants", + "Identifiers of the enum's constants, in declaration " + "order."}, + + // ----- EnumConstantSymbol -------------------------------------- + {"EnumConstantSymbol", "", + "A single enumerator within an enum declaration."}, + {"EnumConstantSymbol", "initializer", + "Initializer expression as written, or empty when the " + "enumerator takes its implicit value."}, + + // ----- TypedefSymbol ------------------------------------------- + {"TypedefSymbol", "", + "A type alias declaration (`typedef` or `using`)."}, + {"TypedefSymbol", "type", + "Aliased type."}, + {"TypedefSymbol", "isUsing", + "True for `using`-style aliases; false for the " + "`typedef` keyword."}, + {"TypedefSymbol", "template", + "Template head if this is an alias template; absent " + "for non-templates."}, + + // ----- VariableSymbol ------------------------------------------ + {"VariableSymbol", "", + "A variable declaration: namespace-scope variable, " + "static data member, or non-static data member."}, + {"VariableSymbol", "type", + "Declared type of the variable."}, + {"VariableSymbol", "template", + "Template head if this is a variable template."}, + {"VariableSymbol", "initializer", + "Initializer expression as written, or empty when the " + "variable has no initializer."}, + {"VariableSymbol", "storageClass", + "Storage class: `\"static\"`, `\"extern\"`, " + "`\"thread_local\"`, etc., or empty."}, + {"VariableSymbol", "isInline", + "True when the variable is declared `inline`."}, + {"VariableSymbol", "isConstexpr", + "True when the variable is declared `constexpr`."}, + {"VariableSymbol", "isConstinit", + "True when the variable is declared `constinit`."}, + {"VariableSymbol", "isThreadLocal", + "True when the variable has thread-storage duration."}, + {"VariableSymbol", "isMaybeUnused", + "True when the variable carries `[[maybe_unused]]`."}, + {"VariableSymbol", "isDeprecated", + "True when the variable carries `[[deprecated]]`."}, + {"VariableSymbol", "hasNoUniqueAddress", + "True when the data member carries " + "`[[no_unique_address]]`."}, + {"VariableSymbol", "isRecordField", + "True when the variable is a non-static data member of " + "a class, struct, or union."}, + {"VariableSymbol", "isMutable", + "True when the data member is declared `mutable`."}, + {"VariableSymbol", "isVariant", + "True when the data member is part of an anonymous " + "union."}, + {"VariableSymbol", "isBitfield", + "True when the data member is a bit-field."}, + {"VariableSymbol", "bitfieldWidth", + "Bit-field width expression, when the member is a " + "bit-field."}, + {"VariableSymbol", "attributes", + "Attributes attached to the declaration."}, + + // ----- ConceptSymbol ------------------------------------------- + {"ConceptSymbol", "", + "A concept declaration."}, + {"ConceptSymbol", "template", + "Concept's template parameter list."}, + {"ConceptSymbol", "constraint", + "Constraint expression that defines the concept."}, + + // ----- GuideSymbol --------------------------------------------- + {"GuideSymbol", "", + "A user-provided class-template deduction guide."}, + {"GuideSymbol", "deduced", + "Deduced class-template specialization the guide produces."}, + {"GuideSymbol", "template", + "Template parameters of the deduction guide."}, + {"GuideSymbol", "params", + "Parameter list used for argument deduction."}, + {"GuideSymbol", "explicit", + "Rendered `explicit` specifier, if any."}, + + // ----- NamespaceAliasSymbol ------------------------------------ + {"NamespaceAliasSymbol", "", + "A namespace-alias declaration " + "(`namespace alias = target;`)."}, + {"NamespaceAliasSymbol", "aliasedSymbol", + "Reference to the namespace this alias refers to."}, + + // ----- UsingSymbol --------------------------------------------- + {"UsingSymbol", "", + "A `using`-declaration (introduces names from another " + "scope, including using-enum)."}, + {"UsingSymbol", "class", + "Kind of `using`-declaration: ordinary, typename, or " + "enum."}, + {"UsingSymbol", "introducedName", + "Name introduced into the current scope, qualified by " + "the source scope."}, + {"UsingSymbol", "shadowDeclarations", + "Symbols brought into scope by the using-declaration."}, + + // ----- OverloadsSymbol ----------------------------------------- + {"OverloadsSymbol", "", + "An aggregate of overloaded functions sharing a name. " + "Used to group overload sets in the corpus."}, + {"OverloadsSymbol", "funcClass", + "Shared special-function classification of the overload " + "set, when applicable."}, + {"OverloadsSymbol", "overloadedOperator", + "Shared overloaded-operator name when the overload set " + "is for an operator."}, + {"OverloadsSymbol", "members", + "Identifiers of the function declarations belonging to " + "this overload set."}, + {"OverloadsSymbol", "returnType", + "Common return type when every overload shares it; " + "absent otherwise."}, + + // ----- Polymorphic union types --------------------------------- + {"Type", "", + "A C++ type. The DOM serializes the most-derived kind " + "(named, pointer, reference, array, function, etc.); see " + "the `oneOf` entries for the per-kind shape."}, + {"Name", "", + "A (possibly qualified) name occurring in source, " + "such as the name of a base class or the type referenced " + "by a `NamedType`."}, + {"Block", "", + "A block-level node in a parsed documentation comment " + "(paragraphs, lists, headings, and command blocks like " + "`@brief` / `@param` / `@returns`)."}, + {"Inline", "", + "An inline-level node in a parsed documentation comment " + "(text, emphasis, code spans, references, etc.)."}, + + // ----- Type variants ------------------------------------------- + {"NamedType", "", + "A type referred to by name (a class, an enum, a typedef, " + "or a fundamental type like `int`)."}, + {"NamedType", "name", + "The name as written, including any qualifications and " + "template arguments."}, + {"NamedType", "fundamentalType", + "Fundamental-type tag (`\"int\"`, `\"double\"`, …) when " + "the named type is a built-in type; empty otherwise."}, + + {"DecltypeType", "", + "A type expressed as `decltype(expr)`."}, + {"DecltypeType", "operand", + "The expression inside `decltype(...)`."}, + + {"AutoType", "", + "A placeholder type introduced by `auto` or " + "`decltype(auto)`."}, + {"AutoType", "keyword", + "Which placeholder was used: `\"auto\"` or " + "`\"decltype(auto)\"`."}, + {"AutoType", "constraint", + "Concept constraint applied to the placeholder, if any."}, + + {"LValueReferenceType", "", + "An lvalue-reference type (`T&`)."}, + {"LValueReferenceType", "pointeeType", + "The referenced type."}, + + {"RValueReferenceType", "", + "An rvalue-reference type (`T&&`)."}, + {"RValueReferenceType", "pointeeType", + "The referenced type."}, + + {"PointerType", "", + "A pointer type (`T*`)."}, + {"PointerType", "pointeeType", + "The pointed-to type."}, + + {"MemberPointerType", "", + "A pointer-to-member type (`T C::*`)."}, + {"MemberPointerType", "parentType", + "The class type the pointer is a member of."}, + {"MemberPointerType", "pointeeType", + "The type of the member being pointed to."}, + + {"ArrayType", "", + "An array type (`T[N]`)."}, + {"ArrayType", "elementType", + "The element type."}, + {"ArrayType", "bounds", + "Array bound expression as written, or empty for " + "unknown-bound arrays."}, + + {"FunctionType", "", + "A function type (used for function pointers, " + "pointers-to-members, etc.)."}, + {"FunctionType", "returnType", + "The return type."}, + {"FunctionType", "paramTypes", + "Parameter types, in declaration order."}, + {"FunctionType", "refQualifier", + "Reference qualifier on the implicit object parameter " + "(for member-function types): `\"&\"`, `\"&&\"`, or " + "empty."}, + {"FunctionType", "exceptionSpec", + "Rendered exception specification, if any."}, + {"FunctionType", "isVariadic", + "True when the function type accepts a C-style `...` " + "argument list."}, + + // ----- Name variants ------------------------------------------- + {"IdentifierName", "", + "A plain (possibly qualified) name without template " + "arguments, e.g. `std::vector` or `MyClass::nested`."}, + {"SpecializationName", "", + "A template-id: a name applied to template arguments, " + "e.g. `std::vector` or `Outer::Inner`."}, + {"SpecializationName", "templateArgs", + "Template arguments applied to the name, in declaration " + "order."}, + + // ----- Param --------------------------------------------------- + {"Param", "", + "A function parameter."}, + {"Param", "name", + "Parameter name as written in the declaration. Empty " + "for unnamed parameters."}, + {"Param", "type", + "Declared parameter type."}, + {"Param", "default", + "Default argument expression as written, or absent if " + "the parameter has no default."}, + + // ----- Location ------------------------------------------------ + {"Location", "", + "A source location (file path plus line/column)."}, + {"Location", "fullPath", + "Absolute path to the source file."}, + {"Location", "shortPath", + "Path relative to the configured source root, suitable " + "for display."}, + {"Location", "sourcePath", + "Path relative to the source-root setting, used for " + "documentation cross-references."}, + {"Location", "lineNumber", + "1-based line number of the location."}, + {"Location", "columnNumber", + "1-based column number of the location."}, + {"Location", "documented", + "True when a doc comment was attached at this location."}, + + // ----- TArg variants ------------------------------------------- + {"TypeTArg", "", + "A template argument that is a type, e.g. `int` in " + "`std::vector`."}, + {"TypeTArg", "type", + "The argument type."}, + + {"ConstantTArg", "", + "A template argument that is a non-type value, e.g. " + "`42` in `std::array`."}, + {"ConstantTArg", "value", + "The argument expression as written."}, + + {"TemplateTArg", "", + "A template argument that is itself a template, used " + "for template-template parameters."}, + {"TemplateTArg", "template", + "Identifier of the referenced template."}, + {"TemplateTArg", "name", + "Name of the template as written."}, + + // ----- TParam variants ----------------------------------------- + {"TypeTParam", "", + "A type template parameter (`template ` or " + "`template `)."}, + {"TypeTParam", "keyKind", + "Introducing keyword: `\"typename\"` or `\"class\"`."}, + {"TypeTParam", "constraint", + "Concept constraint applied to the parameter, if any."}, + + {"ConstantTParam", "", + "A non-type template parameter " + "(`template `, `template `, ...)."}, + {"ConstantTParam", "type", + "Declared type of the parameter."}, + + {"TemplateTParam", "", + "A template template parameter " + "(`template