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

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

Issue 1142293004: Revert "Refactor handling of compounds." (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 7 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 5c7f20736923c950d8d3de42f1109cb993bd7e86..52a707c80484723d4dd183b628df059cc12c31ff 100644
--- a/pkg/compiler/lib/src/resolution/semantic_visitor.dart
+++ b/pkg/compiler/lib/src/resolution/semantic_visitor.dart
@@ -1352,13 +1352,11 @@ abstract class SemanticSendVisitor<R, A> {
A arg);
/// Prefix operation on an index expression `operator super[index]` where
- /// 'operator []' is unresolved, 'operator []=' is defined by [setter], and
- /// the operation is defined by [operator].
+ /// 'operator []' and maybe also 'operator []=' is unresolved and the
+ /// operation is defined by [operator].
///
/// For instance:
- /// class B {
- /// operator []=(a, b) {}
- /// }
+ /// class B {}
/// class C extends B {
/// m(a) => --super[a];
/// }
@@ -1366,19 +1364,16 @@ abstract class SemanticSendVisitor<R, A> {
R visitUnresolvedSuperGetterIndexPrefix(
Send node,
Element element,
- MethodElement setter,
Node index,
IncDecOperator operator,
A arg);
/// Postfix operation on an index expression `super[index] operator` where
- /// 'operator []' is unresolved, 'operator []=' is defined by [setter], and
- /// the operation is defined by [operator].
+ /// 'operator []' and maybe also 'operator []=' is unresolved and the
+ /// operation is defined by [operator].
///
/// For instance:
- /// class B {
- /// operator []=(a, b) {}
- /// }
+ /// class B {}
/// class C extends B {
/// m(a) => super[a]++;
/// }
@@ -1386,7 +1381,6 @@ abstract class SemanticSendVisitor<R, A> {
R visitUnresolvedSuperGetterIndexPostfix(
Send node,
Element element,
- MethodElement setter,
Node index,
IncDecOperator operator,
A arg);
@@ -1396,9 +1390,7 @@ abstract class SemanticSendVisitor<R, A> {
/// 'operator []=' is unresolved and the operation is defined by [operator].
///
/// For instance:
- /// class B {
- /// operator [](_) => 42;
- /// }
+ /// class B {}
/// class C extends B {
/// m(a) => --super[a];
/// }
@@ -1416,9 +1408,7 @@ abstract class SemanticSendVisitor<R, A> {
/// 'operator []=' is unresolved and the operation is defined by [operator].
///
/// For instance:
- /// class B {
- /// operator [](_) => 42;
- /// }
+ /// class B {}
/// class C extends B {
/// m(a) => super[a]++;
/// }
@@ -1431,44 +1421,6 @@ abstract class SemanticSendVisitor<R, A> {
IncDecOperator operator,
A arg);
- /// Prefix operation on an index expression `super[index] operator` where
- /// both 'operator []' and 'operator []=' are unresolved and the operation is
- /// defined by [operator].
- ///
- /// For instance:
- /// class B {
- /// operator [](_) => 42;
- /// }
- /// class C extends B {
- /// m(a) => super[a]++;
- /// }
- ///
- R visitUnresolvedSuperIndexPrefix(
- Send node,
- Element element,
- Node index,
- IncDecOperator operator,
- A arg);
-
- /// Postfix operation on an index expression `super[index] operator` where
- /// both 'operator []' and 'operator []=' are unresolved and the operation is
- /// defined by [operator].
- ///
- /// For instance:
- /// class B {
- /// operator [](_) => 42;
- /// }
- /// class C extends B {
- /// m(a) => super[a]++;
- /// }
- ///
- R visitUnresolvedSuperIndexPostfix(
- Send node,
- Element element,
- Node index,
- IncDecOperator operator,
- A arg);
-
/// Binary expression `left == right`.
///
/// For instance:
@@ -1740,7 +1692,7 @@ abstract class SemanticSendVisitor<R, A> {
/// For instance:
/// m(final parameter, rhs) => parameter += rhs;
///
- R visitFinalParameterCompound(
+ R errorFinalParameterCompound(
Send node,
ParameterElement parameter,
AssignmentOperator operator,
@@ -1772,7 +1724,7 @@ abstract class SemanticSendVisitor<R, A> {
/// variable += rhs;
/// }
///
- R visitFinalLocalVariableCompound(
+ R errorFinalLocalVariableCompound(
Send node,
LocalVariableElement variable,
AssignmentOperator operator,
@@ -1788,7 +1740,7 @@ abstract class SemanticSendVisitor<R, A> {
/// function += rhs;
/// }
///
- R visitLocalFunctionCompound(
+ R errorLocalFunctionCompound(
Send node,
LocalFunctionElement function,
AssignmentOperator operator,
@@ -1820,7 +1772,7 @@ abstract class SemanticSendVisitor<R, A> {
/// m(rhs) => field += rhs;
/// }
///
- R visitFinalStaticFieldCompound(
+ R errorFinalStaticFieldCompound(
Send node,
FieldElement field,
AssignmentOperator operator,
@@ -1858,8 +1810,8 @@ abstract class SemanticSendVisitor<R, A> {
///
R visitStaticMethodSetterCompound(
Send node,
- MethodElement method,
- MethodElement setter,
+ FunctionElement method,
+ FunctionElement setter,
AssignmentOperator operator,
Node rhs,
A arg);
@@ -1885,7 +1837,7 @@ abstract class SemanticSendVisitor<R, A> {
/// final field = 0;
/// m(rhs) => field += rhs;
///
- R visitFinalTopLevelFieldCompound(
+ R errorFinalTopLevelFieldCompound(
Send node,
FieldElement field,
AssignmentOperator operator,
@@ -1925,21 +1877,6 @@ abstract class SemanticSendVisitor<R, A> {
Node rhs,
A arg);
- /// Compound assignment expression of [rhs] with [operator] reading from a
- /// top level [method], that is, closurizing [method], and writing to an
- /// unresolved setter.
- ///
- /// For instance:
- /// o() {}
- /// m(rhs) => o += rhs;
- ///
- R visitTopLevelMethodCompound(
- Send node,
- FunctionElement method,
- AssignmentOperator operator,
- Node rhs,
- A arg);
-
/// Compound assignment expression of [rhs] with [operator] on a super
/// [field].
///
@@ -1963,117 +1900,15 @@ abstract class SemanticSendVisitor<R, A> {
///
/// For instance:
/// class B {
- /// final field = 42;
+ /// final field = 0;
/// }
/// class C extends B {
/// m(rhs) => super.field += rhs;
/// }
///
- R visitFinalSuperFieldCompound(
- Send node,
- FieldElement field,
- AssignmentOperator operator,
- Node rhs,
- A arg);
-
- /// Prefix expression with [operator] on a final super [field].
- ///
- /// For instance:
- /// class B {
- /// final field = 42;
- /// }
- /// class C extends B {
- /// m(rhs) => ++super.field;
- /// }
- ///
- R visitFinalSuperFieldPrefix(
- Send node,
- FieldElement field,
- IncDecOperator operator,
- A arg);
-
- /// Prefix expression with [operator] on an unresolved super property.
- ///
- /// For instance:
- /// class B {
- /// }
- /// class C extends B {
- /// m(rhs) => ++super.unresolved;
- /// }
- ///
- R visitUnresolvedSuperPrefix(
- Send node,
- Element element,
- IncDecOperator operator,
- A arg);
-
- /// Postfix expression with [operator] on an unresolved super property.
- ///
- /// For instance:
- /// class B {
- /// }
- /// class C extends B {
- /// m(rhs) => super.unresolved++;
- /// }
- ///
- R visitUnresolvedSuperPostfix(
- Send node,
- Element element,
- IncDecOperator operator,
- A arg);
-
- /// Compound assignment expression of [rhs] with [operator] on an unresolved
- /// super property.
- ///
- /// For instance:
- /// class B {
- /// }
- /// class C extends B {
- /// m(rhs) => super.unresolved += rhs;
- /// }
- ///
- R visitUnresolvedSuperCompound(
- Send node,
- Element element,
- AssignmentOperator operator,
- Node rhs,
- A arg);
-
- /// Postfix expression with [operator] on a final super [field].
- ///
- /// For instance:
- /// class B {
- /// final field = 42;
- /// }
- /// class C extends B {
- /// m(rhs) => super.field++;
- /// }
- ///
- R visitFinalSuperFieldPostfix(
+ R errorFinalSuperFieldCompound(
Send node,
FieldElement field,
- IncDecOperator operator,
- A arg);
-
- /// Compound assignment expression of [rhs] with [operator] reading from the
- /// super field [readField] and writing to the different super field
- /// [writtenField].
- ///
- /// For instance:
- /// class A {
- /// var field;
- /// }
- /// class B extends A {
- /// final field;
- /// }
- /// class C extends B {
- /// m() => super.field += rhs;
- /// }
- ///
- R visitSuperFieldFieldCompound(
- Send node,
- FieldElement readField,
- FieldElement writtenField,
AssignmentOperator operator,
Node rhs,
A arg);
@@ -2119,62 +1954,6 @@ abstract class SemanticSendVisitor<R, A> {
Node rhs,
A arg);
- /// Compound assignment expression of [rhs] with [operator] reading the
- /// closurized super [method] and trying to invoke the non-existing setter.
- ///
- /// For instance:
- /// class B {
- /// o() {}
- /// }
- /// class C extends B {
- /// m(rhs) => super.o += rhs;
- /// }
- ///
- R visitSuperMethodCompound(
- Send node,
- FunctionElement method,
- AssignmentOperator operator,
- Node rhs,
- A arg);
-
- /// Compound assignment expression of [rhs] with [operator] reading from the
- /// non-existing super getter and writing to a super [setter].
- ///
- /// For instance
- /// class B {
- /// set o(_) {}
- /// }
- /// class C extends B {
- /// m(rhs) => super.o += rhs;
- /// }
- ///
- R visitUnresolvedSuperGetterCompound(
- Send node,
- Element element,
- MethodElement setter,
- AssignmentOperator operator,
- Node rhs,
- A arg);
-
- /// Compound assignment expression of [rhs] with [operator] reading from a
- /// super [getter] and writing to the non-existing super setter.
- ///
- /// For instance
- /// class B {
- /// get o => 42;
- /// }
- /// class C extends B {
- /// m(rhs) => super.o += rhs;
- /// }
- ///
- R visitUnresolvedSuperSetterCompound(
- Send node,
- MethodElement getter,
- Element element,
- AssignmentOperator operator,
- Node rhs,
- A arg);
-
/// Compound assignment expression of [rhs] with [operator] reading from a
/// super [field] and writing to a super [setter].
///
@@ -2226,7 +2005,7 @@ abstract class SemanticSendVisitor<R, A> {
/// class C {}
/// m(rhs) => C += rhs;
///
- R visitClassTypeLiteralCompound(
+ R errorClassTypeLiteralCompound(
Send node,
ConstantExpression constant,
AssignmentOperator operator,
@@ -2240,7 +2019,7 @@ abstract class SemanticSendVisitor<R, A> {
/// typedef F();
/// m(rhs) => F += rhs;
///
- R visitTypedefTypeLiteralCompound(
+ R errorTypedefTypeLiteralCompound(
Send node,
ConstantExpression constant,
AssignmentOperator operator,
@@ -2255,7 +2034,7 @@ abstract class SemanticSendVisitor<R, A> {
/// m(rhs) => T += rhs;
/// }
///
- R visitTypeVariableTypeLiteralCompound(
+ R errorTypeVariableTypeLiteralCompound(
Send node,
TypeVariableElement element,
AssignmentOperator operator,
@@ -2268,7 +2047,7 @@ abstract class SemanticSendVisitor<R, A> {
/// For instance:
/// m(rhs) => dynamic += rhs;
///
- R visitDynamicTypeLiteralCompound(
+ R errorDynamicTypeLiteralCompound(
Send node,
ConstantExpression constant,
AssignmentOperator operator,
@@ -2312,8 +2091,8 @@ abstract class SemanticSendVisitor<R, A> {
A arg);
/// Compound index assignment of [rhs] with [operator] to [index] on a super
- /// super class where the index getter is undefined and the index setter is
- /// defined by [setter].
+ /// super class where the index getter is undefined. The index setter might
+ /// also be undefined.
///
/// For instance
/// class B {
@@ -2325,7 +2104,6 @@ abstract class SemanticSendVisitor<R, A> {
R visitUnresolvedSuperGetterCompoundIndexSet(
Send node,
Element element,
- MethodElement setter,
Node index,
AssignmentOperator operator,
Node rhs,
@@ -2352,24 +2130,6 @@ abstract class SemanticSendVisitor<R, A> {
Node rhs,
A arg);
- /// Compound index assignment of [rhs] with [operator] to [index] on a super
- /// super class where the index getter and setter are undefined.
- ///
- /// For instance
- /// class B {
- /// }
- /// class C extends B {
- /// m() => super[1] += 42;
- /// }
- ///
- R visitUnresolvedSuperCompoundIndexSet(
- Send node,
- Element element,
- Node index,
- AssignmentOperator operator,
- Node rhs,
- A arg);
-
/// Prefix expression with [operator] of the property on [receiver] whose
/// getter and setter are defined by [getterSelector] and [setterSelector],
/// respectively.
@@ -2396,17 +2156,6 @@ abstract class SemanticSendVisitor<R, A> {
IncDecOperator operator,
A arg);
- /// Prefix expression with [operator] on a final [parameter].
- ///
- /// For instance:
- /// m(final parameter) => ++parameter;
- ///
- R visitFinalParameterPrefix(
- Send node,
- ParameterElement parameter,
- IncDecOperator operator,
- A arg);
-
/// Prefix expression with [operator] on a local [variable].
///
/// For instance:
@@ -2421,20 +2170,6 @@ abstract class SemanticSendVisitor<R, A> {
IncDecOperator operator,
A arg);
- /// Prefix expression with [operator] on a final local [variable].
- ///
- /// For instance:
- /// m() {
- /// final variable;
- /// ++variable;
- /// }
- ///
- R visitFinalLocalVariablePrefix(
- Send node,
- LocalVariableElement variable,
- IncDecOperator operator,
- A arg);
-
/// Prefix expression with [operator] on a local [function].
///
/// For instance:
@@ -2443,7 +2178,7 @@ abstract class SemanticSendVisitor<R, A> {
/// ++function;
/// }
///
- R visitLocalFunctionPrefix(
+ R errorLocalFunctionPrefix(
Send node,
LocalFunctionElement function,
IncDecOperator operator,
@@ -2484,20 +2219,6 @@ abstract class SemanticSendVisitor<R, A> {
IncDecOperator operator,
A arg);
- /// Prefix expression with [operator] on a final static [field].
- ///
- /// For instance:
- /// class C {
- /// static final field = 42;
- /// m() => ++field;
- /// }
- ///
- R visitFinalStaticFieldPrefix(
- Send node,
- FieldElement field,
- IncDecOperator operator,
- A arg);
-
/// Prefix expression with [operator] reading from a static [getter] and
/// writing to a static [setter].
///
@@ -2545,18 +2266,6 @@ abstract class SemanticSendVisitor<R, A> {
IncDecOperator operator,
A arg);
- /// Prefix expression with [operator] on a final top level [field].
- ///
- /// For instance:
- /// final field;
- /// m() => ++field;
- ///
- R visitFinalTopLevelFieldPrefix(
- Send node,
- FieldElement field,
- IncDecOperator operator,
- A arg);
-
/// Prefix expression with [operator] reading from a top level [getter] and
/// writing to a top level [setter].
///
@@ -2705,69 +2414,13 @@ abstract class SemanticSendVisitor<R, A> {
IncDecOperator operator,
A arg);
- /// Prefix expression with [operator] reading from a super [method], that is,
- /// closurizing [method], and writing to an unresolved super setter.
+ /// Prefix expression with [operator] on a type literal for a class [element].
///
/// For instance:
- /// class B {
- /// o() {}
- /// set o(_) {}
- /// }
- /// class C extends B {
- /// m() => ++super.o;
- /// }
+ /// class C {}
+ /// m() => ++C;
///
- R visitSuperMethodPrefix(
- Send node,
- FunctionElement method,
- IncDecOperator operator,
- A arg);
-
- /// Prefix expression with [operator] reading from an unresolved super getter
- /// and writing to a super [setter].
- ///
- /// For instance
- /// class B {
- /// set o(_) {}
- /// }
- /// class C extends B {
- /// m() => ++super.o;
- /// }
- ///
- ///
- R visitUnresolvedSuperGetterPrefix(
- Send node,
- Element element,
- MethodElement setter,
- IncDecOperator operator,
- A arg);
-
- /// Prefix expression with [operator] reading from a super [getter] and
- /// writing to an unresolved super setter.
- ///
- /// For instance
- /// class B {
- /// get o => 42
- /// }
- /// class C extends B {
- /// m() => ++super.o;
- /// }
- ///
- ///
- R visitUnresolvedSuperSetterPrefix(
- Send node,
- MethodElement getter,
- Element element,
- IncDecOperator operator,
- A arg);
-
- /// Prefix expression with [operator] on a type literal for a class [element].
- ///
- /// For instance:
- /// class C {}
- /// m() => ++C;
- ///
- R visitClassTypeLiteralPrefix(
+ R errorClassTypeLiteralPrefix(
Send node,
ConstantExpression constant,
IncDecOperator operator,
@@ -2780,7 +2433,7 @@ abstract class SemanticSendVisitor<R, A> {
/// typedef F();
/// m() => ++F;
///
- R visitTypedefTypeLiteralPrefix(
+ R errorTypedefTypeLiteralPrefix(
Send node,
ConstantExpression constant,
IncDecOperator operator,
@@ -2794,7 +2447,7 @@ abstract class SemanticSendVisitor<R, A> {
/// m() => ++T;
/// }
///
- R visitTypeVariableTypeLiteralPrefix(
+ R errorTypeVariableTypeLiteralPrefix(
Send node,
TypeVariableElement element,
IncDecOperator operator,
@@ -2805,7 +2458,7 @@ abstract class SemanticSendVisitor<R, A> {
/// For instance:
/// m() => ++dynamic;
///
- R visitDynamicTypeLiteralPrefix(
+ R errorDynamicTypeLiteralPrefix(
Send node,
ConstantExpression constant,
IncDecOperator operator,
@@ -2837,23 +2490,12 @@ abstract class SemanticSendVisitor<R, A> {
IncDecOperator operator,
A arg);
- /// Postfix expression with [operator] on a final [parameter].
- ///
- /// For instance:
- /// m(final parameter) => parameter++;
- ///
- R visitFinalParameterPostfix(
- Send node,
- ParameterElement parameter,
- IncDecOperator operator,
- A arg);
-
/// Postfix expression with [operator] on a local [variable].
///
/// For instance:
/// m() {
- /// var variable;
- /// variable++;
+ /// var variable;
+ /// variable++;
/// }
///
R visitLocalVariablePostfix(
@@ -2862,20 +2504,6 @@ abstract class SemanticSendVisitor<R, A> {
IncDecOperator operator,
A arg);
- /// Postfix expression with [operator] on a final local [variable].
- ///
- /// For instance:
- /// m() {
- /// final variable;
- /// variable++;
- /// }
- ///
- R visitFinalLocalVariablePostfix(
- Send node,
- LocalVariableElement variable,
- IncDecOperator operator,
- A arg);
-
/// Postfix expression with [operator] on a local [function].
///
/// For instance:
@@ -2884,7 +2512,7 @@ abstract class SemanticSendVisitor<R, A> {
/// function++;
/// }
///
- R visitLocalFunctionPostfix(
+ R errorLocalFunctionPostfix(
Send node,
LocalFunctionElement function,
IncDecOperator operator,
@@ -2925,20 +2553,6 @@ abstract class SemanticSendVisitor<R, A> {
IncDecOperator operator,
A arg);
- /// Postfix expression with [operator] on a final static [field].
- ///
- /// For instance:
- /// class C {
- /// static final field;
- /// m() => field++;
- /// }
- ///
- R visitFinalStaticFieldPostfix(
- Send node,
- FieldElement field,
- IncDecOperator operator,
- A arg);
-
/// Postfix expression with [operator] reading from a static [getter] and
/// writing to a static [setter].
///
@@ -2986,18 +2600,6 @@ abstract class SemanticSendVisitor<R, A> {
IncDecOperator operator,
A arg);
- /// Postfix expression with [operator] on a final top level [field].
- ///
- /// For instance:
- /// final field = 42;
- /// m() => field++;
- ///
- R visitFinalTopLevelFieldPostfix(
- Send node,
- FieldElement field,
- IncDecOperator operator,
- A arg);
-
/// Postfix expression with [operator] reading from a top level [getter] and
/// writing to a top level [setter].
///
@@ -3146,62 +2748,6 @@ abstract class SemanticSendVisitor<R, A> {
IncDecOperator operator,
A arg);
- /// Postfix expression with [operator] reading from a super [method], that is,
- /// closurizing [method], and writing to an unresolved super.
- ///
- /// For instance:
- /// class B {
- /// o() {}
- /// set o(_) {}
- /// }
- /// class C extends B {
- /// m() => super.o++;
- /// }
- ///
- R visitSuperMethodPostfix(
- Send node,
- FunctionElement method,
- IncDecOperator operator,
- A arg);
-
- /// Prefix expression with [operator] reading from an unresolved super getter
- /// and writing to a super [setter].
- ///
- /// For instance
- /// class B {
- /// set o(_) {}
- /// }
- /// class C extends B {
- /// m() => super.o++;
- /// }
- ///
- ///
- R visitUnresolvedSuperGetterPostfix(
- Send node,
- Element element,
- MethodElement setter,
- IncDecOperator operator,
- A arg);
-
- /// Prefix expression with [operator] reading from a super [getter] and
- /// writing to an unresolved super setter.
- ///
- /// For instance
- /// class B {
- /// get o => 42
- /// }
- /// class C extends B {
- /// m() => super.o++;
- /// }
- ///
- ///
- R visitUnresolvedSuperSetterPostfix(
- Send node,
- MethodElement getter,
- Element element,
- IncDecOperator operator,
- A arg);
-
/// Postfix expression with [operator] on a type literal for a class
/// [element].
///
@@ -3209,7 +2755,7 @@ abstract class SemanticSendVisitor<R, A> {
/// class C {}
/// m() => C++;
///
- R visitClassTypeLiteralPostfix(
+ R errorClassTypeLiteralPostfix(
Send node,
ConstantExpression constant,
IncDecOperator operator,
@@ -3222,7 +2768,7 @@ abstract class SemanticSendVisitor<R, A> {
/// typedef F();
/// m() => F++;
///
- R visitTypedefTypeLiteralPostfix(
+ R errorTypedefTypeLiteralPostfix(
Send node,
ConstantExpression constant,
IncDecOperator operator,
@@ -3236,7 +2782,7 @@ abstract class SemanticSendVisitor<R, A> {
/// m() => T++;
/// }
///
- R visitTypeVariableTypeLiteralPostfix(
+ R errorTypeVariableTypeLiteralPostfix(
Send node,
TypeVariableElement element,
IncDecOperator operator,
@@ -3247,7 +2793,7 @@ abstract class SemanticSendVisitor<R, A> {
/// For instance:
/// m() => dynamic++;
///
- R visitDynamicTypeLiteralPostfix(
+ R errorDynamicTypeLiteralPostfix(
Send node,
ConstantExpression constant,
IncDecOperator operator,
@@ -3362,87 +2908,7 @@ abstract class SemanticSendVisitor<R, A> {
Selector selector,
A arg);
- /// Compound assignment of [rhs] with [operator] reading from the
- /// non-existing static getter and writing to the static [setter].
- ///
- /// For instance
- /// class C {
- /// set foo(_) {}
- /// }
- /// m1() => C.foo += 42;
- ///
- R visitUnresolvedStaticGetterCompound(
- Send node,
- Element element,
- MethodElement setter,
- AssignmentOperator operator,
- Node rhs,
- A arg);
-
- /// Compound assignment of [rhs] with [operator] reading from the
- /// non-existing top level getter and writing to the top level [setter].
- ///
- /// For instance
- /// set foo(_) {}
- /// m1() => foo += 42;
- ///
- R visitUnresolvedTopLevelGetterCompound(
- Send node,
- Element element,
- MethodElement setter,
- AssignmentOperator operator,
- Node rhs,
- A arg);
-
- /// Compound assignment of [rhs] with [operator] reading from the static
- /// [getter] and writing to the non-existing static setter.
- ///
- /// For instance
- /// class C {
- /// get foo => 42;
- /// }
- /// m1() => C.foo += 42;
- ///
- R visitUnresolvedStaticSetterCompound(
- Send node,
- MethodElement getter,
- Element element,
- AssignmentOperator operator,
- Node rhs,
- A arg);
-
- /// Compound assignment of [rhs] with [operator] reading from the top level
- /// [getter] and writing to the non-existing top level setter.
- ///
- /// For instance
- /// get foo => 42;
- /// m1() => foo += 42;
- ///
- R visitUnresolvedTopLevelSetterCompound(
- Send node,
- MethodElement getter,
- Element element,
- AssignmentOperator operator,
- Node rhs,
- A arg);
-
- /// Compound assignment of [rhs] with [operator] reading the closurized static
- /// [method] and trying to invoke the non-existing setter.
- ///
- /// For instance
- /// class C {
- /// foo() {}
- /// }
- /// m1() => C.foo += 42;
- ///
- R visitStaticMethodCompound(
- Send node,
- MethodElement method,
- AssignmentOperator operator,
- Node rhs,
- A arg);
-
- /// Compound assignment of [rhs] where both getter and setter are unresolved.
+ /// Compound assignment of [rhs] on the unresolved [element].
///
/// For instance
/// class C {}
@@ -3455,104 +2921,14 @@ abstract class SemanticSendVisitor<R, A> {
/// m7() => prefix.C.unresolved += 42;
///
// TODO(johnniwinther): Split the cases in which a prefix is resolved.
- R visitUnresolvedCompound(
+ R errorUnresolvedCompound(
Send node,
Element element,
AssignmentOperator operator,
Node rhs,
A arg);
- /// Prefix operation of [operator] reading from the non-existing static getter
- /// and writing to the static [setter].
- ///
- /// For instance
- /// class C {
- /// set foo(_) {}
- /// }
- /// m1() => ++C.foo;
- ///
- R visitUnresolvedStaticGetterPrefix(
- Send node,
- Element element,
- MethodElement setter,
- IncDecOperator operator,
- A arg);
-
- /// Prefix operation of [operator] reading from the non-existing top level
- /// getter and writing to the top level [setter].
- ///
- /// For instance
- /// set foo(_) {}
- /// m1() => ++foo;
- ///
- R visitUnresolvedTopLevelGetterPrefix(
- Send node,
- Element element,
- MethodElement setter,
- IncDecOperator operator,
- A arg);
-
- /// Prefix operation of [operator] reading from the static [getter] and
- /// writing to the non-existing static setter.
- ///
- /// For instance
- /// class C {
- /// get foo => 42;
- /// }
- /// m1() => ++C.foo;
- ///
- R visitUnresolvedStaticSetterPrefix(
- Send node,
- MethodElement getter,
- Element element,
- IncDecOperator operator,
- A arg);
-
- /// Postfix operation of [operator] reading from the top level [getter] and
- /// writing to the non-existing top level setter.
- ///
- /// For instance
- /// get foo => 42;
- /// m1() => ++foo;
- ///
- R visitUnresolvedTopLevelSetterPrefix(
- Send node,
- MethodElement getter,
- Element element,
- IncDecOperator operator,
- A arg);
-
- /// Prefix operation of [operator] reading the closurized static [method] and
- /// trying to invoke the non-existing setter.
- ///
- /// For instance
- /// class C {
- /// foo() {}
- /// }
- /// m1() => ++C.foo;
- ///
- R visitStaticMethodPrefix(
- Send node,
- MethodElement method,
- IncDecOperator operator,
- A arg);
-
- /// Prefix operation of [operator] reading the closurized top level [method]
- /// and trying to invoke the non-existing setter.
- ///
- /// For instance
- /// class C {
- /// foo() {}
- /// }
- /// m1() => ++C.foo;
- ///
- R visitTopLevelMethodPrefix(
- Send node,
- MethodElement method,
- IncDecOperator operator,
- A arg);
-
- /// Prefix operation where both getter and setter are unresolved.
+ /// Prefix operation on the unresolved [element].
///
/// For instance
/// class C {}
@@ -3565,103 +2941,13 @@ abstract class SemanticSendVisitor<R, A> {
/// m7() => ++prefix.C.unresolved;
///
// TODO(johnniwinther): Split the cases in which a prefix is resolved.
- R visitUnresolvedPrefix(
- Send node,
- Element element,
- IncDecOperator operator,
- A arg);
-
- /// Postfix operation of [operator] reading from the non-existing static
- /// getter and writing to the static [setter].
- ///
- /// For instance
- /// class C {
- /// set foo(_) {}
- /// }
- /// m1() => C.foo++;
- ///
- R visitUnresolvedStaticGetterPostfix(
- Send node,
- Element element,
- MethodElement setter,
- IncDecOperator operator,
- A arg);
-
- /// Postfix operation of [operator] reading from the non-existing top level
- /// getter and writing to the top level [setter].
- ///
- /// For instance
- /// set foo(_) {}
- /// m1() => foo++;
- ///
- R visitUnresolvedTopLevelGetterPostfix(
- Send node,
- Element element,
- MethodElement setter,
- IncDecOperator operator,
- A arg);
-
- /// Postfix operation of [operator] reading from the static [getter] and
- /// writing to the non-existing static setter.
- ///
- /// For instance
- /// class C {
- /// get foo => 42;
- /// }
- /// m1() => C.foo++;
- ///
- R visitUnresolvedStaticSetterPostfix(
- Send node,
- MethodElement getter,
- Element element,
- IncDecOperator operator,
- A arg);
-
- /// Postfix operation of [operator] reading from the top level [getter] and
- /// writing to the non-existing top level setter.
- ///
- /// For instance
- /// get foo => 42;
- /// m1() => foo++;
- ///
- R visitUnresolvedTopLevelSetterPostfix(
+ R errorUnresolvedPrefix(
Send node,
- MethodElement getter,
Element element,
IncDecOperator operator,
A arg);
- /// Postfix operation of [operator] reading the closurized static [method] and
- /// trying to invoke the non-existing setter.
- ///
- /// For instance
- /// class C {
- /// foo() {}
- /// }
- /// m1() => C.foo++;
- ///
- R visitStaticMethodPostfix(
- Send node,
- MethodElement method,
- IncDecOperator operator,
- A arg);
-
- /// Postfix operation of [operator] reading the closurized top level [method]
- /// and trying to invoke the non-existing setter.
- ///
- /// For instance
- /// class C {
- /// foo() {}
- /// }
- /// m1() => C.foo++;
- ///
- R visitTopLevelMethodPostfix(
- Send node,
- MethodElement method,
- IncDecOperator operator,
- A arg);
-
- /// Postfix operation where both getter and setter are unresolved.
+ /// Postfix operation on the unresolved [element].
///
/// For instance
/// class C {}
@@ -3674,7 +2960,7 @@ abstract class SemanticSendVisitor<R, A> {
/// m7() => prefix.C.unresolved++;
///
// TODO(johnniwinther): Split the cases in which a prefix is resolved.
- R visitUnresolvedPostfix(
+ R errorUnresolvedPostfix(
Send node,
Element element,
IncDecOperator operator,
« no previous file with comments | « pkg/compiler/lib/src/resolution/access_semantics.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