ladybird/Libraries/LibJS/Runtime/Intl
Andreas Kling 8b8136b480 LibJS: Use Substring in Intl.Segmenter
Keep the primitive string that segment() creates alongside the UTF-16
buffer used by LibUnicode. Segment data objects can then return lazy
Substring instances for "segment" and reuse the original
PrimitiveString for "input" instead of copying both strings.

Add a rope-backed UTF-16 segmenter test that exercises both
containing() and iterator results.
2026-04-11 00:35:36 +02:00
..
AbstractOperations.cpp LibJS: Update spec steps for the Intl Locale info proposal 2026-03-13 14:42:51 -04:00
AbstractOperations.h LibJS: Update spec steps for the Intl Locale info proposal 2026-03-13 14:42:51 -04:00
Collator.cpp LibJS: Define constructor slots for describing how to read options 2025-04-08 06:50:40 -04:00
Collator.h Everywhere: Slap some [[clang::lifetimebound]] where appropriate 2025-09-01 11:11:38 +02:00
CollatorCompareFunction.cpp LibJS: Mark JS::Cell::initialize() as MUST_UPCALL 2026-02-06 13:50:54 +01:00
CollatorCompareFunction.h LibJS+LibUnicode: Port Intl.Collator to UTF-16 strings 2025-07-24 10:39:52 +02:00
CollatorConstructor.cpp LibJS: Convert FilterLocales and CoerceOptionsToObject to GC::Ref 2025-04-08 06:50:40 -04:00
CollatorConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
CollatorPrototype.cpp LibJS: Re-arrange and rename a few Intl properties 2025-03-04 07:36:10 -05:00
CollatorPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
DateTimeFormat.cpp LibJS: Make more use of Value::is and Value::as_if in Intl 2026-02-27 17:19:33 +01:00
DateTimeFormat.h LibJS: Work around inconsistency in CLDR Temporal data sources 2026-02-14 19:47:29 +01:00
DateTimeFormatConstructor.cpp LibJS: Format "islamic" and "islamic-rgsa" calendars as "islamic-tbla" 2026-03-13 14:43:45 -04:00
DateTimeFormatConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
DateTimeFormatFunction.cpp LibJS: Update spec numbers for Intl Temporal operations 2026-02-14 19:47:29 +01:00
DateTimeFormatFunction.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
DateTimeFormatPrototype.cpp LibJS: Work around inconsistency in CLDR Temporal data sources 2026-02-14 19:47:29 +01:00
DateTimeFormatPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
DisplayNames.cpp LibJS: Update spec steps for the Intl Locale info proposal 2026-03-13 14:42:51 -04:00
DisplayNames.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
DisplayNamesConstructor.cpp LibJS: Migrate Intl.DisplayNames to use ResolveOptions 2025-04-08 06:50:40 -04:00
DisplayNamesConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
DisplayNamesPrototype.cpp LibJS: Allow languageDisplay to be undefined in DisplayNames options 2026-02-06 12:19:46 -05:00
DisplayNamesPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
DurationFormat.cpp LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
DurationFormat.h LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
DurationFormatConstructor.cpp LibJS: Migrate remaining Intl objects to use ResolveOptions 2025-04-08 06:50:40 -04:00
DurationFormatConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
DurationFormatPrototype.cpp LibJS: Merge Intl.DurationFormat style and display fields into a struct 2025-03-18 11:47:23 -04:00
DurationFormatPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Intl.cpp LibGC: Rename MarkedVector => RootVector 2024-12-26 19:10:44 +01:00
Intl.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
IntlObject.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ListFormat.cpp LibJS+LibUnicode: Port Intl.ListFormat to UTF-16 strings 2025-07-24 10:39:52 +02:00
ListFormat.h LibJS+LibUnicode: Port Intl.ListFormat to UTF-16 strings 2025-07-24 10:39:52 +02:00
ListFormatConstructor.cpp LibJS: Migrate remaining Intl objects to use ResolveOptions 2025-04-08 06:50:40 -04:00
ListFormatConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
ListFormatPrototype.cpp LibJS: Merge Intl.DurationFormat style and display fields into a struct 2025-03-18 11:47:23 -04:00
ListFormatPrototype.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Locale.cpp LibJS: Update spec steps for the Intl Locale info proposal 2026-03-13 14:42:51 -04:00
Locale.h LibJS: Update spec steps for the Intl Locale info proposal 2026-03-13 14:42:51 -04:00
LocaleConstructor.cpp LibJS+LibUnicode: Add an API to loop over Unicode extensions of one type 2026-03-14 08:17:03 -04:00
LocaleConstructor.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
LocalePrototype.cpp LibJS: Update spec steps for the Intl Locale info proposal 2026-03-13 14:42:51 -04:00
LocalePrototype.h LibJS: Update spec steps for the Intl Locale info proposal 2026-03-13 14:42:51 -04:00
MathematicalValue.cpp
MathematicalValue.h LibJS: Enable EXPLICIT_SYMBOL_EXPORT and annotate minimum symbol set 2025-07-22 11:51:29 -04:00
NumberFormat.cpp LibJS+LibUnicode: Port Intl.NumberFormat to UTF-16 strings 2025-07-24 10:39:52 +02:00
NumberFormat.h LibJS+LibUnicode: Port Intl.NumberFormat to UTF-16 strings 2025-07-24 10:39:52 +02:00
NumberFormatConstructor.cpp LibJS: Fix typo in Intl.NumberFormat GetNumberOption parameter name 2026-02-06 12:19:46 -05:00
NumberFormatConstructor.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
NumberFormatFunction.cpp LibJS: Update spec numbers for the Intl.DurationFormat proposal 2025-03-01 14:49:20 +01:00
NumberFormatFunction.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
NumberFormatPrototype.cpp LibJS: Update spec steps for the Intl Locale info proposal 2026-03-13 14:42:51 -04:00
NumberFormatPrototype.h LibJS: Re-arrange and rename a few Intl properties 2025-03-04 07:36:10 -05:00
PluralRules.cpp LibJS+LibUnicode: Support Intl.MathematicalValue in Intl.PluralRules 2026-02-06 12:19:46 -05:00
PluralRules.h LibJS+LibUnicode: Support Intl.MathematicalValue in Intl.PluralRules 2026-02-06 12:19:46 -05:00
PluralRulesConstructor.cpp LibJS: Add [[CompactDisplay]] slot to Intl.PluralRules 2026-02-06 12:19:46 -05:00
PluralRulesConstructor.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
PluralRulesPrototype.cpp LibJS: Update spec steps for the Intl Locale info proposal 2026-03-13 14:42:51 -04:00
PluralRulesPrototype.h LibJS: Re-arrange and rename a few Intl properties 2025-03-04 07:36:10 -05:00
RelativeTimeFormat.cpp LibJS+LibUnicode: Port Intl.RelativeTimeFormat to UTF-16 strings 2025-07-24 10:39:52 +02:00
RelativeTimeFormat.h LibJS+LibUnicode: Port Intl.RelativeTimeFormat to UTF-16 strings 2025-07-24 10:39:52 +02:00
RelativeTimeFormatConstructor.cpp LibJS: Migrate remaining Intl objects to use ResolveOptions 2025-04-08 06:50:40 -04:00
RelativeTimeFormatConstructor.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
RelativeTimeFormatPrototype.cpp LibJS: Update spec steps for the Intl Locale info proposal 2026-03-13 14:42:51 -04:00
RelativeTimeFormatPrototype.h LibJS: Re-arrange and rename a few Intl properties 2025-03-04 07:36:10 -05:00
Segmenter.cpp LibJS: Use Substring in Intl.Segmenter 2026-04-11 00:35:36 +02:00
Segmenter.h LibJS: Use Substring in Intl.Segmenter 2026-04-11 00:35:36 +02:00
SegmenterConstructor.cpp LibJS: Migrate remaining Intl objects to use ResolveOptions 2025-04-08 06:50:40 -04:00
SegmenterConstructor.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SegmenterPrototype.cpp LibJS: Use Substring in Intl.Segmenter 2026-04-11 00:35:36 +02:00
SegmenterPrototype.h LibJS: Re-arrange and rename a few Intl properties 2025-03-04 07:36:10 -05:00
SegmentIterator.cpp LibJS: Re-arrange and rename a few Intl properties 2025-03-04 07:36:10 -05:00
SegmentIterator.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SegmentIteratorPrototype.cpp LibJS: Use Substring in Intl.Segmenter 2026-04-11 00:35:36 +02:00
SegmentIteratorPrototype.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Segments.cpp LibJS: Use Substring in Intl.Segmenter 2026-04-11 00:35:36 +02:00
Segments.h LibJS: Use Substring in Intl.Segmenter 2026-04-11 00:35:36 +02:00
SegmentsPrototype.cpp LibJS: Use Substring in Intl.Segmenter 2026-04-11 00:35:36 +02:00
SegmentsPrototype.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SingleUnitIdentifiers.h