Lexer Class

(Debugger::QmlJS::Lexer)

Public Types

enum Error { NoError, IllegalCharacter, IllegalHexNumber, UnclosedStringLiteral, ..., IllegalHexadecimalEscapeSequence }
enum ParenthesesState { IgnoreParentheses, CountParentheses, BalancedParentheses }
enum RegExpBodyPrefix { NoPrefix, EqualPrefix }
enum RegExpFlag { RegExp_Global, RegExp_IgnoreCase, RegExp_Multiline }
enum anonymous { T_ABSTRACT, T_BOOLEAN, T_BYTE, T_CHAR, ..., T_VOLATILE }

Public Functions

Lexer(Debugger::QmlJS::Engine *engine)
bool canInsertAutomaticSemicolon(int token) const
Debugger::QString code() const
Debugger::QmlJS::Lexer::Error errorCode() const
Debugger::QString errorMessage() const
bool followsClosingBrace() const
int lex()
bool prevTerminator() const
bool qmlMode() const
int regExpFlags() const
Debugger::QString regExpPattern() const
bool scanDirectives(Debugger::QmlJS::Directives *directives, Debugger::QmlJS::DiagnosticMessage *error)
bool scanRegExp(Debugger::QmlJS::Lexer::RegExpBodyPrefix prefix = NoPrefix)
void setCode(const Debugger::QString &code, int lineno, bool qmlMode = true)
int tokenEndColumn() const
int tokenEndLine() const
int tokenKind() const
int tokenLength() const
int tokenOffset() const
Debugger::QStringRef tokenSpell() const
int tokenStartColumn() const
int tokenStartLine() const
Debugger::QString tokenText() const
double tokenValue() const

Protected Functions

int classify(const Debugger::QChar *s, int n, bool qmlMode)

Additional Inherited Members

Member Type Documentation

enum Lexer::Error

enum Lexer::ParenthesesState

enum Lexer::RegExpBodyPrefix

enum Lexer::RegExpFlag

enum Lexer::anonymous

Member Function Documentation

Lexer::Lexer(Debugger::QmlJS::Engine *engine)

Default constructs an instance of Lexer.

bool Lexer::canInsertAutomaticSemicolon(int token) const

[protected] int Lexer::classify(const Debugger::QChar *s, int n, bool qmlMode)

Debugger::QString Lexer::code() const

See also setCode().

Debugger::QmlJS::Lexer::Error Lexer::errorCode() const

Debugger::QString Lexer::errorMessage() const

bool Lexer::followsClosingBrace() const

int Lexer::lex()

bool Lexer::prevTerminator() const

bool Lexer::qmlMode() const

int Lexer::regExpFlags() const

Debugger::QString Lexer::regExpPattern() const

bool Lexer::scanDirectives(Debugger::QmlJS::Directives *directives, Debugger::QmlJS::DiagnosticMessage *error)

bool Lexer::scanRegExp(Debugger::QmlJS::Lexer::RegExpBodyPrefix prefix = NoPrefix)

void Lexer::setCode(const Debugger::QString &code, int lineno, bool qmlMode = true)

See also code().

int Lexer::tokenEndColumn() const

int Lexer::tokenEndLine() const

int Lexer::tokenKind() const

int Lexer::tokenLength() const

int Lexer::tokenOffset() const

Debugger::QStringRef Lexer::tokenSpell() const

int Lexer::tokenStartColumn() const

int Lexer::tokenStartLine() const

Debugger::QString Lexer::tokenText() const

double Lexer::tokenValue() const