mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 21:47:46 +00:00
AK+Everywhere: Rename String to DeprecatedString
We have a new, improved string type coming up in AK (OOM aware, no null state), and while it's going to use UTF-8, the name UTF8String is a mouthful - so let's free up the String name by renaming the existing class. Making the old one have an annoying name will hopefully also help with quick adoption :^)
This commit is contained in:
parent
f74251606d
commit
6e19ab2bbc
2006 changed files with 11635 additions and 11636 deletions
|
@ -6,8 +6,8 @@
|
|||
|
||||
#include "GeneratorUtil.h"
|
||||
#include <AK/AnyOf.h>
|
||||
#include <AK/DeprecatedString.h>
|
||||
#include <AK/SourceGenerator.h>
|
||||
#include <AK/String.h>
|
||||
#include <AK/StringUtils.h>
|
||||
#include <AK/Types.h>
|
||||
#include <LibCore/ArgsParser.h>
|
||||
|
@ -17,13 +17,13 @@
|
|||
|
||||
struct Emoji {
|
||||
size_t name { 0 };
|
||||
Optional<String> image_path;
|
||||
Optional<DeprecatedString> image_path;
|
||||
Unicode::EmojiGroup group;
|
||||
String subgroup;
|
||||
DeprecatedString subgroup;
|
||||
u32 display_order { 0 };
|
||||
Vector<u32> code_points;
|
||||
String encoded_code_points;
|
||||
String status;
|
||||
DeprecatedString encoded_code_points;
|
||||
DeprecatedString status;
|
||||
size_t code_point_array_index { 0 };
|
||||
};
|
||||
|
||||
|
@ -44,7 +44,7 @@ static void set_image_path_for_emoji(StringView emoji_resource_path, Emoji& emoj
|
|||
builder.appendff("U+{:X}", code_point);
|
||||
}
|
||||
|
||||
auto path = String::formatted("{}/{}.png", emoji_resource_path, builder.build());
|
||||
auto path = DeprecatedString::formatted("{}/{}.png", emoji_resource_path, builder.build());
|
||||
if (Core::Stream::File::exists(path))
|
||||
emoji.image_path = move(path);
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ static ErrorOr<void> parse_emoji_test_data(Core::Stream::BufferedFile& file, Emo
|
|||
Array<u8, 1024> buffer;
|
||||
|
||||
Unicode::EmojiGroup group;
|
||||
String subgroup;
|
||||
DeprecatedString subgroup;
|
||||
u32 display_order { 0 };
|
||||
|
||||
while (TRY(file.can_read_line())) {
|
||||
|
@ -178,7 +178,7 @@ static ErrorOr<void> generate_emoji_data_implementation(Core::Stream::BufferedFi
|
|||
SourceGenerator generator { builder };
|
||||
|
||||
generator.set("string_index_type"sv, emoji_data.unique_strings.type_that_fits());
|
||||
generator.set("emojis_size"sv, String::number(emoji_data.emojis.size()));
|
||||
generator.set("emojis_size"sv, DeprecatedString::number(emoji_data.emojis.size()));
|
||||
|
||||
generator.append(R"~~~(
|
||||
#include <AK/Array.h>
|
||||
|
@ -198,7 +198,7 @@ namespace Unicode {
|
|||
for (auto const& emoji : emoji_data.emojis) {
|
||||
total_code_point_count += emoji.code_points.size();
|
||||
}
|
||||
generator.set("total_code_point_count", String::number(total_code_point_count));
|
||||
generator.set("total_code_point_count", DeprecatedString::number(total_code_point_count));
|
||||
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<u32, @total_code_point_count@> s_emoji_code_points { {)~~~");
|
||||
|
@ -207,7 +207,7 @@ static constexpr Array<u32, @total_code_point_count@> s_emoji_code_points { {)~~
|
|||
for (auto const& emoji : emoji_data.emojis) {
|
||||
for (auto code_point : emoji.code_points) {
|
||||
generator.append(first ? " "sv : ", "sv);
|
||||
generator.append(String::formatted("{:#x}", code_point));
|
||||
generator.append(DeprecatedString::formatted("{:#x}", code_point));
|
||||
first = false;
|
||||
}
|
||||
}
|
||||
|
@ -245,11 +245,11 @@ struct EmojiData {
|
|||
static constexpr Array<EmojiData, @emojis_size@> s_emojis { {)~~~");
|
||||
|
||||
for (auto const& emoji : emoji_data.emojis) {
|
||||
generator.set("name"sv, String::number(emoji.name));
|
||||
generator.set("group"sv, String::number(to_underlying(emoji.group)));
|
||||
generator.set("display_order"sv, String::number(emoji.display_order));
|
||||
generator.set("code_point_start"sv, String::number(emoji.code_point_array_index));
|
||||
generator.set("code_point_count"sv, String::number(emoji.code_points.size()));
|
||||
generator.set("name"sv, DeprecatedString::number(emoji.name));
|
||||
generator.set("group"sv, DeprecatedString::number(to_underlying(emoji.group)));
|
||||
generator.set("display_order"sv, DeprecatedString::number(emoji.display_order));
|
||||
generator.set("code_point_start"sv, DeprecatedString::number(emoji.code_point_array_index));
|
||||
generator.set("code_point_count"sv, DeprecatedString::number(emoji.code_points.size()));
|
||||
|
||||
generator.append(R"~~~(
|
||||
{ @name@, @group@, @display_order@, @code_point_start@, @code_point_count@ },)~~~");
|
||||
|
@ -312,7 +312,7 @@ static ErrorOr<void> generate_emoji_installation(Core::Stream::BufferedFile& fil
|
|||
|
||||
generator.append("@emoji@"sv);
|
||||
generator.append(" - "sv);
|
||||
generator.append(String::join(" "sv, emoji.code_points, "U+{:X}"sv));
|
||||
generator.append(DeprecatedString::join(" "sv, emoji.code_points, "U+{:X}"sv));
|
||||
generator.append(" @name@ (@status@)\n"sv);
|
||||
}
|
||||
|
||||
|
|
|
@ -8,12 +8,12 @@
|
|||
#include <AK/AllOf.h>
|
||||
#include <AK/Array.h>
|
||||
#include <AK/CharacterTypes.h>
|
||||
#include <AK/DeprecatedString.h>
|
||||
#include <AK/Find.h>
|
||||
#include <AK/HashMap.h>
|
||||
#include <AK/Optional.h>
|
||||
#include <AK/QuickSort.h>
|
||||
#include <AK/SourceGenerator.h>
|
||||
#include <AK/String.h>
|
||||
#include <AK/StringUtils.h>
|
||||
#include <AK/Types.h>
|
||||
#include <AK/Vector.h>
|
||||
|
@ -37,21 +37,21 @@ struct SpecialCasing {
|
|||
Vector<u32> lowercase_mapping;
|
||||
Vector<u32> uppercase_mapping;
|
||||
Vector<u32> titlecase_mapping;
|
||||
String locale;
|
||||
String condition;
|
||||
DeprecatedString locale;
|
||||
DeprecatedString condition;
|
||||
};
|
||||
|
||||
// Field descriptions: https://www.unicode.org/reports/tr44/#Character_Decomposition_Mappings
|
||||
struct CodePointDecomposition {
|
||||
// `tag` is a string since it's used for codegen as an enum value.
|
||||
String tag { "Canonical"sv };
|
||||
DeprecatedString tag { "Canonical"sv };
|
||||
size_t decomposition_index { 0 };
|
||||
size_t decomposition_size { 0 };
|
||||
};
|
||||
|
||||
// PropList source: https://www.unicode.org/Public/13.0.0/ucd/PropList.txt
|
||||
// Property descriptions: https://www.unicode.org/reports/tr44/tr44-13.html#PropList.txt
|
||||
using PropList = HashMap<String, Vector<CodePointRange>>;
|
||||
using PropList = HashMap<DeprecatedString, Vector<CodePointRange>>;
|
||||
|
||||
// Normalization source: https://www.unicode.org/Public/13.0.0/ucd/DerivedNormalizationProps.txt
|
||||
// Normalization descriptions: https://www.unicode.org/reports/tr44/#DerivedNormalizationProps.txt
|
||||
|
@ -67,7 +67,7 @@ struct Normalization {
|
|||
QuickCheck quick_check { QuickCheck::Yes };
|
||||
};
|
||||
|
||||
using NormalizationProps = HashMap<String, Vector<Normalization>>;
|
||||
using NormalizationProps = HashMap<DeprecatedString, Vector<Normalization>>;
|
||||
|
||||
struct CodePointName {
|
||||
CodePointRange code_point_range;
|
||||
|
@ -79,17 +79,17 @@ struct CodePointName {
|
|||
// https://www.unicode.org/reports/tr44/#General_Category_Values
|
||||
struct CodePointData {
|
||||
u32 code_point { 0 };
|
||||
String name;
|
||||
DeprecatedString name;
|
||||
Optional<size_t> abbreviation;
|
||||
u8 canonical_combining_class { 0 };
|
||||
String bidi_class;
|
||||
DeprecatedString bidi_class;
|
||||
Optional<CodePointDecomposition> decomposition_mapping;
|
||||
Optional<i8> numeric_value_decimal;
|
||||
Optional<i8> numeric_value_digit;
|
||||
Optional<i8> numeric_value_numeric;
|
||||
bool bidi_mirrored { false };
|
||||
String unicode_1_name;
|
||||
String iso_comment;
|
||||
DeprecatedString unicode_1_name;
|
||||
DeprecatedString iso_comment;
|
||||
Optional<u32> simple_uppercase_mapping;
|
||||
Optional<u32> simple_lowercase_mapping;
|
||||
Optional<u32> simple_titlecase_mapping;
|
||||
|
@ -108,7 +108,7 @@ struct UnicodeData {
|
|||
|
||||
u32 code_points_with_decomposition_mapping { 0 };
|
||||
Vector<u32> decomposition_mappings;
|
||||
Vector<String> compatibility_tags;
|
||||
Vector<DeprecatedString> compatibility_tags;
|
||||
|
||||
u32 simple_uppercase_mapping_size { 0 };
|
||||
u32 simple_lowercase_mapping_size { 0 };
|
||||
|
@ -117,8 +117,8 @@ struct UnicodeData {
|
|||
u32 code_points_with_special_casing { 0 };
|
||||
u32 largest_casing_transform_size { 0 };
|
||||
u32 largest_special_casing_size { 0 };
|
||||
Vector<String> conditions;
|
||||
Vector<String> locales;
|
||||
Vector<DeprecatedString> conditions;
|
||||
Vector<DeprecatedString> locales;
|
||||
|
||||
Vector<CodePointData> code_point_data;
|
||||
|
||||
|
@ -159,7 +159,7 @@ struct UnicodeData {
|
|||
PropList sentence_break_props;
|
||||
};
|
||||
|
||||
static String sanitize_entry(String const& entry)
|
||||
static DeprecatedString sanitize_entry(DeprecatedString const& entry)
|
||||
{
|
||||
auto sanitized = entry.replace("-"sv, "_"sv, ReplaceMode::All);
|
||||
sanitized = sanitized.replace(" "sv, "_"sv, ReplaceMode::All);
|
||||
|
@ -243,7 +243,7 @@ static ErrorOr<void> parse_special_casing(Core::Stream::BufferedFile& file, Unic
|
|||
}
|
||||
|
||||
if (!casing.locale.is_empty()) {
|
||||
casing.locale = String::formatted("{:c}{}", to_ascii_uppercase(casing.locale[0]), casing.locale.substring_view(1));
|
||||
casing.locale = DeprecatedString::formatted("{:c}{}", to_ascii_uppercase(casing.locale[0]), casing.locale.substring_view(1));
|
||||
|
||||
if (!unicode_data.locales.contains_slow(casing.locale))
|
||||
unicode_data.locales.append(casing.locale);
|
||||
|
@ -313,7 +313,7 @@ static ErrorOr<void> parse_prop_list(Core::Stream::BufferedFile& file, PropList&
|
|||
|
||||
static ErrorOr<void> parse_alias_list(Core::Stream::BufferedFile& file, PropList const& prop_list, Vector<Alias>& prop_aliases)
|
||||
{
|
||||
String current_property;
|
||||
DeprecatedString current_property;
|
||||
Array<u8, 1024> buffer;
|
||||
|
||||
auto append_alias = [&](auto alias, auto property) {
|
||||
|
@ -388,7 +388,7 @@ static ErrorOr<void> parse_name_aliases(Core::Stream::BufferedFile& file, Unicod
|
|||
return {};
|
||||
}
|
||||
|
||||
static ErrorOr<void> parse_value_alias_list(Core::Stream::BufferedFile& file, StringView desired_category, Vector<String> const& value_list, Vector<Alias>& prop_aliases, bool primary_value_is_first = true, bool sanitize_alias = false)
|
||||
static ErrorOr<void> parse_value_alias_list(Core::Stream::BufferedFile& file, StringView desired_category, Vector<DeprecatedString> const& value_list, Vector<Alias>& prop_aliases, bool primary_value_is_first = true, bool sanitize_alias = false)
|
||||
{
|
||||
TRY(file.seek(0, Core::Stream::SeekMode::SetPosition));
|
||||
Array<u8, 1024> buffer;
|
||||
|
@ -553,7 +553,7 @@ static Optional<CodePointDecomposition> parse_decomposition_mapping(StringView s
|
|||
if (parts.first().starts_with('<')) {
|
||||
auto const tag = parts.take_first().trim("<>"sv);
|
||||
|
||||
mapping.tag = String::formatted("{:c}{}", to_ascii_uppercase(tag[0]), tag.substring_view(1));
|
||||
mapping.tag = DeprecatedString::formatted("{:c}{}", to_ascii_uppercase(tag[0]), tag.substring_view(1));
|
||||
|
||||
if (!unicode_data.compatibility_tags.contains_slow(mapping.tag))
|
||||
unicode_data.compatibility_tags.append(mapping.tag);
|
||||
|
@ -689,14 +689,14 @@ static ErrorOr<void> generate_unicode_data_header(Core::Stream::BufferedFile& fi
|
|||
{
|
||||
StringBuilder builder;
|
||||
SourceGenerator generator { builder };
|
||||
generator.set("casing_transform_size", String::number(unicode_data.largest_casing_transform_size));
|
||||
generator.set("casing_transform_size", DeprecatedString::number(unicode_data.largest_casing_transform_size));
|
||||
|
||||
auto generate_enum = [&](StringView name, StringView default_, Vector<String> values, Vector<Alias> aliases = {}) {
|
||||
auto generate_enum = [&](StringView name, StringView default_, Vector<DeprecatedString> values, Vector<Alias> aliases = {}) {
|
||||
quick_sort(values);
|
||||
quick_sort(aliases, [](auto& alias1, auto& alias2) { return alias1.alias < alias2.alias; });
|
||||
|
||||
generator.set("name", name);
|
||||
generator.set("underlying", String::formatted("{}UnderlyingType", name));
|
||||
generator.set("underlying", DeprecatedString::formatted("{}UnderlyingType", name));
|
||||
generator.set("type", ((values.size() + !default_.is_empty()) < 256) ? "u8"sv : "u16"sv);
|
||||
|
||||
generator.append(R"~~~(
|
||||
|
@ -793,8 +793,8 @@ static ErrorOr<void> generate_unicode_data_implementation(Core::Stream::Buffered
|
|||
SourceGenerator generator { builder };
|
||||
|
||||
generator.set("string_index_type"sv, unicode_data.unique_strings.type_that_fits());
|
||||
generator.set("largest_special_casing_size", String::number(unicode_data.largest_special_casing_size));
|
||||
generator.set("special_casing_size", String::number(unicode_data.special_casing.size()));
|
||||
generator.set("largest_special_casing_size", DeprecatedString::number(unicode_data.largest_special_casing_size));
|
||||
generator.set("special_casing_size", DeprecatedString::number(unicode_data.special_casing.size()));
|
||||
|
||||
generator.append(R"~~~(
|
||||
#include <AK/Array.h>
|
||||
|
@ -802,7 +802,7 @@ static ErrorOr<void> generate_unicode_data_implementation(Core::Stream::Buffered
|
|||
#include <AK/CharacterTypes.h>
|
||||
#include <AK/Optional.h>
|
||||
#include <AK/Span.h>
|
||||
#include <AK/String.h>
|
||||
#include <AK/DeprecatedString.h>
|
||||
#include <AK/StringView.h>
|
||||
#include <LibUnicode/CharacterTypes.h>
|
||||
#include <LibUnicode/UnicodeData.h>
|
||||
|
@ -823,17 +823,17 @@ namespace Unicode {
|
|||
generator.append(", {");
|
||||
for (auto const& item : list) {
|
||||
generator.append(first ? " "sv : ", "sv);
|
||||
generator.append(String::formatted(format, item));
|
||||
generator.append(DeprecatedString::formatted(format, item));
|
||||
first = false;
|
||||
}
|
||||
generator.append(String::formatted(" }}, {}", list.size()));
|
||||
generator.append(DeprecatedString::formatted(" }}, {}", list.size()));
|
||||
};
|
||||
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<SpecialCasing, @special_casing_size@> s_special_casing { {)~~~");
|
||||
|
||||
for (auto const& casing : unicode_data.special_casing) {
|
||||
generator.set("code_point", String::formatted("{:#x}", casing.code_point));
|
||||
generator.set("code_point", DeprecatedString::formatted("{:#x}", casing.code_point));
|
||||
generator.append(R"~~~(
|
||||
{ @code_point@)~~~");
|
||||
|
||||
|
@ -910,15 +910,15 @@ struct CodePointNameComparator : public CodePointRangeComparator {
|
|||
};
|
||||
)~~~");
|
||||
|
||||
generator.set("decomposition_mappings_size", String::number(unicode_data.decomposition_mappings.size()));
|
||||
generator.set("decomposition_mappings_size", DeprecatedString::number(unicode_data.decomposition_mappings.size()));
|
||||
generator.append("\nstatic constexpr Array<u32, @decomposition_mappings_size@> s_decomposition_mappings_data { ");
|
||||
generator.append(String::join(", "sv, unicode_data.decomposition_mappings, "{:#x}"sv));
|
||||
generator.append(DeprecatedString::join(", "sv, unicode_data.decomposition_mappings, "{:#x}"sv));
|
||||
generator.append(" };\n");
|
||||
|
||||
auto append_code_point_mappings = [&](StringView name, StringView mapping_type, u32 size, auto mapping_getter) {
|
||||
generator.set("name", name);
|
||||
generator.set("mapping_type", mapping_type);
|
||||
generator.set("size", String::number(size));
|
||||
generator.set("size", DeprecatedString::number(size));
|
||||
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<@mapping_type@, @size@> s_@name@_mappings { {
|
||||
|
@ -941,16 +941,16 @@ static constexpr Array<@mapping_type@, @size@> s_@name@_mappings { {
|
|||
if (mappings_in_current_row++ > 0)
|
||||
generator.append(" ");
|
||||
|
||||
generator.set("code_point", String::formatted("{:#x}", data.code_point));
|
||||
generator.set("code_point", DeprecatedString::formatted("{:#x}", data.code_point));
|
||||
generator.append("{ @code_point@");
|
||||
|
||||
if constexpr (IsSame<decltype(mapping), Optional<u32>> || IsSame<decltype(mapping), Optional<size_t>>) {
|
||||
generator.set("mapping", String::formatted("{:#x}", *mapping));
|
||||
generator.set("mapping", DeprecatedString::formatted("{:#x}", *mapping));
|
||||
generator.append(", @mapping@ },");
|
||||
} else if constexpr (IsSame<decltype(mapping), Optional<CodePointDecomposition>>) {
|
||||
generator.set("tag", mapping->tag);
|
||||
generator.set("start", String::number(mapping->decomposition_index));
|
||||
generator.set("size", String::number(mapping->decomposition_size));
|
||||
generator.set("start", DeprecatedString::number(mapping->decomposition_index));
|
||||
generator.set("size", DeprecatedString::number(mapping->decomposition_size));
|
||||
generator.append(", CompatibilityFormattingTag::@tag@, @start@, @size@ },");
|
||||
} else {
|
||||
append_list_and_size(data.special_casing_indices, "&s_special_casing[{}]"sv);
|
||||
|
@ -983,9 +983,9 @@ static constexpr Array<@mapping_type@, @size@> s_@name@_mappings { {
|
|||
return data.decomposition_mapping;
|
||||
});
|
||||
|
||||
auto append_code_point_range_list = [&](String name, Vector<CodePointRange> const& ranges) {
|
||||
auto append_code_point_range_list = [&](DeprecatedString name, Vector<CodePointRange> const& ranges) {
|
||||
generator.set("name", name);
|
||||
generator.set("size", String::number(ranges.size()));
|
||||
generator.set("size", DeprecatedString::number(ranges.size()));
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<CodePointRange, @size@> @name@ { {
|
||||
)~~~");
|
||||
|
@ -997,8 +997,8 @@ static constexpr Array<CodePointRange, @size@> @name@ { {
|
|||
if (ranges_in_current_row++ > 0)
|
||||
generator.append(" ");
|
||||
|
||||
generator.set("first", String::formatted("{:#x}", range.first));
|
||||
generator.set("last", String::formatted("{:#x}", range.last));
|
||||
generator.set("first", DeprecatedString::formatted("{:#x}", range.first));
|
||||
generator.set("last", DeprecatedString::formatted("{:#x}", range.last));
|
||||
generator.append("{ @first@, @last@ },");
|
||||
|
||||
if (ranges_in_current_row == max_ranges_per_row) {
|
||||
|
@ -1014,7 +1014,7 @@ static constexpr Array<CodePointRange, @size@> @name@ { {
|
|||
|
||||
auto append_prop_list = [&](StringView collection_name, StringView property_format, PropList const& property_list) {
|
||||
for (auto const& property : property_list) {
|
||||
auto name = String::formatted(property_format, property.key);
|
||||
auto name = DeprecatedString::formatted(property_format, property.key);
|
||||
append_code_point_range_list(move(name), property.value);
|
||||
}
|
||||
|
||||
|
@ -1022,12 +1022,12 @@ static constexpr Array<CodePointRange, @size@> @name@ { {
|
|||
quick_sort(property_names);
|
||||
|
||||
generator.set("name", collection_name);
|
||||
generator.set("size", String::number(property_names.size()));
|
||||
generator.set("size", DeprecatedString::number(property_names.size()));
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<Span<CodePointRange const>, @size@> @name@ { {)~~~");
|
||||
|
||||
for (auto const& property_name : property_names) {
|
||||
generator.set("name", String::formatted(property_format, property_name));
|
||||
generator.set("name", DeprecatedString::formatted(property_format, property_name));
|
||||
generator.append(R"~~~(
|
||||
@name@.span(),)~~~");
|
||||
}
|
||||
|
@ -1052,7 +1052,7 @@ static constexpr Array<Span<CodePointRange const>, @size@> @name@ { {)~~~");
|
|||
|
||||
generator.set("type", type);
|
||||
generator.set("name", name);
|
||||
generator.set("size", String::number(display_names.size()));
|
||||
generator.set("size", DeprecatedString::number(display_names.size()));
|
||||
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<@type@, @size@> @name@ { {
|
||||
|
@ -1061,9 +1061,9 @@ static constexpr Array<@type@, @size@> @name@ { {
|
|||
if (values_in_current_row++ > 0)
|
||||
generator.append(", ");
|
||||
|
||||
generator.set("first", String::formatted("{:#x}", display_name.code_point_range.first));
|
||||
generator.set("last", String::formatted("{:#x}", display_name.code_point_range.last));
|
||||
generator.set("name", String::number(display_name.name));
|
||||
generator.set("first", DeprecatedString::formatted("{:#x}", display_name.code_point_range.first));
|
||||
generator.set("last", DeprecatedString::formatted("{:#x}", display_name.code_point_range.last));
|
||||
generator.set("name", DeprecatedString::number(display_name.name));
|
||||
generator.append("{ { @first@, @last@ }, @name@ }");
|
||||
|
||||
if (values_in_current_row == max_values_per_row) {
|
||||
|
@ -1104,13 +1104,13 @@ Span<BlockName const> block_display_names()
|
|||
return display_names.span();
|
||||
}
|
||||
|
||||
Optional<String> code_point_display_name(u32 code_point)
|
||||
Optional<DeprecatedString> code_point_display_name(u32 code_point)
|
||||
{
|
||||
if (auto const* entry = binary_search(s_code_point_display_names, code_point, nullptr, CodePointNameComparator {})) {
|
||||
auto display_name = decode_string(entry->display_name);
|
||||
|
||||
if (display_name.ends_with("{:X}"sv))
|
||||
return String::formatted(display_name, code_point);
|
||||
return DeprecatedString::formatted(display_name, code_point);
|
||||
|
||||
return display_name;
|
||||
}
|
||||
|
@ -1197,7 +1197,7 @@ bool code_point_has_@enum_snake@(u32 code_point, @enum_title@ @enum_snake@)
|
|||
ValueFromStringOptions options {};
|
||||
|
||||
for (auto const& prop : prop_list) {
|
||||
if constexpr (IsSame<RemoveCVReference<decltype(prop)>, String>) {
|
||||
if constexpr (IsSame<RemoveCVReference<decltype(prop)>, DeprecatedString>) {
|
||||
hashes.set(CaseInsensitiveStringViewTraits::hash(prop), prop);
|
||||
options.sensitivity = CaseSensitivity::CaseInsensitive;
|
||||
} else {
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <AK/DeprecatedString.h>
|
||||
#include <AK/Format.h>
|
||||
#include <AK/HashFunctions.h>
|
||||
#include <AK/HashMap.h>
|
||||
|
@ -15,7 +16,6 @@
|
|||
#include <AK/Optional.h>
|
||||
#include <AK/QuickSort.h>
|
||||
#include <AK/SourceGenerator.h>
|
||||
#include <AK/String.h>
|
||||
#include <AK/StringBuilder.h>
|
||||
#include <AK/StringView.h>
|
||||
#include <AK/Traits.h>
|
||||
|
@ -102,7 +102,7 @@ public:
|
|||
{
|
||||
generator.set("type"sv, type);
|
||||
generator.set("name"sv, name);
|
||||
generator.set("size"sv, String::number(m_storage.size()));
|
||||
generator.set("size"sv, DeprecatedString::number(m_storage.size()));
|
||||
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<@type@, @size@ + 1> @name@ { {
|
||||
|
@ -114,10 +114,10 @@ static constexpr Array<@type@, @size@ + 1> @name@ { {
|
|||
if (values_in_current_row++ > 0)
|
||||
generator.append(", ");
|
||||
|
||||
if constexpr (IsSame<StorageType, String>)
|
||||
generator.append(String::formatted("\"{}\"sv", value));
|
||||
if constexpr (IsSame<StorageType, DeprecatedString>)
|
||||
generator.append(DeprecatedString::formatted("\"{}\"sv", value));
|
||||
else
|
||||
generator.append(String::formatted("{}", value));
|
||||
generator.append(DeprecatedString::formatted("{}", value));
|
||||
|
||||
if (values_in_current_row == max_values_per_row) {
|
||||
values_in_current_row = 0;
|
||||
|
@ -139,8 +139,8 @@ static constexpr Array<@type@, @size@ + 1> @name@ { {
|
|||
for (size_t i = 0; i < m_storage.size(); ++i) {
|
||||
auto const& list = m_storage[i];
|
||||
|
||||
generator.set("index"sv, String::number(i));
|
||||
generator.set("size"sv, String::number(list.size()));
|
||||
generator.set("index"sv, DeprecatedString::number(i));
|
||||
generator.set("size"sv, DeprecatedString::number(list.size()));
|
||||
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<@type@, @size@> @name@@index@ { {)~~~");
|
||||
|
@ -148,14 +148,14 @@ static constexpr Array<@type@, @size@> @name@@index@ { {)~~~");
|
|||
bool first = true;
|
||||
for (auto const& value : list) {
|
||||
generator.append(first ? " "sv : ", "sv);
|
||||
generator.append(String::formatted("{}", value));
|
||||
generator.append(DeprecatedString::formatted("{}", value));
|
||||
first = false;
|
||||
}
|
||||
|
||||
generator.append(" } };");
|
||||
}
|
||||
|
||||
generator.set("size"sv, String::number(m_storage.size()));
|
||||
generator.set("size"sv, DeprecatedString::number(m_storage.size()));
|
||||
|
||||
generator.append(R"~~~(
|
||||
|
||||
|
@ -169,7 +169,7 @@ static constexpr Array<Span<@type@ const>, @size@ + 1> @name@ { {
|
|||
if (values_in_current_row++ > 0)
|
||||
generator.append(", ");
|
||||
|
||||
generator.set("index"sv, String::number(i));
|
||||
generator.set("index"sv, DeprecatedString::number(i));
|
||||
generator.append("@name@@index@.span()");
|
||||
|
||||
if (values_in_current_row == max_values_per_row) {
|
||||
|
@ -188,8 +188,8 @@ protected:
|
|||
HashMap<StorageType, size_t> m_storage_indices;
|
||||
};
|
||||
|
||||
class UniqueStringStorage : public UniqueStorage<String> {
|
||||
using Base = UniqueStorage<String>;
|
||||
class UniqueStringStorage : public UniqueStorage<DeprecatedString> {
|
||||
using Base = UniqueStorage<DeprecatedString>;
|
||||
|
||||
public:
|
||||
// The goal of the string table generator is to ensure the table is located within the read-only
|
||||
|
@ -205,7 +205,7 @@ public:
|
|||
if (values_in_current_row++ > 0)
|
||||
generator.append(", ");
|
||||
|
||||
generator.append(String::formatted("{:#x}", value));
|
||||
generator.append(DeprecatedString::formatted("{:#x}", value));
|
||||
|
||||
if (values_in_current_row == max_values_per_row) {
|
||||
values_in_current_row = 0;
|
||||
|
@ -225,7 +225,7 @@ public:
|
|||
next_index += string.length() + 2;
|
||||
}
|
||||
|
||||
generator.set("size", String::number(next_index));
|
||||
generator.set("size", DeprecatedString::number(next_index));
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<u8, @size@> s_encoded_strings { {
|
||||
)~~~");
|
||||
|
@ -243,7 +243,7 @@ static constexpr Array<u8, @size@> s_encoded_strings { {
|
|||
} };
|
||||
)~~~");
|
||||
|
||||
generator.set("size", String::number(string_indices.size()));
|
||||
generator.set("size", DeprecatedString::number(string_indices.size()));
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<u32, @size@> s_encoded_string_indices { {
|
||||
)~~~");
|
||||
|
@ -277,8 +277,8 @@ static constexpr StringView decode_string(size_t index)
|
|||
};
|
||||
|
||||
struct Alias {
|
||||
String name;
|
||||
String alias;
|
||||
DeprecatedString name;
|
||||
DeprecatedString alias;
|
||||
};
|
||||
|
||||
struct CanonicalLanguageID {
|
||||
|
@ -342,7 +342,7 @@ inline ErrorOr<JsonValue> read_json_file(StringView path)
|
|||
return JsonValue::from_string(buffer);
|
||||
}
|
||||
|
||||
inline ErrorOr<Core::DirIterator> path_to_dir_iterator(String path, StringView subpath = "main"sv)
|
||||
inline ErrorOr<Core::DirIterator> path_to_dir_iterator(DeprecatedString path, StringView subpath = "main"sv)
|
||||
{
|
||||
LexicalPath lexical_path(move(path));
|
||||
if (!subpath.is_empty())
|
||||
|
@ -359,7 +359,7 @@ inline ErrorOr<Core::DirIterator> path_to_dir_iterator(String path, StringView s
|
|||
return iterator;
|
||||
}
|
||||
|
||||
inline ErrorOr<String> next_path_from_dir_iterator(Core::DirIterator& iterator)
|
||||
inline ErrorOr<DeprecatedString> next_path_from_dir_iterator(Core::DirIterator& iterator)
|
||||
{
|
||||
auto next_path = iterator.next_full_path();
|
||||
if (iterator.has_error()) {
|
||||
|
@ -416,11 +416,11 @@ void generate_value_from_string(SourceGenerator& generator, StringView method_na
|
|||
{
|
||||
ensure_from_string_types_are_generated(generator);
|
||||
|
||||
generator.set("method_name", String::formatted(method_name_format, value_name));
|
||||
generator.set("method_name", DeprecatedString::formatted(method_name_format, value_name));
|
||||
generator.set("value_type", value_type);
|
||||
generator.set("value_name", value_name);
|
||||
generator.set("return_type", options.return_type.has_value() ? *options.return_type : value_type);
|
||||
generator.set("size", String::number(hashes.size()));
|
||||
generator.set("size", DeprecatedString::number(hashes.size()));
|
||||
|
||||
generator.append(R"~~~(
|
||||
Optional<@return_type@> @method_name@(StringView key)
|
||||
|
@ -439,11 +439,11 @@ Optional<@return_type@> @method_name@(StringView key)
|
|||
generator.append(" ");
|
||||
|
||||
if constexpr (IsIntegral<ValueType>)
|
||||
generator.set("value"sv, String::number(hashes.get(hash_key).value()));
|
||||
generator.set("value"sv, DeprecatedString::number(hashes.get(hash_key).value()));
|
||||
else
|
||||
generator.set("value"sv, String::formatted("{}::{}", value_type, hashes.get(hash_key).value()));
|
||||
generator.set("value"sv, DeprecatedString::formatted("{}::{}", value_type, hashes.get(hash_key).value()));
|
||||
|
||||
generator.set("hash"sv, String::number(hash_key));
|
||||
generator.set("hash"sv, DeprecatedString::number(hash_key));
|
||||
generator.append("{ @hash@U, @value@ },"sv);
|
||||
|
||||
if (values_in_current_row == max_values_per_row) {
|
||||
|
@ -452,7 +452,7 @@ Optional<@return_type@> @method_name@(StringView key)
|
|||
}
|
||||
}
|
||||
|
||||
generator.set("return_statement", String::formatted(options.return_format, "value->value"sv));
|
||||
generator.set("return_statement", DeprecatedString::formatted(options.return_format, "value->value"sv));
|
||||
generator.append(R"~~~(
|
||||
} };
|
||||
)~~~");
|
||||
|
@ -476,9 +476,9 @@ Optional<@return_type@> @method_name@(StringView key)
|
|||
}
|
||||
|
||||
template<typename IdentifierFormatter>
|
||||
void generate_value_to_string(SourceGenerator& generator, StringView method_name_format, StringView value_type, StringView value_name, IdentifierFormatter&& format_identifier, Span<String const> values)
|
||||
void generate_value_to_string(SourceGenerator& generator, StringView method_name_format, StringView value_type, StringView value_name, IdentifierFormatter&& format_identifier, Span<DeprecatedString const> values)
|
||||
{
|
||||
generator.set("method_name", String::formatted(method_name_format, value_name));
|
||||
generator.set("method_name", DeprecatedString::formatted(method_name_format, value_name));
|
||||
generator.set("value_type", value_type);
|
||||
generator.set("value_name", value_name);
|
||||
|
||||
|
@ -506,7 +506,7 @@ StringView @method_name@(@value_type@ @value_name@)
|
|||
}
|
||||
|
||||
template<typename IdentifierFormatter>
|
||||
void generate_enum(SourceGenerator& generator, IdentifierFormatter&& format_identifier, StringView name, StringView default_, Vector<String>& values, Vector<Alias> aliases = {})
|
||||
void generate_enum(SourceGenerator& generator, IdentifierFormatter&& format_identifier, StringView name, StringView default_, Vector<DeprecatedString>& values, Vector<Alias> aliases = {})
|
||||
{
|
||||
quick_sort(values, [](auto const& value1, auto const& value2) { return value1.to_lowercase() < value2.to_lowercase(); });
|
||||
quick_sort(aliases, [](auto const& alias1, auto const& alias2) { return alias1.alias.to_lowercase() < alias2.alias.to_lowercase(); });
|
||||
|
@ -545,20 +545,20 @@ template<typename LocalesType, typename IdentifierFormatter, typename ListFormat
|
|||
void generate_mapping(SourceGenerator& generator, LocalesType const& locales, StringView type, StringView name, StringView format, IdentifierFormatter&& format_identifier, ListFormatter&& format_list)
|
||||
{
|
||||
auto format_mapping_name = [&](StringView format, StringView name) {
|
||||
String mapping_name;
|
||||
DeprecatedString mapping_name;
|
||||
|
||||
if constexpr (IsNullPointer<IdentifierFormatter>)
|
||||
mapping_name = name.replace("-"sv, "_"sv, ReplaceMode::All);
|
||||
else
|
||||
mapping_name = format_identifier(type, name);
|
||||
|
||||
return String::formatted(format, mapping_name.to_lowercase());
|
||||
return DeprecatedString::formatted(format, mapping_name.to_lowercase());
|
||||
};
|
||||
|
||||
Vector<String> mapping_names;
|
||||
Vector<DeprecatedString> mapping_names;
|
||||
|
||||
for (auto const& locale : locales) {
|
||||
String mapping_name;
|
||||
DeprecatedString mapping_name;
|
||||
|
||||
if constexpr (requires { locale.key; }) {
|
||||
mapping_name = format_mapping_name(format, locale.key);
|
||||
|
@ -575,7 +575,7 @@ void generate_mapping(SourceGenerator& generator, LocalesType const& locales, St
|
|||
|
||||
generator.set("type", type);
|
||||
generator.set("name", name);
|
||||
generator.set("size", String::number(locales.size()));
|
||||
generator.set("size", DeprecatedString::number(locales.size()));
|
||||
generator.append(R"~~~(
|
||||
static constexpr Array<Span<@type@ const>, @size@> @name@ { {
|
||||
)~~~");
|
||||
|
@ -620,9 +620,9 @@ Span<StringView const> @name@()
|
|||
first = false;
|
||||
|
||||
if (auto it = aliases.find_if([&](auto const& alias) { return alias.alias == value; }); it != aliases.end())
|
||||
generator.append(String::formatted("\"{}\"sv", it->name));
|
||||
generator.append(DeprecatedString::formatted("\"{}\"sv", it->name));
|
||||
else
|
||||
generator.append(String::formatted("\"{}\"sv", value));
|
||||
generator.append(DeprecatedString::formatted("\"{}\"sv", value));
|
||||
}
|
||||
|
||||
generator.append(R"~~~( };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue