5 #ifndef V8_INTL_SUPPORT 6 #error Internationalization is expected to be enabled. 7 #endif // V8_INTL_SUPPORT 9 #ifndef V8_OBJECTS_JS_LOCALE_INL_H_ 10 #define V8_OBJECTS_JS_LOCALE_INL_H_ 12 #include "src/api-inl.h" 13 #include "src/objects-inl.h" 14 #include "src/objects/js-locale.h" 17 #include "src/objects/object-macros.h" 23 ACCESSORS(JSLocale, language, Object, kLanguageOffset);
24 ACCESSORS(JSLocale, script, Object, kScriptOffset);
25 ACCESSORS(JSLocale, region, Object, kRegionOffset);
26 ACCESSORS(JSLocale, base_name, Object, kBaseNameOffset);
27 ACCESSORS2(JSLocale, locale, String, kLocaleOffset);
30 ACCESSORS(JSLocale, calendar, Object, kCalendarOffset);
31 ACCESSORS(JSLocale, collation, Object, kCollationOffset);
32 ACCESSORS(JSLocale, numbering_system, Object, kNumberingSystemOffset);
33 SMI_ACCESSORS(JSLocale, flags, kFlagsOffset)
35 CAST_ACCESSOR(JSLocale);
37 inline void JSLocale::set_case_first(CaseFirst case_first) {
38 DCHECK_GT(CaseFirst::COUNT, case_first);
40 hints = CaseFirstBits::update(hints, case_first);
44 inline JSLocale::CaseFirst JSLocale::case_first()
const {
45 return CaseFirstBits::decode(flags());
48 inline void JSLocale::set_hour_cycle(HourCycle hour_cycle) {
49 DCHECK_GT(HourCycle::COUNT, hour_cycle);
51 hints = HourCycleBits::update(hints, hour_cycle);
55 inline JSLocale::HourCycle JSLocale::hour_cycle()
const {
56 return HourCycleBits::decode(flags());
59 inline void JSLocale::set_numeric(Numeric numeric) {
60 DCHECK_GT(Numeric::COUNT, numeric);
62 hints = NumericBits::update(hints, numeric);
66 inline JSLocale::Numeric JSLocale::numeric()
const {
67 return NumericBits::decode(flags());
73 #include "src/objects/object-macros-undef.h" 75 #endif // V8_OBJECTS_JS_LOCALE_INL_H_