OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 /// Constants for use in metadata annotations such as `@protected`. | 5 /// Constants for use in metadata annotations such as `@protected`. |
6 /// | 6 /// |
7 /// See also `@deprecated` and `@override` in the `dart:core` library. | 7 /// See also `@deprecated` and `@override` in the `dart:core` library. |
8 /// | 8 /// |
9 /// Annotations provide semantic information that tools can use to provide a | 9 /// Annotations provide semantic information that tools can use to provide a |
10 /// better user experience. For example, an IDE might not autocomplete the name | 10 /// better user experience. For example, an IDE might not autocomplete the name |
11 /// of a function that's been marked `@deprecated`, or it might display the | 11 /// of a function that's been marked `@deprecated`, or it might display the |
12 /// function's name differently. | 12 /// function's name differently. |
13 /// | 13 /// |
14 /// For information on installing and importing this library, see the | 14 /// For information on installing and importing this library, see the |
15 /// [meta package on pub.dartlang.org] (http://pub.dartlang.org/packages/meta). | 15 /// [meta package on pub.dartlang.org] (http://pub.dartlang.org/packages/meta). |
16 /// For examples of using annotations, see | 16 /// For examples of using annotations, see |
17 /// [Metadata](https://www.dartlang.org/docs/dart-up-and-running/ch02.html#metad
ata) | 17 /// [Metadata](https://www.dartlang.org/docs/dart-up-and-running/ch02.html#metad
ata) |
18 /// in the language tour. | 18 /// in the language tour. |
19 library meta; | 19 library meta; |
20 | 20 |
21 /// Used to annotate an instance member (method, getter, setter, operator, or | 21 /// Used to annotate an instance member (method, getter, setter, operator, or |
22 /// field) `m` in a class `C`. If the annotation is on a field it applies to the | 22 /// field) `m` in a class `C`. If the annotation is on a field it applies to the |
23 /// getter and setter, if appropriate, implied by the field. Indicates that `m` | 23 /// getter and setter, if appropriate, implied by the field. Indicates that `m` |
24 /// should only be invoked from instance methods of `C` or classes that extend | 24 /// should only be invoked from instance methods of `C` or classes that extend |
25 /// or mix in `C`, either directly or indirectly. Additionally indicates that | 25 /// or mix in `C`, either directly or indirectly. Additionally indicates that |
26 /// `m` should only be invoked on `this`, whether explicitly or implicitly. | 26 /// `m` should only be invoked on `this`, whether explicitly or implicitly. |
27 /// | 27 /// |
28 /// Tools, such as the analyzer, can provide feedback if an invocation of a | 28 /// Tools, such as the analyzer, can provide feedback if |
29 /// member marked as being protected is used outside of an instance member | 29 /// * the annotation is associated with anything other than an instance member, |
30 /// defined on a class that extends or mixes in the class in which the protected | 30 /// or |
31 /// member is defined, or that uses a receiver other than `this`. | 31 /// * an invocation of a member marked as being protected is used outside of an |
| 32 /// instance member defined on a class that extends or mixes in the class in |
| 33 /// which the protected member is defined, or that uses a receiver other than |
| 34 /// `this`. |
| 35 const _Protected protected = const _Protected(); |
| 36 |
| 37 /// Used to annotate a named parameter `p` in a method or function `f`. |
| 38 /// Indicates that every invocation of `f` must include an argument |
| 39 /// corresponding to `p`, despite the fact that `p` would otherwise be an |
| 40 /// optional parameter. |
32 /// | 41 /// |
33 /// Tools can also provide feedback if the annotation is used on anything other | 42 /// Tools, such as the analyzer, can provide feedback if |
34 /// than an instance member. | 43 /// * the annotation is associated with anything other than a named parameter, |
35 const _Protected protected = const _Protected(); | 44 /// or |
| 45 /// * an invocation of a method or function does not include an argument |
| 46 /// corresponding to a named parameter that has this annotation. |
| 47 const _Required required = const _Required(); |
36 | 48 |
37 class _Protected { | 49 class _Protected { |
38 const _Protected(); | 50 const _Protected(); |
39 } | 51 } |
| 52 |
| 53 class _Required { |
| 54 const _Required(); |
| 55 } |
OLD | NEW |