CompilationUnitElement class abstract

An element representing a compilation unit.

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

Implemented types

Constructors

CompilationUnitElement()

Properties

accessors List<PropertyAccessorElement>
The top-level accessors (getters and setters) declared in this compilation unit.
no setter
children List<Element>
A list of this element's children.
no setterinherited
classes List<ClassElement>
The classes declared in this compilation unit.
no setter
context → AnalysisContext
The analysis context in which this element is defined.
no setterinherited
declaration Element
The declaration of this element.
no setterinherited
displayName String
The display name of this element, possibly the empty string if the element does not have a name.
no setterinherited
documentationComment String?
The content of the documentation comment (including delimiters) for this element, or null if this element does not or cannot have documentation.
no setterinherited
enclosingElement LibraryOrAugmentationElement
The library, or library augmentation that encloses this unit.
no setteroverride
enums List<EnumElement>
The enums declared in this compilation unit.
no setter
extensions List<ExtensionElement>
The extensions declared in this compilation unit.
no setter
extensionTypes List<ExtensionTypeElement>
The extension types declared in this compilation unit.
no setter
functions List<FunctionElement>
The top-level functions declared in this compilation unit.
no setter
hasAlwaysThrows bool
Whether the element has an annotation of the form @alwaysThrows.
no setterinherited
hasDeprecated bool
Whether the element has an annotation of the form @deprecated or @Deprecated('..').
no setterinherited
hasDoNotStore bool
Whether the element has an annotation of the form @doNotStore.
no setterinherited
hasDoNotSubmit bool
Whether the element has an annotation of the form @doNotSubmit.
no setterinherited
hasFactory bool
Whether the element has an annotation of the form @factory.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
hasImmutable bool
Whether the element has an annotation of the form @immutable.
no setterinherited
hasInternal bool
Whether the element has an annotation of the form @internal.
no setterinherited
hasIsTest bool
Whether the element has an annotation of the form @isTest.
no setterinherited
hasIsTestGroup bool
Whether the element has an annotation of the form @isTestGroup.
no setterinherited
hasJS bool
Whether the element has an annotation of the form @JS(..).
no setterinherited
hasLiteral bool
Whether the element has an annotation of the form @literal.
no setterinherited
hasMustBeConst bool
Whether the element has an annotation of the form @mustBeConst.
no setterinherited
hasMustBeOverridden bool
Whether the element has an annotation of the form @mustBeOverridden.
no setterinherited
hasMustCallSuper bool
Whether the element has an annotation of the form @mustCallSuper.
no setterinherited
hasNonVirtual bool
Whether the element has an annotation of the form @nonVirtual.
no setterinherited
hasOptionalTypeArgs bool
Whether the element has an annotation of the form @optionalTypeArgs.
no setterinherited
hasOverride bool
Whether the element has an annotation of the form @override.
no setterinherited
hasProtected bool
Whether the element has an annotation of the form @protected.
no setterinherited
hasRedeclare bool
Whether the element has an annotation of the form @redeclare.
no setterinherited
hasReopen bool
Whether the element has an annotation of the form @reopen.
no setterinherited
hasRequired bool
Whether the element has an annotation of the form @required.
no setterinherited
hasSealed bool
Whether the element has an annotation of the form @sealed.
no setterinherited
hasUseResult bool
Whether the element has an annotation of the form @useResult or @UseResult('..').
no setterinherited
hasVisibleForOverriding bool
Whether the element has an annotation of the form @visibleForOverriding.
no setterinherited
hasVisibleForTemplate bool
Whether the element has an annotation of the form @visibleForTemplate.
no setterinherited
hasVisibleForTesting bool
Whether the element has an annotation of the form @visibleForTesting.
no setterinherited
hasVisibleOutsideTemplate bool
Whether the element has an annotation of the form @visibleOutsideTemplate.
no setterinherited
id int
The unique integer identifier of this element.
no setterinherited
isPrivate bool
Whether the element is private.
no setterinherited
isPublic bool
Whether the element is public.
no setterinherited
isSynthetic bool
Whether the element is synthetic.
no setterinherited
kind ElementKind
The kind of element that this is.
no setterinherited
library LibraryElement
Library that contains this element.
no setterinherited
librarySource Source
If this target is associated with a library, return the source of the library's defining compilation unit; otherwise return null.
no setterinherited
lineInfo LineInfo
The LineInfo for the source.
no setter
location ElementLocation?
The location of this element in the element model.
no setterinherited
metadata List<ElementAnnotation>
All of the metadata associated with this element.
no setterinherited
mixins List<MixinElement>
The mixins declared in this compilation unit.
no setter
name String?
The name of this element, or null if this element does not have a name.
no setterinherited
nameLength int
The length of the name of this element in the file that contains the declaration of this element, or 0 if this element does not have a name.
no setterinherited
nameOffset int
The offset of the name of this element in the file that contains the declaration of this element, or -1 if this element is synthetic, does not have a name, or otherwise does not have an offset.
no setterinherited
nonSynthetic Element
The non-synthetic element that caused this element to be created.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
session AnalysisSession
The analysis session in which this element is defined.
no setteroverride
sinceSdkVersion → Version?
The version where this SDK API was added.
no setterinherited
source Source
Return the source associated with this target, or null if this target is not associated with a source.
no setterinherited
topLevelVariables List<TopLevelVariableElement>
The top-level variables declared in this compilation unit.
no setter
typeAliases List<TypeAliasElement>
The type aliases declared in this compilation unit.
no setter
uri String?
The URI that is used to include this element into the enclosing library, or null if this is the defining compilation unit of a library.
no setterinherited
uriEnd int
The offset of the character immediately following the last character of this node's URI, or -1 for synthetic import.
no setterinherited
uriOffset int
The offset of the URI in the file, or -1 if this element is synthetic.
no setterinherited

Methods

accept<T>(ElementVisitor<T> visitor) → T?
Uses the given visitor to visit this element.
inherited
getClass(String name) ClassElement?
Returns the class defined in this compilation unit that has the given name, or null if this compilation unit does not define a class with the given name.
getDisplayString({bool withNullability = true, bool multiline = false}) String
Returns the presentation of this element as it should appear when presented to users.
inherited
getEnum(String name) EnumElement?
Returns the enum defined in this compilation unit that has the given name, or null if this compilation unit does not define an enum with the given name.
getExtendedDisplayName(String? shortName) String
Returns a display name for the given element that includes the path to the compilation unit in which the type is defined. If shortName is null then displayName will be used as the name of this element. Otherwise the provided name will be used.
inherited
isAccessibleIn(LibraryElement library) bool
Whether the element, assuming that it is within scope, is accessible to code in the given library.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
thisOrAncestorMatching<E extends Element>(bool predicate(Element)) → E?
Returns either this element or the most immediate ancestor of this element for which the predicate returns true, or null if there is no such element.
inherited
thisOrAncestorOfType<E extends Element>() → E?
Returns either this element or the most immediate ancestor of this element that has the given type, or null if there is no such element.
inherited
toString() String
A string representation of this object.
inherited
visitChildren(ElementVisitor visitor) → void
Uses the given visitor to visit all of the children of this element. There is no guarantee of the order in which the children will be visited.
inherited

Operators

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