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
Properties
- context → AnalysisContext
-
Return the analysis context in which this element is defined.
no setterinherited
- declaration → ExecutableElement
-
Return the declaration of this element. If the element is a view on an
element, e.g. a method from an interface type, with substituted type
parameters, return the corresponding element from the class, without any
substitutions. If this element is already a declaration (or a synthetic
element, e.g. a synthetic property accessor), return itself.
no setterinherited
- displayName → String
-
Return the display name of this element, possibly the empty string if
this element does not have a name.
no setterinherited
- documentationComment → String?
-
Return 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
-
Return the element that either physically or logically encloses this
element. This will be
null
if this element is a library because libraries are the top-level elements in the model.no setterinherited - hasAlwaysThrows → bool
-
Return
true
if this element has an annotation of the form@alwaysThrows
.no setterinherited - hasDeprecated → bool
-
Return
true
if this element has an annotation of the form@deprecated
or@Deprecated('..')
.no setterinherited - hasDoNotStore → bool
-
Return
true
if this element has an annotation of the form@doNotStore
.no setterinherited - hasFactory → bool
-
Return
true
if this element has an annotation of the form@factory
.no setterinherited - hashCode → int
-
The hash code for this object.
no setterinherited
- hasImplicitReturnType → bool
-
Return
true
if this executable element did not have an explicit return type specified for it in the original source.no setterinherited - hasInternal → bool
-
Return
true
if this element has an annotation of the form@internal
.no setterinherited - hasIsTest → bool
-
Return
true
if this element has an annotation of the form@isTest
.no setterinherited - hasIsTestGroup → bool
-
Return
true
if this element has an annotation of the form@isTestGroup
.no setterinherited - hasJS → bool
-
Return
true
if this element has an annotation of the form@JS(..)
.no setterinherited - hasLiteral → bool
-
Return
true
if this element has an annotation of the form@literal
.no setterinherited - hasMustCallSuper → bool
-
Return
true
if this element has an annotation of the form@mustCallSuper
.no setterinherited - hasNonVirtual → bool
-
Return
true
if this element has an annotation of the form@nonVirtual
.no setterinherited - hasOptionalTypeArgs → bool
-
Return
true
if this element has an annotation of the form@optionalTypeArgs
.no setterinherited - hasOverride → bool
-
Return
true
if this element has an annotation of the form@override
.no setterinherited - hasProtected → bool
-
Return
true
if this element has an annotation of the form@protected
.no setterinherited - hasRequired → bool
-
Return
true
if this element has an annotation of the form@required
.no setterinherited - hasSealed → bool
-
Return
true
if this element has an annotation of the form@sealed
.no setterinherited - hasUseResult → bool
-
Return
true
if this element has an annotation of the form@useResult
or@UseResult('..')
.no setterinherited - hasVisibleForOverriding → bool
-
Return
true
if this element has an annotation of the form@visibleForOverriding
.no setterinherited - hasVisibleForTemplate → bool
-
Return
true
if this element has an annotation of the form@visibleForTemplate
.no setterinherited - hasVisibleForTesting → bool
-
Return
true
if this element has an annotation of the form@visibleForTesting
.no setterinherited - id → int
-
The unique integer identifier of this element.
no setterinherited
- isAbstract → bool
-
Return
true
if this executable element is abstract. Executable elements are abstract if they are not external and have no body.no setterinherited - isAsynchronous → bool
-
Return
true
if this executable element has body marked as being asynchronous.no setterinherited - isDartCoreIdentical → bool
-
Return
true
if this function representsidentical
from thedart:core
library.no setter - isEntryPoint → bool
-
Return
true
if the function is an entry point, i.e. a top-level function and has the namemain
.no setter - isExternal → bool
-
Return
true
if this executable element is external. Executable elements are external if they are explicitly marked as such using the 'external' keyword.no setterinherited - isGenerator → bool
-
Return
true
if this executable element has a body marked as being a generator.no setterinherited - isOperator → bool
-
Return
true
if this executable element is an operator. The test may be based on the name of the executable element, in which case the result will be correct when the name is legal.no setterinherited - isPrivate → bool
-
Return
true
if this element is private. Private elements are visible only within the library in which they are declared.no setterinherited - isPublic → bool
-
Return
true
if this element is public. Public elements are visible within any library that imports the library in which they are declared.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
-
Return
true
if this element is a static element. A static element is an element that is not associated with a particular instance, but rather with an entire library or class.no setterinherited - isSynchronous → bool
-
Return
true
if this executable element has a body marked as being synchronous.no setterinherited - isSynthetic → bool
-
Return
true
if this element is synthetic. A synthetic element is an element that is not represented in the source code explicitly, but is implied by the source code, such as the default constructor for a class that does not explicitly define any constructors.no setterinherited - kind → ElementKind
-
Return the kind of element that this is.
no setterinherited
- library → LibraryElement
-
Return the library that contains this element. This will be the element
itself if it is a library element. This will be
null
if this element is MultiplyDefinedElement that is not contained in a library.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?
-
Return an object representing the location of this element in the element
model. The object can be used to locate this element at a later time.
no setterinherited
-
metadata
→ List<
ElementAnnotation> -
Return a list containing all of the metadata associated with this element.
The array will be empty if the element does not have any metadata or if
the library containing this element has not yet been resolved.
no setterinherited
- name → String
-
Return the name of this element, or
null
if this element does not have a name.no setterinherited - nameLength → int
-
Return 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
-
Return 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
-
Return the non-synthetic element that caused this element to be created.
no setterinherited
-
parameters
→ List<
ParameterElement> -
Return a list containing all of the parameters defined by this executable
element.
no setterinherited
- returnType → DartType
-
Return the return type defined by this element.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- session → AnalysisSession?
-
Return the analysis session in which this element is defined.
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
-
Return the type defined by this element.
no setterinherited
-
typeParameters
→ List<
TypeParameterElement> -
Return a list containing all of the type parameters declared by this
element directly. This does not include type parameters that are declared
by any enclosing elements.
no setterinherited
Methods
-
accept<
T> (ElementVisitor< T> visitor) → T? -
Use the given
visitor
to visit this element. Return the value returned by the visitor as a result of visiting this element.inherited -
getDisplayString(
{required bool withNullability, bool multiline = false}) → String -
Return the presentation of this element as it should appear when
presented to users.
inherited
-
getExtendedDisplayName(
String? shortName) → String -
Return a display name for the given element that includes the path to the
compilation unit in which the type is defined. If
shortName
isnull
then displayName will be used as the name of this element. Otherwise the provided name will be used.inherited -
isAccessibleIn(
LibraryElement? library) → bool -
Return
true
if this element, assuming that it is within scope, is accessible to code in the givenlibrary
. This is defined by the Dart Language Specification in section 3.2:inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
thisOrAncestorMatching<
E extends Element> (bool predicate(Element)) → E? -
Return either this element or the most immediate ancestor of this element
for which the
predicate
returnstrue
, ornull
if there is no such element.inherited -
thisOrAncestorOfType<
E extends Element> () → E? -
Return 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 -
Use 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.