v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AssertionNode Class Reference

#include <jsregexp.h>

Inheritance diagram for AssertionNode:
Collaboration diagram for AssertionNode:

Public Types

enum  AssertionNodeType {
  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 recursion_depth, bool not_at_start)
 
virtual void GetQuickCheckDetails (QuickCheckDetails *details, RegExpCompiler *compiler, int filled_in, bool not_at_start)
 
virtual void FillInBMInfo (int offset, int recursion_depth, int budget, BoyerMooreLookahead *bm, bool not_at_start)
 
AssertionNodeType type ()
 
void set_type (AssertionNodeType type)
 
- Public Member Functions inherited from SeqRegExpNode
 SeqRegExpNode (RegExpNode *on_success)
 
RegExpNodeon_success ()
 
void set_on_success (RegExpNode *node)
 
virtual RegExpNodeFilterASCII (int depth)
 
- 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 RegExpNodeGetSuccessorOfOmnivorousTextNode (RegExpCompiler *compiler)
 
RegExpNodereplacement ()
 
RegExpNodeset_replacement (RegExpNode *replacement)
 
void SaveBMInfo (BoyerMooreLookahead *bm, bool not_at_start, int offset)
 
Label * label ()
 
NodeInfoinfo ()
 
BoyerMooreLookaheadbm_info (bool not_at_start)
 
Zonezone () 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 AssertionNodeAtEnd (RegExpNode *on_success)
 
static AssertionNodeAtStart (RegExpNode *on_success)
 
static AssertionNodeAtBoundary (RegExpNode *on_success)
 
static AssertionNodeAtNonBoundary (RegExpNode *on_success)
 
static AssertionNodeAfterNewline (RegExpNode *on_success)
 

Additional Inherited Members

- Static Public Attributes inherited from RegExpNode
static const int kNodeIsTooComplexForGreedyLoops = -1
 
static const int kFillInBMBudget = 200
 
static const int kMaxCopiesCodeGenerated = 10
 
- Protected Types inherited from RegExpNode
enum  LimitResult { DONE, CONTINUE }
 
- Protected Member Functions inherited from SeqRegExpNode
RegExpNodeFilterSuccessor (int depth)
 
- 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
RegExpNodereplacement_
 

Detailed Description

Definition at line 888 of file jsregexp.h.

Member Enumeration Documentation

Enumerator
AT_END 
AT_START 
AT_BOUNDARY 
AT_NON_BOUNDARY 
AFTER_NEWLINE 

Definition at line 890 of file jsregexp.h.

Member Function Documentation

virtual void Accept ( NodeVisitor visitor)
virtual

Implements RegExpNode.

static AssertionNode* AfterNewline ( RegExpNode on_success)
inlinestatic

Definition at line 909 of file jsregexp.h.

References AssertionNode::AFTER_NEWLINE, and RegExpNode::zone().

Referenced by RegExpAssertion::ToNode().

static AssertionNode* AtBoundary ( RegExpNode on_success)
inlinestatic

Definition at line 903 of file jsregexp.h.

References AssertionNode::AT_BOUNDARY, and RegExpNode::zone().

Referenced by RegExpAssertion::ToNode().

static AssertionNode* AtEnd ( RegExpNode on_success)
inlinestatic

Definition at line 897 of file jsregexp.h.

References AssertionNode::AT_END, and RegExpNode::zone().

Referenced by RegExpAssertion::ToNode().

static AssertionNode* AtNonBoundary ( RegExpNode on_success)
inlinestatic

Definition at line 906 of file jsregexp.h.

References AssertionNode::AT_NON_BOUNDARY, and RegExpNode::zone().

Referenced by RegExpAssertion::ToNode().

static AssertionNode* AtStart ( RegExpNode on_success)
inlinestatic

Definition at line 900 of file jsregexp.h.

References AssertionNode::AT_START, and RegExpNode::zone().

Referenced by RegExpAssertion::ToNode().

int EatsAtLeast ( int  still_to_find,
int  recursion_depth,
bool  not_at_start 
)
virtual

Implements RegExpNode.

Definition at line 2387 of file jsregexp.cc.

References RegExpCompiler::kMaxRecursion.

void FillInBMInfo ( int  offset,
int  recursion_depth,
int  budget,
BoyerMooreLookahead bm,
bool  not_at_start 
)
virtual

Reimplemented from SeqRegExpNode.

Definition at line 2403 of file jsregexp.cc.

void GetQuickCheckDetails ( QuickCheckDetails details,
RegExpCompiler compiler,
int  filled_in,
bool  not_at_start 
)
virtual

Implements RegExpNode.

Definition at line 3183 of file jsregexp.cc.

References QuickCheckDetails::set_cannot_match().

void set_type ( AssertionNodeType  type)
inline

Definition at line 927 of file jsregexp.h.

References AssertionNode::type().

AssertionNodeType type ( )
inline

Definition at line 926 of file jsregexp.h.

Referenced by AssertionNode::set_type().


The documentation for this class was generated from the following files: