FunctionElementImpl class

Implementation of a function element in a Dart program.

This class represents standalone functions (not methods) and provides concrete implementations of the functions-specific functionality.

Inheritance
Implemented types

Constructors

FunctionElementImpl.new({required String name, bool isAbstract = false, bool isAsynchronous = false, bool isExternal = false, bool isGenerator = false, bool isOperator = false, bool isStatic = false, bool isSynchronous = false, required Element enclosingElement})
Creates a function 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.
finalinherited
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 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
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.
finalinherited
isAsynchronous bool
Whether the executable element has body marked as being asynchronous.
finalinherited
isEntryPoint bool
Whether the function is an entry point, i.e. a top-level function and has the name main.
no setteroverride
isExternal bool
Whether the executable element is external.
finalinherited
isGenerator bool
Whether the executable element has a body marked as being a generator.
finalinherited
isOperator bool
Whether the executable element is an operator.
finalinherited
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.
finalinherited
isSynchronous bool
Whether the executable element has a body marked as being synchronous.
finalinherited
library LibraryElement
The library that contains this element.
no setterinherited
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.
finalinherited
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 setterinherited
returnType DartType
The return type defined by this element.
getter/setter pairinherited
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 pairinherited
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.
inherited
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.
inherited
instantiate(NamedDartType typeRef) DartType
instantiates the type parameters of this element with the given type
inherited
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