6#error Internationalization is expected to be enabled. 
   37#include "unicode/brkiter.h" 
   64BUILTIN(StringPrototypeLocaleCompareIntl) {
 
   68  static const char* 
const kMethod = 
"String.prototype.localeCompare";
 
   75      isolate, str1, str2, 
args.atOrUndefined(isolate, 2),
 
   78    DCHECK(isolate->has_exception());
 
 
   84BUILTIN(V8BreakIteratorSupportedLocalesOf) {
 
   91                   isolate, 
"Intl.v8BreakIterator.supportedLocalesOf",
 
 
  102                   isolate, 
"Intl.NumberFormat.supportedLocalesOf",
 
 
  107  const char* 
const method_name = 
"Intl.NumberFormat.prototype.formatToParts";
 
  112  if (
args.length() >= 2) {
 
  115    x = isolate->factory()->nan_value();
 
 
  122BUILTIN(DateTimeFormatPrototypeResolvedOptions) {
 
  123  const char* 
const method_name =
 
  124      "Intl.DateTimeFormat.prototype.resolvedOptions";
 
  131      isolate, date_time_format,
 
 
  145                   isolate, 
"Intl.DateTimeFormat.supportedLocalesOf",
 
 
  149BUILTIN(DateTimeFormatPrototypeFormatToParts) {
 
  150  const char* 
const method_name = 
"Intl.DateTimeFormat.prototype.formatToParts";
 
  153  Factory* factory = isolate->factory();
 
  155  if (!IsJSDateTimeFormat(*date_format_holder)) {
 
  157        isolate, NewTypeError(MessageTemplate::kIncompatibleMethodReceiver,
 
  159                              date_format_holder));
 
  165                                        isolate, dtf, 
x, 
false, method_name));
 
 
  170          MaybeDirectHandle<T> (*
F)(
Isolate*, DirectHandle<JSDateTimeFormat>,
 
  171                                    DirectHandle<Object>, DirectHandle<Object>,
 
  183  if (IsUndefined(*start_date, isolate) || IsUndefined(*end_date, isolate)) {
 
  185        isolate, NewTypeError(MessageTemplate::kInvalidTimeValue));
 
  192                           F(isolate, dtf, start_date, end_date, method_name));
 
 
  196  const char* 
const method_name = 
"Intl.DateTimeFormat.prototype.formatRange";
 
  199      args, isolate, method_name);
 
 
  202BUILTIN(DateTimeFormatPrototypeFormatRangeToParts) {
 
  203  const char* 
const method_name =
 
  204      "Intl.DateTimeFormat.prototype.formatRangeToParts";
 
  207      args, isolate, method_name);
 
 
  212DirectHandle<JSFunction> CreateBoundFunction(
Isolate* isolate,
 
  213                                             DirectHandle<JSObject> 
object,
 
  216      isolate->context()->native_context(), isolate);
 
  217  DirectHandle<Context> context = isolate->factory()->NewBuiltinContext(
 
  224  DirectHandle<SharedFunctionInfo> info =
 
  225      isolate->factory()->NewSharedFunctionInfoForBuiltin(
 
  226          isolate->factory()->empty_string(), builtin, len, 
kAdapt);
 
  228  return Factory::JSFunctionBuilder{
isolate, 
info, context}
 
  229      .set_map(isolate->strict_function_without_prototype_map())
 
  240                                       DirectHandle<JSAny> constructor,
 
  241                                       const char* method_name) {
 
  242  isolate->CountUsage(feature);
 
  246  if (IsUndefined(*
args.new_target(), isolate)) {
 
  253  DirectHandle<JSFunction> target = 
args.target();
 
  254  DirectHandle<Object> locales = 
args.atOrUndefined(isolate, 1);
 
  255  DirectHandle<Object> options = 
args.atOrUndefined(isolate, 2);
 
  259  DirectHandle<Map> 
map;
 
  266      isolate, format, T::New(isolate, map, locales, options, method_name));
 
  268  if (IsUndefined(*
args.new_target(), isolate)) {
 
  273    DirectHandle<Object> ordinary_has_instance_obj;
 
  275        isolate, ordinary_has_instance_obj,
 
  280            isolate, NewTypeError(MessageTemplate::kIncompatibleMethodReceiver,
 
  281                                  isolate->factory()->NewStringFromAsciiChecked(
 
  289      PropertyDescriptor desc;
 
  290      desc.set_value(format);
 
  291      desc.set_writable(
false);
 
  292      desc.set_enumerable(
false);
 
  293      desc.set_configurable(
false);
 
  295          isolate, rec, isolate->factory()->intl_fallback_symbol(), &desc,
 
  297      MAYBE_RETURN(success, ReadOnlyRoots(isolate).exception());
 
  298      CHECK(success.FromJust());
 
  314                                       const char* method_name) {
 
  315  isolate->CountUsage(feature);
 
  318  if (IsUndefined(*
args.new_target(), isolate)) {  
 
  320        isolate, NewTypeError(MessageTemplate::kConstructorNotFunction,
 
  321                              isolate->factory()->NewStringFromAsciiChecked(
 
  325  DirectHandle<JSFunction> target = 
args.target();
 
  328  DirectHandle<Map> 
map;
 
  334  DirectHandle<Object> locales = 
args.atOrUndefined(isolate, 1);
 
  335  DirectHandle<Object> options = 
args.atOrUndefined(isolate, 2);
 
  347                                          const char* method_name) {
 
  350  if (IsUndefined(*
args.new_target(), isolate)) {
 
  357  DirectHandle<JSFunction> target = 
args.target();
 
  359  DirectHandle<Object> locales = 
args.atOrUndefined(isolate, 1);
 
  360  DirectHandle<Object> options = 
args.atOrUndefined(isolate, 2);
 
  362  DirectHandle<Map> 
map;
 
  367                           T::New(isolate, map, locales, options, method_name));
 
  377  return DisallowCallConstructor<JSDisplayNames>(
 
  379      "Intl.DisplayNames");
 
 
  382BUILTIN(DisplayNamesPrototypeResolvedOptions) {
 
  385                 "Intl.DisplayNames.prototype.resolvedOptions");
 
 
  396                   isolate, 
"Intl.DisplayNames.supportedLocalesOf",
 
 
  413  return DisallowCallConstructor<JSDurationFormat>(
 
  415      "Intl.DurationFormat");
 
 
  418BUILTIN(DurationFormatPrototypeResolvedOptions) {
 
  421                 "Intl.DurationFormat.prototype.resolvedOptions");
 
 
  432                   isolate, 
"Intl.DurationFormat.supportedLocalesOf",
 
 
  439                 "Intl.DurationFormat.prototype.format");
 
 
  445BUILTIN(DurationFormatPrototypeFormatToParts) {
 
  448                 "Intl.DurationFormat.prototype.formatToParts");
 
 
  459  return LegacyFormatConstructor<JSNumberFormat>(
 
  461      isolate->intl_number_format_function(), 
"Intl.NumberFormat");
 
 
  464BUILTIN(NumberFormatPrototypeResolvedOptions) {
 
  466  const char* 
const method_name = 
"Intl.NumberFormat.prototype.resolvedOptions";
 
  475      isolate, number_format,
 
 
  482  const char* 
const method_name = 
"get Intl.NumberFormat.prototype.format";
 
  492      isolate, number_format,
 
  498  if (!IsUndefined(*bound_format, isolate)) {
 
  499    DCHECK(IsJSFunction(*bound_format));
 
  501    return *bound_format;
 
  505      isolate, number_format, Builtin::kNumberFormatInternalFormatNumber, 1);
 
  508  number_format->set_bound_format(*new_bound_format_function);
 
  511  return *new_bound_format_function;
 
 
  531                                        isolate, number_format, value));
 
 
  536          MaybeDirectHandle<T> (*
F)(
Isolate*, DirectHandle<JSNumberFormat>,
 
  547  Factory* factory = isolate->factory();
 
  549  if (IsUndefined(*
start, isolate)) {
 
  552        NewTypeError(MessageTemplate::kInvalid,
 
  555  if (IsUndefined(*
end, isolate)) {
 
  557        isolate, NewTypeError(MessageTemplate::kInvalid,
 
 
  565  const char* 
const method_name = 
"Intl.NumberFormat.prototype.formatRange";
 
  568      args, isolate, method_name);
 
 
  571BUILTIN(NumberFormatPrototypeFormatRangeToParts) {
 
  572  const char* 
const method_name =
 
  573      "Intl.NumberFormat.prototype.formatRangeToParts";
 
  576      args, isolate, method_name);
 
 
  582  return LegacyFormatConstructor<JSDateTimeFormat>(
 
  584      isolate->intl_date_time_format_function(), 
"Intl.DateTimeFormat");
 
 
  588  const char* 
const method_name = 
"get Intl.DateTimeFormat.prototype.format";
 
  605  if (!IsUndefined(*bound_format, isolate)) {
 
  606    DCHECK(IsJSFunction(*bound_format));
 
  608    return *bound_format;
 
  612      isolate, format, Builtin::kDateTimeFormatInternalFormat, 1);
 
  615  format->set_bound_format(*new_bound_format_function);
 
  618  return *new_bound_format_function;
 
 
  636                                        isolate, date_format_holder, 
date,
 
  637                                        "DateTime Format Functions"));
 
 
  658  return DisallowCallConstructor<JSListFormat>(
 
 
  666                 "Intl.ListFormat.prototype.resolvedOptions");
 
 
  677                   isolate, 
"Intl.ListFormat.supportedLocalesOf",
 
 
  687  const char* method_name = 
"Intl.Locale";
 
  688  if (IsUndefined(*
args.new_target(), isolate)) {  
 
  690        isolate, NewTypeError(MessageTemplate::kConstructorNotFunction,
 
  691                              isolate->factory()->NewStringFromAsciiChecked(
 
  708  if (!IsString(*tag) && !IsJSReceiver(*tag)) {
 
  710        isolate, NewTypeError(MessageTemplate::kLocaleNotEmpty));
 
  716  if (IsJSLocale(*tag)) {
 
  728      isolate, options_object,
 
  732      isolate, 
JSLocale::New(isolate, map, locale_string, options_object));
 
 
  854BUILTIN(RelativeTimeFormatSupportedLocalesOf) {
 
  862          isolate, 
"Intl.RelativeTimeFormat.supportedLocalesOf",
 
 
  873                 "Intl.RelativeTimeFormat.prototype.format");
 
 
  882BUILTIN(RelativeTimeFormatPrototypeFormatToParts) {
 
  889                 "Intl.RelativeTimeFormat.prototype.formatToParts");
 
 
  986  return DisallowCallConstructor<JSRelativeTimeFormat>(
 
  988      "Intl.RelativeTimeFormat");
 
 
  991BUILTIN(RelativeTimeFormatPrototypeResolvedOptions) {
 
  994                 "Intl.RelativeTimeFormat.prototype.resolvedOptions");
 
 
 1000  if (!IsSeqOneByteString(maybe_locale)) {
 
 1004  uint8_t* chars = locale->GetChars(no_gc);
 
 1005  if (locale->length() < 2 || !std::isalpha(chars[0]) ||
 
 1006      !std::isalpha(chars[1])) {
 
 1009  if (locale->length() != 2 &&
 
 1010      (locale->length() != 5 || chars[2] != 
'-' || !std::isalpha(chars[3]) ||
 
 1011       !std::isalpha(chars[4]))) {
 
 1014  char first = chars[0] | 0x20;
 
 1015  char second = chars[1] | 0x20;
 
 1016  return (first != 
'a' || 
second != 
'z') && (first != 
'e' || 
second != 
'l') &&
 
 1017         (first != 
'l' || 
second != 
't') && (first != 
't' || 
second != 
'r');
 
 
 1024  if (IsUndefined(*maybe_locale) || 
IsFastLocale(*maybe_locale)) {
 
 1029                                          isolate, 
string, 
true, maybe_locale));
 
 
 1036  return DisallowCallConstructor<JSPluralRules>(
 
 1038      "Intl.PluralRules");
 
 
 1044                 "Intl.PluralRules.prototype.resolvedOptions");
 
 
 1054                 "Intl.PluralRules.prototype.select");
 
 1064                                        isolate, plural_rules, number_double));
 
 
 1073                 "Intl.PluralRules.prototype.selectRange");
 
 1078  if (IsUndefined(*
start)) {
 
 1080        isolate, NewTypeError(MessageTemplate::kInvalid,
 
 1081                              isolate->factory()->startRange_string(), 
start));
 
 1083  if (IsUndefined(*
end)) {
 
 1085        isolate, NewTypeError(MessageTemplate::kInvalid,
 
 1086                              isolate->factory()->endRange_string(), 
end));
 
 1102        isolate, NewRangeError(MessageTemplate::kInvalid,
 
 1103                               isolate->factory()->startRange_string(), 
x));
 
 1107        isolate, NewRangeError(MessageTemplate::kInvalid,
 
 1108                               isolate->factory()->endRange_string(), 
y));
 
 
 1124                   isolate, 
"Intl.PluralRules.supportedLocalesOf",
 
 
 1133  return CallOrConstructConstructor<JSCollator>(
args, isolate, 
"Intl.Collator");
 
 
 1139                 "Intl.Collator.prototype.resolvedOptions");
 
 
 1150                   isolate, 
"Intl.Collator.supportedLocalesOf",
 
 
 1155  const char* 
const method_name = 
"get Intl.Collator.prototype.compare";
 
 1166  if (!IsUndefined(*bound_compare, isolate)) {
 
 1167    DCHECK(IsJSFunction(*bound_compare));
 
 1169    return *bound_compare;
 
 1173      isolate, collator, Builtin::kCollatorInternalCompare, 2);
 
 1176  collator->set_bound_compare(*new_bound_compare_function);
 
 1179  return *new_bound_compare_function;
 
 
 1209  icu::Collator* icu_collator = collator->icu_collator()->raw();
 
 
 1217  const char* 
const method_name = 
"%SegmentIterator.prototype%.next";
 
 
 1229  return DisallowCallConstructor<JSSegmenter>(
 
 
 1242                   isolate, 
"Intl.Segmenter.supportedLocalesOf",
 
 
 1250                 "Intl.Segmenter.prototype.resolvedOptions");
 
 
 1271  const char* 
const method_name = 
"%Segments.prototype%.containing";
 
 
 1287  const char* 
const method_name = 
"%SegmentIsPrototype%[@@iterator]";
 
 1294          segments->icu_break_iterator()->raw(), segments->granularity()));
 
 
 1300  return CallOrConstructConstructor<JSV8BreakIterator>(
args, isolate,
 
 1301                                                       "Intl.v8BreakIterator");
 
 
 1307                 "Intl.v8BreakIterator.prototype.resolvedOptions");
 
 
 1312  const char* 
const method_name =
 
 1313      "get Intl.v8BreakIterator.prototype.adoptText";
 
 1320  if (!IsUndefined(*bound_adopt_text, isolate)) {
 
 1321    DCHECK(IsJSFunction(*bound_adopt_text));
 
 1322    return *bound_adopt_text;
 
 1326      isolate, break_iterator, Builtin::kV8BreakIteratorInternalAdoptText, 1);
 
 1327  break_iterator->set_bound_adopt_text(*new_bound_adopt_text_function);
 
 1328  return *new_bound_adopt_text_function;
 
 
 1350  const char* 
const method_name = 
"get Intl.v8BreakIterator.prototype.first";
 
 1356  if (!IsUndefined(*bound_first, isolate)) {
 
 1357    DCHECK(IsJSFunction(*bound_first));
 
 1358    return *bound_first;
 
 1362      isolate, break_iterator, Builtin::kV8BreakIteratorInternalFirst, 0);
 
 1363  break_iterator->set_bound_first(*new_bound_first_function);
 
 1364  return *new_bound_first_function;
 
 
 1380  const char* 
const method_name = 
"get Intl.v8BreakIterator.prototype.next";
 
 1386  if (!IsUndefined(*bound_next, isolate)) {
 
 1387    DCHECK(IsJSFunction(*bound_next));
 
 1392      isolate, break_iterator, Builtin::kV8BreakIteratorInternalNext, 0);
 
 1393  break_iterator->set_bound_next(*new_bound_next_function);
 
 1394  return *new_bound_next_function;
 
 
 1409  const char* 
const method_name = 
"get Intl.v8BreakIterator.prototype.current";
 
 1415  if (!IsUndefined(*bound_current, isolate)) {
 
 1416    DCHECK(IsJSFunction(*bound_current));
 
 1417    return *bound_current;
 
 1421      isolate, break_iterator, Builtin::kV8BreakIteratorInternalCurrent, 0);
 
 1422  break_iterator->set_bound_current(*new_bound_current_function);
 
 1423  return *new_bound_current_function;
 
 
 1438  const char* 
const method_name =
 
 1439      "get Intl.v8BreakIterator.prototype.breakType";
 
 1446  if (!IsUndefined(*bound_break_type, isolate)) {
 
 1447    DCHECK(IsJSFunction(*bound_break_type));
 
 1448    return *bound_break_type;
 
 1452      isolate, break_iterator, Builtin::kV8BreakIteratorInternalBreakType, 0);
 
 1453  break_iterator->set_bound_break_type(*new_bound_break_type_function);
 
 1454  return *new_bound_break_type_function;
 
 
#define TO_THIS_STRING(name, method)
#define CHECK_RECEIVER(Type, name, method)
@ kLocaleInfoObsoletedGetters
Handle< String > NewStringFromAsciiChecked(const char *str, AllocationType allocation=AllocationType::kYoung)
Handle< String > NewStringFromStaticChars(const char(&str)[N], AllocationType allocation=AllocationType::kYoung)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< String > StringLocaleConvertCase(Isolate *isolate, DirectHandle< String > s, bool is_upper, DirectHandle< Object > locales)
V8_EXPORT_PRIVATE static V8_WARN_UNUSED_RESULT int CompareStrings(Isolate *isolate, const icu::Collator &collator, DirectHandle< String > s1, DirectHandle< String > s2, CompareStringsOptions compare_strings_options=CompareStringsOptions::kNone)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< String > Normalize(Isolate *isolate, DirectHandle< String > string, DirectHandle< Object > form_input)
static V8_WARN_UNUSED_RESULT std::optional< int > StringLocaleCompare(Isolate *isolate, DirectHandle< String > s1, DirectHandle< String > s2, DirectHandle< Object > locales, DirectHandle< Object > options, const char *method_name)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< JSArray > GetCanonicalLocales(Isolate *isolate, DirectHandle< Object > locales)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< String > ConvertToUpper(Isolate *isolate, DirectHandle< String > s)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< JSArray > SupportedValuesOf(Isolate *isolate, DirectHandle< Object > key)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< JSObject > SupportedLocalesOf(Isolate *isolate, const char *method_name, const std::set< std::string > &available_locales, DirectHandle< Object > locales_in, DirectHandle< Object > options_in)
static V8_EXPORT_PRIVATE const std::set< std::string > & GetAvailableLocales()
static DirectHandle< JSObject > ResolvedOptions(Isolate *isolate, DirectHandle< JSCollator > collator)
static MaybeDirectHandle< Object > Of(Isolate *isolate, DirectHandle< JSDisplayNames > holder, Handle< Object > code_obj)
static V8_EXPORT_PRIVATE const std::set< std::string > & GetAvailableLocales()
static DirectHandle< JSObject > ResolvedOptions(Isolate *isolate, DirectHandle< JSDisplayNames > format_holder)
static V8_EXPORT_PRIVATE V8_WARN_UNUSED_RESULT MaybeHandle< Map > GetDerivedMap(Isolate *isolate, DirectHandle< JSFunction > constructor, DirectHandle< JSReceiver > new_target)
static DirectHandle< String > BaseName(Isolate *isolate, DirectHandle< JSLocale > locale)
static DirectHandle< Object > Region(Isolate *isolate, DirectHandle< JSLocale > locale)
static DirectHandle< Object > HourCycle(Isolate *isolate, DirectHandle< JSLocale > locale)
static DirectHandle< Object > Calendar(Isolate *isolate, DirectHandle< JSLocale > locale)
static MaybeDirectHandle< JSLocale > Maximize(Isolate *isolate, DirectHandle< JSLocale > locale)
static DirectHandle< Object > Language(Isolate *isolate, DirectHandle< JSLocale > locale)
static DirectHandle< String > ToString(Isolate *isolate, DirectHandle< JSLocale > locale)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< JSObject > GetTextInfo(Isolate *isolate, DirectHandle< JSLocale > locale)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< Object > GetTimeZones(Isolate *isolate, DirectHandle< JSLocale > locale)
static DirectHandle< Object > NumberingSystem(Isolate *isolate, DirectHandle< JSLocale > locale)
static MaybeDirectHandle< JSLocale > New(Isolate *isolate, DirectHandle< Map > map, DirectHandle< String > locale, DirectHandle< JSReceiver > options)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< JSArray > GetNumberingSystems(Isolate *isolate, DirectHandle< JSLocale > locale)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< JSObject > GetWeekInfo(Isolate *isolate, DirectHandle< JSLocale > locale)
static DirectHandle< Object > Script(Isolate *isolate, DirectHandle< JSLocale > locale)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< JSArray > GetCalendars(Isolate *isolate, DirectHandle< JSLocale > locale)
static MaybeDirectHandle< JSLocale > Minimize(Isolate *isolate, DirectHandle< JSLocale > locale)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< JSArray > GetHourCycles(Isolate *isolate, DirectHandle< JSLocale > locale)
static DirectHandle< Object > FirstDayOfWeek(Isolate *isolate, DirectHandle< JSLocale > locale)
static DirectHandle< Object > Collation(Isolate *isolate, DirectHandle< JSLocale > locale)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< JSArray > GetCollations(Isolate *isolate, DirectHandle< JSLocale > locale)
static DirectHandle< Object > CaseFirst(Isolate *isolate, DirectHandle< JSLocale > locale)
static DirectHandle< Object > Numeric(Isolate *isolate, DirectHandle< JSLocale > locale)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< String > ResolvePlural(Isolate *isolate, DirectHandle< JSPluralRules > plural_rules, double number)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< String > ResolvePluralRange(Isolate *isolate, DirectHandle< JSPluralRules > plural_rules, double x, double y)
static DirectHandle< JSObject > ResolvedOptions(Isolate *isolate, DirectHandle< JSPluralRules > plural_rules)
static V8_EXPORT_PRIVATE const std::set< std::string > & GetAvailableLocales()
static V8_WARN_UNUSED_RESULT Maybe< bool > DefineOwnProperty(Isolate *isolate, DirectHandle< JSReceiver > object, DirectHandle< Object > key, PropertyDescriptor *desc, Maybe< ShouldThrow > should_throw)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< JSReceiver > Next(Isolate *isolate, DirectHandle< JSSegmentIterator > segment_iterator_holder)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< JSSegmentIterator > Create(Isolate *isolate, DirectHandle< String > input_string, icu::BreakIterator *icu_break_iterator, JSSegmenter::Granularity granularity)
static V8_EXPORT_PRIVATE const std::set< std::string > & GetAvailableLocales()
static V8_WARN_UNUSED_RESULT DirectHandle< JSObject > ResolvedOptions(Isolate *isolate, DirectHandle< JSSegmenter > segmenter_holder)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< Object > Containing(Isolate *isolate, DirectHandle< JSSegments > segments_holder, double n)
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< JSSegments > Create(Isolate *isolate, DirectHandle< JSSegmenter > segmenter, DirectHandle< String > string)
static Tagged< String > BreakType(Isolate *isolate, DirectHandle< JSV8BreakIterator > break_iterator)
static DirectHandle< JSObject > ResolvedOptions(Isolate *isolate, DirectHandle< JSV8BreakIterator > break_iterator)
static DirectHandle< Object > Current(Isolate *isolate, DirectHandle< JSV8BreakIterator > break_iterator)
static V8_EXPORT_PRIVATE const std::set< std::string > & GetAvailableLocales()
static DirectHandle< Object > Next(Isolate *isolate, DirectHandle< JSV8BreakIterator > break_iterator)
static DirectHandle< Object > First(Isolate *isolate, DirectHandle< JSV8BreakIterator > break_iterator)
static void AdoptText(Isolate *isolate, DirectHandle< JSV8BreakIterator > break_iterator, DirectHandle< String > text)
static V8_WARN_UNUSED_RESULT HandleType< String >::MaybeType ToString(Isolate *isolate, HandleType< T > input)
static V8_WARN_UNUSED_RESULT HandleType< Number >::MaybeType ToNumber(Isolate *isolate, HandleType< T > input)
static V8_WARN_UNUSED_RESULT MaybeHandle< Object > OrdinaryHasInstance(Isolate *isolate, DirectHandle< JSAny > callable, DirectHandle< JSAny > object)
static V8_EXPORT_PRIVATE bool BooleanValue(Tagged< Object > obj, IsolateT *isolate)
static double NumberValue(Tagged< Number > obj)
static V8_WARN_UNUSED_RESULT Maybe< double > IntegerValue(Isolate *isolate, HandleType< T > input)
static constexpr Tagged< Smi > FromInt(int value)
static V8_INLINE HandleType< String > Flatten(Isolate *isolate, HandleType< T > string, AllocationType allocation=AllocationType::kYoung)
Handle< SharedFunctionInfo > info
#define ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, dst, call)
#define THROW_NEW_ERROR_RETURN_FAILURE(isolate, call)
#define MAYBE_RETURN(call, value)
#define RETURN_RESULT_OR_FAILURE(isolate, call)
#define MAYBE_ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, dst, call)
base::Vector< const DirectHandle< Object > > args
DirectHandle< Object > new_target
ZoneVector< RpoNumber > & result
V8_WARN_UNUSED_RESULT Tagged< Object > DateTimeFormatRange(BuiltinArguments args, Isolate *isolate, const char *const method_name)
bool IsNaN(Tagged< Object > obj)
V8_INLINE DirectHandle< T > direct_handle(Tagged< T > object, Isolate *isolate)
constexpr AdaptArguments kAdapt
MaybeDirectHandle< JSReceiver > CoerceOptionsToObject(Isolate *isolate, DirectHandle< Object > options, const char *method_name)
bool IsFastLocale(Tagged< Object > maybe_locale)
V8_EXPORT_PRIVATE void V8_EXPORT_PRIVATE void const char * format
template const char * string
V8_WARN_UNUSED_RESULT Tagged< Object > NumberFormatRange(BuiltinArguments args, Isolate *isolate, const char *const method_name)
!IsContextMap !IsContextMap native_context
Tagged< To > Cast(Tagged< From > value, const v8::SourceLocation &loc=INIT_SOURCE_LOCATION_IN_DEBUG)
Maybe< T > Just(const T &t)
#define CHECK_NOT_NULL(val)
#define DCHECK(condition)
#define V8_WARN_UNUSED_RESULT