FunctionElement class abstract

A (non-method) function. This can be either a top-level function, a local function, a closure, or the initialization expression for a field or variable.

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

Implemented types

Constructors

FunctionElement()

Properties

augmentation FunctionElement?
The immediate augmentation of this element, or null if there are no augmentations.
no setteroverride
augmentationTarget FunctionElement?
The element that is augmented by this augmentation.
no setteroverride
children List<Element>
A list of this element's children.
no setterinherited
context → AnalysisContext
The analysis context in which this element is defined.
no setterinherited
declaration ExecutableElement
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 Element
The element that either physically or logically encloses 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
hasImmutable bool
Whether the element has an annotation of the form @immutable.
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
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
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
isAbstract bool
Whether the executable element is abstract.
no setterinherited
isAsynchronous bool
Whether the executable element has body marked as being asynchronous.
no setterinherited
isAugmentation bool
Whether the element is an augmentation.
no setterinherited
isDartCoreIdentical bool
Whether the function represents identical from the dart:core library.
no setter
isEntryPoint bool
Whether the function is an entry point, i.e. a top-level function and has the name main.
no setter
isExtensionTypeMember bool
Whether the executable element is an extension type member.
no setterinherited
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 element is private.
no setterinherited
isPublic bool
Whether the element is public.
no setterinherited
isSimplyBounded bool
If the element defines a type, indicates whether the type may safely appear without explicit type parameters as the bounds of a type parameter declaration.
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
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
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
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
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
session AnalysisSession?
The analysis session in which this element is defined.
no setterinherited
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
type FunctionType
The type defined by this element.
no setterinherited
typeParameters List<TypeParameterElement>
The type parameters declared by this element directly.
no setterinherited

Methods

accept<T>(ElementVisitor<T> visitor) → T?
Uses the given visitor to visit this element.
inherited
getDisplayString({required bool withNullability, bool multiline = false}) String
Returns the presentation of this element as it should appear when presented to users.
inherited
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

Static Properties

CALL_METHOD_NAME String
The name of the method that can be implemented by a class to allow its instances to be invoked as if they were a function.
final
LOAD_LIBRARY_NAME String
The name of the synthetic function defined for libraries that are deferred.
final
NO_SUCH_METHOD_METHOD_NAME String
The name of the method that will be invoked if an attempt is made to invoke an undefined method on an object.
final

Constants

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