Token class abstract
A token that was scanned from the input. Each token knows which tokens precede and follow it, acting as a link in a doubly linked list of tokens.
Clients may not extend, implement or mix-in this class.
- Implemented types
Constructors
- Token(TokenType type, int offset, [CommentToken? precedingComment])
-
Initialize a newly created token to have the given
type
andoffset
.factory - Token.eof(int offset, [CommentToken? precedingComments])
-
Initialize a newly created end-of-file token to have the given
offset
.factory
Properties
- beforeSynthetic ↔ Token?
-
The token before this synthetic token,
or
null
if this is not a synthetic)
,]
,}
, or>
token.getter/setter pair - charCount → int
-
The number of characters parsed by this token.
no setter
- charEnd → int
-
The character offset of the end of this token within the source text.
no setter
- charOffset → int
-
The character offset of the start of this token within the source text.
no setter
- end → int
-
Return the offset from the beginning of the file to the character after the
last character of the syntactic entity.
no setteroverride
- endGroup → Token?
-
The token that corresponds to this token, or
null
if this token is not the first of a pair of matching tokens (such as parentheses).no setter - hashCode → int
-
The hash code for this object.
no setterinherited
- isEof → bool
-
Return
true
if this token represents an end of file.no setter - isIdentifier → bool
-
True if this token is an identifier. Some keywords allowed as identifiers,
see implementation in
KeywordToken
.no setter - isKeyword → bool
-
True if this token is a keyword. Some keywords allowed as identifiers,
see implementation in
KeywordToken
.no setter - isKeywordOrIdentifier → bool
-
True if this token is a keyword or an identifier.
no setter
- isModifier → bool
-
Return
true
if this token is a modifier such asabstract
orconst
.no setter - isOperator → bool
-
Return
true
if this token represents an operator.no setter - isSynthetic → bool
-
Return
true
if this token is a synthetic token. A synthetic token is a token that was introduced by the parser in order to recover from an error in the code.no setter - isTopLevelKeyword → bool
-
Return
true
if this token is a keyword starting a top level declaration such asclass
,enum
,import
, etc.no setter - isUserDefinableOperator → bool
-
Return
true
if this token represents an operator that can be defined by users.no setter - keyword → Keyword?
-
Return the keyword, if a keyword token, or
null
otherwise.no setter - kind → int
-
The kind enum of this token as determined by its type.
no setter
- length → int
-
Return the number of characters in the syntactic entity's source range.
no setteroverride
- lexeme → String
-
Return the lexeme that represents this token.
no setter
- next ↔ Token?
-
Return the next token in the token stream.
getter/setter pair
- offset ↔ int
-
Return the offset from the beginning of the file to the first character in
the syntactic entity.
getter/setter pairoverride-getter
- precedingComments → CommentToken?
-
Return the first comment in the list of comments that precede this token,
or
null
if there are no comments preceding this token. Additional comments can be reached by following the token stream using next untilnull
is returned.no setter - previous ↔ Token?
-
Return the previous token in the token stream.
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- stringValue → String?
-
For symbol and keyword tokens, returns the string value represented by this
token. For
StringToken
s this method returnsnull
.no setter - type → TokenType
-
Return the type of the token.
no setter
- typeIndex → int
-
Return the index of the type of the token.
no setter
Methods
-
matchesAny(
List< TokenType> types) → bool -
Return
true
if this token has any one of the giventypes
. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
setNext(
Token token) → Token -
Set the next token in the token stream to the given
token
. This has the side-effect of setting this token to be the previous token for the given token. Return the token that was passed in. -
setNextWithoutSettingPrevious(
Token? token) → Token? - Set the next token in the token stream to the given token without changing which token is the previous token for the given token. Return the token that was passed in.
-
toString(
) → String -
Returns a textual representation of this token to be used for debugging
purposes. The resulting string might contain information about the
structure of the token, for example 'StringToken(foo)' for the identifier
token 'foo'.
override
-
value(
) → Object - Return the value of this token. For keyword tokens, this is the keyword associated with the token, for other tokens it is the lexeme associated with the token.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
lexicallyFirst(
[Token? t1, Token? t2, Token? t3, Token? t4, Token? t5]) → Token? -
Compare the given tokens to find the token that appears first in the
source being parsed. That is, return the left-most of all of the tokens.
Return the token with the smallest offset, or
null
if all of the tokens arenull
.