1 // Copyright 2018 the V8 project authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef V8_INTL_SUPPORT 6 #error Internationalization is expected to be enabled. 7 #endif // V8_INTL_SUPPORT 8 9 #ifndef V8_OBJECTS_JS_RELATIVE_TIME_FORMAT_INL_H_ 10 #define V8_OBJECTS_JS_RELATIVE_TIME_FORMAT_INL_H_ 11 12 #include "src/objects/js-relative-time-format.h" 13 #include "src/objects/objects-inl.h" 14 15 // Has to be the last include (doesn't have include guards): 16 #include "src/objects/object-macros.h" 17 18 namespace v8 { 19 namespace internal { 20 21 #include "torque-generated/src/objects/js-relative-time-format-tq-inl.inc" 22 23 TQ_OBJECT_CONSTRUCTORS_IMPL(JSRelativeTimeFormat) 24 25 // Base relative time format accessors. ACCESSORS(JSRelativeTimeFormat,icu_formatter,Managed<icu::RelativeDateTimeFormatter>,kIcuFormatterOffset)26ACCESSORS(JSRelativeTimeFormat, icu_formatter, 27 Managed<icu::RelativeDateTimeFormatter>, kIcuFormatterOffset) 28 29 inline void JSRelativeTimeFormat::set_numeric(Numeric numeric) { 30 DCHECK_GE(NumericBit::kMax, numeric); 31 int hints = flags(); 32 hints = NumericBit::update(hints, numeric); 33 set_flags(hints); 34 } 35 numeric()36inline JSRelativeTimeFormat::Numeric JSRelativeTimeFormat::numeric() const { 37 return NumericBit::decode(flags()); 38 } 39 40 } // namespace internal 41 } // namespace v8 42 43 #include "src/objects/object-macros-undef.h" 44 45 #endif // V8_OBJECTS_JS_RELATIVE_TIME_FORMAT_INL_H_ 46