Parcourir la source

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.
Timothy Flynn il y a 3 ans
Parent
commit
9d1519e21c

+ 2 - 8
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
 // Property descriptions: https://www.unicode.org/reports/tr44/tr44-13.html#PropList.txt
 using PropList = HashMap<String, Vector<CodePointRange>>;
 using PropList = HashMap<String, Vector<CodePointRange>>;
 
 
-// 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 source: https://www.unicode.org/Public/13.0.0/ucd/DerivedNormalizationProps.txt
 // Normalization descriptions: https://www.unicode.org/reports/tr44/#DerivedNormalizationProps.txt
 // Normalization descriptions: https://www.unicode.org/reports/tr44/#DerivedNormalizationProps.txt
 enum class QuickCheck {
 enum class QuickCheck {
@@ -479,7 +473,7 @@ enum class @name@ : @underlying@ {)~~~");
 
 
         for (auto const& alias : aliases) {
         for (auto const& alias : aliases) {
             generator.set("alias", alias.alias);
             generator.set("alias", alias.alias);
-            generator.set("value", alias.property);
+            generator.set("value", alias.name);
             generator.append(R"~~~(
             generator.append(R"~~~(
     @alias@ = @value@,)~~~");
     @alias@ = @value@,)~~~");
         }
         }
@@ -929,7 +923,7 @@ static void normalize_script_extensions(PropList& script_extensions, PropList co
 
 
     for (auto const& extension : extensions) {
     for (auto const& extension : extensions) {
         auto it = find_if(script_aliases.begin(), script_aliases.end(), [&](auto const& alias) { return extension.key == alias.alias; });
         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;
         auto& code_points = script_extensions.find(key)->value;
         code_points.extend(extension.value);
         code_points.extend(extension.value);

+ 5 - 0
Meta/Lagom/Tools/CodeGenerators/LibUnicode/GeneratorUtil.h

@@ -91,6 +91,11 @@ private:
     HashMap<StringView, StringIndexType> m_unique_string_indices;
     HashMap<StringView, StringIndexType> m_unique_string_indices;
 };
 };
 
 
+struct Alias {
+    String name;
+    String alias;
+};
+
 template<typename StringIndexType>
 template<typename StringIndexType>
 struct CanonicalLanguageID {
 struct CanonicalLanguageID {
     static Optional<CanonicalLanguageID> parse(UniqueStringStorage<StringIndexType>& unique_strings, StringView language)
     static Optional<CanonicalLanguageID> parse(UniqueStringStorage<StringIndexType>& unique_strings, StringView language)