v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <jsregexp.h>
Public Types | |
enum | AssertionType { AT_END, AT_START, AT_BOUNDARY, AT_NON_BOUNDARY, AFTER_NEWLINE } |
Public Member Functions | |
virtual void | Accept (NodeVisitor *visitor) |
virtual void | Emit (RegExpCompiler *compiler, Trace *trace) |
virtual int | EatsAtLeast (int still_to_find, int budget, bool not_at_start) |
virtual void | GetQuickCheckDetails (QuickCheckDetails *details, RegExpCompiler *compiler, int filled_in, bool not_at_start) |
virtual void | FillInBMInfo (int offset, int budget, BoyerMooreLookahead *bm, bool not_at_start) |
AssertionType | assertion_type () |
Public Member Functions inherited from SeqRegExpNode | |
SeqRegExpNode (RegExpNode *on_success) | |
RegExpNode * | on_success () |
void | set_on_success (RegExpNode *node) |
virtual RegExpNode * | FilterASCII (int depth, bool ignore_case) |
Public Member Functions inherited from RegExpNode | |
RegExpNode (Zone *zone) | |
virtual | ~RegExpNode () |
bool | EmitQuickCheck (RegExpCompiler *compiler, Trace *trace, bool preload_has_checked_bounds, Label *on_possible_success, QuickCheckDetails *details_return, bool fall_through_on_failure) |
virtual int | GreedyLoopTextLength () |
virtual RegExpNode * | GetSuccessorOfOmnivorousTextNode (RegExpCompiler *compiler) |
RegExpNode * | replacement () |
RegExpNode * | set_replacement (RegExpNode *replacement) |
void | SaveBMInfo (BoyerMooreLookahead *bm, bool not_at_start, int offset) |
Label * | label () |
NodeInfo * | info () |
BoyerMooreLookahead * | bm_info (bool not_at_start) |
Zone * | zone () const |
Public Member Functions inherited from ZoneObject | |
INLINE (void *operator new(size_t size, Zone *zone)) | |
void | operator delete (void *, size_t) |
void | operator delete (void *pointer, Zone *zone) |
Static Public Member Functions | |
static AssertionNode * | AtEnd (RegExpNode *on_success) |
static AssertionNode * | AtStart (RegExpNode *on_success) |
static AssertionNode * | AtBoundary (RegExpNode *on_success) |
static AssertionNode * | AtNonBoundary (RegExpNode *on_success) |
static AssertionNode * | AfterNewline (RegExpNode *on_success) |
Additional Inherited Members | |
Static Public Attributes inherited from RegExpNode | |
static const int | kNodeIsTooComplexForGreedyLoops = -1 |
static const int | kRecursionBudget = 200 |
static const int | kMaxCopiesCodeGenerated = 10 |
Protected Types inherited from RegExpNode | |
enum | LimitResult { DONE, CONTINUE } |
Protected Member Functions inherited from SeqRegExpNode | |
RegExpNode * | FilterSuccessor (int depth, bool ignore_case) |
Protected Member Functions inherited from RegExpNode | |
LimitResult | LimitVersions (RegExpCompiler *compiler, Trace *trace) |
void | set_bm_info (bool not_at_start, BoyerMooreLookahead *bm) |
Protected Attributes inherited from RegExpNode | |
RegExpNode * | replacement_ |
Definition at line 897 of file jsregexp.h.
enum AssertionType |
Enumerator | |
---|---|
AT_END | |
AT_START | |
AT_BOUNDARY | |
AT_NON_BOUNDARY | |
AFTER_NEWLINE |
Definition at line 899 of file jsregexp.h.
|
virtual |
Implements RegExpNode.
|
inlinestatic |
Definition at line 918 of file jsregexp.h.
References AssertionNode::AFTER_NEWLINE, and RegExpNode::zone().
|
inline |
Definition at line 932 of file jsregexp.h.
|
inlinestatic |
Definition at line 912 of file jsregexp.h.
References AssertionNode::AT_BOUNDARY, and RegExpNode::zone().
|
inlinestatic |
Definition at line 906 of file jsregexp.h.
References AssertionNode::AT_END, and RegExpNode::zone().
|
inlinestatic |
Definition at line 915 of file jsregexp.h.
References AssertionNode::AT_NON_BOUNDARY, and RegExpNode::zone().
|
inlinestatic |
Definition at line 909 of file jsregexp.h.
References AssertionNode::AT_START, and RegExpNode::zone().
|
virtual |
Implements RegExpNode.
Definition at line 2329 of file jsregexp.cc.
|
virtual |
Implements RegExpNode.
Definition at line 3169 of file jsregexp.cc.
References Trace::at_start(), Trace::backtrack(), RegExpMacroAssembler::Bind(), RegExpMacroAssembler::CheckNotAtStart(), RegExpMacroAssembler::CheckPosition(), Trace::cp_offset(), Trace::FALSE_VALUE, RegExpMacroAssembler::GoTo(), RegExpCompiler::macro_assembler(), Trace::set_at_start(), and Trace::UNKNOWN.
|
virtual |
Reimplemented from SeqRegExpNode.
Definition at line 2345 of file jsregexp.cc.
|
virtual |
Implements RegExpNode.
Definition at line 3154 of file jsregexp.cc.
References QuickCheckDetails::set_cannot_match().