AstNode class

A node in the AST structure for a Dart program.

Clients may not extend, implement or mix-in this class.

Implemented types




beginToken Token
Return the first token included in this node's source range.
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.
end → int
Return the offset of the character immediately following the last character of this node's source range. This is equivalent to node.getOffset() + node.getLength(). For a compilation unit this will be equal to the length of the unit's source. For synthetic nodes this will be equivalent to the node's offset (because the length is zero (0) by definition).
read-only, override
endToken Token
Return the last token included in this node's source range.
isSynthetic → bool
Return true if this node is a synthetic node. A synthetic node is a node that was introduced by the parser in order to recover from an error in the code. Synthetic nodes always have a length of zero (0).
length → int
Return the number of characters in the syntactic entity's source range.
read-only, override
offset → int
Return the offset from the beginning of the file to the first character in the syntactic entity.
read-only, override
parent AstNode
Return this node's parent node, or null if this node is the root of an AST structure. [...]
root AstNode
Return the node at the root of this node's AST structure. Note that this method's performance is linear with respect to the depth of the node in the AST structure (O(depth)).
hashCode → int
The hash code for this object.
read-only, inherited
runtimeType → Type
A representation of the runtime type of the object.
read-only, inherited


accept<E>(AstVisitor<E> visitor) → E
Use the given visitor to visit this node. Return the value returned by the visitor as a result of visiting this node.
findPrevious(Token target) Token
Return the token before target or null if it cannot be found.
getAncestor<E extends AstNode>(Predicate<AstNode> predicate) → E
Return the most immediate ancestor of this node for which the predicate returns true, or null if there is no such ancestor. Note that this node will never be returned.
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.
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.
toSource() → String
Return a textual description of this node in a form approximating valid source. The returned string will not be valid source primarily in the case where the node itself is not well-formed.
visitChildren(AstVisitor visitor) → void
Use the given visitor to visit all of the children of this node. The children will be visited in lexical order.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
toString() → String
Returns a string representation of this object.


operator ==(dynamic other) → bool
The equality operator.

Static Properties

LEXICAL_ORDER ↔ Comparator<AstNode>
A comparator that can be used to sort AST nodes in lexical order. In other words, compare will return a negative value if the offset of the first node is less than the offset of the second node, zero (0) if the nodes have the same offset, and a positive value if the offset of the first node is greater than the offset of the second node.
read / write


EMPTY_LIST → const List<AstNode>
An empty list of AST nodes.
const <AstNode>[]