ASTStatementVariableDeclarationList class

A variable declaration statement with more than one declarator, as parsed from num nr = 0.96, ng = 0.24, nb = 0.56;.

This node is transient: ASTBlock.addStatement expands it into its individual declarations, so no generator, runner or serializer ever sees it. The expansion is faithful because every declarator of a multi-declarator statement shares the enclosing scope and is initialized left to right — exactly the semantics of the same declarations written one per line. It also keeps the code generators portable: targets without a comma-separated declaration form (Python, Go, Kotlin) get one declaration per statement for free.

Inheritance

Properties

children → Iterable<ASTNode>
The children nodes of this node.
no setteroverride
declarations → List<ASTStatementVariableDeclaration>
final
descendantChildren → List<ASTNode>
Return the children and it's descendant children (unmodifiable).
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
parentNode → ASTNode?
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

associateToType(ASTTypedNode node) → void
inherited
cacheDescendantChildren() → void
Mark that this node can cache its descendantChildren.
inherited
defineRunContext(VMContext parentContext) → VMContext
inherited
getNodeIdentifier(String name, {ASTNode? requester}) → ASTNode?
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
resolveNode(ASTNode? parentNode) → void
override
resolveRuntimeType(VMContext context, ASTNode? node) → FutureOr<ASTType>
inherited
resolveType(VMContext? context) → ASTType
override
run(VMContext parentContext, ASTRunStatus runStatus) → FutureOr<ASTValue>
Runs each declaration in parentContext: the declarators share the enclosing scope, so no run context is defined here. Only reachable if this node escapes the expansion in ASTBlock.addStatement.
override
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
inherited