ExecutableElementImpl class abstract
Implementation of an executable element.
This class provides common functionality for all types of executable elements, including parameters management, return type and function type handling, and various modifier flags.
- Inheritance
-
- Object
- ElementImpl
- ExecutableElementImpl
- Implemented types
- Mixed-in types
- Implementers
Constructors
- ExecutableElementImpl.new({required String name, required bool isAbstract, required bool isAsynchronous, required bool isExternal, required bool isGenerator, required bool isOperator, required bool isStatic, required bool isSynchronous, required Element enclosingElement})
- Creates an executable element with the specified properties.
Properties
-
allTypeParameters
→ List<
TypeParameterType> -
Returns all type parameters of this element and its enclosing elements.
no setterinherited
- codeLength → int
-
The length of the code of this element in the file that contains the
no setterinherited
- codeOffset → int
-
The offset of the code of this element in the file that contains the
no setterinherited
- didResolveMetadata ↔ bool
-
Whether the metadata of this element has been resolved.
getter/setter pairinherited
- documentationComment ↔ String?
-
The documentation comment associated with this element if it has one.
getter/setter pairinherited
- enclosingElement → Element
-
The enclosing element of this element.
final
- 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 - hasFactory → bool
-
Whether the element has an annotation of the form
@factory
.no setterinherited - hashCode → int
-
The hash code for this object.
no setterinherited
- hasImplicitReturnType → bool
-
Whether the executable element did not have an explicit return type
specified for it in the original source.
no setteroverride
- 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 - hasLiteral → bool
-
Whether the element has an annotation of the form
@literal
.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 - identifier → String
-
A String that uniquely identifies this element
no setterinherited
- isAbstract → bool
-
Whether the executable element is abstract.
final
- isAsynchronous → bool
-
Whether the executable element has body marked as being asynchronous.
final
- isExternal → bool
-
Whether the executable element is external.
final
- isGenerator → bool
-
Whether the executable element has a body marked as being a generator.
final
- isOperator → bool
-
Whether the executable element is an operator.
final
- isPrivate → bool
-
Whether the name of this element starts with an underscore.
no setterinherited
- isPublic → bool
-
Whether the name of this element does not start with an underscore.
no setterinherited
- isStatic → bool
-
Whether the element is a static element.
final
- isSynchronous → bool
-
Whether the executable element has a body marked as being synchronous.
final
- library → LibraryElement
-
The library that contains this element.
no setteroverride
- librarySrc → Asset
-
The source code location of this element.
no setterinherited
-
metadata
→ List<
ElementAnnotation> -
The metadata associated with this element.
no setterinherited
- metadataResolveCallback ↔ void Function()?
-
Callback to resolve metadata.
getter/setter pairinherited
- name → String
-
The name of the element.
final
- 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 -
parameters
→ List<
ParameterElement> -
The parameters defined by this executable element.
no setteroverride
- returnType ↔ DartType
-
The return type defined by this element.
getter/setter pairoverride-getter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- source → String?
-
The source code of this element.
no setterinherited
- type ↔ FunctionType
-
The type defined by this element.
getter/setter pairoverride-getter
-
typeParameters
→ List<
TypeParameterType> -
The type parameters of this element.
no setterinherited
Methods
-
addMetadata(
ElementAnnotation annotation) → void -
Adds a metadata annotation to this element.
inherited
-
addParameter(
ParameterElement parameter) → void - Adds a parameter to this executable element's parameter list.
-
addTypeParameter(
TypeParameterType typeParameter) → void -
Adds a type parameter to this element.
inherited
-
getAnnotation(
String name) → ElementAnnotation? -
Returns the first annotation with the given name, or null if no such
inherited
-
getParameter(
String name) → ParameterElement? -
Retrieves a parameter by name from this executable's parameter list.
override
-
instantiate(
NamedDartType typeRef) → DartType -
instantiates the type parameters of this element with the given type
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
setCodeRange(
AstNode? node, int offset, int length) → void -
Sets the code range for this element.
inherited
-
setNameRange(
int offset, int length) → void -
Sets the name range for this element.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited