From 9d1519e21c45158d98699fec194ff9a6b3ccb61f Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Wed, 17 Nov 2021 08:14:56 -0500 Subject: [PATCH] LibUnicode: Move GenerateUnicodeData's Alias struct to generator header This will be used for locale aliases as well. Also rename the "property" field in this struct to "name", as it no longer is only used for property aliases. --- .../CodeGenerators/LibUnicode/GenerateUnicodeData.cpp | 10 ++-------- .../Tools/CodeGenerators/LibUnicode/GeneratorUtil.h | 5 +++++ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GenerateUnicodeData.cpp b/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GenerateUnicodeData.cpp index 2dd422347a..8bec87f194 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GenerateUnicodeData.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GenerateUnicodeData.cpp @@ -45,12 +45,6 @@ struct SpecialCasing { // Property descriptions: https://www.unicode.org/reports/tr44/tr44-13.html#PropList.txt using PropList = HashMap>; -// PropertyAliases source: https://www.unicode.org/Public/13.0.0/ucd/PropertyAliases.txt -struct Alias { - String property; - String alias; -}; - // Normalization source: https://www.unicode.org/Public/13.0.0/ucd/DerivedNormalizationProps.txt // Normalization descriptions: https://www.unicode.org/reports/tr44/#DerivedNormalizationProps.txt enum class QuickCheck { @@ -479,7 +473,7 @@ enum class @name@ : @underlying@ {)~~~"); for (auto const& alias : aliases) { generator.set("alias", alias.alias); - generator.set("value", alias.property); + generator.set("value", alias.name); generator.append(R"~~~( @alias@ = @value@,)~~~"); } @@ -929,7 +923,7 @@ static void normalize_script_extensions(PropList& script_extensions, PropList co for (auto const& extension : extensions) { auto it = find_if(script_aliases.begin(), script_aliases.end(), [&](auto const& alias) { return extension.key == alias.alias; }); - auto const& key = (it == script_aliases.end()) ? extension.key : it->property; + auto const& key = (it == script_aliases.end()) ? extension.key : it->name; auto& code_points = script_extensions.find(key)->value; code_points.extend(extension.value); diff --git a/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GeneratorUtil.h b/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GeneratorUtil.h index 242b88ca4a..5e2b83df5d 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GeneratorUtil.h +++ b/Meta/Lagom/Tools/CodeGenerators/LibUnicode/GeneratorUtil.h @@ -91,6 +91,11 @@ private: HashMap m_unique_string_indices; }; +struct Alias { + String name; + String alias; +}; + template struct CanonicalLanguageID { static Optional parse(UniqueStringStorage& unique_strings, StringView language)