| Index: pkg/meta/lib/meta.dart
|
| diff --git a/pkg/meta/lib/meta.dart b/pkg/meta/lib/meta.dart
|
| index 44f71b87890c4e777a3ba50614fe97b929ad0764..4b932780df1fac02a4111cab28cb4a37f984c7aa 100644
|
| --- a/pkg/meta/lib/meta.dart
|
| +++ b/pkg/meta/lib/meta.dart
|
| @@ -26,6 +26,28 @@ library meta;
|
| /// is a subtype of the overridden parameter type.
|
| const _Checked checked = const _Checked();
|
|
|
| +/// 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.
|
| +///
|
| +/// If the annotation is applied to a library then it is equivalent to applying
|
| +/// the annotation to all of the top-level members of the library. Applying the
|
| +/// annotation to a class does *not* apply the annotation to subclasses, but
|
| +/// does apply the annotation to members of the class.
|
| +///
|
| +/// Tools, such as the analyzer, can provide feedback if
|
| +///
|
| +/// * the annotation is associated with a declaration that is not part of the
|
| +/// public interface of a library (such as a local variable or a declaration
|
| +/// that is private) or a directive other than the first directive in the
|
| +/// library, or
|
| +/// * the declaration is referenced by a package that has not explicitly
|
| +/// indicated its intention to use experimental APIs (details TBD).
|
| +const _Experimental experimental = const _Experimental();
|
| +
|
| /// Used to annotate an instance or static method `m`. Indicates that `m` must
|
| /// either be abstract or must return a newly allocated object or `null`. In
|
| /// addition, every method that either implements or overrides `m` is implicitly
|
| @@ -138,8 +160,7 @@ const _VisibleForOverriding visibleForOverriding =
|
| /// Tools, such as the analyzer, can provide feedback if
|
| ///
|
| /// * the annotation is associated with a declaration not in the `lib` folder
|
| -/// of a package;
|
| -/// or
|
| +/// of a package, or
|
| /// * the declaration is referenced outside of its the defining library or a
|
| /// library which is in the `test` folder of the defining package.
|
| const _VisibleForTesting visibleForTesting = const _VisibleForTesting();
|
| @@ -178,6 +199,10 @@ class _Checked {
|
| const _Checked();
|
| }
|
|
|
| +class _Experimental {
|
| + const _Experimental();
|
| +}
|
| +
|
| class _Factory {
|
| const _Factory();
|
| }
|
|
|