FunctionType class abstract
The type of a function, method, constructor, getter, or setter. Function types come in three variations:
- The types of functions that only have required parameters. These have the general form (T1, …, Tn) → T.
- The types of functions with optional positional parameters. These have the
general form (T1, …, Tn,
T<sub>n+1</sub> …, T<sub>n+k</sub>
) → T. - The types of functions with named parameters. These have the general form (T1, …, Tn, {Tx1 x1, …, Txk xk}) → T.
Clients may not extend, implement or mix-in this class.
- Implemented types
Constructors
Properties
- alias → InstantiatedTypeAliasElement?
-
If this type is an instantiation of a type alias, information about
the alias element, and the type arguments.
Otherwise return
null
.no setterinherited - element → Null
-
Return the element representing the declaration of this type, or
null
if the type is not associated with an element.no setteroverride - element2 → Null
-
Return the element representing the declaration of this type, or
null
if the type is not associated with an element.no setteroverride - element3 → Element2?
-
Return the element representing the declaration of this type, or
null
if the type is not associated with an element.no setterinherited - extensionTypeErasure → DartType
-
The extension type erasure of this type.
no setterinherited
-
formalParameters
→ List<
FormalParameterElement> -
The formal parameters.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- isBottom → bool
-
Return
true
if this type represents the bottom type.no setterinherited - isDartAsyncFuture → bool
-
Return
true
if this type represents the type 'Future' defined in the dart:async library.no setterinherited - isDartAsyncFutureOr → bool
-
Return
true
if this type represents the typeFutureOr<T>
defined in the dart:async library.no setterinherited - isDartAsyncStream → bool
-
Return
true
if this type represents the type 'Stream' defined in the dart:async library.no setterinherited - isDartCoreBool → bool
-
Return
true
if this type represents the type 'bool' defined in the dart:core library.no setterinherited - isDartCoreDouble → bool
-
Return
true
if this type represents the type 'double' defined in the dart:core library.no setterinherited - isDartCoreEnum → bool
-
Return
true
if this type represents the type 'Enum' defined in the dart:core library.no setterinherited - isDartCoreFunction → bool
-
Return
true
if this type represents the type 'Function' defined in the dart:core library.no setterinherited - isDartCoreInt → bool
-
Return
true
if this type represents the type 'int' defined in the dart:core library.no setterinherited - isDartCoreIterable → bool
-
Returns
true
if this type represents the type 'Iterable' defined in the dart:core library.no setterinherited - isDartCoreList → bool
-
Returns
true
if this type represents the type 'List' defined in the dart:core library.no setterinherited - isDartCoreMap → bool
-
Returns
true
if this type represents the type 'Map' defined in the dart:core library.no setterinherited - isDartCoreNull → bool
-
Return
true
if this type represents the type 'Null' defined in the dart:core library.no setterinherited - isDartCoreNum → bool
-
Return
true
if this type represents the type 'num' defined in the dart:core library.no setterinherited - isDartCoreObject → bool
-
Return
true
if this type represents the typeObject
defined in the dart:core library.no setterinherited - isDartCoreRecord → bool
-
Return
true
if this type represents the type 'Record' defined in the dart:core library.no setterinherited - isDartCoreSet → bool
-
Returns
true
if this type represents the type 'Set' defined in the dart:core library.no setterinherited - isDartCoreString → bool
-
Return
true
if this type represents the type 'String' defined in the dart:core library.no setterinherited - isDartCoreSymbol → bool
-
Returns
true
if this type represents the type 'Symbol' defined in the dart:core library.no setterinherited - isDartCoreType → bool
-
Return
true
if this type represents the type 'Type' defined in the dart:core library.no setterinherited - isDynamic → bool
-
Return
true
if this type represents the type 'dynamic'.no setterinherited - isVoid → bool
-
Return
true
if this type represents the type 'void'.no setterinherited - name → String?
-
Return the name of this type, or
null
if the type does not have a name, such as when the type represents the type of an unnamed function.no setterinherited -
namedParameterTypes
→ Map<
String, DartType> -
A map from the names of named parameters to the types of the named
parameters of this type of function.
no setter
-
normalParameterNames
→ List<
String> -
The names of the required positional parameters of this type of function,
not necessarily in the order that the parameters appear.
no setter
-
normalParameterTypes
→ List<
DartType> -
A list containing the types of the normal parameters of this type of
function.
no setter
- nullabilitySuffix → NullabilitySuffix
-
If this type ends in a suffix (
?
or*
), the suffix it ends with; otherwise NullabilitySuffix.none.no setterinherited -
optionalParameterNames
→ List<
String> -
The names of the optional positional parameters of this type of function,
not necessarily in the order that the parameters appear.
no setter
-
optionalParameterTypes
→ List<
DartType> -
A map from the names of optional (positional) parameters to the types of
the optional parameters of this type of function.
no setter
-
parameters
→ List<
ParameterElement> -
A list containing the parameters elements of this type of function.
no setter
-
positionalParameterTypes
→ List<
DartType> -
All the positional parameter types, starting with the required ones, and
followed by the optional ones.
no setterinherited
- requiredPositionalParameterCount → int
-
The number of elements of
positionalParameterTypes
that are required parameters.no setterinherited - returnType → DartType
-
The type of object returned by this type of function.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
sortedNamedParameters
→ List<
ParameterElement> -
All the named parameters, sorted by name.
no setterinherited
-
typeFormals
→ List<
TypeParameterElement> -
The formal type parameters of this generic function; for example,
<T> T -> T
.no setter -
typeParameters
→ List<
TypeParameterElement2> -
The type parameters.
no setter
Methods
-
accept<
R> (TypeVisitor< R> visitor) → R -
Use the given
visitor
to visit this type.inherited -
acceptWithArgument<
R, A> (TypeVisitorWithArgument< R, A> visitor, A argument) → R -
Use the given
visitor
to visit this type.inherited -
asInstanceOf(
InterfaceElement element) → InterfaceType? -
Return the canonical interface that this type implements for
element
, ornull
if such an interface does not exist.inherited -
asInstanceOf2(
InterfaceElement2 element) → InterfaceType? -
Return the canonical interface that this type implements for
element
, ornull
if such an interface does not exist.inherited -
getDisplayString(
{bool withNullability = true}) → String -
Return the presentation of this type as it should appear when presented
to users in contexts such as error messages.
inherited
-
instantiate(
List< DartType> argumentTypes) → FunctionType -
Produces a new function type by substituting type parameters of this
function type with the given
argumentTypes
. -
isStructurallyEqualTo(
SharedTypeStructure< DartType> other) → bool -
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
resolveToBound(
DartType objectType) → DartType -
If this type is a TypeParameterType, returns its bound if it has one, or
objectType
otherwise.inherited -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited