Lines Matching refs:RegExpNode
41 class RegExpNode; variable
537 void Ensure(RegExpNode* parent) { in Ensure()
539 list_ = new ZoneList<RegExpNode*>(2); in Ensure()
543 void Add(RegExpNode* node) { list_->Add(node); } in Add()
544 RegExpNode* Get(int index) { return list_->at(index); } in Get()
546 ZoneList<RegExpNode*>* list_;
602 class RegExpNode: public ZoneObject {
604 RegExpNode() : first_character_set_(NULL), trace_count_(0) { } in RegExpNode() function
605 virtual ~RegExpNode();
648 void AddSibling(RegExpNode* node) { siblings_.Add(node); } in AddSibling()
688 RegExpNode* TryGetSibling(NodeInfo* info);
695 RegExpNode* EnsureSibling(NodeInfo* info, bool* cloned);
700 virtual RegExpNode* Clone() = 0;
744 class SeqRegExpNode: public RegExpNode {
746 explicit SeqRegExpNode(RegExpNode* on_success) in SeqRegExpNode()
748 RegExpNode* on_success() { return on_success_; } in on_success()
749 void set_on_success(RegExpNode* node) { on_success_ = node; } in set_on_success()
751 RegExpNode* on_success_;
766 static ActionNode* SetRegister(int reg, int val, RegExpNode* on_success);
767 static ActionNode* IncrementRegister(int reg, RegExpNode* on_success);
770 RegExpNode* on_success);
771 static ActionNode* ClearCaptures(Interval range, RegExpNode* on_success);
774 RegExpNode* on_success);
779 RegExpNode* on_success);
783 RegExpNode* on_success);
831 ActionNode(Type type, RegExpNode* on_success) in ActionNode()
842 RegExpNode* on_success) in TextNode()
846 RegExpNode* on_success) in TextNode()
907 static AssertionNode* AtEnd(RegExpNode* on_success) { in AtEnd()
910 static AssertionNode* AtStart(RegExpNode* on_success) { in AtStart()
913 static AssertionNode* AtBoundary(RegExpNode* on_success) { in AtBoundary()
916 static AssertionNode* AtNonBoundary(RegExpNode* on_success) { in AtNonBoundary()
919 static AssertionNode* AfterNewline(RegExpNode* on_success) { in AfterNewline()
937 AssertionNode(AssertionNodeType t, RegExpNode* on_success) in AssertionNode()
947 RegExpNode* on_success) in BackReferenceNode()
973 class EndNode: public RegExpNode {
1036 explicit GuardedAlternative(RegExpNode* node) : node_(node), guards_(NULL) { } in GuardedAlternative()
1038 RegExpNode* node() { return node_; } in node()
1039 void set_node(RegExpNode* node) { node_ = node; } in set_node()
1043 RegExpNode* node_;
1051 class ChoiceNode: public RegExpNode {
1068 RegExpNode* ignore_this_node,
1151 RegExpNode* loop_node() { return loop_node_; } in loop_node()
1152 RegExpNode* continue_node() { return continue_node_; } in continue_node()
1164 RegExpNode* loop_node_;
1165 RegExpNode* continue_node_;
1259 void Flush(RegExpCompiler* compiler, RegExpNode* successor);
1285 RegExpNode* stop_node() { return stop_node_; } in stop_node()
1303 void set_stop_node(RegExpNode* node) { stop_node_ = node; } in set_stop_node()
1328 RegExpNode* stop_node_;
1399 void EnsureAnalyzed(RegExpNode* node);
1433 RegExpNode* node;
1463 static void DotPrint(const char* label, RegExpNode* node, bool ignore_case);