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

Unified Diff: pkg/compiler/lib/src/resolution/semantic_visitor.dart

Issue 1262363003: Handle super index SendSet operations. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments. Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/resolution/semantic_visitor.dart
diff --git a/pkg/compiler/lib/src/resolution/semantic_visitor.dart b/pkg/compiler/lib/src/resolution/semantic_visitor.dart
index 342cf333713a23ab4f81577009f2331607ea8555..d54b68aec8bfd0e095c1df4a4f3145abb3a26aab 100644
--- a/pkg/compiler/lib/src/resolution/semantic_visitor.dart
+++ b/pkg/compiler/lib/src/resolution/semantic_visitor.dart
@@ -141,6 +141,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Read of the [parameter].
///
/// For instance:
+ ///
/// m(parameter) => parameter;
///
R visitParameterGet(
@@ -151,6 +152,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the [parameter].
///
/// For instance:
+ ///
/// m(parameter) {
/// parameter = rhs;
/// }
@@ -164,6 +166,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the final [parameter].
///
/// For instance:
+ ///
/// m(final parameter) {
/// parameter = rhs;
/// }
@@ -177,6 +180,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the [parameter] with [arguments].
///
/// For instance:
+ ///
/// m(parameter) {
/// parameter(null, 42);
/// }
@@ -191,6 +195,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Read of the local [variable].
///
/// For instance:
+ ///
/// m() {
/// var variable;
/// return variable;
@@ -204,6 +209,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the local [variable].
///
/// For instance:
+ ///
/// m() {
/// var variable;
/// variable = rhs;
@@ -218,6 +224,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the final local [variable].
///
/// For instance:
+ ///
/// m() {
/// final variable = null;
/// variable = rhs;
@@ -232,6 +239,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the local variable [variable] with [arguments].
///
/// For instance:
+ ///
/// m() {
/// var variable;
/// variable(null, 42);
@@ -247,6 +255,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Closurization of the local [function].
///
/// For instance:
+ ///
/// m() {
/// o(a, b) {}
/// return o;
@@ -260,6 +269,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the local [function].
///
/// For instance:
+ ///
/// m() {
/// o(a, b) {}
/// o = rhs;
@@ -274,6 +284,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the local [function] with [arguments].
///
/// For instance:
+ ///
/// m() {
/// o(a, b) {}
/// return o(null, 42);
@@ -289,6 +300,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the local [function] with incompatible [arguments].
///
/// For instance:
+ ///
/// m() {
/// o(a) {}
/// return o(null, 42);
@@ -303,7 +315,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Getter call on [receiver] of the property defined by [selector].
///
- /// For instance
+ /// For instance:
+ ///
/// m(receiver) => receiver.foo;
///
R visitDynamicPropertyGet(
@@ -315,7 +328,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Conditional (if not null) getter call on [receiver] of the property
/// defined by [selector].
///
- /// For instance
+ /// For instance:
+ ///
/// m(receiver) => receiver?.foo;
///
R visitIfNotNullDynamicPropertyGet(
@@ -327,7 +341,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Setter call on [receiver] with argument [rhs] of the property defined by
/// [selector].
///
- /// For instance
+ /// For instance:
+ ///
/// m(receiver) {
/// receiver.foo = rhs;
/// }
@@ -342,7 +357,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Conditional (if not null) setter call on [receiver] with argument [rhs] of
/// the property defined by [selector].
///
- /// For instance
+ /// For instance:
+ ///
/// m(receiver) {
/// receiver?.foo = rhs;
/// }
@@ -357,7 +373,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the property defined by [selector] on [receiver] with
/// [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// m(receiver) {
/// receiver.foo(null, 42);
/// }
@@ -372,7 +389,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Conditinal invocation of the property defined by [selector] on [receiver]
/// with [arguments], if [receiver] is not null.
///
- /// For instance
+ /// For instance:
+ ///
/// m(receiver) {
/// receiver?.foo(null, 42);
/// }
@@ -386,7 +404,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Getter call on `this` of the property defined by [selector].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// m() => this.foo;
/// }
@@ -404,6 +423,9 @@ abstract class SemanticSendVisitor<R, A> {
/// Setter call on `this` with argument [rhs] of the property defined by
/// [selector].
+ ///
+ /// For instance:
+ ///
/// class C {
/// m() { this.foo = rhs; }
/// }
@@ -423,7 +445,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the property defined by [selector] on `this` with
/// [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// m() { this.foo(null, 42); }
/// }
@@ -443,7 +466,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Read of `this`.
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// m() => this;
/// }
@@ -454,7 +478,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of `this` with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// m() => this(null, 42);
/// }
@@ -468,7 +493,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Read of the super [field].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// var foo;
/// }
@@ -483,7 +509,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the super [field].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// var foo;
/// }
@@ -499,7 +526,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the final static [field].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// final foo = null;
/// }
@@ -515,7 +543,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the super [field] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// var foo;
/// }
@@ -532,7 +561,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Closurization of the super [method].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// foo(a, b) {}
/// }
@@ -547,7 +577,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the super [method] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// foo(a, b) {}
/// }
@@ -564,7 +595,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the super [method] with incompatible [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// foo(a, b) {}
/// }
@@ -581,7 +613,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the super [method].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// foo(a, b) {}
/// }
@@ -597,7 +630,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Getter call to the super [getter].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// get foo => null;
/// }
@@ -612,7 +646,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Getter call the super [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// set foo(_) {}
/// }
@@ -627,7 +662,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Setter call to the super [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// set foo(_) {}
/// }
@@ -643,7 +679,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the super [getter].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// get foo => null;
/// }
@@ -659,7 +696,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the super [getter] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// get foo => null;
/// }
@@ -676,7 +714,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the super [setter] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// set foo(_) {}
/// }
@@ -693,7 +732,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of a [expression] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// m() => (a, b){}(null, 42);
///
R visitExpressionInvoke(
@@ -705,7 +745,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Read of the static [field].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static var foo;
/// }
@@ -718,7 +759,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the static [field].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static var foo;
/// }
@@ -732,7 +774,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the final static [field].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static final foo;
/// }
@@ -746,7 +789,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the static [field] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static var foo;
/// }
@@ -761,7 +805,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Closurization of the static [function].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static foo(a, b) {}
/// }
@@ -774,7 +819,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the static [function] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static foo(a, b) {}
/// }
@@ -789,7 +835,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the static [function] with incompatible [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static foo(a, b) {}
/// }
@@ -804,7 +851,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the static [function].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static foo(a, b) {}
/// }
@@ -818,7 +866,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Getter call to the static [getter].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static get foo => null;
/// }
@@ -831,7 +880,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Getter call the static [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static set foo(_) {}
/// }
@@ -844,7 +894,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Setter call to the static [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static set foo(_) {}
/// }
@@ -858,7 +909,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the static [getter].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static get foo => null;
/// }
@@ -872,7 +924,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the static [getter] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static get foo => null;
/// }
@@ -887,7 +940,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the static [setter] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static set foo(_) {}
/// }
@@ -902,7 +956,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Read of the top level [field].
///
- /// For instance
+ /// For instance:
+ ///
/// var foo;
/// m() => foo;
///
@@ -913,7 +968,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the top level [field].
///
- /// For instance
+ /// For instance:
+ ///
/// var foo;
/// m() { foo = rhs; }
///
@@ -925,7 +981,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the final top level [field].
///
- /// For instance
+ /// For instance:
+ ///
/// final foo = null;
/// m() { foo = rhs; }
///
@@ -937,7 +994,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the top level [field] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// var foo;
/// m() { foo(null, 42); }
///
@@ -950,7 +1008,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Closurization of the top level [function].
///
- /// For instance
+ /// For instance:
+ ///
/// foo(a, b) {};
/// m() => foo;
///
@@ -961,7 +1020,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the top level [function] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// foo(a, b) {};
/// m() { foo(null, 42); }
///
@@ -974,7 +1034,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the top level [function] with incompatible [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static foo(a, b) {}
/// }
@@ -989,7 +1050,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the top level [function].
///
- /// For instance
+ /// For instance:
+ ///
/// foo(a, b) {};
/// m() { foo = rhs; }
///
@@ -1001,7 +1063,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Getter call to the top level [getter].
///
- /// For instance
+ /// For instance:
+ ///
/// get foo => null;
/// m() => foo;
///
@@ -1012,7 +1075,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Getter call the top level [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// set foo(_) {}
/// m() => foo;
///
@@ -1023,7 +1087,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Setter call to the top level [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// set foo(_) {}
/// m() { foo = rhs; }
///
@@ -1035,7 +1100,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the top level [getter].
///
- /// For instance
+ /// For instance:
+ ///
/// get foo => null;
/// m() { foo = rhs; }
///
@@ -1047,7 +1113,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the top level [getter] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// get foo => null;
/// m() { foo(null, 42); }
///
@@ -1060,7 +1127,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the top level [setter] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// set foo(_) {};
/// m() { foo(null, 42); }
///
@@ -1073,7 +1141,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Read of the type literal for class [element].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {}
/// m() => C;
///
@@ -1084,7 +1153,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the type literal for class [element] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {}
/// m() => C(null, 42);
///
@@ -1097,7 +1167,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the type literal for class [element].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {}
/// m() { C = rhs; }
///
@@ -1109,7 +1180,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Read of the type literal for typedef [element].
///
- /// For instance
+ /// For instance:
+ ///
/// typedef F();
/// m() => F;
///
@@ -1120,7 +1192,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the type literal for typedef [element] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// typedef F();
/// m() => F(null, 42);
///
@@ -1133,7 +1206,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the type literal for typedef [element].
///
- /// For instance
+ /// For instance:
+ ///
/// typedef F();
/// m() { F = rhs; }
///
@@ -1145,7 +1219,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Read of the type literal for type variable [element].
///
- /// For instance
+ /// For instance:
+ ///
/// class C<T> {
/// m() => T;
/// }
@@ -1158,7 +1233,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the type literal for type variable [element] with
/// [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class C<T> {
/// m() { T(null, 42); }
/// }
@@ -1172,7 +1248,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the type literal for type variable [element].
///
- /// For instance
+ /// For instance:
+ ///
/// class C<T> {
/// m() { T = rhs; }
/// }
@@ -1185,7 +1262,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Read of the type literal for `dynamic`.
///
- /// For instance
+ /// For instance:
+ ///
/// m() => dynamic;
///
R visitDynamicTypeLiteralGet(
@@ -1195,7 +1273,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the type literal for `dynamic` with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// m() { dynamic(null, 42); }
///
R visitDynamicTypeLiteralInvoke(
@@ -1207,7 +1286,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the type literal for `dynamic`.
///
- /// For instance
+ /// For instance:
+ ///
/// m() { dynamic = rhs; }
///
R visitDynamicTypeLiteralSet(
@@ -1219,6 +1299,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Call to `assert` with [expression] as the condition.
///
/// For instance:
+ ///
/// m() { assert(expression); }
///
R visitAssert(
@@ -1229,8 +1310,11 @@ abstract class SemanticSendVisitor<R, A> {
/// Call to `assert` with the wrong number of [arguments].
///
/// For instance:
+ ///
/// m() { assert(); }
+ ///
/// or
+ ///
/// m() { assert(expression1, expression2); }
///
R errorInvalidAssert(
@@ -1243,6 +1327,7 @@ abstract class SemanticSendVisitor<R, A> {
/// by [visitEquals] and index operations `a[b]` are handled by [visitIndex].
///
/// For instance:
+ ///
/// add(a, b) => a + b;
/// sub(a, b) => a - b;
/// mul(a, b) => a * b;
@@ -1259,6 +1344,7 @@ abstract class SemanticSendVisitor<R, A> {
/// expressions using operator `==` are handled by [visitSuperEquals].
///
/// For instance:
+ ///
/// class B {
/// operator +(_) => null;
/// }
@@ -1275,7 +1361,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Binary operation on the unresolved super [element].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// }
/// class C extends B {
@@ -1292,6 +1379,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Index expression `receiver[index]`.
///
/// For instance:
+ ///
/// lookup(a, b) => a[b];
///
R visitIndex(
@@ -1304,6 +1392,7 @@ abstract class SemanticSendVisitor<R, A> {
/// the operation is defined by [operator].
///
/// For instance:
+ ///
/// lookup(a, b) => --a[b];
///
R visitIndexPrefix(
@@ -1317,6 +1406,7 @@ abstract class SemanticSendVisitor<R, A> {
/// the operation is defined by [operator].
///
/// For instance:
+ ///
/// lookup(a, b) => a[b]++;
///
R visitIndexPostfix(
@@ -1330,6 +1420,7 @@ abstract class SemanticSendVisitor<R, A> {
/// superclass by [function].
///
/// For instance:
+ ///
/// class B {
/// operator [](_) => null;
/// }
@@ -1346,6 +1437,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Index expression `super[index]` where 'operator []' is unresolved.
///
/// For instance:
+ ///
/// class B {}
/// class C extends B {
/// m(a) => super[a];
@@ -1363,6 +1455,7 @@ abstract class SemanticSendVisitor<R, A> {
/// is defined by [operator].
///
/// For instance:
+ ///
/// class B {
/// operator [](_) => null;
/// operator []=(a, b) {}
@@ -1385,6 +1478,7 @@ abstract class SemanticSendVisitor<R, A> {
/// is defined by [operator].
///
/// For instance:
+ ///
/// class B {
/// operator [](_) => null;
/// operator []=(a, b) {}
@@ -1406,6 +1500,7 @@ abstract class SemanticSendVisitor<R, A> {
/// the operation is defined by [operator].
///
/// For instance:
+ ///
/// class B {
/// operator []=(a, b) {}
/// }
@@ -1426,6 +1521,7 @@ abstract class SemanticSendVisitor<R, A> {
/// the operation is defined by [operator].
///
/// For instance:
+ ///
/// class B {
/// operator []=(a, b) {}
/// }
@@ -1446,6 +1542,7 @@ abstract class SemanticSendVisitor<R, A> {
/// 'operator []=' is unresolved and the operation is defined by [operator].
///
/// For instance:
+ ///
/// class B {
/// operator [](_) => 42;
/// }
@@ -1466,6 +1563,7 @@ abstract class SemanticSendVisitor<R, A> {
/// 'operator []=' is unresolved and the operation is defined by [operator].
///
/// For instance:
+ ///
/// class B {
/// operator [](_) => 42;
/// }
@@ -1486,6 +1584,7 @@ abstract class SemanticSendVisitor<R, A> {
/// defined by [operator].
///
/// For instance:
+ ///
/// class B {
/// operator [](_) => 42;
/// }
@@ -1505,6 +1604,7 @@ abstract class SemanticSendVisitor<R, A> {
/// defined by [operator].
///
/// For instance:
+ ///
/// class B {
/// operator [](_) => 42;
/// }
@@ -1522,6 +1622,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Binary expression `left == right`.
///
/// For instance:
+ ///
/// neq(a, b) => a != b;
///
R visitNotEquals(
@@ -1534,6 +1635,7 @@ abstract class SemanticSendVisitor<R, A> {
/// superclass by [function].
///
/// For instance:
+ ///
/// class B {
/// operator +(_) => null;
/// }
@@ -1550,6 +1652,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Binary expression `left == right`.
///
/// For instance:
+ ///
/// eq(a, b) => a == b;
///
R visitEquals(
@@ -1562,6 +1665,7 @@ abstract class SemanticSendVisitor<R, A> {
/// superclass by [function].
///
/// For instance:
+ ///
/// class B {
/// operator ==(_) => null;
/// }
@@ -1579,6 +1683,7 @@ abstract class SemanticSendVisitor<R, A> {
/// definable operator.
///
/// For instance:
+ ///
/// neg(a, b) => -a;
/// comp(a, b) => ~a;
///
@@ -1592,6 +1697,7 @@ abstract class SemanticSendVisitor<R, A> {
/// operator implemented on a superclass by [function].
///
/// For instance:
+ ///
/// class B {
/// operator -() => null;
/// }
@@ -1607,7 +1713,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Unary operation on the unresolved super [element].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// }
/// class C extends B {
@@ -1623,6 +1730,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Unary expression `!expression`.
///
/// For instance:
+ ///
/// not(a) => !a;
///
R visitNot(
@@ -1633,6 +1741,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Index set expression `receiver[index] = rhs`.
///
/// For instance:
+ ///
/// m(receiver, index, rhs) => receiver[index] = rhs;
///
R visitIndexSet(
@@ -1646,6 +1755,7 @@ abstract class SemanticSendVisitor<R, A> {
/// on a superclass by [function].
///
/// For instance:
+ ///
/// class B {
/// operator []=(a, b) {}
/// }
@@ -1663,7 +1773,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Index set expression `super[index] = rhs` where `operator []=` is
/// undefined.
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// }
/// class C extends B {
@@ -1679,7 +1790,8 @@ abstract class SemanticSendVisitor<R, A> {
/// If-null, ??, expression with operands [left] and [right].
///
- /// For instance
+ /// For instance:
+ ///
/// m() => left ?? right;
///
R visitIfNull(
@@ -1690,7 +1802,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Logical and, &&, expression with operands [left] and [right].
///
- /// For instance
+ /// For instance:
+ ///
/// m() => left && right;
///
R visitLogicalAnd(
@@ -1701,7 +1814,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Logical or, ||, expression with operands [left] and [right].
///
- /// For instance
+ /// For instance:
+ ///
/// m() => left || right;
///
R visitLogicalOr(
@@ -1712,7 +1826,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Is test of [expression] against [type].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {}
/// m() => expression is C;
///
@@ -1724,7 +1839,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Is not test of [expression] against [type].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {}
/// m() => expression is! C;
///
@@ -1736,7 +1852,8 @@ abstract class SemanticSendVisitor<R, A> {
/// As cast of [expression] to [type].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {}
/// m() => expression as C;
///
@@ -1751,6 +1868,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [setterSelector], respectively.
///
/// For instance:
+ ///
/// m(receiver, rhs) => receiver.foo += rhs;
///
R visitDynamicPropertyCompound(
@@ -1767,6 +1885,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [getterSelector] and [setterSelector], respectively.
///
/// For instance:
+ ///
/// m(receiver, rhs) => receiver?.foo += rhs;
///
R visitIfNotNullDynamicPropertyCompound(
@@ -1783,10 +1902,13 @@ abstract class SemanticSendVisitor<R, A> {
/// [setterSelector], respectively.
///
/// For instance:
+ ///
/// class C {
/// m(rhs) => this.foo += rhs;
/// }
+ ///
/// or
+ ///
/// class C {
/// m(rhs) => foo += rhs;
/// }
@@ -1802,6 +1924,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Compound assignment expression of [rhs] with [operator] on a [parameter].
///
/// For instance:
+ ///
/// m(parameter, rhs) => parameter += rhs;
///
R visitParameterCompound(
@@ -1815,6 +1938,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [parameter].
///
/// For instance:
+ ///
/// m(final parameter, rhs) => parameter += rhs;
///
R visitFinalParameterCompound(
@@ -1828,6 +1952,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [variable].
///
/// For instance:
+ ///
/// m(rhs) {
/// var variable;
/// variable += rhs;
@@ -1844,6 +1969,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [variable].
///
/// For instance:
+ ///
/// m(rhs) {
/// final variable = 0;
/// variable += rhs;
@@ -1860,6 +1986,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [function].
///
/// For instance:
+ ///
/// m(rhs) {
/// function() {}
/// function += rhs;
@@ -1876,6 +2003,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [field].
///
/// For instance:
+ ///
/// class C {
/// static var field;
/// m(rhs) => field += rhs;
@@ -1892,6 +2020,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [field].
///
/// For instance:
+ ///
/// class C {
/// static final field = 0;
/// m(rhs) => field += rhs;
@@ -1908,6 +2037,7 @@ abstract class SemanticSendVisitor<R, A> {
/// static [getter] and writing to a static [setter].
///
/// For instance:
+ ///
/// class C {
/// static get o => 0;
/// static set o(_) {}
@@ -1927,6 +2057,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [setter].
///
/// For instance:
+ ///
/// class C {
/// static o() {}
/// static set o(_) {}
@@ -1945,6 +2076,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [field].
///
/// For instance:
+ ///
/// var field;
/// m(rhs) => field += rhs;
///
@@ -1959,6 +2091,7 @@ abstract class SemanticSendVisitor<R, A> {
/// level [field].
///
/// For instance:
+ ///
/// final field = 0;
/// m(rhs) => field += rhs;
///
@@ -1973,6 +2106,7 @@ abstract class SemanticSendVisitor<R, A> {
/// top level [getter] and writing to a top level [setter].
///
/// For instance:
+ ///
/// get o => 0;
/// set o(_) {}
/// m(rhs) => o += rhs;
@@ -1990,6 +2124,7 @@ abstract class SemanticSendVisitor<R, A> {
/// level [setter].
///
/// For instance:
+ ///
/// o() {}
/// set o(_) {}
/// m(rhs) => o += rhs;
@@ -2007,6 +2142,7 @@ abstract class SemanticSendVisitor<R, A> {
/// unresolved setter.
///
/// For instance:
+ ///
/// o() {}
/// m(rhs) => o += rhs;
///
@@ -2021,6 +2157,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [field].
///
/// For instance:
+ ///
/// class B {
/// var field;
/// }
@@ -2039,6 +2176,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [field].
///
/// For instance:
+ ///
/// class B {
/// final field = 42;
/// }
@@ -2056,6 +2194,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] on a final super [field].
///
/// For instance:
+ ///
/// class B {
/// final field = 42;
/// }
@@ -2072,6 +2211,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] on an unresolved super property.
///
/// For instance:
+ ///
/// class B {
/// }
/// class C extends B {
@@ -2087,6 +2227,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix expression with [operator] on an unresolved super property.
///
/// For instance:
+ ///
/// class B {
/// }
/// class C extends B {
@@ -2103,6 +2244,7 @@ abstract class SemanticSendVisitor<R, A> {
/// super property.
///
/// For instance:
+ ///
/// class B {
/// }
/// class C extends B {
@@ -2119,6 +2261,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix expression with [operator] on a final super [field].
///
/// For instance:
+ ///
/// class B {
/// final field = 42;
/// }
@@ -2137,6 +2280,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [writtenField].
///
/// For instance:
+ ///
/// class A {
/// var field;
/// }
@@ -2159,6 +2303,7 @@ abstract class SemanticSendVisitor<R, A> {
/// super [getter] and writing to a super [setter].
///
/// For instance:
+ ///
/// class B {
/// get o => 0;
/// set o(_) {}
@@ -2180,6 +2325,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [setter].
///
/// For instance:
+ ///
/// class B {
/// o() {}
/// set o(_) {}
@@ -2200,6 +2346,7 @@ abstract class SemanticSendVisitor<R, A> {
/// closurized super [method] and trying to invoke the non-existing setter.
///
/// For instance:
+ ///
/// class B {
/// o() {}
/// }
@@ -2217,7 +2364,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Compound assignment expression of [rhs] with [operator] reading from the
/// non-existing super getter and writing to a super [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// set o(_) {}
/// }
@@ -2236,7 +2384,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Compound assignment expression of [rhs] with [operator] reading from a
/// super [getter] and writing to the non-existing super setter.
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// get o => 42;
/// }
@@ -2256,6 +2405,7 @@ abstract class SemanticSendVisitor<R, A> {
/// super [field] and writing to a super [setter].
///
/// For instance:
+ ///
/// class A {
/// var o;
/// }
@@ -2278,6 +2428,7 @@ abstract class SemanticSendVisitor<R, A> {
/// super [getter] and writing to a super [field].
///
/// For instance:
+ ///
/// class A {
/// var o;
/// }
@@ -2300,6 +2451,7 @@ abstract class SemanticSendVisitor<R, A> {
/// for class [element].
///
/// For instance:
+ ///
/// class C {}
/// m(rhs) => C += rhs;
///
@@ -2314,6 +2466,7 @@ abstract class SemanticSendVisitor<R, A> {
/// for typedef [element].
///
/// For instance:
+ ///
/// typedef F();
/// m(rhs) => F += rhs;
///
@@ -2328,6 +2481,7 @@ abstract class SemanticSendVisitor<R, A> {
/// for type variable [element].
///
/// For instance:
+ ///
/// class C<T> {
/// m(rhs) => T += rhs;
/// }
@@ -2343,6 +2497,7 @@ abstract class SemanticSendVisitor<R, A> {
/// literal for `dynamic`.
///
/// For instance:
+ ///
/// m(rhs) => dynamic += rhs;
///
R visitDynamicTypeLiteralCompound(
@@ -2357,6 +2512,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [getterSelector] and [setterSelector], respectively.
///
/// For instance:
+ ///
/// m(receiver, index, rhs) => receiver[index] += rhs;
///
R visitCompoundIndexSet(
@@ -2371,6 +2527,7 @@ abstract class SemanticSendVisitor<R, A> {
/// operators of a super class defined by [getter] and [setter].
///
/// For instance:
+ ///
/// class B {
/// operator [](index) {}
/// operator [](index, value) {}
@@ -2392,7 +2549,8 @@ abstract class SemanticSendVisitor<R, A> {
/// super class where the index getter is undefined and the index setter is
/// defined by [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// }
/// class C extends B {
@@ -2412,7 +2570,8 @@ abstract class SemanticSendVisitor<R, A> {
/// super class where the index getter is defined by [getter] but the index
/// setter is undefined.
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// operator [](index) => 42;
/// }
@@ -2432,7 +2591,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Compound index assignment of [rhs] with [operator] to [index] on a super
/// super class where the index getter and setter are undefined.
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// }
/// class C extends B {
@@ -2452,6 +2612,7 @@ abstract class SemanticSendVisitor<R, A> {
/// respectively.
///
/// For instance:
+ ///
/// m(receiver) => ++receiver.foo;
///
R visitDynamicPropertyPrefix(
@@ -2467,6 +2628,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [setterSelector], respectively.
///
/// For instance:
+ ///
/// m(receiver) => ++receiver?.foo;
///
R visitIfNotNullDynamicPropertyPrefix(
@@ -2480,6 +2642,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] on a [parameter].
///
/// For instance:
+ ///
/// m(parameter) => ++parameter;
///
R visitParameterPrefix(
@@ -2491,6 +2654,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] on a final [parameter].
///
/// For instance:
+ ///
/// m(final parameter) => ++parameter;
///
R visitFinalParameterPrefix(
@@ -2502,9 +2666,10 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] on a local [variable].
///
/// For instance:
+ ///
/// m() {
- /// var variable;
- /// ++variable;
+ /// var variable;
+ /// ++variable;
/// }
///
R visitLocalVariablePrefix(
@@ -2516,9 +2681,10 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] on a final local [variable].
///
/// For instance:
+ ///
/// m() {
- /// final variable;
- /// ++variable;
+ /// final variable;
+ /// ++variable;
/// }
///
R visitFinalLocalVariablePrefix(
@@ -2530,9 +2696,10 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] on a local [function].
///
/// For instance:
+ ///
/// m() {
- /// function() {}
- /// ++function;
+ /// function() {}
+ /// ++function;
/// }
///
R visitLocalFunctionPrefix(
@@ -2547,10 +2714,13 @@ abstract class SemanticSendVisitor<R, A> {
/// respectively.
///
/// For instance:
+ ///
/// class C {
/// m() => ++foo;
/// }
+ ///
/// or
+ ///
/// class C {
/// m() => ++this.foo;
/// }
@@ -2565,6 +2735,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] on a static [field].
///
/// For instance:
+ ///
/// class C {
/// static var field;
/// m() => ++field;
@@ -2579,6 +2750,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] on a final static [field].
///
/// For instance:
+ ///
/// class C {
/// static final field = 42;
/// m() => ++field;
@@ -2594,6 +2766,7 @@ abstract class SemanticSendVisitor<R, A> {
/// writing to a static [setter].
///
/// For instance:
+ ///
/// class C {
/// static get o => 0;
/// static set o(_) {}
@@ -2612,6 +2785,7 @@ abstract class SemanticSendVisitor<R, A> {
/// closurizing [method], and writing to a static [setter].
///
/// For instance:
+ ///
/// class C {
/// static o() {}
/// static set o(_) {}
@@ -2628,6 +2802,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] on a top level [field].
///
/// For instance:
+ ///
/// var field;
/// m() => ++field;
///
@@ -2640,6 +2815,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] on a final top level [field].
///
/// For instance:
+ ///
/// final field;
/// m() => ++field;
///
@@ -2653,6 +2829,7 @@ abstract class SemanticSendVisitor<R, A> {
/// writing to a top level [setter].
///
/// For instance:
+ ///
/// get o => 0;
/// set o(_) {}
/// m() => ++o;
@@ -2668,6 +2845,7 @@ abstract class SemanticSendVisitor<R, A> {
/// is, closurizing [method], and writing to a top level [setter].
///
/// For instance:
+ ///
/// o() {}
/// set o(_) {}
/// m() => ++o;
@@ -2682,6 +2860,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] on a super [field].
///
/// For instance:
+ ///
/// class B {
/// var field;
/// }
@@ -2699,6 +2878,7 @@ abstract class SemanticSendVisitor<R, A> {
/// and writing to the different super field [writtenField].
///
/// For instance:
+ ///
/// class A {
/// var field;
/// }
@@ -2720,6 +2900,7 @@ abstract class SemanticSendVisitor<R, A> {
/// to a super [setter].
///
/// For instance:
+ ///
/// class A {
/// var field;
/// }
@@ -2742,6 +2923,7 @@ abstract class SemanticSendVisitor<R, A> {
/// writing to a super [setter].
///
/// For instance:
+ ///
/// class B {
/// get field => 0;
/// set field(_) {}
@@ -2761,6 +2943,7 @@ abstract class SemanticSendVisitor<R, A> {
/// writing to a super [field].
///
/// For instance:
+ ///
/// class A {
/// var field;
/// }
@@ -2782,6 +2965,7 @@ abstract class SemanticSendVisitor<R, A> {
/// closurizing [method], and writing to a super [setter].
///
/// For instance:
+ ///
/// class B {
/// o() {}
/// set o(_) {}
@@ -2801,6 +2985,7 @@ abstract class SemanticSendVisitor<R, A> {
/// closurizing [method], and writing to an unresolved super setter.
///
/// For instance:
+ ///
/// class B {
/// o() {}
/// set o(_) {}
@@ -2818,7 +3003,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] reading from an unresolved super getter
/// and writing to a super [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// set o(_) {}
/// }
@@ -2837,7 +3023,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] reading from a super [getter] and
/// writing to an unresolved super setter.
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// get o => 42
/// }
@@ -2856,6 +3043,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] on a type literal for a class [element].
///
/// For instance:
+ ///
/// class C {}
/// m() => ++C;
///
@@ -2869,6 +3057,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [element].
///
/// For instance:
+ ///
/// typedef F();
/// m() => ++F;
///
@@ -2882,6 +3071,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [element].
///
/// For instance:
+ ///
/// class C<T> {
/// m() => ++T;
/// }
@@ -2895,6 +3085,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] on the type literal for `dynamic`.
///
/// For instance:
+ ///
/// m() => ++dynamic;
///
R visitDynamicTypeLiteralPrefix(
@@ -2908,6 +3099,7 @@ abstract class SemanticSendVisitor<R, A> {
/// respectively.
///
/// For instance:
+ ///
/// m(receiver) => receiver.foo++;
///
R visitDynamicPropertyPostfix(
@@ -2923,6 +3115,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [setterSelector], respectively.
///
/// For instance:
+ ///
/// m(receiver) => receiver?.foo++;
///
R visitIfNotNullDynamicPropertyPostfix(
@@ -2936,6 +3129,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix expression with [operator] on a [parameter].
///
/// For instance:
+ ///
/// m(parameter) => parameter++;
///
R visitParameterPostfix(
@@ -2947,6 +3141,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix expression with [operator] on a final [parameter].
///
/// For instance:
+ ///
/// m(final parameter) => parameter++;
///
R visitFinalParameterPostfix(
@@ -2958,6 +3153,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix expression with [operator] on a local [variable].
///
/// For instance:
+ ///
/// m() {
/// var variable;
/// variable++;
@@ -2972,6 +3168,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix expression with [operator] on a final local [variable].
///
/// For instance:
+ ///
/// m() {
/// final variable;
/// variable++;
@@ -2986,6 +3183,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix expression with [operator] on a local [function].
///
/// For instance:
+ ///
/// m() {
/// function() {}
/// function++;
@@ -3003,10 +3201,13 @@ abstract class SemanticSendVisitor<R, A> {
/// respectively.
///
/// For instance:
+ ///
/// class C {
/// m() => foo++;
/// }
+ ///
/// or
+ ///
/// class C {
/// m() => this.foo++;
/// }
@@ -3021,6 +3222,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix expression with [operator] on a static [field].
///
/// For instance:
+ ///
/// class C {
/// static var field;
/// m() => field++;
@@ -3035,6 +3237,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix expression with [operator] on a final static [field].
///
/// For instance:
+ ///
/// class C {
/// static final field;
/// m() => field++;
@@ -3050,6 +3253,7 @@ abstract class SemanticSendVisitor<R, A> {
/// writing to a static [setter].
///
/// For instance:
+ ///
/// class C {
/// static get o => 0;
/// static set o(_) {}
@@ -3068,6 +3272,7 @@ abstract class SemanticSendVisitor<R, A> {
/// is, closurizing [method], and writing to a static [setter].
///
/// For instance:
+ ///
/// class C {
/// static o() {}
/// static set o(_) {}
@@ -3084,6 +3289,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix expression with [operator] on a top level [field].
///
/// For instance:
+ ///
/// var field;
/// m() => field++;
///
@@ -3096,6 +3302,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix expression with [operator] on a final top level [field].
///
/// For instance:
+ ///
/// final field = 42;
/// m() => field++;
///
@@ -3109,6 +3316,7 @@ abstract class SemanticSendVisitor<R, A> {
/// writing to a top level [setter].
///
/// For instance:
+ ///
/// get o => 0;
/// set o(_) {}
/// m() => o++;
@@ -3124,6 +3332,7 @@ abstract class SemanticSendVisitor<R, A> {
/// is, closurizing [method], and writing to a top level [setter].
///
/// For instance:
+ ///
/// o() {}
/// set o(_) {}
/// m() => o++;
@@ -3138,6 +3347,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix expression with [operator] on a super [field].
///
/// For instance:
+ ///
/// class B {
/// var field;
/// }
@@ -3155,6 +3365,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [readField] and writing to the different super field [writtenField].
///
/// For instance:
+ ///
/// class A {
/// var field;
/// }
@@ -3176,6 +3387,7 @@ abstract class SemanticSendVisitor<R, A> {
/// writing to a super [setter].
///
/// For instance:
+ ///
/// class A {
/// var field;
/// }
@@ -3198,6 +3410,7 @@ abstract class SemanticSendVisitor<R, A> {
/// writing to a super [setter].
///
/// For instance:
+ ///
/// class B {
/// get field => 0;
/// set field(_) {}
@@ -3217,6 +3430,7 @@ abstract class SemanticSendVisitor<R, A> {
/// writing to a super [field].
///
/// For instance:
+ ///
/// class A {
/// var field;
/// }
@@ -3238,6 +3452,7 @@ abstract class SemanticSendVisitor<R, A> {
/// closurizing [method], and writing to a super [setter].
///
/// For instance:
+ ///
/// class B {
/// o() {}
/// set o(_) {}
@@ -3257,6 +3472,7 @@ abstract class SemanticSendVisitor<R, A> {
/// closurizing [method], and writing to an unresolved super.
///
/// For instance:
+ ///
/// class B {
/// o() {}
/// set o(_) {}
@@ -3274,7 +3490,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] reading from an unresolved super getter
/// and writing to a super [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// set o(_) {}
/// }
@@ -3293,7 +3510,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix expression with [operator] reading from a super [getter] and
/// writing to an unresolved super setter.
///
- /// For instance
+ /// For instance:
+ ///
/// class B {
/// get o => 42
/// }
@@ -3313,6 +3531,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [element].
///
/// For instance:
+ ///
/// class C {}
/// m() => C++;
///
@@ -3326,6 +3545,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [element].
///
/// For instance:
+ ///
/// typedef F();
/// m() => F++;
///
@@ -3339,6 +3559,7 @@ abstract class SemanticSendVisitor<R, A> {
/// [element].
///
/// For instance:
+ ///
/// class C<T> {
/// m() => T++;
/// }
@@ -3352,6 +3573,7 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix expression with [operator] on the type literal for `dynamic`.
///
/// For instance:
+ ///
/// m() => dynamic++;
///
R visitDynamicTypeLiteralPostfix(
@@ -3362,7 +3584,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Read of the [constant].
///
- /// For instance
+ /// For instance:
+ ///
/// const c = c;
/// m() => c;
///
@@ -3373,7 +3596,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the [constant] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// const c = null;
/// m() => c(null, 42);
///
@@ -3386,7 +3610,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Read of the unresolved [element].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {}
/// m1() => unresolved;
/// m2() => prefix.unresolved;
@@ -3408,7 +3633,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Read of the unresolved super [element].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {}
/// class C {
/// m() => super.foo;
@@ -3421,7 +3647,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to the unresolved [element].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {}
/// m1() => unresolved = 42;
/// m2() => prefix.unresolved = 42;
@@ -3444,7 +3671,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the unresolved [element] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {}
/// m1() => unresolved(null, 42);
/// m2() => prefix.unresolved(null, 42);
@@ -3468,7 +3696,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of the unresolved super [element] with [arguments].
///
- /// For instance
+ /// For instance:
+ ///
/// class B {}
/// class C extends B {
/// m() => super.foo();
@@ -3484,7 +3713,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Compound assignment of [rhs] with [operator] reading from the
/// non-existing static getter and writing to the static [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// set foo(_) {}
/// }
@@ -3501,7 +3731,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Compound assignment of [rhs] with [operator] reading from the
/// non-existing top level getter and writing to the top level [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// set foo(_) {}
/// m1() => foo += 42;
///
@@ -3516,7 +3747,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Compound assignment of [rhs] with [operator] reading from the static
/// [getter] and writing to the non-existing static setter.
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// get foo => 42;
/// }
@@ -3533,7 +3765,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Compound assignment of [rhs] with [operator] reading from the top level
/// [getter] and writing to the non-existing top level setter.
///
- /// For instance
+ /// For instance:
+ ///
/// get foo => 42;
/// m1() => foo += 42;
///
@@ -3548,7 +3781,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Compound assignment of [rhs] with [operator] reading the closurized static
/// [method] and trying to invoke the non-existing setter.
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// foo() {}
/// }
@@ -3563,7 +3797,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Compound assignment of [rhs] where both getter and setter are unresolved.
///
- /// For instance
+ /// For instance:
+ ///
/// class C {}
/// m1() => unresolved += 42;
/// m2() => prefix.unresolved += 42;
@@ -3588,7 +3823,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix operation of [operator] reading from the non-existing static getter
/// and writing to the static [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// set foo(_) {}
/// }
@@ -3604,7 +3840,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix operation of [operator] reading from the non-existing top level
/// getter and writing to the top level [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// set foo(_) {}
/// m1() => ++foo;
///
@@ -3618,7 +3855,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix operation of [operator] reading from the static [getter] and
/// writing to the non-existing static setter.
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// get foo => 42;
/// }
@@ -3634,7 +3872,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix operation of [operator] reading from the top level [getter] and
/// writing to the non-existing top level setter.
///
- /// For instance
+ /// For instance:
+ ///
/// get foo => 42;
/// m1() => ++foo;
///
@@ -3648,7 +3887,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix operation of [operator] reading the closurized static [method] and
/// trying to invoke the non-existing setter.
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// foo() {}
/// }
@@ -3663,7 +3903,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix operation of [operator] reading the closurized top level [method]
/// and trying to invoke the non-existing setter.
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// foo() {}
/// }
@@ -3677,7 +3918,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix operation where both getter and setter are unresolved.
///
- /// For instance
+ /// For instance:
+ ///
/// class C {}
/// m1() => ++unresolved;
/// m2() => ++prefix.unresolved;
@@ -3701,7 +3943,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix operation of [operator] reading from the non-existing static
/// getter and writing to the static [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// set foo(_) {}
/// }
@@ -3717,7 +3960,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix operation of [operator] reading from the non-existing top level
/// getter and writing to the top level [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// set foo(_) {}
/// m1() => foo++;
///
@@ -3731,7 +3975,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix operation of [operator] reading from the static [getter] and
/// writing to the non-existing static setter.
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// get foo => 42;
/// }
@@ -3747,7 +3992,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix operation of [operator] reading from the top level [getter] and
/// writing to the non-existing top level setter.
///
- /// For instance
+ /// For instance:
+ ///
/// get foo => 42;
/// m1() => foo++;
///
@@ -3761,7 +4007,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix operation of [operator] reading the closurized static [method] and
/// trying to invoke the non-existing setter.
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// foo() {}
/// }
@@ -3776,7 +4023,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix operation of [operator] reading the closurized top level [method]
/// and trying to invoke the non-existing setter.
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// foo() {}
/// }
@@ -3790,7 +4038,8 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix operation where both getter and setter are unresolved.
///
- /// For instance
+ /// For instance:
+ ///
/// class C {}
/// m1() => unresolved++;
/// m2() => prefix.unresolved++;
@@ -3829,11 +4078,12 @@ abstract class SemanticSendVisitor<R, A> {
/// Const invocation of a [constant] constructor.
///
- /// For instance
- /// class C<T> {
- /// const C(a, b);
- /// }
- /// m() => const C<int>(true, 42);
+ /// For instance:
+ ///
+ /// class C<T> {
+ /// const C(a, b);
+ /// }
+ /// m() => const C<int>(true, 42);
///
R visitConstConstructorInvoke(
NewExpression node,
@@ -3842,8 +4092,9 @@ abstract class SemanticSendVisitor<R, A> {
/// Const invocation of the `bool.fromEnvironment` constructor.
///
- /// For instance
- /// m() => const bool.fromEnvironment('foo', defaultValue: false);
+ /// For instance:
+ ///
+ /// m() => const bool.fromEnvironment('foo', defaultValue: false);
///
R visitBoolFromEnvironmentConstructorInvoke(
NewExpression node,
@@ -3852,8 +4103,9 @@ abstract class SemanticSendVisitor<R, A> {
/// Const invocation of the `int.fromEnvironment` constructor.
///
- /// For instance
- /// m() => const int.fromEnvironment('foo', defaultValue: 42);
+ /// For instance:
+ ///
+ /// m() => const int.fromEnvironment('foo', defaultValue: 42);
///
R visitIntFromEnvironmentConstructorInvoke(
NewExpression node,
@@ -3862,8 +4114,9 @@ abstract class SemanticSendVisitor<R, A> {
/// Const invocation of the `String.fromEnvironment` constructor.
///
- /// For instance
- /// m() => const String.fromEnvironment('foo', defaultValue: 'bar');
+ /// For instance:
+ ///
+ /// m() => const String.fromEnvironment('foo', defaultValue: 'bar');
///
R visitStringFromEnvironmentConstructorInvoke(
NewExpression node,
@@ -3872,11 +4125,12 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of a generative [constructor] on [type] with [arguments].
///
- /// For instance
- /// class C<T> {
- /// C(a, b);
- /// }
- /// m() => new C<int>(true, 42);
+ /// For instance:
+ ///
+ /// class C<T> {
+ /// C(a, b);
+ /// }
+ /// m() => new C<int>(true, 42);
///
/// where [type] is `C<int>`.
///
@@ -3891,12 +4145,13 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of a redirecting generative [constructor] on [type] with
/// [arguments].
///
- /// For instance
- /// class C<T> {
- /// C(a, b) : this._(b, a);
- /// C._(b, a);
- /// }
- /// m() => new C<int>(true, 42);
+ /// For instance:
+ ///
+ /// class C<T> {
+ /// C(a, b) : this._(b, a);
+ /// C._(b, a);
+ /// }
+ /// m() => new C<int>(true, 42);
///
/// where [type] is `C<int>`.
///
@@ -3910,12 +4165,13 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of a factory [constructor] on [type] with [arguments].
///
- /// For instance
- /// class C<T> {
- /// factory C(a, b) => new C<T>._(b, a);
- /// C._(b, a);
- /// }
- /// m() => new C<int>(true, 42);
+ /// For instance:
+ ///
+ /// class C<T> {
+ /// factory C(a, b) => new C<T>._(b, a);
+ /// C._(b, a);
+ /// }
+ /// m() => new C<int>(true, 42);
///
/// where [type] is `C<int>`.
///
@@ -3931,13 +4187,14 @@ abstract class SemanticSendVisitor<R, A> {
/// [effectiveTarget] and [effectiveTargetType] are the constructor effective
/// invoked and its type, respectively.
///
- /// For instance
- /// class C<T> {
- /// factory C(a, b) = C<int>.a;
- /// factory C.a(a, b) = C<C<T>>.b;
- /// C.b(a, b);
- /// }
- /// m() => new C<double>(true, 42);
+ /// For instance:
+ ///
+ /// class C<T> {
+ /// factory C(a, b) = C<int>.a;
+ /// factory C.a(a, b) = C<C<T>>.b;
+ /// C.b(a, b);
+ /// }
+ /// m() => new C<double>(true, 42);
///
/// where [type] is `C<double>`, [effectiveTarget] is `C.b` and
/// [effectiveTargetType] is `C<C<int>>`.
@@ -3954,11 +4211,12 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of an unresolved [constructor] on [type] with [arguments].
///
- /// For instance
- /// class C<T> {
- /// C();
- /// }
- /// m() => new C<int>.unresolved(true, 42);
+ /// For instance:
+ ///
+ /// class C<T> {
+ /// C();
+ /// }
+ /// m() => new C<int>.unresolved(true, 42);
///
/// where [type] is `C<int>`.
///
@@ -3974,8 +4232,9 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of a constructor on an unresolved [type] with [arguments].
///
- /// For instance
- /// m() => new Unresolved(true, 42);
+ /// For instance:
+ ///
+ /// m() => new Unresolved(true, 42);
///
/// where [type] is the malformed type `Unresolved`.
///
@@ -3991,11 +4250,12 @@ abstract class SemanticSendVisitor<R, A> {
/// Constant invocation of a non-constant constructor.
///
- /// For instance
- /// class C {
- /// C(a, b);
- /// }
- /// m() => const C(true, 42);
+ /// For instance:
+ ///
+ /// class C {
+ /// C(a, b);
+ /// }
+ /// m() => const C(true, 42);
///
R errorNonConstantConstructorInvoke(
NewExpression node,
@@ -4007,8 +4267,9 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of a constructor on an abstract [type] with [arguments].
///
- /// For instance
- /// m() => new Unresolved(true, 42);
+ /// For instance:
+ ///
+ /// m() => new Unresolved(true, 42);
///
/// where [type] is the malformed type `Unresolved`.
///
@@ -4024,13 +4285,14 @@ abstract class SemanticSendVisitor<R, A> {
/// [effectiveTarget] and [effectiveTargetType] are the constructor effective
/// invoked and its type, respectively.
///
- /// For instance
- /// class C {
- /// factory C(a, b) = Unresolved;
- /// factory C.a(a, b) = C.unresolved;
- /// }
- /// m1() => new C(true, 42);
- /// m2() => new C.a(true, 42);
+ /// For instance:
+ ///
+ /// class C {
+ /// factory C(a, b) = Unresolved;
+ /// factory C.a(a, b) = C.unresolved;
+ /// }
+ /// m1() => new C(true, 42);
+ /// m2() => new C.a(true, 42);
///
R visitUnresolvedRedirectingFactoryConstructorInvoke(
NewExpression node,
@@ -4042,11 +4304,12 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of [constructor] on [type] with incompatible [arguments].
///
- /// For instance
- /// class C {
- /// C(a);
- /// }
- /// m() => C(true, 42);
+ /// For instance:
+ ///
+ /// class C {
+ /// C(a);
+ /// }
+ /// m() => C(true, 42);
///
R visitConstructorIncompatibleInvoke(
NewExpression node,
@@ -4058,10 +4321,11 @@ abstract class SemanticSendVisitor<R, A> {
/// Read access of an invalid expression.
///
- /// For instance
- /// import 'foo.dart' as p;
+ /// For instance:
+ ///
+ /// import 'foo.dart' as p;
///
- /// m() => p;
+ /// m() => p;
///
R errorInvalidGet(
Send node,
@@ -4071,10 +4335,11 @@ abstract class SemanticSendVisitor<R, A> {
/// Invocation of an invalid expression with [arguments].
///
- /// For instance
- /// import 'foo.dart' as p;
+ /// For instance:
+ ///
+ /// import 'foo.dart' as p;
///
- /// m() => p(null, 42);
+ /// m() => p(null, 42);
///
R errorInvalidInvoke(
Send node,
@@ -4085,10 +4350,11 @@ abstract class SemanticSendVisitor<R, A> {
/// Assignment of [rhs] to an invalid expression.
///
- /// For instance
- /// import 'foo.dart' as p;
+ /// For instance:
+ ///
+ /// import 'foo.dart' as p;
///
- /// m() { p = 42; }
+ /// m() { p = 42; }
///
R errorInvalidSet(
Send node,
@@ -4098,10 +4364,11 @@ abstract class SemanticSendVisitor<R, A> {
/// Prefix operation on an invalid expression.
///
- /// For instance
- /// import 'foo.dart' as p;
+ /// For instance:
///
- /// m() => ++p;
+ /// import 'foo.dart' as p;
+ ///
+ /// m() => ++p;
///
R errorInvalidPrefix(
Send node,
@@ -4111,10 +4378,11 @@ abstract class SemanticSendVisitor<R, A> {
/// Postfix operation on an invalid expression.
///
- /// For instance
- /// import 'foo.dart' as p;
+ /// For instance:
///
- /// m() => p--;
+ /// import 'foo.dart' as p;
+ ///
+ /// m() => p--;
///
R errorInvalidPostfix(
Send node,
@@ -4124,10 +4392,11 @@ abstract class SemanticSendVisitor<R, A> {
/// Compound assignment of [operator] with [rhs] on an invalid expression.
///
- /// For instance
- /// import 'foo.dart' as p;
+ /// For instance:
+ ///
+ /// import 'foo.dart' as p;
///
- /// m() => p += 42;
+ /// m() => p += 42;
///
R errorInvalidCompound(
Send node,
@@ -4136,12 +4405,145 @@ abstract class SemanticSendVisitor<R, A> {
Node rhs,
A arg);
+ /// Unary operation with [operator] on an invalid expression.
+ ///
+ /// For instance:
+ ///
+ /// class C {
+ /// static m() => ~super;
+ /// }
+ ///
+ R errorInvalidUnary(
+ Send node,
+ UnaryOperator operator,
+ ErroneousElement error,
+ A arg);
+
+ /// Equals operation on an invalid left expression.
+ ///
+ /// For instance:
+ ///
+ /// class C {
+ /// static m() => super == null;
+ /// }
+ ///
+ R errorInvalidEquals(
+ Send node,
+ ErroneousElement error,
+ Node right,
+ A arg);
+
+ /// Not equals operation on an invalid left expression.
+ ///
+ /// For instance:
+ ///
+ /// class C {
+ /// static m() => super != null;
+ /// }
+ ///
+ R errorInvalidNotEquals(
+ Send node,
+ ErroneousElement error,
+ Node right,
+ A arg);
+
+ /// Binary operation with [operator] on an invalid left expression.
+ ///
+ /// For instance:
+ ///
+ /// class C {
+ /// static m() => super + 0;
+ /// }
+ ///
+ R errorInvalidBinary(
+ Send node,
+ ErroneousElement error,
+ BinaryOperator operator,
+ Node right,
+ A arg);
+
+ /// Index operation on an invalid expression.
+ ///
+ /// For instance:
+ ///
+ /// class C {
+ /// static m() => super[0];
+ /// }
+ ///
+ R errorInvalidIndex(
+ Send node,
+ ErroneousElement error,
+ Node index,
+ A arg);
+
+ /// Index set operation on an invalid expression.
+ ///
+ /// For instance:
+ ///
+ /// class C {
+ /// static m() => super[0] = 42;
+ /// }
+ ///
+ R errorInvalidIndexSet(
+ Send node,
+ ErroneousElement error,
+ Node index,
+ Node rhs,
+ A arg);
+
+ /// Compound index set operation on an invalid expression.
+ ///
+ /// For instance:
+ ///
+ /// class C {
+ /// static m() => super[0] += 42;
+ /// }
+ ///
+ R errorInvalidCompoundIndexSet(
+ Send node,
+ ErroneousElement error,
+ Node index,
+ AssignmentOperator operator,
+ Node rhs,
+ A arg);
+
+ /// Prefix index operation on an invalid expression.
+ ///
+ /// For instance:
+ ///
+ /// class C {
+ /// static m() => --super[0];
+ /// }
+ ///
+ R errorInvalidIndexPrefix(
+ Send node,
+ ErroneousElement error,
+ Node index,
+ IncDecOperator operator,
+ A arg);
+
+ /// Postfix index operation on an invalid expression.
+ ///
+ /// For instance:
+ ///
+ /// class C {
+ /// static m() => super[0]++;
+ /// }
+ ///
+ R errorInvalidIndexPostfix(
+ Send node,
+ ErroneousElement error,
+ Node index,
+ IncDecOperator operator,
+ A arg);
+
/// Access of library through a deferred [prefix].
///
- /// For instance
- /// import 'lib.dart' deferred as prefix;
+ /// For instance:
///
- /// m() => prefix.foo;
+ /// import 'lib.dart' deferred as prefix;
+ ///
+ /// m() => prefix.foo;
///
/// This visit method is special in that it is called as a pre-step to calling
/// the visit method for the actual access. Therefore this method cannot
@@ -4163,7 +4565,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a top level [getter].
///
- /// For instance
+ /// For instance:
+ ///
/// get m => 42;
///
R visitTopLevelGetterDeclaration(
@@ -4174,7 +4577,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a top level [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// set m(a) {}
///
R visitTopLevelSetterDeclaration(
@@ -4186,7 +4590,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a top level [function].
///
- /// For instance
+ /// For instance:
+ ///
/// m(a) {}
///
R visitTopLevelFunctionDeclaration(
@@ -4198,7 +4603,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a static [getter].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static get m => 42;
/// }
@@ -4211,7 +4617,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a static [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static set m(a) {}
/// }
@@ -4225,7 +4632,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a static [function].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// static m(a) {}
/// }
@@ -4239,7 +4647,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of an abstract instance [getter].
///
- /// For instance
+ /// For instance:
+ ///
/// abstract class C {
/// get m;
/// }
@@ -4251,7 +4660,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of an abstract instance [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// abstract class C {
/// set m(a);
/// }
@@ -4264,7 +4674,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of an abstract instance [method].
///
- /// For instance
+ /// For instance:
+ ///
/// abstract class C {
/// m(a);
/// }
@@ -4277,7 +4688,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of an instance [getter].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// get m => 42;
/// }
@@ -4290,7 +4702,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of an instance [setter].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// set m(a) {}
/// }
@@ -4304,7 +4717,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of an instance [method].
///
- /// For instance
+ /// For instance:
+ ///
/// class C {
/// m(a) {}
/// }
@@ -4318,7 +4732,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a local [function].
///
- /// For instance `local` in
+ /// For instance `local` in:
+ ///
/// m() {
/// local(a) {}
/// }
@@ -4332,7 +4747,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a [closure].
///
- /// For instance `(a) {}` in
+ /// For instance `(a) {}` in:
+ ///
/// m() {
/// var closure = (a) {};
/// }
@@ -4347,7 +4763,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of the [index]th [parameter] in a constructor, setter,
/// method or function.
///
- /// For instance `a` in
+ /// For instance `a` in:
+ ///
/// m(a) {}
///
R visitParameterDeclaration(
@@ -4361,7 +4778,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// method or function with the explicit [defaultValue]. If no default value
/// is declared, [defaultValue] is `null`.
///
- /// For instance `a` in
+ /// For instance `a` in:
+ ///
/// m([a = 42]) {}
///
R visitOptionalParameterDeclaration(
@@ -4376,7 +4794,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// with the explicit [defaultValue]. If no default value is declared,
/// [defaultValue] is `null`.
///
- /// For instance `a` in
+ /// For instance `a` in:
+ ///
/// m({a: 42}) {}
///
R visitNamedParameterDeclaration(
@@ -4389,7 +4808,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of the [index]th [parameter] as an initializing formal in a
/// constructor.
///
- /// For instance `a` in
+ /// For instance `a` in:
+ ///
/// class C {
/// var a;
/// C(this.a);
@@ -4406,7 +4826,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// formal in a constructor with the explicit [defaultValue]. If no default
/// value is declared, [defaultValue] is `null`.
///
- /// For instance `a` in
+ /// For instance `a` in:
+ ///
/// class C {
/// var a;
/// C([this.a = 42]);
@@ -4424,7 +4845,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// constructor with the explicit [defaultValue]. If no default value is
/// declared, [defaultValue] is `null`.
///
- /// For instance `a` in
+ /// For instance `a` in:
+ ///
/// class C {
/// var a;
/// C({this.a: 42});
@@ -4440,7 +4862,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a local [variable] with the explicit [initializer]. If
/// no initializer is declared, [initializer] is `null`.
///
- /// For instance `a` in
+ /// For instance `a` in:
+ ///
/// m() {
/// var a = 42;
/// }
@@ -4454,7 +4877,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a local constant [variable] initialized to [constant].
///
- /// For instance `a` in
+ /// For instance `a` in:
+ ///
/// m() {
/// const a = 42;
/// }
@@ -4469,7 +4893,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a top level [field] with the explicit [initializer].
/// If no initializer is declared, [initializer] is `null`.
///
- /// For instance `a` in
+ /// For instance `a` in:
+ ///
/// var a = 42;
///
R visitTopLevelFieldDeclaration(
@@ -4481,7 +4906,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a top level constant [field] initialized to [constant].
///
- /// For instance `a` in
+ /// For instance `a` in:
+ ///
/// const a = 42;
///
R visitTopLevelConstantDeclaration(
@@ -4494,7 +4920,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a static [field] with the explicit [initializer].
/// If no initializer is declared, [initializer] is `null`.
///
- /// For instance `a` in
+ /// For instance `a` in:
+ ///
/// class C {
/// static var a = 42;
/// }
@@ -4508,7 +4935,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a static constant [field] initialized to [constant].
///
- /// For instance `a` in
+ /// For instance `a` in:
+ ///
/// class C {
/// static const a = 42;
/// }
@@ -4523,7 +4951,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of an instance [field] with the explicit [initializer].
/// If no initializer is declared, [initializer] is `null`.
///
- /// For instance `a` in
+ /// For instance `a` in:
+ ///
/// class C {
/// var a = 42;
/// }
@@ -4538,7 +4967,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a generative [constructor] with the explicit constructor
/// [initializers].
///
- /// For instance `C` in
+ /// For instance `C` in:
+ ///
/// class C {
/// var a;
/// C(a) : this.a = a, super();
@@ -4557,7 +4987,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a redirecting generative [constructor] with
/// [initializers] containing the redirecting constructor invocation.
///
- /// For instance `C` in
+ /// For instance `C` in:
+ ///
/// class C {
/// C() : this._();
/// C._();
@@ -4574,7 +5005,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// A declaration of a factory [constructor].
///
- /// For instance `C` in
+ /// For instance `C` in:
+ ///
/// class C {
/// factory C(a) => null;
/// }
@@ -4590,7 +5022,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// redirection target and its type is provided in [redirectionTarget] and
/// [redirectionType], respectively.
///
- /// For instance
+ /// For instance:
+ ///
/// class C<T> {
/// factory C() = C<int>.a;
/// factory C.a() = C<C<T>>.b;
@@ -4610,7 +5043,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// An initializer of [field] with [initializer] as found in constructor
/// initializers.
///
- /// For instance `this.a = 42` in
+ /// For instance `this.a = 42` in:
+ ///
/// class C {
/// var a;
/// C() : this.a = 42;
@@ -4625,7 +5059,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// An initializer of an unresolved field with [initializer] as found in
/// generative constructor initializers.
///
- /// For instance `this.a = 42` in
+ /// For instance `this.a = 42` in:
+ ///
/// class C {
/// C() : this.a = 42;
/// }
@@ -4639,7 +5074,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// An super constructor invocation of [superConstructor] with [arguments] as
/// found in generative constructor initializers.
///
- /// For instance `super(42)` in
+ /// For instance `super(42)` in:
+ ///
/// class B {
/// B(a);
/// }
@@ -4658,7 +5094,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// An implicit super constructor invocation of [superConstructor] from
/// generative constructor initializers.
///
- /// For instance `super(42)` in
+ /// For instance `super(42)` in:
+ ///
/// class B {
/// B();
/// }
@@ -4675,7 +5112,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// An super constructor invocation of an unresolved with [arguments] as
/// found in generative constructor initializers.
///
- /// For instance `super(42)` in
+ /// For instance `super(42)` in:
+ ///
/// class B {
/// B(a);
/// }
@@ -4693,7 +5131,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// An this constructor invocation of [thisConstructor] with [arguments] as
/// found in a redirecting generative constructors initializer.
///
- /// For instance `this._(42)` in
+ /// For instance `this._(42)` in:
+ ///
/// class C {
/// C() : this._(42);
/// C._(a);
@@ -4709,7 +5148,8 @@ abstract class SemanticDeclarationVisitor<R, A> {
/// An this constructor invocation of an unresolved constructor with
/// [arguments] as found in a redirecting generative constructors initializer.
///
- /// For instance `this._(42)` in
+ /// For instance `this._(42)` in:
+ ///
/// class C {
/// C() : this._(42);
/// }
« no previous file with comments | « pkg/compiler/lib/src/resolution/members.dart ('k') | pkg/compiler/lib/src/resolution/semantic_visitor_mixins.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698