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.dev. To learn more about using annotations, check out the Metadata documentation.

Classes

Immutable
Annotation on an immutable class.
RecordUse
Annotation on static method or class whose accesses will be recorded.
Required
Annotation on a required named parameter.
UseResult
Annotation on function or property whose value must not be ignored.

Constants

alwaysThrows → const Object
Annotation marking a function as always throwing.
awaitNotRequired → const Object
Annotation on asynchronous function whose Future can be ignored.
checked → const Object
Annotation that no longer has any effect.
doNotStore → const Object
Annotation on function or property whose value must not be stored.
doNotSubmit → const Object
Annotation marking declaration that should be removed before publishing.
experimental → const Object
Annotation marking declaration as experimental and subject to change.
factory → const Object
Annotation on a function that creates new objects.
immutable → const Immutable
Annotation on an immutable class.
internal → const Object
Annotation on declaration that should not be used outside of its package.
isTest → const Object
Annotation on a test framework function that introduces a single test.
isTestGroup → const Object
Annotation on a test framework function that introduces a group of tests.
literal → const Object
Annotation on constructor that must be invoked with const if possible.
mustBeConst → const Object
Annotation on a parameter whose arguments must be constants.
mustBeOverridden → const Object
Annotation on instance members that must be overridden by subclasses.
mustCallSuper → const Object
Annotation on instance member that overriding members must call.
nonVirtual → const Object
Annotation on instance member that must not be overridden.
optionalTypeArgs → const Object
Annotation on type arguments that can safely be omitted.
protected → const Object
Annotation on instance member that should only be used by subclasses.
redeclare → const Object
Annotation on extension type members which redeclare superinterface members.
reopen → const Object
Annotation on declaration with less access restrictions than superinterface.
required → const Required
Annotation on named parameter that should always have an argument supplied.
sealed → const Object
Annotation on class that must not be subclassed outside of its package.
useResult → const UseResult
Annotation on function or property whose value must not be ignored.
virtual → const Object
Annotation which no longer has any effect.
visibleForOverriding → const Object
Annotation on declaration that should not be used outside of its package.
visibleForTesting → const Object
Annotation on a public declaration that should only be used in tests.