webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
JSC::Yarr::YarrPattern Struct Reference

#include <YarrPattern.h>

Public Types

enum  ErrorCode {
  NoError, PatternTooLarge, QuantifierOutOfOrder, QuantifierWithoutAtom,
  QuantifierTooLarge, MissingParentheses, ParenthesesUnmatched, ParenthesesTypeInvalid,
  CharacterClassUnmatched, CharacterClassOutOfOrder, EscapeUnterminated, InvalidUnicodeEscape,
  InvalidIdentityEscape, TooManyDisjunctions, OffsetTooLarge, InvalidRegularExpressionFlags,
  NumberOfErrorCodes, NoError, PatternTooLarge, QuantifierOutOfOrder,
  QuantifierWithoutAtom, QuantifierTooLarge, MissingParentheses, ParenthesesUnmatched,
  ParenthesesTypeInvalid, CharacterClassUnmatched, CharacterClassOutOfOrder, EscapeUnterminated,
  InvalidUnicodeEscape, InvalidIdentityEscape, TooManyDisjunctions, OffsetTooLarge,
  InvalidRegularExpressionFlags, NumberOfErrorCodes
}
 
enum  ErrorCode {
  NoError, PatternTooLarge, QuantifierOutOfOrder, QuantifierWithoutAtom,
  QuantifierTooLarge, MissingParentheses, ParenthesesUnmatched, ParenthesesTypeInvalid,
  CharacterClassUnmatched, CharacterClassOutOfOrder, EscapeUnterminated, InvalidUnicodeEscape,
  InvalidIdentityEscape, TooManyDisjunctions, OffsetTooLarge, InvalidRegularExpressionFlags,
  NumberOfErrorCodes, NoError, PatternTooLarge, QuantifierOutOfOrder,
  QuantifierWithoutAtom, QuantifierTooLarge, MissingParentheses, ParenthesesUnmatched,
  ParenthesesTypeInvalid, CharacterClassUnmatched, CharacterClassOutOfOrder, EscapeUnterminated,
  InvalidUnicodeEscape, InvalidIdentityEscape, TooManyDisjunctions, OffsetTooLarge,
  InvalidRegularExpressionFlags, NumberOfErrorCodes
}
 

Public Member Functions

JS_EXPORT_PRIVATE YarrPattern (const String &pattern, RegExpFlags, const char **error, void *stackLimit=nullptr)
 
void reset ()
 
bool containsIllegalBackReference ()
 
bool containsUnsignedLengthPattern ()
 
CharacterClassnewlineCharacterClass ()
 
CharacterClassdigitsCharacterClass ()
 
CharacterClassspacesCharacterClass ()
 
CharacterClasswordcharCharacterClass ()
 
CharacterClasswordUnicodeIgnoreCaseCharCharacterClass ()
 
CharacterClassnondigitsCharacterClass ()
 
CharacterClassnonspacesCharacterClass ()
 
CharacterClassnonwordcharCharacterClass ()
 
CharacterClassnonwordUnicodeIgnoreCaseCharCharacterClass ()
 
bool ignoreCase () const
 
bool multiline () const
 
bool sticky () const
 
bool unicode () const
 
JS_EXPORT_PRIVATE YarrPattern (const String &pattern, RegExpFlags, const char **error, void *stackLimit=nullptr)
 
void reset ()
 
bool containsIllegalBackReference ()
 
bool containsUnsignedLengthPattern ()
 
CharacterClassnewlineCharacterClass ()
 
CharacterClassdigitsCharacterClass ()
 
CharacterClassspacesCharacterClass ()
 
CharacterClasswordcharCharacterClass ()
 
CharacterClasswordUnicodeIgnoreCaseCharCharacterClass ()
 
CharacterClassnondigitsCharacterClass ()
 
CharacterClassnonspacesCharacterClass ()
 
CharacterClassnonwordcharCharacterClass ()
 
CharacterClassnonwordUnicodeIgnoreCaseCharCharacterClass ()
 
bool ignoreCase () const
 
bool multiline () const
 
bool sticky () const
 
bool unicode () const
 

Static Public Member Functions

static JS_EXPORT_PRIVATE const char * errorMessage (ErrorCode)
 
static JS_EXPORT_PRIVATE const char * errorMessage (ErrorCode)
 

Public Attributes

bool m_containsBackreferences: 1
 
bool m_containsBOL: 1
 
bool m_containsUnsignedLengthPattern: 1
 
bool m_hasCopiedParenSubexpressions: 1
 
RegExpFlags m_flags
 
unsigned m_numSubpatterns
 
unsigned m_maxBackReference
 
