@@ -117,9 +117,21 @@ const _Protected protected = const _Protected();
117
117
/// corresponding to a named parameter that has this annotation.
118
118
const Required required = const Required ();
119
119
120
- /// Used to annotate a field is allowed to be overridden in Strong Mode.
120
+ /// Used to annotate a field that is allowed to be overridden in Strong Mode.
121
121
const _Virtual virtual = const _Virtual ();
122
122
123
+ /// Used to annotate an instance member that was made public so that it could be
124
+ /// overridden but that is not intended to be referenced from outside the
125
+ /// defining library.
126
+ ///
127
+ /// Tools, such as the analyzer, can provide feedback if
128
+ ///
129
+ /// * the annotation is associated with a declaration other than a public
130
+ /// instance member in a class, or
131
+ /// * the member is referenced outside of the defining library.
132
+ const _VisibleForOverriding visibleForOverriding =
133
+ const _VisibleForOverriding ();
134
+
123
135
/// Used to annotate a declaration was made public, so that it is more visible
124
136
/// than otherwise necessary, to make code testable.
125
137
///
@@ -190,6 +202,10 @@ class _Virtual {
190
202
const _Virtual ();
191
203
}
192
204
205
+ class _VisibleForOverriding {
206
+ const _VisibleForOverriding ();
207
+ }
208
+
193
209
class _VisibleForTesting {
194
210
const _VisibleForTesting ();
195
211
}
0 commit comments