Sha256: 4fee538682cef1d1297d7c9e44374ad1a36f2a9d8bcc909f01e8712bee7a0cdc
Contents?: true
Size: 1.42 KB
Versions: 10
Compression:
Stored size: 1.42 KB
Contents
// Copyright 2015 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef V8_UNICODE_CACHE_H_ #define V8_UNICODE_CACHE_H_ #include "src/base/macros.h" #include "src/char-predicates.h" #include "src/unicode.h" #include "src/unicode-decoder.h" namespace v8 { namespace internal { // Caching predicates used by scanners. class UnicodeCache { public: UnicodeCache() {} typedef unibrow::Utf8Decoder<512> Utf8Decoder; StaticResource<Utf8Decoder>* utf8_decoder() { return &utf8_decoder_; } inline bool IsIdentifierStart(unibrow::uchar c); inline bool IsIdentifierPart(unibrow::uchar c); inline bool IsLineTerminator(unibrow::uchar c); inline bool IsLineTerminatorSequence(unibrow::uchar c, unibrow::uchar next); inline bool IsWhiteSpace(unibrow::uchar c); inline bool IsWhiteSpaceOrLineTerminator(unibrow::uchar c); private: unibrow::Predicate<IdentifierStart, 128> kIsIdentifierStart; unibrow::Predicate<IdentifierPart, 128> kIsIdentifierPart; unibrow::Predicate<unibrow::LineTerminator, 128> kIsLineTerminator; unibrow::Predicate<WhiteSpace, 128> kIsWhiteSpace; unibrow::Predicate<WhiteSpaceOrLineTerminator, 128> kIsWhiteSpaceOrLineTerminator; StaticResource<Utf8Decoder> utf8_decoder_; DISALLOW_COPY_AND_ASSIGN(UnicodeCache); }; } // namespace internal } // namespace v8 #endif // V8_UNICODE_CACHE_H_
Version data entries
10 entries across 9 versions & 2 rubygems