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
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.