PatternDisjunctionm_body
 
Vector< std::unique_ptr< PatternDisjunction >, 4 > m_disjunctions
 
Vector< std::unique_ptr< CharacterClass > > m_userCharacterClasses
 

Member Enumeration Documentation

◆ ErrorCode [1/2]

Enumerator
NoError 
PatternTooLarge 
QuantifierOutOfOrder 
QuantifierWithoutAtom 
QuantifierTooLarge 
MissingParentheses 
ParenthesesUnmatched 
ParenthesesTypeInvalid 
CharacterClassUnmatched 
CharacterClassOutOfOrder 
EscapeUnterminated 
InvalidUnicodeEscape 
InvalidIdentityEscape 
TooManyDisjunctions 
OffsetTooLarge 
InvalidRegularExpressionFlags 
NumberOfErrorCodes 
NoError 
PatternTooLarge 
QuantifierOutOfOrder 
QuantifierWithoutAtom 
QuantifierTooLarge 
MissingParentheses 
ParenthesesUnmatched 
ParenthesesTypeInvalid 
CharacterClassUnmatched 
CharacterClassOutOfOrder 
EscapeUnterminated 
InvalidUnicodeEscape 
InvalidIdentityEscape 
TooManyDisjunctions 
OffsetTooLarge 
InvalidRegularExpressionFlags 
NumberOfErrorCodes 

◆ ErrorCode [2/2]

Enumerator
NoError 
PatternTooLarge 
QuantifierOutOfOrder 
QuantifierWithoutAtom 
QuantifierTooLarge 
MissingParentheses 
ParenthesesUnmatched 
ParenthesesTypeInvalid 
CharacterClassUnmatched 
CharacterClassOutOfOrder 
EscapeUnterminated 
InvalidUnicodeEscape 
InvalidIdentityEscape 
TooManyDisjunctions 
OffsetTooLarge 
InvalidRegularExpressionFlags 
NumberOfErrorCodes 
NoError 
PatternTooLarge 
QuantifierOutOfOrder 
QuantifierWithoutAtom 
QuantifierTooLarge 
MissingParentheses 
ParenthesesUnmatched 
ParenthesesTypeInvalid 
CharacterClassUnmatched 
CharacterClassOutOfOrder 
EscapeUnterminated 
InvalidUnicodeEscape 
InvalidIdentityEscape 
TooManyDisjunctions 
OffsetTooLarge 
InvalidRegularExpressionFlags 
NumberOfErrorCodes 

Constructor & Destructor Documentation

◆ YarrPattern() [1/2]

JS_EXPORT_PRIVATE JSC::Yarr::YarrPattern::YarrPattern ( const String &  pattern,
RegExpFlags  ,
const char **  error,
void stackLimit = nullptr 
)

◆ YarrPattern() [2/2]

JS_EXPORT_PRIVATE JSC::Yarr::YarrPattern::YarrPattern ( const String &  pattern,
RegExpFlags  ,
const char **  error,
void stackLimit = nullptr 
)

Member Function Documentation

◆ containsIllegalBackReference() [1/2]

bool JSC::Yarr::YarrPattern::containsIllegalBackReference ( )
inline

◆ containsIllegalBackReference() [2/2]

bool JSC::Yarr::YarrPattern::containsIllegalBackReference ( )
inline

◆ containsUnsignedLengthPattern() [1/2]

bool JSC::Yarr::YarrPattern::containsUnsignedLengthPattern ( )
inline

◆ containsUnsignedLengthPattern() [2/2]

bool JSC::Yarr::YarrPattern::containsUnsignedLengthPattern ( )
inline

◆ digitsCharacterClass() [1/2]

CharacterClass* JSC::Yarr::YarrPattern::digitsCharacterClass ( )
inline

◆ digitsCharacterClass() [2/2]

CharacterClass* JSC::Yarr::YarrPattern::digitsCharacterClass ( )
inline

◆ errorMessage() [1/2]

static JS_EXPORT_PRIVATE const char* JSC::Yarr::YarrPattern::errorMessage ( ErrorCode  )
static

◆ errorMessage() [2/2]

const char * JSC::Yarr::YarrPattern::errorMessage ( YarrPattern::ErrorCode  error)
static

◆ ignoreCase() [1/2]

bool JSC::Yarr::YarrPattern::ignoreCase ( ) const
inline

◆ ignoreCase() [2/2]

bool JSC::Yarr::YarrPattern::ignoreCase ( ) const
inline

◆ multiline() [1/2]

bool JSC::Yarr::YarrPattern::multiline ( ) const
inline

◆ multiline() [2/2]

