mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 14:17:36 +00:00
Everywhere: Rename {Deprecated => Byte}String
This commit un-deprecates DeprecatedString, and repurposes it as a byte string. As the null state has already been removed, there are no other particularly hairy blockers in repurposing this type as a byte string (what it _really_ is). This commit is auto-generated: $ xs=$(ack -l \bDeprecatedString\b\|deprecated_string AK Userland \ Meta Ports Ladybird Tests Kernel) $ perl -pie 's/\bDeprecatedString\b/ByteString/g; s/deprecated_string/byte_string/g' $xs $ clang-format --style=file -i \ $(git diff --name-only | grep \.cpp\|\.h) $ gn format $(git ls-files '*.gn' '*.gni')
This commit is contained in:
parent
38d62563b3
commit
5e1499d104
1615 changed files with 10257 additions and 10257 deletions
|
@ -6,8 +6,8 @@
|
|||
|
||||
#include "../LibUnicode/GeneratorUtil.h" // FIXME: Move this somewhere common.
|
||||
#include <AK/AllOf.h>
|
||||
#include <AK/ByteString.h>
|
||||
#include <AK/CharacterTypes.h>
|
||||
#include <AK/DeprecatedString.h>
|
||||
#include <AK/Error.h>
|
||||
#include <AK/Find.h>
|
||||
#include <AK/Format.h>
|
||||
|
@ -487,7 +487,7 @@ struct AK::Formatter<Locale::HourCycle> : Formatter<FormatString> {
|
|||
};
|
||||
|
||||
struct LocaleData {
|
||||
HashMap<DeprecatedString, size_t> calendars;
|
||||
HashMap<ByteString, size_t> calendars;
|
||||
|
||||
size_t time_zones { 0 };
|
||||
size_t time_zone_formats { 0 };
|
||||
|
@ -513,27 +513,27 @@ struct CLDR {
|
|||
UniqueStorage<DayPeriodList> unique_day_period_lists;
|
||||
UniqueStorage<HourCycleList> unique_hour_cycle_lists;
|
||||
|
||||
HashMap<DeprecatedString, LocaleData> locales;
|
||||
HashMap<ByteString, LocaleData> locales;
|
||||
|
||||
HashMap<DeprecatedString, size_t> hour_cycles;
|
||||
Vector<DeprecatedString> hour_cycle_regions;
|
||||
HashMap<ByteString, size_t> hour_cycles;
|
||||
Vector<ByteString> hour_cycle_regions;
|
||||
|
||||
HashMap<DeprecatedString, u8> minimum_days;
|
||||
Vector<DeprecatedString> minimum_days_regions;
|
||||
HashMap<ByteString, u8> minimum_days;
|
||||
Vector<ByteString> minimum_days_regions;
|
||||
|
||||
HashMap<DeprecatedString, Locale::Weekday> first_day;
|
||||
Vector<DeprecatedString> first_day_regions;
|
||||
HashMap<ByteString, Locale::Weekday> first_day;
|
||||
Vector<ByteString> first_day_regions;
|
||||
|
||||
HashMap<DeprecatedString, Locale::Weekday> weekend_start;
|
||||
Vector<DeprecatedString> weekend_start_regions;
|
||||
HashMap<ByteString, Locale::Weekday> weekend_start;
|
||||
Vector<ByteString> weekend_start_regions;
|
||||
|
||||
HashMap<DeprecatedString, Locale::Weekday> weekend_end;
|
||||
Vector<DeprecatedString> weekend_end_regions;
|
||||
HashMap<ByteString, Locale::Weekday> weekend_end;
|
||||
Vector<ByteString> weekend_end_regions;
|
||||
|
||||
HashMap<DeprecatedString, Vector<TimeZone::TimeZone>> meta_zones;
|
||||
Vector<DeprecatedString> time_zones { "UTC"sv };
|
||||
HashMap<ByteString, Vector<TimeZone::TimeZone>> meta_zones;
|
||||
Vector<ByteString> time_zones { "UTC"sv };
|
||||
|
||||
Vector<DeprecatedString> calendars;
|
||||
Vector<ByteString> calendars;
|
||||
};
|
||||
|
||||
static Optional<Locale::DayPeriod> day_period_from_string(StringView day_period)
|
||||
|
@ -563,7 +563,7 @@ static Optional<Locale::DayPeriod> day_period_from_string(StringView day_period)
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_hour_cycles(DeprecatedString core_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_hour_cycles(ByteString core_path, CLDR& cldr)
|
||||
{
|
||||
// https://unicode.org/reports/tr35/tr35-dates.html#Time_Data
|
||||
LexicalPath time_data_path(move(core_path));
|
||||
|
@ -587,7 +587,7 @@ static ErrorOr<void> parse_hour_cycles(DeprecatedString core_path, CLDR& cldr)
|
|||
};
|
||||
|
||||
time_data_object.for_each_member([&](auto const& key, JsonValue const& value) {
|
||||
auto allowed_hour_cycles_string = value.as_object().get_deprecated_string("_allowed"sv).value();
|
||||
auto allowed_hour_cycles_string = value.as_object().get_byte_string("_allowed"sv).value();
|
||||
auto allowed_hour_cycles = allowed_hour_cycles_string.split_view(' ');
|
||||
|
||||
Vector<Locale::HourCycle> hour_cycles;
|
||||
|
@ -607,7 +607,7 @@ static ErrorOr<void> parse_hour_cycles(DeprecatedString core_path, CLDR& cldr)
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_week_data(DeprecatedString core_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_week_data(ByteString core_path, CLDR& cldr)
|
||||
{
|
||||
// https://unicode.org/reports/tr35/tr35-dates.html#Week_Data
|
||||
LexicalPath week_data_path(move(core_path));
|
||||
|
@ -672,7 +672,7 @@ static ErrorOr<void> parse_week_data(DeprecatedString core_path, CLDR& cldr)
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_meta_zones(DeprecatedString core_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_meta_zones(ByteString core_path, CLDR& cldr)
|
||||
{
|
||||
// https://unicode.org/reports/tr35/tr35-dates.html#Metazones
|
||||
LexicalPath meta_zone_path(move(core_path));
|
||||
|
@ -686,8 +686,8 @@ static ErrorOr<void> parse_meta_zones(DeprecatedString core_path, CLDR& cldr)
|
|||
|
||||
meta_zone_array.for_each([&](JsonValue const& value) {
|
||||
auto const& mapping = value.as_object().get_object("mapZone"sv).value();
|
||||
auto const& meta_zone = mapping.get_deprecated_string("_other"sv).value();
|
||||
auto const& golden_zone = mapping.get_deprecated_string("_type"sv).value();
|
||||
auto const& meta_zone = mapping.get_byte_string("_other"sv).value();
|
||||
auto const& golden_zone = mapping.get_byte_string("_type"sv).value();
|
||||
|
||||
if (auto time_zone = TimeZone::time_zone_from_string(golden_zone); time_zone.has_value()) {
|
||||
auto& golden_zones = cldr.meta_zones.ensure(meta_zone);
|
||||
|
@ -770,7 +770,7 @@ static ErrorOr<String> remove_period_from_pattern(String pattern)
|
|||
return pattern;
|
||||
}
|
||||
|
||||
static ErrorOr<Optional<CalendarPattern>> parse_date_time_pattern_raw(DeprecatedString pattern, DeprecatedString skeleton, CLDR& cldr)
|
||||
static ErrorOr<Optional<CalendarPattern>> parse_date_time_pattern_raw(ByteString pattern, ByteString skeleton, CLDR& cldr)
|
||||
{
|
||||
// https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
|
||||
using Locale::CalendarPatternStyle;
|
||||
|
@ -989,16 +989,16 @@ static ErrorOr<Optional<CalendarPattern>> parse_date_time_pattern_raw(Deprecated
|
|||
return format;
|
||||
}
|
||||
|
||||
static ErrorOr<Optional<size_t>> parse_date_time_pattern(DeprecatedString pattern, DeprecatedString skeleton, CLDR& cldr)
|
||||
static ErrorOr<Optional<size_t>> parse_date_time_pattern(ByteString pattern, ByteString skeleton, CLDR& cldr)
|
||||
{
|
||||
auto format = TRY(parse_date_time_pattern_raw(move(pattern), move(skeleton), cldr));
|
||||
if (!format.has_value())
|
||||
return OptionalNone {};
|
||||
|
||||
format->pattern_index = cldr.unique_strings.ensure(format->pattern.to_deprecated_string());
|
||||
format->pattern_index = cldr.unique_strings.ensure(format->pattern.to_byte_string());
|
||||
|
||||
if (format->pattern12.has_value())
|
||||
format->pattern12_index = cldr.unique_strings.ensure(format->pattern12->to_deprecated_string());
|
||||
format->pattern12_index = cldr.unique_strings.ensure(format->pattern12->to_byte_string());
|
||||
|
||||
return Optional<size_t> { cldr.unique_patterns.ensure(format.release_value()) };
|
||||
}
|
||||
|
@ -1388,7 +1388,7 @@ static void parse_calendar_symbols(Calendar& calendar, JsonObject const& calenda
|
|||
calendar.symbols = cldr.unique_calendar_symbols_lists.ensure(move(symbols_list));
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_calendars(DeprecatedString locale_calendars_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_calendars(ByteString locale_calendars_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath calendars_path(move(locale_calendars_path));
|
||||
if (!calendars_path.basename().starts_with("ca-"sv))
|
||||
|
@ -1402,10 +1402,10 @@ static ErrorOr<void> parse_calendars(DeprecatedString locale_calendars_path, CLD
|
|||
|
||||
auto parse_patterns = [&](auto const& patterns_object, auto const& skeletons_object, Vector<CalendarPattern>* patterns) -> ErrorOr<size_t> {
|
||||
auto parse_pattern = [&](auto name) -> ErrorOr<size_t> {
|
||||
auto format = patterns_object.get_deprecated_string(name);
|
||||
auto skeleton = skeletons_object.get_deprecated_string(name);
|
||||
auto format = patterns_object.get_byte_string(name);
|
||||
auto skeleton = skeletons_object.get_byte_string(name);
|
||||
|
||||
auto format_index = TRY(parse_date_time_pattern(format.value(), skeleton.value_or(DeprecatedString::empty()), cldr)).value();
|
||||
auto format_index = TRY(parse_date_time_pattern(format.value(), skeleton.value_or(ByteString::empty()), cldr)).value();
|
||||
|
||||
if (patterns)
|
||||
patterns->append(cldr.unique_patterns.get(format_index));
|
||||
|
@ -1483,7 +1483,7 @@ static ErrorOr<void> parse_calendars(DeprecatedString locale_calendars_path, CLD
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_time_zone_names(DeprecatedString locale_time_zone_names_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_time_zone_names(ByteString locale_time_zone_names_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath time_zone_names_path(move(locale_time_zone_names_path));
|
||||
time_zone_names_path = time_zone_names_path.append("timeZoneNames.json"sv);
|
||||
|
@ -1494,9 +1494,9 @@ static ErrorOr<void> parse_time_zone_names(DeprecatedString locale_time_zone_nam
|
|||
auto const& dates_object = locale_object.get_object("dates"sv).value();
|
||||
auto const& time_zone_names_object = dates_object.get_object("timeZoneNames"sv).value();
|
||||
auto const& meta_zone_object = time_zone_names_object.get_object("metazone"sv);
|
||||
auto const& hour_format_string = time_zone_names_object.get_deprecated_string("hourFormat"sv).value();
|
||||
auto const& gmt_format_string = time_zone_names_object.get_deprecated_string("gmtFormat"sv).value();
|
||||
auto const& gmt_zero_format_string = time_zone_names_object.get_deprecated_string("gmtZeroFormat"sv).value();
|
||||
auto const& hour_format_string = time_zone_names_object.get_byte_string("hourFormat"sv).value();
|
||||
auto const& gmt_format_string = time_zone_names_object.get_byte_string("gmtFormat"sv).value();
|
||||
auto const& gmt_zero_format_string = time_zone_names_object.get_byte_string("gmtZeroFormat"sv).value();
|
||||
|
||||
if (!meta_zone_object.has_value())
|
||||
return {};
|
||||
|
@ -1506,7 +1506,7 @@ static ErrorOr<void> parse_time_zone_names(DeprecatedString locale_time_zone_nam
|
|||
if (!names.has_value())
|
||||
return {};
|
||||
|
||||
auto const& name = names->get_deprecated_string(key);
|
||||
auto const& name = names->get_byte_string(key);
|
||||
if (name.has_value())
|
||||
return cldr.unique_strings.ensure(name.value());
|
||||
|
||||
|
@ -1592,7 +1592,7 @@ static ErrorOr<void> parse_time_zone_names(DeprecatedString locale_time_zone_nam
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_day_periods(DeprecatedString core_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_day_periods(ByteString core_path, CLDR& cldr)
|
||||
{
|
||||
// https://unicode.org/reports/tr35/tr35-dates.html#Day_Period_Rule_Sets
|
||||
LexicalPath day_periods_path(move(core_path));
|
||||
|
@ -1622,8 +1622,8 @@ static ErrorOr<void> parse_day_periods(DeprecatedString core_path, CLDR& cldr)
|
|||
if (!day_period.has_value())
|
||||
return {};
|
||||
|
||||
auto begin = parse_hour(ranges.get_deprecated_string("_from"sv).value());
|
||||
auto end = parse_hour(ranges.get_deprecated_string("_before"sv).value());
|
||||
auto begin = parse_hour(ranges.get_byte_string("_from"sv).value());
|
||||
auto end = parse_hour(ranges.get_byte_string("_before"sv).value());
|
||||
|
||||
return DayPeriod { *day_period, begin, end };
|
||||
};
|
||||
|
@ -1648,13 +1648,13 @@ static ErrorOr<void> parse_day_periods(DeprecatedString core_path, CLDR& cldr)
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_all_locales(DeprecatedString core_path, DeprecatedString dates_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_all_locales(ByteString core_path, ByteString dates_path, CLDR& cldr)
|
||||
{
|
||||
TRY(parse_hour_cycles(core_path, cldr));
|
||||
TRY(parse_week_data(core_path, cldr));
|
||||
TRY(parse_meta_zones(core_path, cldr));
|
||||
|
||||
auto remove_variants_from_path = [&](DeprecatedString path) -> ErrorOr<DeprecatedString> {
|
||||
auto remove_variants_from_path = [&](ByteString path) -> ErrorOr<ByteString> {
|
||||
auto parsed_locale = TRY(CanonicalLanguageID::parse(cldr.unique_strings, LexicalPath::basename(path)));
|
||||
|
||||
StringBuilder builder;
|
||||
|
@ -1664,7 +1664,7 @@ static ErrorOr<void> parse_all_locales(DeprecatedString core_path, DeprecatedStr
|
|||
if (auto region = cldr.unique_strings.get(parsed_locale.region); !region.is_empty())
|
||||
builder.appendff("-{}", region);
|
||||
|
||||
return builder.to_deprecated_string();
|
||||
return builder.to_byte_string();
|
||||
};
|
||||
|
||||
TRY(Core::Directory::for_each_entry(TRY(String::formatted("{}/main", dates_path)), Core::DirIterator::SkipParentAndBaseDir, [&](auto& entry, auto& directory) -> ErrorOr<IterationDecision> {
|
||||
|
@ -1687,15 +1687,15 @@ static ErrorOr<void> parse_all_locales(DeprecatedString core_path, DeprecatedStr
|
|||
return {};
|
||||
}
|
||||
|
||||
static DeprecatedString format_identifier(StringView owner, DeprecatedString identifier)
|
||||
static ByteString format_identifier(StringView owner, ByteString identifier)
|
||||
{
|
||||
identifier = identifier.replace("-"sv, "_"sv, ReplaceMode::All);
|
||||
identifier = identifier.replace("/"sv, "_"sv, ReplaceMode::All);
|
||||
|
||||
if (all_of(identifier, is_ascii_digit))
|
||||
return DeprecatedString::formatted("{}_{}", owner[0], identifier);
|
||||
return ByteString::formatted("{}_{}", owner[0], identifier);
|
||||
if (is_ascii_lower_alpha(identifier[0]))
|
||||
return DeprecatedString::formatted("{:c}{}", to_ascii_uppercase(identifier[0]), identifier.substring_view(1));
|
||||
return ByteString::formatted("{:c}{}", to_ascii_uppercase(identifier[0]), identifier.substring_view(1));
|
||||
return identifier;
|
||||
}
|
||||
|
||||
|
@ -1953,9 +1953,9 @@ struct DayPeriodData {
|
|||
cldr.unique_day_period_lists.generate(generator, cldr.unique_day_periods.type_that_fits(), "s_day_period_lists"sv);
|
||||
cldr.unique_hour_cycle_lists.generate(generator, cldr.unique_hour_cycle_lists.type_that_fits(), "s_hour_cycle_lists"sv);
|
||||
|
||||
auto append_calendars = [&](DeprecatedString name, auto const& calendars) {
|
||||
auto append_calendars = [&](ByteString name, auto const& calendars) {
|
||||
generator.set("name", name);
|
||||
generator.set("size", DeprecatedString::number(calendars.size()));
|
||||
generator.set("size", ByteString::number(calendars.size()));
|
||||
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<@calendar_index_type@, @size@> @name@ { {)~~~");
|
||||
|
@ -1965,7 +1965,7 @@ static constexpr Array<@calendar_index_type@, @size@> @name@ { {)~~~");
|
|||
auto calendar = calendars.find(calendar_key)->value;
|
||||
|
||||
generator.append(first ? " "sv : ", "sv);
|
||||
generator.append(DeprecatedString::number(calendar));
|
||||
generator.append(ByteString::number(calendar));
|
||||
first = false;
|
||||
}
|
||||
|
||||
|
@ -1975,7 +1975,7 @@ static constexpr Array<@calendar_index_type@, @size@> @name@ { {)~~~");
|
|||
auto append_mapping = [&](auto const& keys, auto const& map, auto type, auto name, auto mapping_getter) {
|
||||
generator.set("type", type);
|
||||
generator.set("name", name);
|
||||
generator.set("size", DeprecatedString::number(keys.size()));
|
||||
generator.set("size", ByteString::number(keys.size()));
|
||||
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<@type@, @size@> @name@ { {)~~~");
|
||||
|
@ -1986,7 +1986,7 @@ static constexpr Array<@type@, @size@> @name@ { {)~~~");
|
|||
auto mapping = mapping_getter(value);
|
||||
|
||||
generator.append(first ? " "sv : ", "sv);
|
||||
generator.append(DeprecatedString::number(mapping));
|
||||
generator.append(ByteString::number(mapping));
|
||||
first = false;
|
||||
}
|
||||
|
||||
|
@ -2008,7 +2008,7 @@ static constexpr Array<@type@, @size@> @name@ { {)~~~");
|
|||
generator.append("\n");
|
||||
|
||||
auto append_from_string = [&](StringView enum_title, StringView enum_snake, auto const& values, Vector<Alias> const& aliases = {}) -> ErrorOr<void> {
|
||||
HashValueMap<DeprecatedString> hashes;
|
||||
HashValueMap<ByteString> hashes;
|
||||
TRY(hashes.try_ensure_capacity(values.size()));
|
||||
|
||||
for (auto const& value : values)
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
|
||||
#include "../LibUnicode/GeneratorUtil.h" // FIXME: Move this somewhere common.
|
||||
#include <AK/AllOf.h>
|
||||
#include <AK/ByteString.h>
|
||||
#include <AK/CharacterTypes.h>
|
||||
#include <AK/DeprecatedString.h>
|
||||
#include <AK/Error.h>
|
||||
#include <AK/Format.h>
|
||||
#include <AK/HashMap.h>
|
||||
|
@ -22,14 +22,14 @@
|
|||
#include <LibCore/Directory.h>
|
||||
#include <LibFileSystem/FileSystem.h>
|
||||
|
||||
static DeprecatedString format_identifier(StringView owner, DeprecatedString identifier)
|
||||
static ByteString format_identifier(StringView owner, ByteString identifier)
|
||||
{
|
||||
identifier = identifier.replace("-"sv, "_"sv, ReplaceMode::All);
|
||||
|
||||
if (all_of(identifier, is_ascii_digit))
|
||||
return DeprecatedString::formatted("{}_{}", owner[0], identifier);
|
||||
return ByteString::formatted("{}_{}", owner[0], identifier);
|
||||
if (is_ascii_lower_alpha(identifier[0]))
|
||||
return DeprecatedString::formatted("{:c}{}", to_ascii_uppercase(identifier[0]), identifier.substring_view(1));
|
||||
return ByteString::formatted("{:c}{}", to_ascii_uppercase(identifier[0]), identifier.substring_view(1));
|
||||
return identifier;
|
||||
}
|
||||
|
||||
|
@ -153,9 +153,9 @@ using KeywordList = Vector<size_t>;
|
|||
using ListPatternList = Vector<size_t>;
|
||||
|
||||
struct LocaleData {
|
||||
DeprecatedString language;
|
||||
Optional<DeprecatedString> territory;
|
||||
Optional<DeprecatedString> variant;
|
||||
ByteString language;
|
||||
Optional<ByteString> territory;
|
||||
Optional<ByteString> variant;
|
||||
size_t display_patterns { 0 };
|
||||
size_t languages { 0 };
|
||||
size_t territories { 0 };
|
||||
|
@ -195,25 +195,25 @@ struct CLDR {
|
|||
UniqueStorage<ListPatternList> unique_list_pattern_lists;
|
||||
UniqueStorage<TextLayout> unique_text_layouts;
|
||||
|
||||
HashMap<DeprecatedString, LocaleData> locales;
|
||||
HashMap<ByteString, LocaleData> locales;
|
||||
Vector<Alias> locale_aliases;
|
||||
|
||||
Vector<DeprecatedString> languages;
|
||||
Vector<ByteString> languages;
|
||||
HashMap<StringView, size_t> language_indices;
|
||||
|
||||
Vector<DeprecatedString> territories;
|
||||
Vector<ByteString> territories;
|
||||
HashMap<StringView, size_t> territory_indices;
|
||||
|
||||
Vector<DeprecatedString> scripts;
|
||||
Vector<ByteString> scripts;
|
||||
HashMap<StringView, size_t> script_indices;
|
||||
|
||||
Vector<DeprecatedString> variants;
|
||||
Vector<ByteString> variants;
|
||||
HashMap<StringView, size_t> variant_indices;
|
||||
|
||||
Vector<DeprecatedString> currencies;
|
||||
Vector<ByteString> currencies;
|
||||
HashMap<StringView, size_t> currency_indices;
|
||||
|
||||
Vector<DeprecatedString> date_fields;
|
||||
Vector<ByteString> date_fields;
|
||||
HashMap<StringView, size_t> date_fields_indices;
|
||||
|
||||
Vector<Alias> date_field_aliases {
|
||||
|
@ -224,17 +224,17 @@ struct CLDR {
|
|||
{ "zone"sv, "timeZoneName"sv },
|
||||
};
|
||||
|
||||
HashMap<DeprecatedString, Vector<DeprecatedString>> keywords;
|
||||
HashMap<DeprecatedString, Vector<Alias>> keyword_aliases;
|
||||
HashMap<DeprecatedString, DeprecatedString> keyword_names;
|
||||
HashMap<ByteString, Vector<ByteString>> keywords;
|
||||
HashMap<ByteString, Vector<Alias>> keyword_aliases;
|
||||
HashMap<ByteString, ByteString> keyword_names;
|
||||
|
||||
Vector<DeprecatedString> list_pattern_types;
|
||||
Vector<DeprecatedString> character_orders;
|
||||
HashMap<DeprecatedString, size_t> language_aliases;
|
||||
HashMap<DeprecatedString, size_t> territory_aliases;
|
||||
HashMap<DeprecatedString, size_t> script_aliases;
|
||||
HashMap<DeprecatedString, size_t> variant_aliases;
|
||||
HashMap<DeprecatedString, size_t> subdivision_aliases;
|
||||
Vector<ByteString> list_pattern_types;
|
||||
Vector<ByteString> character_orders;
|
||||
HashMap<ByteString, size_t> language_aliases;
|
||||
HashMap<ByteString, size_t> territory_aliases;
|
||||
HashMap<ByteString, size_t> script_aliases;
|
||||
HashMap<ByteString, size_t> variant_aliases;
|
||||
HashMap<ByteString, size_t> subdivision_aliases;
|
||||
Vector<LanguageMapping> complex_mappings;
|
||||
Vector<LanguageMapping> likely_subtags;
|
||||
size_t max_variant_size { 0 };
|
||||
|
@ -253,9 +253,9 @@ struct CLDR {
|
|||
})
|
||||
|
||||
// NOTE: We return a pointer only because ErrorOr cannot store references. You may safely assume the pointer is non-null.
|
||||
ErrorOr<JsonValue const*> read_json_file_with_cache(DeprecatedString const& path)
|
||||
ErrorOr<JsonValue const*> read_json_file_with_cache(ByteString const& path)
|
||||
{
|
||||
static HashMap<DeprecatedString, JsonValue> parsed_json_cache;
|
||||
static HashMap<ByteString, JsonValue> parsed_json_cache;
|
||||
|
||||
if (auto parsed_json = parsed_json_cache.get(path); parsed_json.has_value())
|
||||
return &parsed_json.value();
|
||||
|
@ -273,7 +273,7 @@ static ErrorOr<LanguageMapping> parse_language_mapping(CLDR& cldr, StringView ke
|
|||
return LanguageMapping { move(parsed_key), move(parsed_alias) };
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_core_aliases(DeprecatedString core_supplemental_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_core_aliases(ByteString core_supplemental_path, CLDR& cldr)
|
||||
{
|
||||
LexicalPath core_aliases_path(move(core_supplemental_path));
|
||||
core_aliases_path = core_aliases_path.append("aliases.json"sv);
|
||||
|
@ -285,7 +285,7 @@ static ErrorOr<void> parse_core_aliases(DeprecatedString core_supplemental_path,
|
|||
|
||||
auto append_aliases = [&](auto& alias_object, auto& alias_map) {
|
||||
alias_object.for_each_member([&](auto const& key, JsonValue const& value) {
|
||||
auto alias = value.as_object().get_deprecated_string("_replacement"sv).value();
|
||||
auto alias = value.as_object().get_byte_string("_replacement"sv).value();
|
||||
|
||||
if (key.contains('-')) {
|
||||
auto mapping = TRY_OR_DISCARD(parse_language_mapping(cldr, key, alias));
|
||||
|
@ -307,7 +307,7 @@ static ErrorOr<void> parse_core_aliases(DeprecatedString core_supplemental_path,
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_likely_subtags(DeprecatedString core_supplemental_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_likely_subtags(ByteString core_supplemental_path, CLDR& cldr)
|
||||
{
|
||||
LexicalPath likely_subtags_path(move(core_supplemental_path));
|
||||
likely_subtags_path = likely_subtags_path.append("likelySubtags.json"sv);
|
||||
|
@ -326,7 +326,7 @@ static ErrorOr<void> parse_likely_subtags(DeprecatedString core_supplemental_pat
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_identity(DeprecatedString locale_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_identity(ByteString locale_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath locale_display_names_path(move(locale_path)); // Note: Every JSON file defines identity data, so we can use any of them.
|
||||
locale_display_names_path = locale_display_names_path.append("localeDisplayNames.json"sv);
|
||||
|
@ -335,10 +335,10 @@ static ErrorOr<void> parse_identity(DeprecatedString locale_path, CLDR& cldr, Lo
|
|||
auto const& main_object = locale_display_names.as_object().get_object("main"sv).value();
|
||||
auto const& locale_object = main_object.get_object(locale_display_names_path.parent().basename()).value();
|
||||
auto const& identity_object = locale_object.get_object("identity"sv).value();
|
||||
auto const& language_string = identity_object.get_deprecated_string("language"sv).value();
|
||||
auto const& territory_string = identity_object.get_deprecated_string("territory"sv);
|
||||
auto const& script_string = identity_object.get_deprecated_string("script"sv);
|
||||
auto const& variant_string = identity_object.get_deprecated_string("variant"sv);
|
||||
auto const& language_string = identity_object.get_byte_string("language"sv).value();
|
||||
auto const& territory_string = identity_object.get_byte_string("territory"sv);
|
||||
auto const& script_string = identity_object.get_byte_string("script"sv);
|
||||
auto const& variant_string = identity_object.get_byte_string("variant"sv);
|
||||
|
||||
locale.language = language_string;
|
||||
|
||||
|
@ -372,7 +372,7 @@ static ErrorOr<void> parse_identity(DeprecatedString locale_path, CLDR& cldr, Lo
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_locale_display_patterns(DeprecatedString locale_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_locale_display_patterns(ByteString locale_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath locale_display_names_path(move(locale_path));
|
||||
locale_display_names_path = locale_display_names_path.append("localeDisplayNames.json"sv);
|
||||
|
@ -382,8 +382,8 @@ static ErrorOr<void> parse_locale_display_patterns(DeprecatedString locale_path,
|
|||
auto const& locale_object = main_object.get_object(locale_display_names_path.parent().basename()).value();
|
||||
auto const& locale_display_names_object = locale_object.get_object("localeDisplayNames"sv).value();
|
||||
auto const& locale_display_patterns_object = locale_display_names_object.get_object("localeDisplayPattern"sv).value();
|
||||
auto const& locale_pattern = locale_display_patterns_object.get_deprecated_string("localePattern"sv).value();
|
||||
auto const& locale_separator = locale_display_patterns_object.get_deprecated_string("localeSeparator"sv).value();
|
||||
auto const& locale_pattern = locale_display_patterns_object.get_byte_string("localePattern"sv).value();
|
||||
auto const& locale_separator = locale_display_patterns_object.get_byte_string("localeSeparator"sv).value();
|
||||
|
||||
DisplayPattern patterns {};
|
||||
patterns.locale_pattern = cldr.unique_strings.ensure(locale_pattern);
|
||||
|
@ -393,7 +393,7 @@ static ErrorOr<void> parse_locale_display_patterns(DeprecatedString locale_path,
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> preprocess_languages(DeprecatedString locale_path, CLDR& cldr)
|
||||
static ErrorOr<void> preprocess_languages(ByteString locale_path, CLDR& cldr)
|
||||
{
|
||||
LexicalPath languages_path(move(locale_path));
|
||||
languages_path = languages_path.append("languages.json"sv);
|
||||
|
@ -417,7 +417,7 @@ static ErrorOr<void> preprocess_languages(DeprecatedString locale_path, CLDR& cl
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> preprocess_currencies(DeprecatedString numbers_path, CLDR& cldr)
|
||||
static ErrorOr<void> preprocess_currencies(ByteString numbers_path, CLDR& cldr)
|
||||
{
|
||||
LexicalPath currencies_path(move(numbers_path));
|
||||
currencies_path = currencies_path.append("currencies.json"sv);
|
||||
|
@ -445,7 +445,7 @@ static bool is_sanctioned_date_field(StringView field)
|
|||
return field.is_one_of("era"sv, "year"sv, "quarter"sv, "month"sv, "week"sv, "weekday"sv, "day"sv, "dayperiod"sv, "hour"sv, "minute"sv, "second"sv, "zone"sv);
|
||||
}
|
||||
|
||||
static ErrorOr<void> preprocess_date_fields(DeprecatedString dates_path, CLDR& cldr)
|
||||
static ErrorOr<void> preprocess_date_fields(ByteString dates_path, CLDR& cldr)
|
||||
{
|
||||
LexicalPath date_fields_path(move(dates_path));
|
||||
date_fields_path = date_fields_path.append("dateFields.json"sv);
|
||||
|
@ -469,7 +469,7 @@ static ErrorOr<void> preprocess_date_fields(DeprecatedString dates_path, CLDR& c
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_unicode_extension_keywords(DeprecatedString bcp47_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_unicode_extension_keywords(ByteString bcp47_path, CLDR& cldr)
|
||||
{
|
||||
constexpr auto desired_keywords = Array { "ca"sv, "co"sv, "hc"sv, "kf"sv, "kn"sv, "nu"sv };
|
||||
auto keywords = TRY(read_json_file(bcp47_path));
|
||||
|
@ -483,7 +483,7 @@ static ErrorOr<void> parse_unicode_extension_keywords(DeprecatedString bcp47_pat
|
|||
if (!desired_keywords.span().contains_slow(key))
|
||||
return;
|
||||
|
||||
auto const& name = value.as_object().get_deprecated_string("_alias"sv).value();
|
||||
auto const& name = value.as_object().get_byte_string("_alias"sv).value();
|
||||
cldr.keyword_names.set(key, name);
|
||||
|
||||
auto& keywords = cldr.keywords.ensure(key);
|
||||
|
@ -505,12 +505,12 @@ static ErrorOr<void> parse_unicode_extension_keywords(DeprecatedString bcp47_pat
|
|||
if (key == "nu"sv && keyword.is_one_of("finance"sv, "native"sv, "traditio"sv))
|
||||
return;
|
||||
|
||||
if (auto const& preferred = properties.as_object().get_deprecated_string("_preferred"sv); preferred.has_value()) {
|
||||
if (auto const& preferred = properties.as_object().get_byte_string("_preferred"sv); preferred.has_value()) {
|
||||
cldr.keyword_aliases.ensure(key).append({ preferred.value(), keyword });
|
||||
return;
|
||||
}
|
||||
|
||||
if (auto const& alias = properties.as_object().get_deprecated_string("_alias"sv); alias.has_value())
|
||||
if (auto const& alias = properties.as_object().get_byte_string("_alias"sv); alias.has_value())
|
||||
cldr.keyword_aliases.ensure(key).append({ keyword, alias.value() });
|
||||
|
||||
keywords.append(keyword);
|
||||
|
@ -520,7 +520,7 @@ static ErrorOr<void> parse_unicode_extension_keywords(DeprecatedString bcp47_pat
|
|||
return {};
|
||||
}
|
||||
|
||||
static Optional<DeprecatedString> find_keyword_alias(StringView key, StringView calendar, CLDR& cldr)
|
||||
static Optional<ByteString> find_keyword_alias(StringView key, StringView calendar, CLDR& cldr)
|
||||
{
|
||||
auto it = cldr.keyword_aliases.find(key);
|
||||
if (it == cldr.keyword_aliases.end())
|
||||
|
@ -533,7 +533,7 @@ static Optional<DeprecatedString> find_keyword_alias(StringView key, StringView
|
|||
return alias->name;
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_locale_languages(DeprecatedString locale_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_locale_languages(ByteString locale_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath languages_path(move(locale_path));
|
||||
languages_path = languages_path.append("languages.json"sv);
|
||||
|
@ -567,7 +567,7 @@ static ErrorOr<void> parse_locale_languages(DeprecatedString locale_path, CLDR&
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_locale_territories(DeprecatedString locale_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_locale_territories(ByteString locale_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath territories_path(move(locale_path));
|
||||
territories_path = territories_path.append("territories.json"sv);
|
||||
|
@ -598,7 +598,7 @@ static ErrorOr<void> parse_locale_territories(DeprecatedString locale_path, CLDR
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_locale_scripts(DeprecatedString locale_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_locale_scripts(ByteString locale_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath scripts_path(move(locale_path));
|
||||
scripts_path = scripts_path.append("scripts.json"sv);
|
||||
|
@ -629,7 +629,7 @@ static ErrorOr<void> parse_locale_scripts(DeprecatedString locale_path, CLDR& cl
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_locale_list_patterns(DeprecatedString misc_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_locale_list_patterns(ByteString misc_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath list_patterns_path(move(misc_path));
|
||||
list_patterns_path = list_patterns_path.append("listPatterns.json"sv);
|
||||
|
@ -664,10 +664,10 @@ static ErrorOr<void> parse_locale_list_patterns(DeprecatedString misc_path, CLDR
|
|||
auto type = list_pattern_type(key);
|
||||
auto style = list_pattern_style(key);
|
||||
|
||||
auto start = cldr.unique_strings.ensure(value.as_object().get_deprecated_string("start"sv).value());
|
||||
auto middle = cldr.unique_strings.ensure(value.as_object().get_deprecated_string("middle"sv).value());
|
||||
auto end = cldr.unique_strings.ensure(value.as_object().get_deprecated_string("end"sv).value());
|
||||
auto pair = cldr.unique_strings.ensure(value.as_object().get_deprecated_string("2"sv).value());
|
||||
auto start = cldr.unique_strings.ensure(value.as_object().get_byte_string("start"sv).value());
|
||||
auto middle = cldr.unique_strings.ensure(value.as_object().get_byte_string("middle"sv).value());
|
||||
auto end = cldr.unique_strings.ensure(value.as_object().get_byte_string("end"sv).value());
|
||||
auto pair = cldr.unique_strings.ensure(value.as_object().get_byte_string("2"sv).value());
|
||||
|
||||
if (!cldr.list_pattern_types.contains_slow(type))
|
||||
cldr.list_pattern_types.append(type);
|
||||
|
@ -680,7 +680,7 @@ static ErrorOr<void> parse_locale_list_patterns(DeprecatedString misc_path, CLDR
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_locale_layout(DeprecatedString misc_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_locale_layout(ByteString misc_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath layout_path(move(misc_path));
|
||||
layout_path = layout_path.append("layout.json"sv);
|
||||
|
@ -699,7 +699,7 @@ static ErrorOr<void> parse_locale_layout(DeprecatedString misc_path, CLDR& cldr,
|
|||
VERIFY_NOT_REACHED();
|
||||
};
|
||||
|
||||
auto character_order = orientation_object.get_deprecated_string("characterOrder"sv).value();
|
||||
auto character_order = orientation_object.get_byte_string("characterOrder"sv).value();
|
||||
|
||||
TextLayout layout {};
|
||||
layout.character_order = text_layout_character_order(character_order);
|
||||
|
@ -711,7 +711,7 @@ static ErrorOr<void> parse_locale_layout(DeprecatedString misc_path, CLDR& cldr,
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_locale_currencies(DeprecatedString numbers_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_locale_currencies(ByteString numbers_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath currencies_path(move(numbers_path));
|
||||
currencies_path = currencies_path.append("currencies.json"sv);
|
||||
|
@ -735,10 +735,10 @@ static ErrorOr<void> parse_locale_currencies(DeprecatedString numbers_path, CLDR
|
|||
numeric_currencies.resize(cldr.currencies.size());
|
||||
|
||||
currencies_object.for_each_member([&](auto const& key, JsonValue const& value) {
|
||||
auto long_name = value.as_object().get_deprecated_string("displayName"sv).value_or(key);
|
||||
auto short_name = value.as_object().get_deprecated_string("symbol"sv).value_or(key);
|
||||
auto narrow_name = value.as_object().get_deprecated_string("symbol-alt-narrow"sv);
|
||||
auto numeric_name = value.as_object().get_deprecated_string("displayName-count-other"sv);
|
||||
auto long_name = value.as_object().get_byte_string("displayName"sv).value_or(key);
|
||||
auto short_name = value.as_object().get_byte_string("symbol"sv).value_or(key);
|
||||
auto narrow_name = value.as_object().get_byte_string("symbol-alt-narrow"sv);
|
||||
auto numeric_name = value.as_object().get_byte_string("displayName-count-other"sv);
|
||||
|
||||
auto index = cldr.currency_indices.get(key).value();
|
||||
long_currencies[index] = cldr.unique_strings.ensure(move(long_name));
|
||||
|
@ -754,7 +754,7 @@ static ErrorOr<void> parse_locale_currencies(DeprecatedString numbers_path, CLDR
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_locale_calendars(DeprecatedString locale_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_locale_calendars(ByteString locale_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath locale_display_names_path(move(locale_path));
|
||||
locale_display_names_path = locale_display_names_path.append("localeDisplayNames.json"sv);
|
||||
|
@ -789,7 +789,7 @@ static ErrorOr<void> parse_locale_calendars(DeprecatedString locale_path, CLDR&
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_locale_date_fields(DeprecatedString dates_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_locale_date_fields(ByteString dates_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath date_fields_path(move(dates_path));
|
||||
date_fields_path = date_fields_path.append("dateFields.json"sv);
|
||||
|
@ -813,9 +813,9 @@ static ErrorOr<void> parse_locale_date_fields(DeprecatedString dates_path, CLDR&
|
|||
if (!is_sanctioned_date_field(key))
|
||||
return;
|
||||
|
||||
auto const& long_name = value.as_object().get_deprecated_string("displayName"sv).value();
|
||||
auto const& short_name = fields_object.get_object(DeprecatedString::formatted("{}-short", key))->get_deprecated_string("displayName"sv).value();
|
||||
auto const& narrow_name = fields_object.get_object(DeprecatedString::formatted("{}-narrow", key))->get_deprecated_string("displayName"sv).value();
|
||||
auto const& long_name = value.as_object().get_byte_string("displayName"sv).value();
|
||||
auto const& short_name = fields_object.get_object(ByteString::formatted("{}-short", key))->get_byte_string("displayName"sv).value();
|
||||
auto const& narrow_name = fields_object.get_object(ByteString::formatted("{}-narrow", key))->get_byte_string("displayName"sv).value();
|
||||
|
||||
auto index = cldr.date_fields_indices.get(key).value();
|
||||
long_date_fields[index] = cldr.unique_strings.ensure(long_name);
|
||||
|
@ -829,7 +829,7 @@ static ErrorOr<void> parse_locale_date_fields(DeprecatedString dates_path, CLDR&
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_number_system_keywords(DeprecatedString locale_numbers_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_number_system_keywords(ByteString locale_numbers_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath numbers_path(move(locale_numbers_path));
|
||||
numbers_path = numbers_path.append("numbers.json"sv);
|
||||
|
@ -838,12 +838,12 @@ static ErrorOr<void> parse_number_system_keywords(DeprecatedString locale_number
|
|||
auto const& main_object = numbers.as_object().get_object("main"sv).value();
|
||||
auto const& locale_object = main_object.get_object(numbers_path.parent().basename()).value();
|
||||
auto const& locale_numbers_object = locale_object.get_object("numbers"sv).value();
|
||||
auto const& default_numbering_system_object = locale_numbers_object.get_deprecated_string("defaultNumberingSystem"sv).value();
|
||||
auto const& default_numbering_system_object = locale_numbers_object.get_byte_string("defaultNumberingSystem"sv).value();
|
||||
auto const& other_numbering_systems_object = locale_numbers_object.get_object("otherNumberingSystems"sv).value();
|
||||
|
||||
KeywordList keywords {};
|
||||
|
||||
auto append_numbering_system = [&](DeprecatedString system_name) {
|
||||
auto append_numbering_system = [&](ByteString system_name) {
|
||||
if (auto system_alias = find_keyword_alias("nu"sv, system_name, cldr); system_alias.has_value())
|
||||
system_name = system_alias.release_value();
|
||||
|
||||
|
@ -868,7 +868,7 @@ static ErrorOr<void> parse_number_system_keywords(DeprecatedString locale_number
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_calendar_keywords(DeprecatedString locale_dates_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_calendar_keywords(ByteString locale_dates_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
KeywordList keywords {};
|
||||
|
||||
|
@ -934,7 +934,7 @@ static void fill_in_collation_keywords(CLDR& cldr, LocaleData& locale)
|
|||
locale.collation_numeric_keywords = kn_index;
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_default_content_locales(DeprecatedString core_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_default_content_locales(ByteString core_path, CLDR& cldr)
|
||||
{
|
||||
LexicalPath default_content_path(move(core_path));
|
||||
default_content_path = default_content_path.append("defaultContent.json"sv);
|
||||
|
@ -983,7 +983,7 @@ static ErrorOr<void> define_aliases_without_scripts(CLDR& cldr)
|
|||
if ((parsed_locale.language == 0) || (parsed_locale.script == 0) || (parsed_locale.region == 0))
|
||||
return {};
|
||||
|
||||
auto locale_without_script = DeprecatedString::formatted("{}-{}",
|
||||
auto locale_without_script = ByteString::formatted("{}-{}",
|
||||
cldr.unique_strings.get(parsed_locale.language),
|
||||
cldr.unique_strings.get(parsed_locale.region));
|
||||
|
||||
|
@ -1008,7 +1008,7 @@ static ErrorOr<void> define_aliases_without_scripts(CLDR& cldr)
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_all_locales(DeprecatedString bcp47_path, DeprecatedString core_path, DeprecatedString locale_names_path, DeprecatedString misc_path, DeprecatedString numbers_path, DeprecatedString dates_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_all_locales(ByteString bcp47_path, ByteString core_path, ByteString locale_names_path, ByteString misc_path, ByteString numbers_path, ByteString dates_path, CLDR& cldr)
|
||||
{
|
||||
LexicalPath core_supplemental_path(core_path);
|
||||
core_supplemental_path = core_supplemental_path.append("supplemental"sv);
|
||||
|
@ -1017,7 +1017,7 @@ static ErrorOr<void> parse_all_locales(DeprecatedString bcp47_path, DeprecatedSt
|
|||
TRY(parse_core_aliases(core_supplemental_path.string(), cldr));
|
||||
TRY(parse_likely_subtags(core_supplemental_path.string(), cldr));
|
||||
|
||||
auto remove_variants_from_path = [&](DeprecatedString path) -> ErrorOr<DeprecatedString> {
|
||||
auto remove_variants_from_path = [&](ByteString path) -> ErrorOr<ByteString> {
|
||||
auto parsed_locale = TRY(CanonicalLanguageID::parse(cldr.unique_strings, LexicalPath::basename(path)));
|
||||
|
||||
StringBuilder builder;
|
||||
|
@ -1027,7 +1027,7 @@ static ErrorOr<void> parse_all_locales(DeprecatedString bcp47_path, DeprecatedSt
|
|||
if (auto region = cldr.unique_strings.get(parsed_locale.region); !region.is_empty())
|
||||
builder.appendff("-{}", region);
|
||||
|
||||
return builder.to_deprecated_string();
|
||||
return builder.to_byte_string();
|
||||
};
|
||||
|
||||
TRY(Core::Directory::for_each_entry(TRY(String::formatted("{}/main", locale_names_path)), Core::DirIterator::SkipParentAndBaseDir, [&](auto& entry, auto& directory) -> ErrorOr<IterationDecision> {
|
||||
|
@ -1156,7 +1156,7 @@ namespace Locale {
|
|||
|
||||
for (auto& keyword : cldr.keywords) {
|
||||
auto const& keyword_name = cldr.keyword_names.find(keyword.key)->value;
|
||||
auto enum_name = DeprecatedString::formatted("Keyword{}", format_identifier({}, keyword_name));
|
||||
auto enum_name = ByteString::formatted("Keyword{}", format_identifier({}, keyword_name));
|
||||
|
||||
if (auto aliases = cldr.keyword_aliases.find(keyword.key); aliases != cldr.keyword_aliases.end())
|
||||
generate_enum(generator, format_identifier, enum_name, {}, keyword.value, aliases->value);
|
||||
|
@ -1179,9 +1179,9 @@ static ErrorOr<void> generate_unicode_locale_implementation(Core::InputBufferedF
|
|||
StringBuilder builder;
|
||||
SourceGenerator generator { builder };
|
||||
generator.set("string_index_type"sv, string_index_type);
|
||||
generator.set("locales_size"sv, DeprecatedString::number(cldr.locales.size()));
|
||||
generator.set("territories_size", DeprecatedString::number(cldr.territories.size()));
|
||||
generator.set("variants_size", DeprecatedString::number(cldr.max_variant_size));
|
||||
generator.set("locales_size"sv, ByteString::number(cldr.locales.size()));
|
||||
generator.set("territories_size", ByteString::number(cldr.territories.size()));
|
||||
generator.set("variants_size", ByteString::number(cldr.max_variant_size));
|
||||
|
||||
generator.append(R"~~~(
|
||||
#include <AK/Array.h>
|
||||
|
@ -1285,7 +1285,7 @@ ReadonlySpan<StringView> get_available_keyword_values(StringView key)
|
|||
cldr.unique_text_layouts.generate(generator, "TextLayout"sv, "s_text_layouts"sv, 30);
|
||||
|
||||
auto append_index = [&](auto index) {
|
||||
generator.append(DeprecatedString::formatted(", {}", index));
|
||||
generator.append(ByteString::formatted(", {}", index));
|
||||
};
|
||||
|
||||
auto append_list_and_size = [&](auto const& list) {
|
||||
|
@ -1298,16 +1298,16 @@ ReadonlySpan<StringView> get_available_keyword_values(StringView key)
|
|||
generator.append(", {");
|
||||
for (auto const& item : list) {
|
||||
generator.append(first ? " "sv : ", "sv);
|
||||
generator.append(DeprecatedString::number(item));
|
||||
generator.append(ByteString::number(item));
|
||||
first = false;
|
||||
}
|
||||
generator.append(DeprecatedString::formatted(" }}, {}", list.size()));
|
||||
generator.append(ByteString::formatted(" }}, {}", list.size()));
|
||||
};
|
||||
|
||||
auto append_mapping = [&](auto const& keys, auto const& map, auto type, auto name, auto mapping_getter) {
|
||||
generator.set("type", type);
|
||||
generator.set("name", name);
|
||||
generator.set("size", DeprecatedString::number(keys.size()));
|
||||
generator.set("size", ByteString::number(keys.size()));
|
||||
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<@type@, @size@> @name@ { {)~~~");
|
||||
|
@ -1318,7 +1318,7 @@ static constexpr Array<@type@, @size@> @name@ { {)~~~");
|
|||
auto mapping = mapping_getter(value);
|
||||
|
||||
generator.append(first ? " "sv : ", "sv);
|
||||
generator.append(DeprecatedString::number(mapping));
|
||||
generator.append(ByteString::number(mapping));
|
||||
first = false;
|
||||
}
|
||||
|
||||
|
@ -1396,7 +1396,7 @@ struct LanguageMapping {
|
|||
)~~~");
|
||||
|
||||
auto append_complex_mapping = [&](StringView name, auto& mappings) {
|
||||
generator.set("size", DeprecatedString::number(mappings.size()));
|
||||
generator.set("size", ByteString::number(mappings.size()));
|
||||
generator.set("name"sv, name);
|
||||
|
||||
generator.append(R"~~~(
|
||||
|
@ -1416,14 +1416,14 @@ static constexpr Array<LanguageMapping, @size@> s_@name@ { {
|
|||
});
|
||||
|
||||
for (auto const& mapping : mappings) {
|
||||
generator.set("language"sv, DeprecatedString::number(mapping.key.language));
|
||||
generator.set("language"sv, ByteString::number(mapping.key.language));
|
||||
generator.append(" { { @language@");
|
||||
|
||||
append_index(mapping.key.script);
|
||||
append_index(mapping.key.region);
|
||||
append_list_and_size(mapping.key.variants);
|
||||
|
||||
generator.set("language"sv, DeprecatedString::number(mapping.alias.language));
|
||||
generator.set("language"sv, ByteString::number(mapping.alias.language));
|
||||
generator.append(" }, { @language@");
|
||||
|
||||
append_index(mapping.alias.script);
|
||||
|
@ -1563,7 +1563,7 @@ Optional<StringView> get_locale_@enum_snake@_mapping(StringView locale, StringVi
|
|||
};
|
||||
|
||||
auto append_from_string = [&](StringView enum_title, StringView enum_snake, auto const& values, Vector<Alias> const& aliases = {}) -> ErrorOr<void> {
|
||||
HashValueMap<DeprecatedString> hashes;
|
||||
HashValueMap<ByteString> hashes;
|
||||
TRY(hashes.try_ensure_capacity(values.size()));
|
||||
|
||||
for (auto const& value : values)
|
||||
|
@ -1621,8 +1621,8 @@ Optional<StringView> get_locale_@enum_snake@_mapping(StringView locale, StringVi
|
|||
|
||||
for (auto const& keyword : cldr.keywords) {
|
||||
auto const& keyword_name = cldr.keyword_names.find(keyword.key)->value;
|
||||
auto enum_name = DeprecatedString::formatted("Keyword{}", format_identifier({}, keyword_name));
|
||||
auto enum_snake = DeprecatedString::formatted("keyword_{}", keyword.key);
|
||||
auto enum_name = ByteString::formatted("Keyword{}", format_identifier({}, keyword_name));
|
||||
auto enum_snake = ByteString::formatted("keyword_{}", keyword.key);
|
||||
|
||||
if (auto aliases = cldr.keyword_aliases.find(keyword.key); aliases != cldr.keyword_aliases.end())
|
||||
TRY(append_from_string(enum_name, enum_snake, keyword.value, aliases->value));
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
#include "../LibUnicode/GeneratorUtil.h" // FIXME: Move this somewhere common.
|
||||
#include <AK/AllOf.h>
|
||||
#include <AK/Array.h>
|
||||
#include <AK/ByteString.h>
|
||||
#include <AK/CharacterTypes.h>
|
||||
#include <AK/DeprecatedString.h>
|
||||
#include <AK/Find.h>
|
||||
#include <AK/Format.h>
|
||||
#include <AK/HashFunctions.h>
|
||||
|
@ -85,7 +85,7 @@ struct AK::Formatter<NumberFormat> : Formatter<FormatString> {
|
|||
format.zero_format_index,
|
||||
format.positive_format_index,
|
||||
format.negative_format_index,
|
||||
identifier_indices.to_deprecated_string());
|
||||
identifier_indices.to_byte_string());
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -215,7 +215,7 @@ struct AK::Traits<Unit> : public DefaultTraits<Unit> {
|
|||
|
||||
struct LocaleData {
|
||||
Vector<size_t> number_systems;
|
||||
HashMap<DeprecatedString, size_t> units {};
|
||||
HashMap<ByteString, size_t> units {};
|
||||
u8 minimum_grouping_digits { 0 };
|
||||
};
|
||||
|
||||
|
@ -227,14 +227,14 @@ struct CLDR {
|
|||
UniqueStorage<NumberSystem> unique_systems;
|
||||
UniqueStorage<Unit> unique_units;
|
||||
|
||||
HashMap<DeprecatedString, Array<u32, 10>> number_system_digits;
|
||||
Vector<DeprecatedString> number_systems;
|
||||
HashMap<ByteString, Array<u32, 10>> number_system_digits;
|
||||
Vector<ByteString> number_systems;
|
||||
|
||||
HashMap<DeprecatedString, LocaleData> locales;
|
||||
HashMap<ByteString, LocaleData> locales;
|
||||
size_t max_identifier_count { 0 };
|
||||
};
|
||||
|
||||
static ErrorOr<void> parse_number_system_digits(DeprecatedString core_supplemental_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_number_system_digits(ByteString core_supplemental_path, CLDR& cldr)
|
||||
{
|
||||
LexicalPath number_systems_path(move(core_supplemental_path));
|
||||
number_systems_path = number_systems_path.append("numberingSystems.json"sv);
|
||||
|
@ -244,11 +244,11 @@ static ErrorOr<void> parse_number_system_digits(DeprecatedString core_supplement
|
|||
auto const& number_systems_object = supplemental_object.get_object("numberingSystems"sv).value();
|
||||
|
||||
number_systems_object.for_each_member([&](auto const& number_system, auto const& digits_object) {
|
||||
auto type = digits_object.as_object().get_deprecated_string("_type"sv).value();
|
||||
auto type = digits_object.as_object().get_byte_string("_type"sv).value();
|
||||
if (type != "numeric"sv)
|
||||
return;
|
||||
|
||||
auto digits = digits_object.as_object().get_deprecated_string("_digits"sv).value();
|
||||
auto digits = digits_object.as_object().get_byte_string("_digits"sv).value();
|
||||
|
||||
Utf8View utf8_digits { digits };
|
||||
VERIFY(utf8_digits.length() == 10);
|
||||
|
@ -266,7 +266,7 @@ static ErrorOr<void> parse_number_system_digits(DeprecatedString core_supplement
|
|||
return {};
|
||||
}
|
||||
|
||||
static DeprecatedString parse_identifiers(DeprecatedString pattern, StringView replacement, CLDR& cldr, NumberFormat& format)
|
||||
static ByteString parse_identifiers(ByteString pattern, StringView replacement, CLDR& cldr, NumberFormat& format)
|
||||
{
|
||||
static constexpr Utf8View whitespace { "\u0020\u00a0\u200f"sv };
|
||||
|
||||
|
@ -312,7 +312,7 @@ static DeprecatedString parse_identifiers(DeprecatedString pattern, StringView r
|
|||
cldr.max_identifier_count = max(cldr.max_identifier_count, format.identifier_indices.size());
|
||||
}
|
||||
|
||||
pattern = DeprecatedString::formatted("{}{{{}:{}}}{}",
|
||||
pattern = ByteString::formatted("{}{{{}:{}}}{}",
|
||||
*start_index > 0 ? pattern.substring_view(0, *start_index) : ""sv,
|
||||
replacement,
|
||||
replacement_index,
|
||||
|
@ -320,13 +320,13 @@ static DeprecatedString parse_identifiers(DeprecatedString pattern, StringView r
|
|||
}
|
||||
}
|
||||
|
||||
static void parse_number_pattern(Vector<DeprecatedString> patterns, CLDR& cldr, NumberFormatType type, NumberFormat& format, NumberSystem* number_system_for_groupings = nullptr)
|
||||
static void parse_number_pattern(Vector<ByteString> patterns, CLDR& cldr, NumberFormatType type, NumberFormat& format, NumberSystem* number_system_for_groupings = nullptr)
|
||||
{
|
||||
// https://unicode.org/reports/tr35/tr35-numbers.html#Number_Format_Patterns
|
||||
// https://cldr.unicode.org/translation/number-currency-formats/number-and-currency-patterns
|
||||
VERIFY((patterns.size() == 1) || (patterns.size() == 2));
|
||||
|
||||
auto replace_patterns = [&](DeprecatedString pattern) {
|
||||
auto replace_patterns = [&](ByteString pattern) {
|
||||
static HashMap<StringView, StringView> replacements = {
|
||||
{ "{0}"sv, "{number}"sv },
|
||||
{ "{1}"sv, "{currency}"sv },
|
||||
|
@ -340,7 +340,7 @@ static void parse_number_pattern(Vector<DeprecatedString> patterns, CLDR& cldr,
|
|||
for (auto const& replacement : replacements)
|
||||
pattern = pattern.replace(replacement.key, replacement.value, ReplaceMode::All);
|
||||
|
||||
if (auto start_number_index = pattern.find_any_of("#0"sv, DeprecatedString::SearchDirection::Forward); start_number_index.has_value()) {
|
||||
if (auto start_number_index = pattern.find_any_of("#0"sv, ByteString::SearchDirection::Forward); start_number_index.has_value()) {
|
||||
auto end_number_index = *start_number_index + 1;
|
||||
|
||||
for (; end_number_index < pattern.length(); ++end_number_index) {
|
||||
|
@ -367,7 +367,7 @@ static void parse_number_pattern(Vector<DeprecatedString> patterns, CLDR& cldr,
|
|||
}
|
||||
}
|
||||
|
||||
pattern = DeprecatedString::formatted("{}{{number}}{}",
|
||||
pattern = ByteString::formatted("{}{{number}}{}",
|
||||
*start_number_index > 0 ? pattern.substring_view(0, *start_number_index) : ""sv,
|
||||
pattern.substring_view(end_number_index));
|
||||
|
||||
|
@ -384,19 +384,19 @@ static void parse_number_pattern(Vector<DeprecatedString> patterns, CLDR& cldr,
|
|||
};
|
||||
|
||||
auto zero_format = replace_patterns(move(patterns[0]));
|
||||
format.positive_format_index = cldr.unique_strings.ensure(DeprecatedString::formatted("{{plusSign}}{}", zero_format));
|
||||
format.positive_format_index = cldr.unique_strings.ensure(ByteString::formatted("{{plusSign}}{}", zero_format));
|
||||
|
||||
if (patterns.size() == 2) {
|
||||
auto negative_format = replace_patterns(move(patterns[1]));
|
||||
format.negative_format_index = cldr.unique_strings.ensure(move(negative_format));
|
||||
} else {
|
||||
format.negative_format_index = cldr.unique_strings.ensure(DeprecatedString::formatted("{{minusSign}}{}", zero_format));
|
||||
format.negative_format_index = cldr.unique_strings.ensure(ByteString::formatted("{{minusSign}}{}", zero_format));
|
||||
}
|
||||
|
||||
format.zero_format_index = cldr.unique_strings.ensure(move(zero_format));
|
||||
}
|
||||
|
||||
static void parse_number_pattern(Vector<DeprecatedString> patterns, CLDR& cldr, NumberFormatType type, size_t& format_index, NumberSystem* number_system_for_groupings = nullptr)
|
||||
static void parse_number_pattern(Vector<ByteString> patterns, CLDR& cldr, NumberFormatType type, size_t& format_index, NumberSystem* number_system_for_groupings = nullptr)
|
||||
{
|
||||
NumberFormat format {};
|
||||
parse_number_pattern(move(patterns), cldr, type, format, number_system_for_groupings);
|
||||
|
@ -404,7 +404,7 @@ static void parse_number_pattern(Vector<DeprecatedString> patterns, CLDR& cldr,
|
|||
format_index = cldr.unique_formats.ensure(move(format));
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_number_systems(DeprecatedString locale_numbers_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_number_systems(ByteString locale_numbers_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath numbers_path(move(locale_numbers_path));
|
||||
numbers_path = numbers_path.append("numbers.json"sv);
|
||||
|
@ -413,7 +413,7 @@ static ErrorOr<void> parse_number_systems(DeprecatedString locale_numbers_path,
|
|||
auto const& main_object = numbers.as_object().get_object("main"sv).value();
|
||||
auto const& locale_object = main_object.get_object(numbers_path.parent().basename()).value();
|
||||
auto const& locale_numbers_object = locale_object.get_object("numbers"sv).value();
|
||||
auto const& minimum_grouping_digits = locale_numbers_object.get_deprecated_string("minimumGroupingDigits"sv).value();
|
||||
auto const& minimum_grouping_digits = locale_numbers_object.get_byte_string("minimumGroupingDigits"sv).value();
|
||||
|
||||
Vector<Optional<NumberSystem>> number_systems;
|
||||
number_systems.resize(cldr.number_systems.size());
|
||||
|
@ -517,9 +517,9 @@ static ErrorOr<void> parse_number_systems(DeprecatedString locale_numbers_path,
|
|||
|
||||
// The range separator does not appear in the symbols list, we have to extract it from
|
||||
// the range pattern.
|
||||
auto misc_patterns_key = DeprecatedString::formatted("{}{}", misc_patterns_prefix, system);
|
||||
auto misc_patterns_key = ByteString::formatted("{}{}", misc_patterns_prefix, system);
|
||||
auto misc_patterns = locale_numbers_object.get_object(misc_patterns_key).value();
|
||||
auto range_separator = misc_patterns.get_deprecated_string("range"sv).value();
|
||||
auto range_separator = misc_patterns.get_byte_string("range"sv).value();
|
||||
|
||||
auto begin_index = range_separator.find("{0}"sv).value() + "{0}"sv.length();
|
||||
auto end_index = range_separator.find("{1}"sv).value();
|
||||
|
@ -536,7 +536,7 @@ static ErrorOr<void> parse_number_systems(DeprecatedString locale_numbers_path,
|
|||
auto system = key.substring(decimal_formats_prefix.length());
|
||||
auto& number_system = ensure_number_system(system);
|
||||
|
||||
auto format_object = value.as_object().get_deprecated_string("standard"sv).value();
|
||||
auto format_object = value.as_object().get_byte_string("standard"sv).value();
|
||||
parse_number_pattern(format_object.split(';'), cldr, NumberFormatType::Standard, number_system.decimal_format, &number_system);
|
||||
|
||||
auto const& long_format = value.as_object().get_object("long"sv)->get_object("decimalFormat"sv).value();
|
||||
|
@ -548,10 +548,10 @@ static ErrorOr<void> parse_number_systems(DeprecatedString locale_numbers_path,
|
|||
auto system = key.substring(currency_formats_prefix.length());
|
||||
auto& number_system = ensure_number_system(system);
|
||||
|
||||
auto format_object = value.as_object().get_deprecated_string("standard"sv).value();
|
||||
auto format_object = value.as_object().get_byte_string("standard"sv).value();
|
||||
parse_number_pattern(format_object.split(';'), cldr, NumberFormatType::Standard, number_system.currency_format);
|
||||
|
||||
format_object = value.as_object().get_deprecated_string("accounting"sv).value();
|
||||
format_object = value.as_object().get_byte_string("accounting"sv).value();
|
||||
parse_number_pattern(format_object.split(';'), cldr, NumberFormatType::Standard, number_system.accounting_format);
|
||||
|
||||
number_system.currency_unit_formats = parse_number_format(value.as_object());
|
||||
|
@ -559,13 +559,13 @@ static ErrorOr<void> parse_number_systems(DeprecatedString locale_numbers_path,
|
|||
auto system = key.substring(percent_formats_prefix.length());
|
||||
auto& number_system = ensure_number_system(system);
|
||||
|
||||
auto format_object = value.as_object().get_deprecated_string("standard"sv).value();
|
||||
auto format_object = value.as_object().get_byte_string("standard"sv).value();
|
||||
parse_number_pattern(format_object.split(';'), cldr, NumberFormatType::Standard, number_system.percent_format);
|
||||
} else if (key.starts_with(scientific_formats_prefix)) {
|
||||
auto system = key.substring(scientific_formats_prefix.length());
|
||||
auto& number_system = ensure_number_system(system);
|
||||
|
||||
auto format_object = value.as_object().get_deprecated_string("standard"sv).value();
|
||||
auto format_object = value.as_object().get_byte_string("standard"sv).value();
|
||||
parse_number_pattern(format_object.split(';'), cldr, NumberFormatType::Standard, number_system.scientific_format);
|
||||
}
|
||||
});
|
||||
|
@ -584,7 +584,7 @@ static ErrorOr<void> parse_number_systems(DeprecatedString locale_numbers_path,
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_units(DeprecatedString locale_units_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_units(ByteString locale_units_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath units_path(move(locale_units_path));
|
||||
units_path = units_path.append("units.json"sv);
|
||||
|
@ -597,7 +597,7 @@ static ErrorOr<void> parse_units(DeprecatedString locale_units_path, CLDR& cldr,
|
|||
auto const& short_object = locale_units_object.get_object("short"sv).value();
|
||||
auto const& narrow_object = locale_units_object.get_object("narrow"sv).value();
|
||||
|
||||
HashMap<DeprecatedString, Unit> units;
|
||||
HashMap<ByteString, Unit> units;
|
||||
|
||||
auto ensure_unit = [&](auto const& unit) -> Unit& {
|
||||
return units.ensure(unit, [&]() {
|
||||
|
@ -687,7 +687,7 @@ static ErrorOr<void> parse_units(DeprecatedString locale_units_path, CLDR& cldr,
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_all_locales(DeprecatedString core_path, DeprecatedString numbers_path, DeprecatedString units_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_all_locales(ByteString core_path, ByteString numbers_path, ByteString units_path, CLDR& cldr)
|
||||
{
|
||||
LexicalPath core_supplemental_path(move(core_path));
|
||||
core_supplemental_path = core_supplemental_path.append("supplemental"sv);
|
||||
|
@ -695,7 +695,7 @@ static ErrorOr<void> parse_all_locales(DeprecatedString core_path, DeprecatedStr
|
|||
|
||||
TRY(parse_number_system_digits(core_supplemental_path.string(), cldr));
|
||||
|
||||
auto remove_variants_from_path = [&](DeprecatedString path) -> ErrorOr<DeprecatedString> {
|
||||
auto remove_variants_from_path = [&](ByteString path) -> ErrorOr<ByteString> {
|
||||
auto parsed_locale = TRY(CanonicalLanguageID::parse(cldr.unique_strings, LexicalPath::basename(path)));
|
||||
|
||||
StringBuilder builder;
|
||||
|
@ -705,7 +705,7 @@ static ErrorOr<void> parse_all_locales(DeprecatedString core_path, DeprecatedStr
|
|||
if (auto region = cldr.unique_strings.get(parsed_locale.region); !region.is_empty())
|
||||
builder.appendff("-{}", region);
|
||||
|
||||
return builder.to_deprecated_string();
|
||||
return builder.to_byte_string();
|
||||
};
|
||||
|
||||
TRY(Core::Directory::for_each_entry(TRY(String::formatted("{}/main", numbers_path)), Core::DirIterator::SkipParentAndBaseDir, [&](auto& entry, auto& directory) -> ErrorOr<IterationDecision> {
|
||||
|
@ -729,7 +729,7 @@ static ErrorOr<void> parse_all_locales(DeprecatedString core_path, DeprecatedStr
|
|||
return {};
|
||||
}
|
||||
|
||||
static DeprecatedString format_identifier(StringView, DeprecatedString identifier)
|
||||
static ByteString format_identifier(StringView, ByteString identifier)
|
||||
{
|
||||
return identifier.to_titlecase();
|
||||
}
|
||||
|
@ -765,7 +765,7 @@ static ErrorOr<void> generate_unicode_locale_implementation(Core::InputBufferedF
|
|||
generator.set("number_format_index_type"sv, cldr.unique_formats.type_that_fits());
|
||||
generator.set("number_format_list_index_type"sv, cldr.unique_format_lists.type_that_fits());
|
||||
generator.set("numeric_symbol_list_index_type"sv, cldr.unique_symbols.type_that_fits());
|
||||
generator.set("identifier_count", DeprecatedString::number(cldr.max_identifier_count));
|
||||
generator.set("identifier_count", ByteString::number(cldr.max_identifier_count));
|
||||
|
||||
generator.append(R"~~~(
|
||||
#include <AK/Array.h>
|
||||
|
@ -848,22 +848,22 @@ struct Unit {
|
|||
auto locales = cldr.locales.keys();
|
||||
quick_sort(locales);
|
||||
|
||||
generator.set("size", DeprecatedString::number(locales.size()));
|
||||
generator.set("size", ByteString::number(locales.size()));
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<u8, @size@> s_minimum_grouping_digits { { )~~~");
|
||||
|
||||
bool first = true;
|
||||
for (auto const& locale : locales) {
|
||||
generator.append(first ? " "sv : ", "sv);
|
||||
generator.append(DeprecatedString::number(cldr.locales.find(locale)->value.minimum_grouping_digits));
|
||||
generator.append(ByteString::number(cldr.locales.find(locale)->value.minimum_grouping_digits));
|
||||
first = false;
|
||||
}
|
||||
generator.append(" } };\n");
|
||||
|
||||
auto append_map = [&](DeprecatedString name, auto type, auto const& map) {
|
||||
auto append_map = [&](ByteString name, auto type, auto const& map) {
|
||||
generator.set("name", name);
|
||||
generator.set("type", type);
|
||||
generator.set("size", DeprecatedString::number(map.size()));
|
||||
generator.set("size", ByteString::number(map.size()));
|
||||
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<@type@, @size@> @name@ { {)~~~");
|
||||
|
@ -872,9 +872,9 @@ static constexpr Array<@type@, @size@> @name@ { {)~~~");
|
|||
for (auto const& item : map) {
|
||||
generator.append(first ? " "sv : ", "sv);
|
||||
if constexpr (requires { item.value; })
|
||||
generator.append(DeprecatedString::number(item.value));
|
||||
generator.append(ByteString::number(item.value));
|
||||
else
|
||||
generator.append(DeprecatedString::number(item));
|
||||
generator.append(ByteString::number(item));
|
||||
first = false;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "../LibUnicode/GeneratorUtil.h" // FIXME: Move this somewhere common.
|
||||
#include <AK/DeprecatedString.h>
|
||||
#include <AK/ByteString.h>
|
||||
#include <AK/JsonObject.h>
|
||||
#include <AK/JsonParser.h>
|
||||
#include <AK/JsonValue.h>
|
||||
|
@ -18,14 +18,14 @@
|
|||
#include <LibFileSystem/FileSystem.h>
|
||||
#include <LibLocale/PluralRules.h>
|
||||
|
||||
static DeprecatedString format_identifier(StringView owner, DeprecatedString identifier)
|
||||
static ByteString format_identifier(StringView owner, ByteString identifier)
|
||||
{
|
||||
identifier = identifier.replace("-"sv, "_"sv, ReplaceMode::All);
|
||||
|
||||
if (all_of(identifier, is_ascii_digit))
|
||||
return DeprecatedString::formatted("{}_{}", owner[0], identifier);
|
||||
return ByteString::formatted("{}_{}", owner[0], identifier);
|
||||
if (is_ascii_lower_alpha(identifier[0]))
|
||||
return DeprecatedString::formatted("{:c}{}", to_ascii_uppercase(identifier[0]), identifier.substring_view(1));
|
||||
return ByteString::formatted("{:c}{}", to_ascii_uppercase(identifier[0]), identifier.substring_view(1));
|
||||
return identifier;
|
||||
}
|
||||
|
||||
|
@ -38,20 +38,20 @@ struct Relation {
|
|||
Inequality,
|
||||
};
|
||||
|
||||
DeprecatedString const& modulus_variable_name() const
|
||||
ByteString const& modulus_variable_name() const
|
||||
{
|
||||
VERIFY(modulus.has_value());
|
||||
|
||||
if (!cached_modulus_variable_name.has_value())
|
||||
cached_modulus_variable_name = DeprecatedString::formatted("mod_{}_{}", symbol, *modulus);
|
||||
cached_modulus_variable_name = ByteString::formatted("mod_{}_{}", symbol, *modulus);
|
||||
|
||||
return *cached_modulus_variable_name;
|
||||
}
|
||||
|
||||
DeprecatedString const& exponential_variable_name() const
|
||||
ByteString const& exponential_variable_name() const
|
||||
{
|
||||
if (!cached_exponential_variable_name.has_value())
|
||||
cached_exponential_variable_name = DeprecatedString::formatted("exp_{}", symbol);
|
||||
cached_exponential_variable_name = ByteString::formatted("exp_{}", symbol);
|
||||
|
||||
return *cached_exponential_variable_name;
|
||||
}
|
||||
|
@ -64,25 +64,25 @@ struct Relation {
|
|||
else if (symbol == 'e' || symbol == 'c')
|
||||
generator.append(exponential_variable_name());
|
||||
else
|
||||
generator.append(DeprecatedString::formatted("ops.{}", Locale::PluralOperands::symbol_to_variable_name(symbol)));
|
||||
generator.append(ByteString::formatted("ops.{}", Locale::PluralOperands::symbol_to_variable_name(symbol)));
|
||||
};
|
||||
|
||||
auto append_value = [&](u32 value) {
|
||||
append_variable_name();
|
||||
generator.append(" == "sv);
|
||||
generator.append(DeprecatedString::number(value));
|
||||
generator.append(ByteString::number(value));
|
||||
};
|
||||
|
||||
auto append_range = [&](auto const& range) {
|
||||
// This check avoids generating "0 <= unsigned_value", which is always true.
|
||||
if (range[0] != 0 || Locale::PluralOperands::symbol_requires_floating_point_modulus(symbol)) {
|
||||
generator.append(DeprecatedString::formatted("{} <= ", range[0]));
|
||||
generator.append(ByteString::formatted("{} <= ", range[0]));
|
||||
append_variable_name();
|
||||
generator.append(" && "sv);
|
||||
}
|
||||
|
||||
append_variable_name();
|
||||
generator.append(DeprecatedString::formatted(" <= {}", range[1]));
|
||||
generator.append(ByteString::formatted(" <= {}", range[1]));
|
||||
};
|
||||
|
||||
if (type == Type::Inequality)
|
||||
|
@ -105,7 +105,7 @@ struct Relation {
|
|||
generator.append(")"sv);
|
||||
}
|
||||
|
||||
void generate_precomputed_variables(SourceGenerator& generator, HashTable<DeprecatedString>& generated_variables) const
|
||||
void generate_precomputed_variables(SourceGenerator& generator, HashTable<ByteString>& generated_variables) const
|
||||
{
|
||||
// FIXME: How do we handle the exponential symbols? They seem unused by ECMA-402.
|
||||
if (symbol == 'e' || symbol == 'c') {
|
||||
|
@ -127,7 +127,7 @@ struct Relation {
|
|||
generated_variables.set(variable);
|
||||
generator.set("variable"sv, move(variable));
|
||||
generator.set("operand"sv, Locale::PluralOperands::symbol_to_variable_name(symbol));
|
||||
generator.set("modulus"sv, DeprecatedString::number(*modulus));
|
||||
generator.set("modulus"sv, ByteString::number(*modulus));
|
||||
|
||||
if (Locale::PluralOperands::symbol_requires_floating_point_modulus(symbol)) {
|
||||
generator.append(R"~~~(
|
||||
|
@ -144,8 +144,8 @@ struct Relation {
|
|||
Vector<Comparator> comparators;
|
||||
|
||||
private:
|
||||
mutable Optional<DeprecatedString> cached_modulus_variable_name;
|
||||
mutable Optional<DeprecatedString> cached_exponential_variable_name;
|
||||
mutable Optional<ByteString> cached_modulus_variable_name;
|
||||
mutable Optional<ByteString> cached_exponential_variable_name;
|
||||
};
|
||||
|
||||
struct Condition {
|
||||
|
@ -170,7 +170,7 @@ struct Condition {
|
|||
}
|
||||
}
|
||||
|
||||
void generate_precomputed_variables(SourceGenerator& generator, HashTable<DeprecatedString>& generated_variables) const
|
||||
void generate_precomputed_variables(SourceGenerator& generator, HashTable<ByteString>& generated_variables) const
|
||||
{
|
||||
for (auto const& conjunctions : relations) {
|
||||
for (auto const& relation : conjunctions)
|
||||
|
@ -182,18 +182,18 @@ struct Condition {
|
|||
};
|
||||
|
||||
struct Range {
|
||||
DeprecatedString start;
|
||||
DeprecatedString end;
|
||||
DeprecatedString category;
|
||||
ByteString start;
|
||||
ByteString end;
|
||||
ByteString category;
|
||||
};
|
||||
|
||||
using Conditions = HashMap<DeprecatedString, Condition>;
|
||||
using Conditions = HashMap<ByteString, Condition>;
|
||||
using Ranges = Vector<Range>;
|
||||
|
||||
struct LocaleData {
|
||||
static DeprecatedString generated_method_name(StringView form, StringView locale)
|
||||
static ByteString generated_method_name(StringView form, StringView locale)
|
||||
{
|
||||
return DeprecatedString::formatted("{}_plurality_{}", form, format_identifier({}, locale));
|
||||
return ByteString::formatted("{}_plurality_{}", form, format_identifier({}, locale));
|
||||
}
|
||||
|
||||
Conditions& rules_for_form(StringView form)
|
||||
|
@ -213,7 +213,7 @@ struct LocaleData {
|
|||
struct CLDR {
|
||||
UniqueStringStorage unique_strings;
|
||||
|
||||
HashMap<DeprecatedString, LocaleData> locales;
|
||||
HashMap<ByteString, LocaleData> locales;
|
||||
};
|
||||
|
||||
static Relation parse_relation(StringView relation)
|
||||
|
@ -321,7 +321,7 @@ static void parse_condition(StringView category, StringView rule, Conditions& ru
|
|||
});
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_plural_rules(DeprecatedString core_supplemental_path, StringView file_name, CLDR& cldr)
|
||||
static ErrorOr<void> parse_plural_rules(ByteString core_supplemental_path, StringView file_name, CLDR& cldr)
|
||||
{
|
||||
static constexpr auto form_prefix = "plurals-type-"sv;
|
||||
static constexpr auto rule_prefix = "pluralRule-count-"sv;
|
||||
|
@ -356,7 +356,7 @@ static ErrorOr<void> parse_plural_rules(DeprecatedString core_supplemental_path,
|
|||
}
|
||||
|
||||
// https://unicode.org/reports/tr35/tr35-numbers.html#Plural_Ranges
|
||||
static ErrorOr<void> parse_plural_ranges(DeprecatedString core_supplemental_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_plural_ranges(ByteString core_supplemental_path, CLDR& cldr)
|
||||
{
|
||||
static constexpr auto start_segment = "-start-"sv;
|
||||
static constexpr auto end_segment = "-end-"sv;
|
||||
|
@ -392,13 +392,13 @@ static ErrorOr<void> parse_plural_ranges(DeprecatedString core_supplemental_path
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_all_locales(DeprecatedString core_path, DeprecatedString locale_names_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_all_locales(ByteString core_path, ByteString locale_names_path, CLDR& cldr)
|
||||
{
|
||||
LexicalPath core_supplemental_path(move(core_path));
|
||||
core_supplemental_path = core_supplemental_path.append("supplemental"sv);
|
||||
VERIFY(FileSystem::is_directory(core_supplemental_path.string()));
|
||||
|
||||
auto remove_variants_from_path = [&](DeprecatedString path) -> ErrorOr<DeprecatedString> {
|
||||
auto remove_variants_from_path = [&](ByteString path) -> ErrorOr<ByteString> {
|
||||
auto parsed_locale = TRY(CanonicalLanguageID::parse(cldr.unique_strings, LexicalPath::basename(path)));
|
||||
|
||||
StringBuilder builder;
|
||||
|
@ -408,7 +408,7 @@ static ErrorOr<void> parse_all_locales(DeprecatedString core_path, DeprecatedStr
|
|||
if (auto region = cldr.unique_strings.get(parsed_locale.region); !region.is_empty())
|
||||
builder.appendff("-{}", region);
|
||||
|
||||
return builder.to_deprecated_string();
|
||||
return builder.to_byte_string();
|
||||
};
|
||||
|
||||
TRY(Core::Directory::for_each_entry(TRY(String::formatted("{}/main", locale_names_path)), Core::DirIterator::SkipParentAndBaseDir, [&](auto& entry, auto& directory) -> ErrorOr<IterationDecision> {
|
||||
|
@ -484,7 +484,7 @@ static PluralCategory default_range(PluralCategory, PluralCategory end)
|
|||
return;
|
||||
|
||||
generator.set("method"sv, LocaleData::generated_method_name(form, locale));
|
||||
HashTable<DeprecatedString> generated_variables;
|
||||
HashTable<ByteString> generated_variables;
|
||||
|
||||
generator.append(R"~~~(
|
||||
static PluralCategory @method@([[maybe_unused]] PluralOperands ops)
|
||||
|
@ -539,7 +539,7 @@ static PluralCategory @method@(PluralCategory start, PluralCategory end)
|
|||
generator.set("type"sv, type);
|
||||
generator.set("form"sv, form);
|
||||
generator.set("default"sv, default_);
|
||||
generator.set("size"sv, DeprecatedString::number(locales.size()));
|
||||
generator.set("size"sv, ByteString::number(locales.size()));
|
||||
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<@type@, @size@> s_@form@_functions { {)~~~");
|
||||
|
@ -564,7 +564,7 @@ static constexpr Array<@type@, @size@> s_@form@_functions { {)~~~");
|
|||
|
||||
auto append_categories = [&](auto const& name, auto const& rules) {
|
||||
generator.set("name", name);
|
||||
generator.set("size", DeprecatedString::number(rules.size() + 1));
|
||||
generator.set("size", ByteString::number(rules.size() + 1));
|
||||
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<PluralCategory, @size@> @name@ { { PluralCategory::Other)~~~");
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
#include "../LibUnicode/GeneratorUtil.h" // FIXME: Move this somewhere common.
|
||||
#include <AK/DeprecatedString.h>
|
||||
#include <AK/ByteString.h>
|
||||
#include <AK/Format.h>
|
||||
#include <AK/HashMap.h>
|
||||
#include <AK/JsonObject.h>
|
||||
|
@ -39,9 +39,9 @@ struct RelativeTimeFormat {
|
|||
&& (pattern == other.pattern);
|
||||
}
|
||||
|
||||
DeprecatedString time_unit;
|
||||
DeprecatedString style;
|
||||
DeprecatedString plurality;
|
||||
ByteString time_unit;
|
||||
ByteString style;
|
||||
ByteString plurality;
|
||||
size_t tense_or_number { 0 };
|
||||
size_t pattern { 0 };
|
||||
};
|
||||
|
@ -73,10 +73,10 @@ struct CLDR {
|
|||
UniqueStringStorage unique_strings;
|
||||
UniqueStorage<RelativeTimeFormat> unique_formats;
|
||||
|
||||
HashMap<DeprecatedString, LocaleData> locales;
|
||||
HashMap<ByteString, LocaleData> locales;
|
||||
};
|
||||
|
||||
static ErrorOr<void> parse_date_fields(DeprecatedString locale_dates_path, CLDR& cldr, LocaleData& locale)
|
||||
static ErrorOr<void> parse_date_fields(ByteString locale_dates_path, CLDR& cldr, LocaleData& locale)
|
||||
{
|
||||
LexicalPath date_fields_path(move(locale_dates_path));
|
||||
date_fields_path = date_fields_path.append("dateFields.json"sv);
|
||||
|
@ -135,9 +135,9 @@ static ErrorOr<void> parse_date_fields(DeprecatedString locale_dates_path, CLDR&
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_all_locales(DeprecatedString dates_path, CLDR& cldr)
|
||||
static ErrorOr<void> parse_all_locales(ByteString dates_path, CLDR& cldr)
|
||||
{
|
||||
auto remove_variants_from_path = [&](DeprecatedString path) -> ErrorOr<DeprecatedString> {
|
||||
auto remove_variants_from_path = [&](ByteString path) -> ErrorOr<ByteString> {
|
||||
auto parsed_locale = TRY(CanonicalLanguageID::parse(cldr.unique_strings, LexicalPath::basename(path)));
|
||||
|
||||
StringBuilder builder;
|
||||
|
@ -147,7 +147,7 @@ static ErrorOr<void> parse_all_locales(DeprecatedString dates_path, CLDR& cldr)
|
|||
if (auto region = cldr.unique_strings.get(parsed_locale.region); !region.is_empty())
|
||||
builder.appendff("-{}", region);
|
||||
|
||||
return builder.to_deprecated_string();
|
||||
return builder.to_byte_string();
|
||||
};
|
||||
|
||||
TRY(Core::Directory::for_each_entry(TRY(String::formatted("{}/main", dates_path)), Core::DirIterator::SkipParentAndBaseDir, [&](auto& entry, auto& directory) -> ErrorOr<IterationDecision> {
|
||||
|
@ -225,9 +225,9 @@ struct RelativeTimeFormatImpl {
|
|||
|
||||
cldr.unique_formats.generate(generator, "RelativeTimeFormatImpl"sv, "s_relative_time_formats"sv, 10);
|
||||
|
||||
auto append_list = [&](DeprecatedString name, auto const& list) {
|
||||
auto append_list = [&](ByteString name, auto const& list) {
|
||||
generator.set("name", name);
|
||||
generator.set("size", DeprecatedString::number(list.size()));
|
||||
generator.set("size", ByteString::number(list.size()));
|
||||
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<@relative_time_format_index_type@, @size@> @name@ { {)~~~");
|
||||
|
@ -235,7 +235,7 @@ static constexpr Array<@relative_time_format_index_type@, @size@> @name@ { {)~~~
|
|||
bool first = true;
|
||||
for (auto index : list) {
|
||||
generator.append(first ? " "sv : ", "sv);
|
||||
generator.append(DeprecatedString::number(index));
|
||||
generator.append(ByteString::number(index));
|
||||
first = false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue