5 #ifndef V8_INTL_SUPPORT 6 #error Internationalization is expected to be enabled. 7 #endif // V8_INTL_SUPPORT 9 #ifndef V8_OBJECTS_JS_LIST_FORMAT_H_ 10 #define V8_OBJECTS_JS_LIST_FORMAT_H_ 15 #include "src/heap/factory.h" 16 #include "src/isolate.h" 17 #include "src/objects.h" 18 #include "src/objects/managed.h" 19 #include "unicode/uversion.h" 22 #include "src/objects/object-macros.h" 52 static std::set<std::string> GetAvailableLocales();
60 DECL_ACCESSORS2(locale,
String)
72 inline void set_style(Style style);
73 inline Style style()
const;
84 inline void set_type(Type
type);
85 inline Type
type()
const;
88 #define FLAGS_BIT_FIELDS(V, _) \ 89 V(StyleBits, Style, 2, _) \ 90 V(TypeBits, Type, 2, _) 91 DEFINE_BIT_FIELDS(FLAGS_BIT_FIELDS)
92 #undef FLAGS_BIT_FIELDS 94 STATIC_ASSERT(Style::LONG <= StyleBits::kMax);
95 STATIC_ASSERT(Style::SHORT <= StyleBits::kMax);
96 STATIC_ASSERT(Style::NARROW <= StyleBits::kMax);
97 STATIC_ASSERT(Type::CONJUNCTION <= TypeBits::kMax);
98 STATIC_ASSERT(Type::DISJUNCTION <= TypeBits::kMax);
99 STATIC_ASSERT(Type::UNIT <= TypeBits::kMax);
102 DECL_INT_ACCESSORS(flags)
108 #define JS_LIST_FORMAT_FIELDS(V) \ 109 V(kJSListFormatOffset, kTaggedSize) \ 110 V(kLocaleOffset, kTaggedSize) \ 111 V(kICUFormatterOffset, kTaggedSize) \ 112 V(kFlagsOffset, kTaggedSize) \ 116 DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize, JS_LIST_FORMAT_FIELDS)
117 #undef JS_LIST_FORMAT_FIELDS 126 #include "src/objects/object-macros-undef.h" 128 #endif // V8_OBJECTS_JS_LIST_FORMAT_H_