5 #ifndef V8_INTL_SUPPORT 6 #error Internationalization is expected to be enabled. 7 #endif // V8_INTL_SUPPORT 9 #ifndef V8_OBJECTS_JS_PLURAL_RULES_H_ 10 #define V8_OBJECTS_JS_PLURAL_RULES_H_ 15 #include "src/heap/factory.h" 16 #include "src/isolate.h" 17 #include "src/objects.h" 18 #include "src/objects/intl-objects.h" 19 #include "src/objects/managed.h" 22 #include "src/objects/object-macros.h" 43 static std::set<std::string> GetAvailableLocales();
53 inline void set_type(Type
type);
54 inline Type
type()
const;
63 #define FLAGS_BIT_FIELDS(V, _) V(TypeBits, Type, 1, _) 65 DEFINE_BIT_FIELDS(FLAGS_BIT_FIELDS)
66 #undef FLAGS_BIT_FIELDS 68 STATIC_ASSERT(Type::CARDINAL <= TypeBits::kMax);
69 STATIC_ASSERT(Type::ORDINAL <= TypeBits::kMax);
72 #define JS_PLURAL_RULES_FIELDS(V) \ 73 V(kLocaleOffset, kTaggedSize) \ 74 V(kFlagsOffset, kTaggedSize) \ 75 V(kICUPluralRulesOffset, kTaggedSize) \ 76 V(kICUDecimalFormatOffset, kTaggedSize) \ 80 DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize, JS_PLURAL_RULES_FIELDS)
81 #undef JS_PLURAL_RULES_FIELDS 83 DECL_ACCESSORS2(locale,
String)
84 DECL_INT_ACCESSORS(flags)
95 #include "src/objects/object-macros-undef.h" 97 #endif // V8_OBJECTS_JS_PLURAL_RULES_H_