VariableDeclarationImpl class

An identifier that has an initial value associated with it. Instances of this class are always children of the class VariableDeclarationList.

variableDeclaration ::= SimpleIdentifier ('=' Expression)?

TODO(paulberry): the grammar does not allow metadata to be associated with a VariableDeclaration, and currently we don't record comments for it either. Consider changing the class hierarchy so that VariableDeclaration does not extend Declaration.

Inheritance
Implemented types
Available Extensions

Constructors

VariableDeclarationImpl({required Token name, required Token? equals, required ExpressionImpl? initializer})
Initialize a newly created variable declaration. The equals and initializer can be null if there is no initializer.

Properties

beginToken → Token
Return the first token included in this node's source range.
no setterinherited
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
declaredElement ↔ VariableElement?
Return the element associated with this declaration, or null if either this node corresponds to a list of declarations or if the AST structure has not been resolved.
getter/setter pairoverride-getter
declaredElement2 → VariableElement?
Return the element associated with this declaration, or null if either this node corresponds to a list of declarations or if the AST structure has not been resolved.
no setteroverride
documentationComment CommentImpl?
This overridden implementation of documentationComment looks in the grandparent node for Dartdoc comments if no documentation is specifically available on the node.
getter/setter pairinherited-setteroverride-getter
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
equals → Token?
The equal sign separating the variable name from the initial value, or null if the initial value was not specified.
final
firstTokenAfterCommentAndMetadata → Token
Return the first token following the comment and metadata.
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
hasInitializer bool
When this node is read as a part of summaries, we usually don't want to read the initializer, but we need to know if there is one in the code. So, this flag might be set to true even though initializer is null.
getter/setter pair
initializer ExpressionImpl?
Return the expression used to compute the initial value for the variable, or null if the initial value was not specified.
getter/setter pairoverride-getter
isConst bool
Return true if this variable was declared with the 'const' modifier.
no setteroverride
isFinal bool
Return true if this variable was declared with the 'final' modifier.
no setteroverride
isLate bool
Return true if this variable was declared with the 'late' modifier.
no setteroverride
isSynthetic bool
Return true if this node is a synthetic node.
no setterinherited
length int
Return the number of characters in the syntactic entity's source range.
no setterinherited
metadata NodeListImpl<AnnotationImpl>
Return the annotations associated with this node.
no setterinherited
name → Token
Return the name of the variable being declared.
final
name2 → Token
Return the name of the variable being declared.
no setteroverride
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
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
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
sortedCommentAndAnnotations List<AstNode>
Return a list containing the comment and annotations associated with this node, sorted in lexical order.
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 or null if it cannot be found.
inherited
getProperty<E>(String name) → E?
Return the value of the property with the given name, or null if this node does not have a property with the given name.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
setProperty(String name, Object? value) → void
Set the value of the property with the given name to the given value. If the value is null, 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 returns true, or null 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