Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(248)

Side by Side Diff: pkg/meta/lib/meta.dart

Issue 1728273003: Add the @required annotation (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698