FunctionElement class abstract

Represents a function declaration in a Dart program.

Functions can be top-level, local (nested within another function), or methods within a class. This element specifically represents standalone functions, not methods.

Implemented types
Implementers

Constructors

FunctionElement.new()

Properties

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
documentationComment String?
The documentation comment associated with this element if it has one.
no setterinherited
enclosingElement Element?
The enclosing element of this element.
no setterinherited
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.
no setterinherited
isAsynchronous bool
Whether the executable element has body marked as being asynchronous.
no setterinherited
isEntryPoint bool
Whether the function is an entry point, i.e. a top-level function and has the name main.
no setter
isExternal bool
Whether the executable element is external.
no setterinherited
isGenerator bool
Whether the executable element has a body marked as being a generator.
no setterinherited
isOperator bool
Whether the executable element is an operator.
no setterinherited
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.
no setterinherited
isSynchronous bool
Whether the executable element has a body marked as being synchronous.
no setterinherited
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
name String
The name of the element.
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
parameters List<ParameterElement>
The parameters defined by this executable element.
no setterinherited
returnType DartType
The return type defined by this element.
no setterinherited
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.
no setterinherited
typeParameters List<TypeParameterType>
The type parameters of this element.
no setterinherited

Methods

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
toString() String
A string representation of this object.
inherited

Operators

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

Static Properties

kCALLMethodName String
The name of the special method that allows objects to be called as functions.
final

Constants

kMainFunctionName → const String
The name of the function used as an entry point.