meta library
Annotations that developers can use to express the intentions that otherwise can't be deduced by statically analyzing the source code.
See also @deprecated
and @override
in the dart:core
library.
Annotations provide semantic information that tools can use to provide a
better user experience. For example, an IDE might not autocomplete the name
of a function that's been marked @deprecated
, or it might display the
function's name differently.
For information on installing and importing this library, see the meta package on pub-web.flutter-io.cn. To learn more about using annotations, check out the Metadata documentation.
Classes
- Immutable
- Used to annotate a class.
- Required
-
Used to annotate a named parameter
p
in a method or functionf
. - ResourceIdentifier
- Annotate a static method for collection.
- UseResult
- See useResult for more details.
Constants
- alwaysThrows → const _AlwaysThrows
-
Used to annotate a function
f
. Indicates thatf
always throws an exception. Any functions that overridef
, in class inheritance, are also expected to conform to this contract. - checked → const _Checked
- Used to annotate a parameter of an instance method that overrides another method.
- doNotStore → const _DoNotStore
-
Used to annotate a method, getter or top-level getter or function to
indicate that the value obtained by invoking it should not be stored in a
field or top-level variable. The annotation can also be applied to a class
to implicitly annotate all of the valid members of the class, or applied to
a library to annotate all of the valid members of the library, including
classes. If a value returned by an element marked as
doNotStore
is returned from a function or getter, that function or getter should be similarly annotated. - experimental → const _Experimental
- Used to annotate a library, or any declaration that is part of the public interface of a library (such as top-level members, class members, and function parameters) to indicate that the annotated API is experimental and may be removed or changed at any-time without updating the version of the containing package, despite the fact that it would otherwise be a breaking change.
- factory → const _Factory
-
Used to annotate an instance or static method
m
. Indicates thatm
must either be abstract or must return a newly allocated object ornull
. In addition, every method that either implements or overridesm
is implicitly annotated with this same annotation. - immutable → const Immutable
-
Used to annotate a class
C
. Indicates thatC
and all subtypes ofC
must be immutable. - internal → const _Internal
- Used to annotate a declaration which should only be used from within the package in which it is declared, and which should not be exposed from said package's public API.
- isTest → const _IsTest
- Used to annotate a test framework function that runs a single test.
- isTestGroup → const _IsTestGroup
- Used to annotate a test framework function that runs a group of tests.
- literal → const _Literal
-
Used to annotate a const constructor
c
. Indicates that any invocation of the constructor must use the keywordconst
unless one or more of the arguments to the constructor is not a compile-time constant. - mustBeOverridden → const _MustBeOverridden
-
Used to annotate an instance member
m
declared on a class or mixinC
. Indicates that every subclass ofC
, concrete or abstract, must directly overridem
. - mustCallSuper → const _MustCallSuper
-
Used to annotate an instance member (method, getter, setter, operator, or
field)
m
. Indicates that every invocation of a member that overridesm
must also invokem
. In addition, every method that overridesm
is implicitly annotated with this same annotation. - nonVirtual → const _NonVirtual
-
Used to annotate an instance member (method, getter, setter, operator, or
field)
m
in a classC
or mixinM
. Indicates thatm
should not be overridden in any classes that extend or mixinC
orM
. - optionalTypeArgs → const _OptionalTypeArgs
-
Used to annotate a class, mixin, extension, function, method, or typedef
declaration
C
. Indicates that any type arguments declared onC
are to be treated as optional. - protected → const _Protected
- Used to annotate an instance member in a class or mixin which is meant to be visible only within the declaring library, and to other instance members of the class or mixin, and their subtypes.
- redeclare → const _Redeclare
- Used to annotate an instance member of an extension type that redeclares a member from a superinterface.
- reopen → const _Reopen
-
Annotation for intentionally loosening restrictions on subtyping that would
otherwise cause lint warnings to be produced by the
implicit_reopen
lint. - required → const Required
-
Used to annotate a named parameter
p
in a method or functionf
. Indicates that every invocation off
must include an argument corresponding top
, despite the fact thatp
would otherwise be an optional parameter. - sealed → const _Sealed
- Annotation marking a class as not allowed as a super-type outside of the current package.
- useResult → const UseResult
- Used to annotate a method, field, or getter within a class, mixin, or extension, or a or top-level getter, variable or function to indicate that the value obtained by invoking it should be used. A value is considered used if it is assigned to a variable, passed to a function, or used as the target of an invocation, or invoked (if the result is itself a function).
- virtual → const _Virtual
- Used to annotate a field that is allowed to be overridden in Strong Mode.
- visibleForOverriding → const _VisibleForOverriding
- Used to annotate an instance member that was made public so that it could be overridden but that is not intended to be referenced from outside the defining library.
- visibleForTesting → const _VisibleForTesting
- Used to annotate a declaration that was made public, so that it is more visible than otherwise necessary, to make code testable.