IndexExpressionImpl class
An index expression.
indexExpression ::= Expression '[' Expression ']'
- Inheritance
-
- Object
- AstNodeImpl
- ExpressionImpl
- IndexExpressionImpl
- Implemented types
- Mixed-in types
- Available extensions
Constructors
- IndexExpressionImpl.forCascade({required Token? period, required Token? question, required Token leftBracket, required ExpressionImpl index, required Token rightBracket})
- Initialize a newly created index expression that is a child of a cascade expression.
- IndexExpressionImpl.forTarget({required ExpressionImpl? target, required Token? question, required Token leftBracket, required ExpressionImpl index, required Token rightBracket})
- Initialize a newly created index expression that is not a child of a cascade expression.
Properties
- beginToken → Token
-
Return the first token included in this node's source range.
no setteroverride
-
childEntities
→ Iterable<
SyntacticEntity> -
Return an iterator that can be used to iterate through all the entities
(either AST nodes or tokens) that make up the contents of this node,
including doc comments but excluding other comments.
no setterinherited
- end → int
-
Return the offset of the character immediately following the last
character of this node's source range.
no setterinherited
- endToken → Token
-
Return the last token included in this node's source range.
no setteroverride
- hashCode → int
-
The hash code for this object.
no setterinherited
- inConstantContext → bool
-
An expression e is said to occur in a constant context,
no setterinherited
- index ↔ ExpressionImpl
-
Return the expression used to compute the index.
getter/setter pairoverride-getter
- isAssignable → bool
-
Return
true
if this expression is syntactically valid for the LHS of an AssignmentExpression.no setteroverride - isCascaded → bool
-
Return
true
if this expression is cascaded.no setteroverride - isNullAware → bool
-
Whether this index expression is null aware (as opposed to non-null).
no setteroverride
- isSynthetic → bool
-
Return
true
if this node is a synthetic node.no setterinherited - leftBracket → Token
-
Return the left square bracket.
final
- length → int
-
Return the number of characters in the syntactic entity's source range.
no setterinherited
-
namedChildEntities
→ Iterable<
ChildEntity> -
Return properties (tokens and nodes) of this node, with names, in the
order in which these entities should normally appear, not necessary in
the order they really are (because of recovery).
no setterinherited
- nullShortingTermination → Expression
-
Returns the expression that terminates any null shorting that might occur
in this expression. This may be called regardless of whether this
expression is itself null-aware.
no setterinherited
- offset → int
-
Return the offset from the beginning of the file to the first character in
the syntactic entity.
no setterinherited
- parent → AstNode?
-
Return this node's parent node, or
null
if this node is the root of an AST structure.no setterinherited - period ↔ Token?
-
Return the period (".." | "?..") before a cascaded index expression, or
null
if this index expression is not part of a cascade expression.getter/setter pairoverride-getter - precedence → Precedence
-
Return the precedence of this expression.
no setteroverride
- question → Token?
-
Return the question mark before the left bracket, or
null
if there is no question mark.final - realTarget → ExpressionImpl
-
Return the expression used to compute the object being indexed.
no setteroverride
- rightBracket → Token
-
Return the right square bracket.
final
- root → AstNode
-
Return the node at the root of this node's AST structure.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- staticElement ↔ MethodElement?
-
The element associated with the operator based on the static type of the
target, or
null
if the AST structure has not been resolved or if the operator could not be resolved.getter/setter pairoverride-getter - staticParameterElement → ParameterElement?
-
If this expression is an argument to an invocation, and the AST structure
has been resolved, and the function being invoked is known based on static
type information, and this expression corresponds to one of the parameters
of the function being invoked, then return the parameter element
representing the parameter to which the value of this expression will be
bound. Otherwise, return
null
.no setterinherited - staticType ↔ DartType?
-
The static type of this expression, or
null
if the AST structure has not been resolved.getter/setter pairinherited - target ↔ ExpressionImpl?
-
Return the expression used to compute the object being indexed, or
null
if this index expression is part of a cascade expression.getter/setter pairoverride-getter - unParenthesized → ExpressionImpl
-
If this expression is a parenthesized expression, return the result of
unwrapping the expression inside the parentheses. Otherwise, return this
expression.
no setterinherited
Methods
-
accept<
E> (AstVisitor< E> visitor) → E? -
Use the given
visitor
to visit this node.override -
detachFromParent(
) → void -
inherited
-
findPrevious(
Token target) → Token? -
Return the token before
target
ornull
if it cannot be found.inherited -
getProperty<
E> (String name) → E? -
Return the value of the property with the given
name
, ornull
if this node does not have a property with the given name.inherited -
inGetterContext(
) → bool -
Return
true
if this expression is computing a right-hand value (that is, if this expression is in a context where the operator '[]' will be invoked).override -
inSetterContext(
) → bool -
Return
true
if this expression is computing a left-hand value (that is, if this expression is in a context where the operator '[]=' will be invoked).override -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
resolveElement(
ResolverVisitor resolver, CollectionLiteralContext? context) → void -
Dispatches this collection element to the
resolver
, with the givencontext
information.inherited -
resolveExpression(
ResolverVisitor resolver, DartType contextType) → void -
Dispatches this expression to the
resolver
, with the givencontextType
information.override -
setProperty(
String name, Object? value) → void -
Set the value of the property with the given
name
to the givenvalue
. If the value isnull
, the property will effectively be removed.inherited -
thisOrAncestorMatching<
E extends AstNode> (bool predicate(AstNode)) → E? -
Return either this node or the most immediate ancestor of this node for
which the
predicate
returnstrue
, ornull
if there is no such node.inherited -
thisOrAncestorOfType<
E extends AstNode> () → E? -
Return either this node or the most immediate ancestor of this node that
has the given type, or
null
if there is no such node.inherited -
toSource(
) → String -
Return a textual description of this node in a form approximating valid
source.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
visitChildren(
AstVisitor visitor) → void -
Use the given
visitor
to visit all of the children of this node.override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited