V8 Project
|
#include <jsregexp.h>
Public Member Functions | |
CharacterRange () | |
CharacterRange (void *null) | |
CharacterRange (uc16 from, uc16 to) | |
bool | Contains (uc16 i) |
uc16 | from () const |
void | set_from (uc16 value) |
uc16 | to () const |
void | set_to (uc16 value) |
bool | is_valid () |
bool | IsEverything (uc16 max) |
bool | IsSingleton () |
void | AddCaseEquivalents (ZoneList< CharacterRange > *ranges, bool is_one_byte, Zone *zone) |
Static Public Member Functions | |
static void | AddClassEscape (uc16 type, ZoneList< CharacterRange > *ranges, Zone *zone) |
static Vector< const int > | GetWordBounds () |
static CharacterRange | Singleton (uc16 value) |
static CharacterRange | Range (uc16 from, uc16 to) |
static CharacterRange | Everything () |
static void | Split (ZoneList< CharacterRange > *base, Vector< const int > overlay, ZoneList< CharacterRange > **included, ZoneList< CharacterRange > **excluded, Zone *zone) |
static bool | IsCanonical (ZoneList< CharacterRange > *ranges) |
static void | Canonicalize (ZoneList< CharacterRange > *ranges) |
static void | Negate (ZoneList< CharacterRange > *src, ZoneList< CharacterRange > *dst, Zone *zone) |
Static Public Attributes | |
static const int | kStartMarker = (1 << 24) |
static const int | kPayloadMask = (1 << 24) - 1 |
Private Attributes | |
uc16 | from_ |
uc16 | to_ |
Definition at line 239 of file jsregexp.h.
|
inline |
Definition at line 241 of file jsregexp.h.
Referenced by AddCaseEquivalents(), Everything(), Negate(), Range(), Singleton(), and Split().
|
inline |
Definition at line 243 of file jsregexp.h.
Definition at line 244 of file jsregexp.h.
void v8::internal::CharacterRange::AddCaseEquivalents | ( | ZoneList< CharacterRange > * | ranges, |
bool | is_one_byte, | ||
Zone * | zone | ||
) |
Definition at line 5335 of file jsregexp.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), CharacterRange(), DCHECK_EQ, from(), unibrow::Mapping< T, size >::get(), v8::internal::Zone::isolate(), v8::internal::Isolate::jsregexp_canonrange(), v8::internal::Isolate::jsregexp_uncanonicalize(), v8::internal::String::kMaxOneByteCharCode, unibrow::Ecma262UnCanonicalize::kMaxWidth, v8::internal::RangeContainsLatin1Equivalents(), Singleton(), and to().
|
static |
Definition at line 5233 of file jsregexp.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), v8::internal::AddClass(), v8::internal::AddClassNegated(), Everything(), v8::internal::kDigitRangeCount, v8::internal::kDigitRanges, v8::internal::kLineTerminatorRangeCount, v8::internal::kLineTerminatorRanges, v8::internal::kSpaceRangeCount, v8::internal::kSpaceRanges, v8::internal::kWordRangeCount, v8::internal::kWordRanges, and UNREACHABLE.
Referenced by v8::internal::AddRangeOrEscape().
|
static |
Definition at line 5508 of file jsregexp.cc.
References v8::internal::List< T, AllocationPolicy >::at(), DCHECK, from(), v8::internal::InsertRangeInCanonicalList(), IsCanonical(), and to().
Referenced by v8::internal::EmitCharClass(), v8::internal::TextNode::FilterOneByte(), and v8::internal::TextNode::GetSuccessorOfOmnivorousTextNode().
Definition at line 258 of file jsregexp.h.
Referenced by v8::internal::RangeContainsLatin1Equivalents().
|
inlinestatic |
Definition at line 255 of file jsregexp.h.
References CharacterRange().
Referenced by AddClassEscape().
|
inline |
Definition at line 259 of file jsregexp.h.
References from_.
Referenced by AddCaseEquivalents(), v8::internal::DispatchTableConstructor::AddInverse(), v8::internal::DispatchTable::AddRange(), Canonicalize(), v8::internal::CompareInverseRanges(), v8::internal::CompareRangeByFrom(), v8::internal::CompareRanges(), v8::internal::EmitCharClass(), v8::internal::TextNode::FillInBMInfo(), v8::internal::TextNode::GetQuickCheckDetails(), v8::internal::InsertRangeInCanonicalList(), IsCanonical(), Negate(), and Range().
Definition at line 5281 of file jsregexp.cc.
References v8::internal::kWordRangeCount, and v8::internal::kWordRanges.
|
inline |
Definition at line 263 of file jsregexp.h.
Referenced by v8::internal::DispatchTable::AddRange().
|
static |
Definition at line 5400 of file jsregexp.cc.
References v8::internal::List< T, AllocationPolicy >::at(), DCHECK_NOT_NULL, from(), and to().
Referenced by Canonicalize(), v8::internal::EmitCharClass(), v8::internal::TextNode::FilterOneByte(), v8::internal::TextNode::GetSuccessorOfOmnivorousTextNode(), and Negate().
|
inline |
|
static |
Definition at line 5545 of file jsregexp.cc.
References v8::internal::List< T, AllocationPolicy >::Add(), v8::internal::List< T, AllocationPolicy >::at(), CharacterRange(), DCHECK, DCHECK_EQ, from(), IsCanonical(), v8::internal::String::kMaxUtf16CodeUnit, and to().
|
inlinestatic |
Definition at line 251 of file jsregexp.h.
References CharacterRange(), DCHECK, from(), and to().
|
inline |
Definition at line 260 of file jsregexp.h.
References from_.
Referenced by v8::internal::DispatchTable::AddRange().
|
inline |
|
inlinestatic |
Definition at line 248 of file jsregexp.h.
References CharacterRange().
Referenced by AddCaseEquivalents().
|
static |
Definition at line 5316 of file jsregexp.cc.
References v8::internal::DispatchTable::AddRange(), v8::internal::List< T, AllocationPolicy >::at(), CharacterRange(), DCHECK_EQ, v8::internal::DispatchTable::ForEach(), v8::internal::CharacterRangeSplitter::kInBase, v8::internal::CharacterRangeSplitter::kInOverlay, v8::internal::Vector< T >::length(), and NULL.
|
inline |
Definition at line 261 of file jsregexp.h.
References to_.
Referenced by AddCaseEquivalents(), v8::internal::DispatchTableConstructor::AddInverse(), v8::internal::DispatchTable::AddRange(), Canonicalize(), v8::internal::CompareInverseRanges(), v8::internal::CompareRanges(), v8::internal::EmitCharClass(), v8::internal::TextNode::FillInBMInfo(), v8::internal::TextNode::GetQuickCheckDetails(), v8::internal::InsertRangeInCanonicalList(), IsCanonical(), Negate(), and Range().
|
private |
Definition at line 289 of file jsregexp.h.
Referenced by Contains(), from(), is_valid(), IsEverything(), IsSingleton(), and set_from().
|
static |
Definition at line 286 of file jsregexp.h.
|
static |
Definition at line 285 of file jsregexp.h.
|
private |
Definition at line 290 of file jsregexp.h.
Referenced by Contains(), is_valid(), IsEverything(), IsSingleton(), set_to(), and to().