bool JSC::Yarr::YarrPattern::multiline ( ) const
inline

◆ newlineCharacterClass() [1/2]

CharacterClass* JSC::Yarr::YarrPattern::newlineCharacterClass ( )
inline

◆ newlineCharacterClass() [2/2]

CharacterClass* JSC::Yarr::YarrPattern::newlineCharacterClass ( )
inline

◆ nondigitsCharacterClass() [1/2]

CharacterClass* JSC::Yarr::YarrPattern::nondigitsCharacterClass ( )
inline

◆ nondigitsCharacterClass() [2/2]

CharacterClass* JSC::Yarr::YarrPattern::nondigitsCharacterClass ( )
inline

◆ nonspacesCharacterClass() [1/2]

CharacterClass* JSC::Yarr::YarrPattern::nonspacesCharacterClass ( )
inline

◆ nonspacesCharacterClass() [2/2]

CharacterClass* JSC::Yarr::YarrPattern::nonspacesCharacterClass ( )
inline

◆ nonwordcharCharacterClass() [1/2]

CharacterClass* JSC::Yarr::YarrPattern::nonwordcharCharacterClass ( )
inline

◆ nonwordcharCharacterClass() [2/2]

CharacterClass* JSC::Yarr::YarrPattern::nonwordcharCharacterClass ( )
inline

◆ nonwordUnicodeIgnoreCaseCharCharacterClass() [1/2]

CharacterClass* JSC::Yarr::YarrPattern::nonwordUnicodeIgnoreCaseCharCharacterClass ( )
inline

◆ nonwordUnicodeIgnoreCaseCharCharacterClass() [2/2]

CharacterClass* JSC::Yarr::YarrPattern::nonwordUnicodeIgnoreCaseCharCharacterClass ( )
inline

◆ reset() [1/2]

void JSC::Yarr::YarrPattern::reset ( )
inline

◆ reset() [2/2]

void JSC::Yarr::YarrPattern::reset ( )
inline

◆ spacesCharacterClass() [1/2]

CharacterClass* JSC::Yarr::YarrPattern::spacesCharacterClass ( )
inline

◆ spacesCharacterClass() [2/2]

CharacterClass* JSC::Yarr::YarrPattern::spacesCharacterClass ( )
inline

◆ sticky() [1/2]

bool JSC::Yarr::YarrPattern::sticky ( ) const
inline

◆ sticky() [2/2]

bool JSC::Yarr::YarrPattern::sticky ( ) const
inline

◆ unicode() [1/2]

bool JSC::Yarr::YarrPattern::unicode ( ) const
inline

◆ unicode() [2/2]

bool JSC::Yarr::YarrPattern::unicode ( ) const
inline

◆ wordcharCharacterClass() [1/2]

CharacterClass* JSC::Yarr::YarrPattern::wordcharCharacterClass ( )
inline

◆ wordcharCharacterClass() [2/2]

CharacterClass* JSC::Yarr::YarrPattern::wordcharCharacterClass ( )
inline

◆ wordUnicodeIgnoreCaseCharCharacterClass() [1/2]

CharacterClass* JSC::Yarr::YarrPattern::wordUnicodeIgnoreCaseCharCharacterClass ( )
inline

◆ wordUnicodeIgnoreCaseCharCharacterClass() [2/2]

CharacterClass* JSC::Yarr::YarrPattern::wordUnicodeIgnoreCaseCharCharacterClass ( )
inline

Member Data Documentation

◆ m_body

PatternDisjunction * JSC::Yarr::YarrPattern::m_body

◆ m_containsBackreferences

bool JSC::Yarr::YarrPattern::m_containsBackreferences

◆ m_containsBOL

bool JSC::Yarr::YarrPattern::m_containsBOL

◆ m_containsUnsignedLengthPattern

bool JSC::Yarr::YarrPattern::m_containsUnsignedLengthPattern

◆ m_disjunctions

Vector< std::unique_ptr< PatternDisjunction >, 4 > JSC::Yarr::YarrPattern::m_disjunctions

◆ m_flags

RegExpFlags JSC::Yarr::YarrPattern::m_flags

◆ m_hasCopiedParenSubexpressions

bool JSC::Yarr::YarrPattern::m_hasCopiedParenSubexpressions

◆ m_maxBackReference

unsigned JSC::Yarr::YarrPattern::m_maxBackReference

◆ m_numSubpatterns

unsigned JSC::Yarr::YarrPattern::m_numSubpatterns

◆ m_userCharacterClasses

Vector< std::unique_ptr< CharacterClass > > JSC::Yarr::YarrPattern::m_userCharacterClasses

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