v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::RegExpClassSetExpression Class Referencefinal

#include <regexp-ast.h>

Inheritance diagram for v8::internal::RegExpClassSetExpression:
Collaboration diagram for v8::internal::RegExpClassSetExpression:

Public Types

enum class  OperationType { kUnion , kIntersection , kSubtraction }
 

Public Member Functions

 RegExpClassSetExpression (OperationType op, bool is_negated, bool may_contain_strings, ZoneList< RegExpTree * > *operands)
 
 DECL_BOILERPLATE (ClassSetExpression)
 
bool IsTextElement () override
 
int min_match () override
 
int max_match () override
 
OperationType operation () const
 
bool is_negated () const
 
bool may_contain_strings () const
 
const ZoneList< RegExpTree * > * operands () const
 
ZoneList< RegExpTree * > * operands ()
 
- Public Member Functions inherited from v8::internal::RegExpTree
virtual ~RegExpTree ()=default
 
virtual void * Accept (RegExpVisitor *visitor, void *data)=0
 
virtual RegExpNodeToNode (RegExpCompiler *compiler, RegExpNode *on_success)=0
 
virtual bool IsAnchoredAtStart ()
 
virtual bool IsAnchoredAtEnd ()
 
virtual Interval CaptureRegisters ()
 
virtual void AppendToText (RegExpText *text, Zone *zone)
 
V8_EXPORT_PRIVATE std::ostream & Print (std::ostream &os, Zone *zone)
 
- Public Member Functions inherited from v8::internal::ZoneObject
void * operator new (size_t, Zone *)=delete
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)=delete
 

Static Public Member Functions

static RegExpClassSetExpressionEmpty (Zone *zone, bool is_negated)
 

Static Private Member Functions

static RegExpClassSetOperandComputeExpression (RegExpTree *root, ZoneList< CharacterRange > *temp_ranges, Zone *zone)
 

Private Attributes

const OperationType operation_
 
bool is_negated_
 
const bool may_contain_strings_
 
ZoneList< RegExpTree * > * operands_ = nullptr
 
int max_match_
 

Additional Inherited Members

- Static Public Attributes inherited from v8::internal::RegExpTree
static const int kInfinity = kMaxInt
 

Detailed Description

Definition at line 429 of file regexp-ast.h.

Member Enumeration Documentation

◆ OperationType

Enumerator
kUnion 
kIntersection 
kSubtraction 

Definition at line 431 of file regexp-ast.h.

Constructor & Destructor Documentation

◆ RegExpClassSetExpression()

v8::internal::RegExpClassSetExpression::RegExpClassSetExpression ( OperationType op,
bool is_negated,
bool may_contain_strings,
ZoneList< RegExpTree * > * operands )

Definition at line 407 of file regexp-ast.cc.

Here is the call graph for this function:

Member Function Documentation

◆ ComputeExpression()

RegExpClassSetOperand * v8::internal::RegExpClassSetExpression::ComputeExpression ( RegExpTree * root,
ZoneList< CharacterRange > * temp_ranges,
Zone * zone )
staticprivate

Definition at line 628 of file regexp-compiler-tonode.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DECL_BOILERPLATE()

v8::internal::RegExpClassSetExpression::DECL_BOILERPLATE ( ClassSetExpression )

◆ Empty()

RegExpClassSetExpression * v8::internal::RegExpClassSetExpression::Empty ( Zone * zone,
bool is_negated )
static

Definition at line 430 of file regexp-ast.cc.

Here is the call graph for this function:

◆ is_negated()

bool v8::internal::RegExpClassSetExpression::is_negated ( ) const
inline

Definition at line 448 of file regexp-ast.h.

Here is the caller graph for this function:

◆ IsTextElement()

bool v8::internal::RegExpClassSetExpression::IsTextElement ( )
inlineoverridevirtual

Reimplemented from v8::internal::RegExpTree.

Definition at line 443 of file regexp-ast.h.

◆ max_match()

int v8::internal::RegExpClassSetExpression::max_match ( )
inlineoverridevirtual

Implements v8::internal::RegExpTree.

Definition at line 445 of file regexp-ast.h.

◆ may_contain_strings()

bool v8::internal::RegExpClassSetExpression::may_contain_strings ( ) const
inline

Definition at line 449 of file regexp-ast.h.

◆ min_match()

int v8::internal::RegExpClassSetExpression::min_match ( )
inlineoverridevirtual

Implements v8::internal::RegExpTree.

Definition at line 444 of file regexp-ast.h.

◆ operands() [1/2]

ZoneList< RegExpTree * > * v8::internal::RegExpClassSetExpression::operands ( )
inline

Definition at line 451 of file regexp-ast.h.

◆ operands() [2/2]

const ZoneList< RegExpTree * > * v8::internal::RegExpClassSetExpression::operands ( ) const
inline

Definition at line 450 of file regexp-ast.h.

Here is the caller graph for this function:

◆ operation()

OperationType v8::internal::RegExpClassSetExpression::operation ( ) const
inline

Definition at line 447 of file regexp-ast.h.

Member Data Documentation

◆ is_negated_

bool v8::internal::RegExpClassSetExpression::is_negated_
private

Definition at line 466 of file regexp-ast.h.

◆ max_match_

int v8::internal::RegExpClassSetExpression::max_match_
private

Definition at line 469 of file regexp-ast.h.

◆ may_contain_strings_

const bool v8::internal::RegExpClassSetExpression::may_contain_strings_
private

Definition at line 467 of file regexp-ast.h.

◆ operands_

ZoneList<RegExpTree*>* v8::internal::RegExpClassSetExpression::operands_ = nullptr
private

Definition at line 468 of file regexp-ast.h.

◆ operation_

const OperationType v8::internal::RegExpClassSetExpression::operation_
private

Definition at line 465 of file regexp-ast.h.


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