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 /** | 5 /// Constants for use in metadata annotations such as `@protected`. |
6 * Constants for use in metadata annotations such as `@protected`. | 6 /// |
7 * | 7 /// See also `@deprecated` and `@override` in the `dart:core` library. |
8 * See also `@deprecated` and `@override` in the `dart:core` library. | 8 /// |
9 * | 9 /// Annotations provide semantic information that tools can use to provide a |
10 * Annotations provide semantic information | 10 /// better user experience. For example, an IDE might not autocomplete the name |
11 * that tools can use to provide a better user experience. | 11 /// of a function that's been marked `@deprecated`, or it might display the |
12 * For example, an IDE might not autocomplete | 12 /// function's name differently. |
13 * the name of a function that's been marked `@deprecated`, | 13 /// |
14 * or it might display the function's name differently. | 14 /// For information on installing and importing this library, see the |
15 * | 15 /// [meta package on pub.dartlang.org] (http://pub.dartlang.org/packages/meta). |
16 * For information on installing and importing this library, see the | 16 /// For examples of using annotations, see |
17 * [meta package on pub.dartlang.org] | 17 /// [Metadata](https://www.dartlang.org/docs/dart-up-and-running/ch02.html#metad
ata) |
18 * (http://pub.dartlang.org/packages/meta). | 18 /// in the language tour. |
19 * For examples of using annotations, see | |
20 * [Metadata](https://www.dartlang.org/docs/dart-up-and-running/ch02.html#metada
ta) | |
21 * in the language tour. | |
22 */ | |
23 library meta; | 19 library meta; |
| 20 |
| 21 /// Used to annotate an instance method `m` in a class `C`. Indicates that `m` |
| 22 /// should only be invoked from instance methods of `C` or classes that extend |
| 23 /// or mix in `C`, either directly or indirectly. Additionally indicates that |
| 24 /// `m` should only be invoked on `this`, whether explicitly or implicitly. |
| 25 /// |
| 26 /// Tools, such as the analyzer, can provide feedback if an invocation of a |
| 27 /// method marked as being protected is used outside of an instance method |
| 28 /// defined on a class that extends or mixes in the class in which the protected |
| 29 /// method is defined, or that uses a receiver other than `this`. |
| 30 const _Protected protected = const _Protected(); |
| 31 |
| 32 class _Protected { |
| 33 const _Protected(); |
| 34 } |
OLD | NEW |