Flutter Engine
The Flutter Engine
Public Member Functions | Static Public Attributes | List of all members
dart::RegExpTree Class Referenceabstract

#include <regexp_ast.h>

Inheritance diagram for dart::RegExpTree:
dart::ZoneAllocated dart::RegExpAlternative dart::RegExpAssertion dart::RegExpAtom dart::RegExpBackReference dart::RegExpCapture dart::RegExpCharacterClass dart::RegExpDisjunction dart::RegExpEmpty dart::RegExpLookaround dart::RegExpQuantifier dart::RegExpText

Public Member Functions

virtual ~RegExpTree ()
 
virtual void * Accept (RegExpVisitor *visitor, void *data)=0
 
virtual RegExpNodeToNode (RegExpCompiler *compiler, RegExpNode *on_success)=0
 
virtual bool IsTextElement () const
 
virtual bool IsAnchoredAtStart () const
 
virtual bool IsAnchoredAtEnd () const
 
virtual intptr_t min_match () const =0
 
virtual intptr_t max_match () const =0
 
virtual Interval CaptureRegisters () const
 
virtual void AppendToText (RegExpText *text)
 
void Print ()
 
- Public Member Functions inherited from dart::ZoneAllocated
 ZoneAllocated ()
 
void * operator new (size_t size)
 
void * operator new (size_t size, Zone *zone)
 
void operator delete (void *pointer)
 

Static Public Attributes

static constexpr intptr_t kInfinity = kMaxInt32
 

Detailed Description

Definition at line 37 of file regexp_ast.h.

Constructor & Destructor Documentation

◆ ~RegExpTree()

virtual dart::RegExpTree::~RegExpTree ( )
inlinevirtual

Definition at line 40 of file regexp_ast.h.

40{}

Member Function Documentation

◆ Accept()

virtual void * dart::RegExpTree::Accept ( RegExpVisitor visitor,
void *  data 
)
pure virtual

◆ AppendToText()

void dart::RegExpTree::AppendToText ( RegExpText text)
virtual

Reimplemented in dart::RegExpCharacterClass, dart::RegExpAtom, and dart::RegExpText.

Definition at line 208 of file regexp.cc.

208 {
209 UNREACHABLE();
210}
#define UNREACHABLE()
Definition: assert.h:248

◆ CaptureRegisters()

virtual Interval dart::RegExpTree::CaptureRegisters ( ) const
inlinevirtual

Reimplemented in dart::RegExpDisjunction, dart::RegExpAlternative, dart::RegExpQuantifier, dart::RegExpCapture, and dart::RegExpLookaround.

Definition at line 51 of file regexp_ast.h.

51{ return Interval::Empty(); }
static Interval Empty()
Definition: regexp.h:530

◆ IsAnchoredAtEnd()

virtual bool dart::RegExpTree::IsAnchoredAtEnd ( ) const
inlinevirtual

Reimplemented in dart::RegExpDisjunction, dart::RegExpAlternative, dart::RegExpAssertion, and dart::RegExpCapture.

Definition at line 46 of file regexp_ast.h.

46{ return false; }

◆ IsAnchoredAtStart()

virtual bool dart::RegExpTree::IsAnchoredAtStart ( ) const
inlinevirtual

Reimplemented in dart::RegExpDisjunction, dart::RegExpAlternative, dart::RegExpAssertion, dart::RegExpCapture, and dart::RegExpLookaround.

Definition at line 45 of file regexp_ast.h.

45{ return false; }

◆ IsTextElement()

virtual bool dart::RegExpTree::IsTextElement ( ) const
inlinevirtual

Reimplemented in dart::RegExpCharacterClass, dart::RegExpAtom, and dart::RegExpText.

Definition at line 44 of file regexp_ast.h.

44{ return false; }

◆ max_match()

virtual intptr_t dart::RegExpTree::max_match ( ) const
pure virtual

◆ min_match()

virtual intptr_t dart::RegExpTree::min_match ( ) const
pure virtual

◆ Print()

void dart::RegExpTree::Print ( )

Definition at line 272 of file regexp_ast.cc.

272 {
273 RegExpUnparser unparser;
274 Accept(&unparser, nullptr);
275}
virtual void * Accept(RegExpVisitor *visitor, void *data)=0

◆ ToNode()

virtual RegExpNode * dart::RegExpTree::ToNode ( RegExpCompiler compiler,
RegExpNode on_success 
)
pure virtual

Member Data Documentation

◆ kInfinity

constexpr intptr_t dart::RegExpTree::kInfinity = kMaxInt32
staticconstexpr

Definition at line 39 of file regexp_ast.h.


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