CompilationUnitImpl 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*
- Inheritance
-
- Object
- AstNodeImpl
- CompilationUnitImpl
- Implemented types
- Available extensions
Constructors
-
CompilationUnitImpl({required Token beginToken, required ScriptTagImpl? scriptTag, required List<
DirectiveImpl> ? directives, required List<CompilationUnitMemberImpl> ? declarations, required Token endToken, required FeatureSet featureSet, required LineInfo lineInfo}) -
Initialize a newly created compilation unit to have the given directives
and declarations. The
scriptTag
can benull
if there is no script tag in the compilation unit. The list ofdirectives
can benull
if there are no directives in the compilation unit. The list ofdeclarations
can benull
if there are no declarations in the compilation unit.
Properties
- beginToken ↔ Token
-
The first token in the token stream that was parsed to form this
compilation unit.
getter/setter pairoverride-getter
-
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
-
declarations
→ NodeListImpl<
CompilationUnitMemberImpl> -
Return the declarations contained in this compilation unit.
no setteroverride
- declaredElement ↔ CompilationUnitElement?
-
The element associated with this compilation unit, or
null
if the AST structure has not been resolved.getter/setter pairoverride-getter -
directives
→ NodeListImpl<
DirectiveImpl> -
Return the directives contained in this compilation unit.
no setteroverride
- element ← CompilationUnitElement?
-
no getter
- end → int
-
Return the offset of the character immediately following the last
character of this node's source range.
no setterinherited
- endToken → Token
-
The last token in the token stream that was parsed to form this
compilation unit. This token should always have a type of
TokenType.EOF
.final - featureSet → FeatureSet
-
The set of features available to this compilation unit.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- isSynthetic → bool
-
Return
true
if this node is a synthetic node.no setterinherited - languageVersion ↔ LibraryLanguageVersion?
-
The language version information.
getter/setter pair
- languageVersionToken → LanguageVersionToken?
-
The language version override specified for this compilation unit using a
token like '// @dart = 2.7', or
null
if no override is specified.no setteroverride - length → int
-
Return the number of characters in the syntactic entity's source range.
no setteroverride
- lineInfo → LineInfo
-
The line information for this compilation unit.
final
-
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 setteroverride
- 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
- scriptTag ↔ ScriptTagImpl?
-
Return the script tag at the beginning of the compilation unit, or
null
if there is no script tag in this compilation unit.getter/setter pairoverride-getter -
sortedDirectivesAndDeclarations
→ List<
AstNode> -
Return a list containing all of the directives and declarations in this
compilation unit, sorted in lexical order.
no setteroverride
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 -
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 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