| Index: pkg/compiler/lib/src/resolution/semantic_visitor_mixins.dart
|
| diff --git a/pkg/compiler/lib/src/resolution/semantic_visitor_mixins.dart b/pkg/compiler/lib/src/resolution/semantic_visitor_mixins.dart
|
| index dce195b1b07de12a64b856ce9cdbb060245224bc..470000087a8de76f1d2fbdec997cf87e541f37cc 100644
|
| --- a/pkg/compiler/lib/src/resolution/semantic_visitor_mixins.dart
|
| +++ b/pkg/compiler/lib/src/resolution/semantic_visitor_mixins.dart
|
| @@ -503,47 +503,6 @@ abstract class ErrorBulkMixin<R, A>
|
| }
|
|
|
| @override
|
| - R errorUnresolvedSuperCompoundIndexSet(
|
| - SendSet node,
|
| - Element element,
|
| - Node index,
|
| - AssignmentOperator operator,
|
| - Node rhs,
|
| - A arg) {
|
| - return bulkHandleError(node, arg);
|
| - }
|
| -
|
| - @override
|
| - R errorUnresolvedSuperIndexPostfix(
|
| - Send node,
|
| - Element function,
|
| - Node index,
|
| - IncDecOperator operator,
|
| - A arg) {
|
| - return bulkHandleError(node, arg);
|
| - }
|
| -
|
| - @override
|
| - R errorUnresolvedSuperIndexPrefix(
|
| - Send node,
|
| - Element function,
|
| - Node index,
|
| - IncDecOperator operator,
|
| - A arg) {
|
| - return bulkHandleError(node, arg);
|
| - }
|
| -
|
| - @override
|
| - R errorUnresolvedSuperIndexSet(
|
| - SendSet node,
|
| - Element element,
|
| - Node index,
|
| - Node rhs,
|
| - A arg) {
|
| - return bulkHandleError(node, arg);
|
| - }
|
| -
|
| - @override
|
| R errorUndefinedUnaryExpression(
|
| Send node,
|
| Operator operator,
|
| @@ -704,6 +663,27 @@ abstract class PrefixBulkMixin<R, A>
|
| }
|
|
|
| @override
|
| + R visitUnresolvedSuperGetterIndexPrefix(
|
| + Send node,
|
| + Element element,
|
| + Node index,
|
| + IncDecOperator operator,
|
| + A arg) {
|
| + return bulkHandlePrefix(node, arg);
|
| + }
|
| +
|
| + @override
|
| + R visitUnresolvedSuperSetterIndexPrefix(
|
| + Send node,
|
| + MethodElement getter,
|
| + Element element,
|
| + Node index,
|
| + IncDecOperator operator,
|
| + A arg) {
|
| + return bulkHandlePrefix(node, arg);
|
| + }
|
| +
|
| + @override
|
| R visitSuperMethodSetterPrefix(
|
| Send node,
|
| FunctionElement method,
|
| @@ -894,6 +874,27 @@ abstract class PostfixBulkMixin<R, A>
|
| }
|
|
|
| @override
|
| + R visitUnresolvedSuperGetterIndexPostfix(
|
| + Send node,
|
| + Element element,
|
| + Node index,
|
| + IncDecOperator operator,
|
| + A arg) {
|
| + return bulkHandlePostfix(node, arg);
|
| + }
|
| +
|
| + @override
|
| + R visitUnresolvedSuperSetterIndexPostfix(
|
| + Send node,
|
| + MethodElement getter,
|
| + Element element,
|
| + Node index,
|
| + IncDecOperator operator,
|
| + A arg) {
|
| + return bulkHandlePostfix(node, arg);
|
| + }
|
| +
|
| + @override
|
| R visitSuperMethodSetterPostfix(
|
| Send node,
|
| FunctionElement method,
|
| @@ -1725,6 +1726,29 @@ abstract class IndexSetBulkMixin<R, A>
|
| }
|
|
|
| @override
|
| + R visitUnresolvedSuperGetterCompoundIndexSet(
|
| + SendSet node,
|
| + Element element,
|
| + Node index,
|
| + AssignmentOperator operator,
|
| + Node rhs,
|
| + A arg) {
|
| + return bulkHandleIndexSet(node, arg);
|
| + }
|
| +
|
| + @override
|
| + R visitUnresolvedSuperSetterCompoundIndexSet(
|
| + SendSet node,
|
| + MethodElement getter,
|
| + Element element,
|
| + Node index,
|
| + AssignmentOperator operator,
|
| + Node rhs,
|
| + A arg) {
|
| + return bulkHandleIndexSet(node, arg);
|
| + }
|
| +
|
| + @override
|
| R visitSuperIndexSet(
|
| SendSet node,
|
| FunctionElement function,
|
| @@ -1733,6 +1757,16 @@ abstract class IndexSetBulkMixin<R, A>
|
| A arg) {
|
| return bulkHandleIndexSet(node, arg);
|
| }
|
| +
|
| + @override
|
| + R visitUnresolvedSuperIndexSet(
|
| + SendSet node,
|
| + Element element,
|
| + Node index,
|
| + Node rhs,
|
| + A arg) {
|
| + return bulkHandleIndexSet(node, arg);
|
| + }
|
| }
|
|
|
| /// Mixin that implements all binary visitor methods in [SemanticSendVisitor] by
|
| @@ -4676,7 +4710,7 @@ class TraversalSendMixin<R, A> implements SemanticSendVisitor<R, A> {
|
| }
|
|
|
| @override
|
| - R errorUnresolvedSuperIndexSet(
|
| + R visitUnresolvedSuperIndexSet(
|
| Send node,
|
| Element element,
|
| Node index,
|
| @@ -4688,8 +4722,22 @@ class TraversalSendMixin<R, A> implements SemanticSendVisitor<R, A> {
|
| }
|
|
|
| @override
|
| - R errorUnresolvedSuperCompoundIndexSet(
|
| + R visitUnresolvedSuperGetterCompoundIndexSet(
|
| + SendSet node,
|
| + Element element,
|
| + Node index,
|
| + AssignmentOperator operator,
|
| + Node rhs,
|
| + A arg) {
|
| + apply(index, arg);
|
| + apply(rhs, arg);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + R visitUnresolvedSuperSetterCompoundIndexSet(
|
| SendSet node,
|
| + MethodElement getter,
|
| Element element,
|
| Node index,
|
| AssignmentOperator operator,
|
| @@ -4721,9 +4769,9 @@ class TraversalSendMixin<R, A> implements SemanticSendVisitor<R, A> {
|
| }
|
|
|
| @override
|
| - R errorUnresolvedSuperIndexPostfix(
|
| + R visitUnresolvedSuperGetterIndexPostfix(
|
| Send node,
|
| - Element function,
|
| + Element element,
|
| Node index,
|
| IncDecOperator operator,
|
| A arg) {
|
| @@ -4732,9 +4780,33 @@ class TraversalSendMixin<R, A> implements SemanticSendVisitor<R, A> {
|
| }
|
|
|
| @override
|
| - R errorUnresolvedSuperIndexPrefix(
|
| + R visitUnresolvedSuperSetterIndexPostfix(
|
| Send node,
|
| - Element function,
|
| + MethodElement getter,
|
| + Element element,
|
| + Node index,
|
| + IncDecOperator operator,
|
| + A arg) {
|
| + apply(index, arg);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + R visitUnresolvedSuperGetterIndexPrefix(
|
| + Send node,
|
| + Element element,
|
| + Node index,
|
| + IncDecOperator operator,
|
| + A arg) {
|
| + apply(index, arg);
|
| + return null;
|
| + }
|
| +
|
| + @override
|
| + R visitUnresolvedSuperSetterIndexPrefix(
|
| + Send node,
|
| + MethodElement getter,
|
| + Element element,
|
| Node index,
|
| IncDecOperator operator,
|
| A arg) {
|
| @@ -6378,6 +6450,23 @@ abstract class BaseImplementationOfSuperIncDecsMixin<R, A>
|
| A arg,
|
| {bool isPrefix});
|
|
|
| + R handleUnresolvedSuperGetterIndexPostfixPrefix(
|
| + Send node,
|
| + Element element,
|
| + Node index,
|
| + IncDecOperator operator,
|
| + A arg,
|
| + {bool isPrefix});
|
| +
|
| + R handleUnresolvedSuperSetterIndexPostfixPrefix(
|
| + Send node,
|
| + FunctionElement indexFunction,
|
| + Element element,
|
| + Node index,
|
| + IncDecOperator operator,
|
| + A arg,
|
| + {bool isPrefix});
|
| +
|
| @override
|
| R visitSuperFieldFieldPostfix(
|
| Send node,
|
| @@ -6533,6 +6622,52 @@ abstract class BaseImplementationOfSuperIncDecsMixin<R, A>
|
| node, indexFunction, indexSetFunction,
|
| index, operator, arg, isPrefix: true);
|
| }
|
| +
|
| + @override
|
| + R visitUnresolvedSuperGetterIndexPostfix(
|
| + Send node,
|
| + Element element,
|
| + Node index,
|
| + IncDecOperator operator,
|
| + A arg) {
|
| + return handleUnresolvedSuperGetterIndexPostfixPrefix(
|
| + node, element, index, operator, arg, isPrefix: false);
|
| + }
|
| +
|
| + @override
|
| + R visitUnresolvedSuperGetterIndexPrefix(
|
| + Send node,
|
| + Element element,
|
| + Node index,
|
| + IncDecOperator operator,
|
| + A arg) {
|
| + return handleUnresolvedSuperGetterIndexPostfixPrefix(
|
| + node, element, index, operator, arg, isPrefix: true);
|
| + }
|
| +
|
| + @override
|
| + R visitUnresolvedSuperSetterIndexPostfix(
|
| + Send node,
|
| + MethodElement indexFunction,
|
| + Element element,
|
| + Node index,
|
| + IncDecOperator operator,
|
| + A arg) {
|
| + return handleUnresolvedSuperSetterIndexPostfixPrefix(
|
| + node, indexFunction, element, index, operator, arg, isPrefix: false);
|
| + }
|
| +
|
| + @override
|
| + R visitUnresolvedSuperSetterIndexPrefix(
|
| + Send node,
|
| + MethodElement indexFunction,
|
| + Element element,
|
| + Node index,
|
| + IncDecOperator operator,
|
| + A arg) {
|
| + return handleUnresolvedSuperSetterIndexPostfixPrefix(
|
| + node, indexFunction, element, index, operator, arg, isPrefix: true);
|
| + }
|
| }
|
|
|
| /// Mixin that groups the non-constant `visitXConstructorInvoke` methods by
|
|
|