Lexer Class
(Debugger::QmlJS::Lexer)Inherits: | Debugger::QmlJSGrammar |
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
- 2 static public members inherited from Debugger::QmlJSGrammar
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().