v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
js-segment-iterator-inl.h
Go to the documentation of this file.
1// Copyright 2020 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_OBJECTS_JS_SEGMENT_ITERATOR_INL_H_
6#define V8_OBJECTS_JS_SEGMENT_ITERATOR_INL_H_
7
8#ifndef V8_INTL_SUPPORT
9#error Internationalization is expected to be enabled.
10#endif // V8_INTL_SUPPORT
11
13// Include the non-inl header before the rest of the headers.
14
16
17// Has to be the last include (doesn't have include guards):
19
20namespace v8 {
21namespace internal {
22
23#include "torque-generated/src/objects/js-segment-iterator-tq-inl.inc"
24
25TQ_OBJECT_CONSTRUCTORS_IMPL(JSSegmentIterator)
26TQ_OBJECT_CONSTRUCTORS_IMPL(JSSegmentDataObject)
27TQ_OBJECT_CONSTRUCTORS_IMPL(JSSegmentDataObjectWithIsWordLike)
28
29// Base segment iterator accessors.
30ACCESSORS(JSSegmentIterator, icu_break_iterator,
31 Tagged<Managed<icu::BreakIterator>>, kIcuBreakIteratorOffset)
32ACCESSORS(JSSegmentIterator, raw_string, Tagged<String>, kRawStringOffset)
34 Tagged<Managed<icu::UnicodeString>>, kUnicodeStringOffset)
35
36inline void JSSegmentIterator::set_granularity(
37 JSSegmenter::Granularity granularity) {
38 DCHECK(GranularityBits::is_valid(granularity));
39 int hints = flags();
40 hints = GranularityBits::update(hints, granularity);
41 set_flags(hints);
42}
43
45 return GranularityBits::decode(flags());
46}
47
48} // namespace internal
49} // namespace v8
50
52
53#endif // V8_OBJECTS_JS_SEGMENT_ITERATOR_INL_H_
JSSegmenter::Granularity granularity() const
Flag flags[]
Definition flags.cc:3797
#define ACCESSORS(holder, name, type, offset)
#define TQ_OBJECT_CONSTRUCTORS_IMPL(Type)
#define DCHECK(condition)
Definition logging.h:482