CompilationUnit class

A compilation unit.

While the grammar restricts the order of the directives and declarations within a compilation unit, this class does not enforce those restrictions. In particular, the children of a compilation unit will be visited in lexical order even if lexical order does not conform to the restrictions of the grammar.

compilationUnit ::= directives declarations

directives ::= ScriptTag? LibraryDirective? namespaceDirective* PartDirective* | PartOfDirective

namespaceDirective ::= ImportDirective | ExportDirective

declarations ::= CompilationUnitMember*

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

Inheritance

Constructors

CompilationUnit()

Properties

beginToken Token
Return the first token included in this node's source range.
read / write, inherited-getter
declarations NodeList<CompilationUnitMember>
Return the declarations contained in this compilation unit.
read-only
declaredElement CompilationUnitElement
Return the element associated with this compilation unit, or null if the AST structure has not been resolved.
read-only
directives NodeList<Directive>
Return the directives contained in this compilation unit.
read-only
element CompilationUnitElement
Return the element associated with this compilation unit, or null if the AST structure has not been resolved.
read / write
endToken Token
Return the last token included in this node's source range.
read / write, inherited-getter
lineInfo LineInfo
Return the line information for this compilation unit.
read / write
scriptTag ScriptTag
Return the script tag at the beginning of the compilation unit, or null if there is no script tag in this compilation unit.
read / write
sortedDirectivesAndDeclarations → List<AstNode>
Return a list containing all of the directives and declarations in this compilation unit, sorted in lexical order.
read-only
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.
read-only, inherited
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, inherited
hashCode → int
The hash code for this object.
read-only, inherited
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).
read-only, inherited
length → int
Return the number of characters in the syntactic entity's source range.
read-only, inherited
offset → int
Return the offset from the beginning of the file to the first character in the syntactic entity.
read-only, inherited
parent AstNode
Return this node's parent node, or null if this node is the root of an AST structure. [...]
read-only, inherited
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)).
read-only, inherited
runtimeType → Type
A representation of the runtime type of the object.
read-only, inherited

Methods

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.
inherited
findPrevious(Token target) Token
Return the token before target or null if it cannot be found.
inherited
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.
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 non-existent 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
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.
inherited
toString() → String
Returns a string representation of this object.
inherited
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.
inherited

Operators

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