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

Side by Side Diff: pkg/compiler/lib/src/resolution/send_structure.dart

Issue 1185483004: Revert "Handle most qualified sends." (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pkg/compiler/lib/src/resolution/send_resolver.dart ('k') | pkg/compiler/lib/src/warnings.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library dart2js.send_structure; 5 library dart2js.send_structure;
6 6
7 import 'access_semantics.dart'; 7 import 'access_semantics.dart';
8 import 'operators.dart'; 8 import 'operators.dart';
9 import 'semantic_visitor.dart'; 9 import 'semantic_visitor.dart';
10 import '../dart_types.dart'; 10 import '../dart_types.dart';
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 final Selector selector; 168 final Selector selector;
169 169
170 /// The [CallStructure] of the invocation. 170 /// The [CallStructure] of the invocation.
171 // TODO(johnniwinther): Store this directly for static invocations. 171 // TODO(johnniwinther): Store this directly for static invocations.
172 CallStructure get callStructure => selector.callStructure; 172 CallStructure get callStructure => selector.callStructure;
173 173
174 InvokeStructure(this.semantics, this.selector); 174 InvokeStructure(this.semantics, this.selector);
175 175
176 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) { 176 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) {
177 switch (semantics.kind) { 177 switch (semantics.kind) {
178 case AccessKind.CONDITIONAL_DYNAMIC_PROPERTY:
179 return visitor.visitIfNotNullDynamicPropertyInvoke(
180 node,
181 node.receiver,
182 node.argumentsNode,
183 selector,
184 arg);
185 case AccessKind.DYNAMIC_PROPERTY: 178 case AccessKind.DYNAMIC_PROPERTY:
179 if (node.isConditional) {
180 return visitor.visitIfNotNullDynamicPropertyInvoke(
181 node,
182 node.receiver,
183 node.argumentsNode,
184 selector,
185 arg);
186 }
186 return visitor.visitDynamicPropertyInvoke( 187 return visitor.visitDynamicPropertyInvoke(
187 node, 188 node,
188 node.receiver, 189 node.receiver,
189 node.argumentsNode, 190 node.argumentsNode,
190 selector, 191 selector,
191 arg); 192 arg);
192 case AccessKind.LOCAL_FUNCTION: 193 case AccessKind.LOCAL_FUNCTION:
193 return visitor.visitLocalFunctionInvoke( 194 return visitor.visitLocalFunctionInvoke(
194 node, 195 node,
195 semantics.element, 196 semantics.element,
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
445 /// The target of the read access. 446 /// The target of the read access.
446 final AccessSemantics semantics; 447 final AccessSemantics semantics;
447 448
448 /// The [Selector] for the getter invocation. 449 /// The [Selector] for the getter invocation.
449 final Selector selector; 450 final Selector selector;
450 451
451 GetStructure(this.semantics, this.selector); 452 GetStructure(this.semantics, this.selector);
452 453
453 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) { 454 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) {
454 switch (semantics.kind) { 455 switch (semantics.kind) {
455 case AccessKind.CONDITIONAL_DYNAMIC_PROPERTY:
456 return visitor.visitIfNotNullDynamicPropertyGet(
457 node,
458 node.receiver,
459 selector,
460 arg);
461 case AccessKind.DYNAMIC_PROPERTY: 456 case AccessKind.DYNAMIC_PROPERTY:
457 if (node.isConditional) {
458 return visitor.visitIfNotNullDynamicPropertyGet(
459 node,
460 node.receiver,
461 selector,
462 arg);
463 }
462 return visitor.visitDynamicPropertyGet( 464 return visitor.visitDynamicPropertyGet(
463 node, 465 node,
464 node.receiver, 466 node.receiver,
465 selector, 467 selector,
466 arg); 468 arg);
467 case AccessKind.LOCAL_FUNCTION: 469 case AccessKind.LOCAL_FUNCTION:
468 return visitor.visitLocalFunctionGet( 470 return visitor.visitLocalFunctionGet(
469 node, 471 node,
470 semantics.element, 472 semantics.element,
471 arg); 473 arg);
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
605 /// The target of the assignment. 607 /// The target of the assignment.
606 final AccessSemantics semantics; 608 final AccessSemantics semantics;
607 609
608 /// The [Selector] for the setter invocation. 610 /// The [Selector] for the setter invocation.
609 final Selector selector; 611 final Selector selector;
610 612
611 SetStructure(this.semantics, this.selector); 613 SetStructure(this.semantics, this.selector);
612 614
613 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) { 615 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) {
614 switch (semantics.kind) { 616 switch (semantics.kind) {
615 case AccessKind.CONDITIONAL_DYNAMIC_PROPERTY:
616 return visitor.visitIfNotNullDynamicPropertySet(
617 node,
618 node.receiver,
619 selector,
620 node.arguments.single,
621 arg);
622 case AccessKind.DYNAMIC_PROPERTY: 617 case AccessKind.DYNAMIC_PROPERTY:
618 if (node.isConditional) {
619 return visitor.visitIfNotNullDynamicPropertySet(
620 node,
621 node.receiver,
622 selector,
623 node.arguments.single,
624 arg);
625 }
623 return visitor.visitDynamicPropertySet( 626 return visitor.visitDynamicPropertySet(
624 node, 627 node,
625 node.receiver, 628 node.receiver,
626 selector, 629 selector,
627 node.arguments.single, 630 node.arguments.single,
628 arg); 631 arg);
629 case AccessKind.LOCAL_FUNCTION: 632 case AccessKind.LOCAL_FUNCTION:
630 return visitor.visitLocalFunctionSet( 633 return visitor.visitLocalFunctionSet(
631 node, 634 node,
632 semantics.element, 635 semantics.element,
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after
1268 /// The [Selector] for the setter invocation. 1271 /// The [Selector] for the setter invocation.
1269 final Selector setterSelector; 1272 final Selector setterSelector;
1270 1273
1271 CompoundStructure(this.semantics, 1274 CompoundStructure(this.semantics,
1272 this.operator, 1275 this.operator,
1273 this.getterSelector, 1276 this.getterSelector,
1274 this.setterSelector); 1277 this.setterSelector);
1275 1278
1276 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) { 1279 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) {
1277 switch (semantics.kind) { 1280 switch (semantics.kind) {
1278 case AccessKind.CONDITIONAL_DYNAMIC_PROPERTY:
1279 return visitor.visitIfNotNullDynamicPropertyCompound(
1280 node,
1281 node.receiver,
1282 operator,
1283 node.arguments.single,
1284 getterSelector,
1285 setterSelector,
1286 arg);
1287 case AccessKind.DYNAMIC_PROPERTY: 1281 case AccessKind.DYNAMIC_PROPERTY:
1282 if (node.isConditional) {
1283 return visitor.visitIfNotNullDynamicPropertyCompound(
1284 node,
1285 node.receiver,
1286 operator,
1287 node.arguments.single,
1288 getterSelector,
1289 setterSelector,
1290 arg);
1291 }
1288 return visitor.visitDynamicPropertyCompound( 1292 return visitor.visitDynamicPropertyCompound(
1289 node, 1293 node,
1290 node.receiver, 1294 node.receiver,
1291 operator, 1295 operator,
1292 node.arguments.single, 1296 node.arguments.single,
1293 getterSelector, 1297 getterSelector,
1294 setterSelector, 1298 setterSelector,
1295 arg); 1299 arg);
1296 case AccessKind.LOCAL_FUNCTION: 1300 case AccessKind.LOCAL_FUNCTION:
1297 return visitor.visitLocalFunctionCompound( 1301 return visitor.visitLocalFunctionCompound(
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
1694 /// The [Selector] for the setter invocation. 1698 /// The [Selector] for the setter invocation.
1695 final Selector setterSelector; 1699 final Selector setterSelector;
1696 1700
1697 PrefixStructure(this.semantics, 1701 PrefixStructure(this.semantics,
1698 this.operator, 1702 this.operator,
1699 this.getterSelector, 1703 this.getterSelector,
1700 this.setterSelector); 1704 this.setterSelector);
1701 1705
1702 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) { 1706 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) {
1703 switch (semantics.kind) { 1707 switch (semantics.kind) {
1704 case AccessKind.CONDITIONAL_DYNAMIC_PROPERTY:
1705 return visitor.visitIfNotNullDynamicPropertyPrefix(
1706 node,
1707 node.receiver,
1708 operator,
1709 getterSelector,
1710 setterSelector,
1711 arg);
1712 case AccessKind.DYNAMIC_PROPERTY: 1708 case AccessKind.DYNAMIC_PROPERTY:
1709 if (node.isConditional) {
1710 return visitor.visitIfNotNullDynamicPropertyPrefix(
1711 node,
1712 node.receiver,
1713 operator,
1714 getterSelector,
1715 setterSelector,
1716 arg);
1717 }
1713 return visitor.visitDynamicPropertyPrefix( 1718 return visitor.visitDynamicPropertyPrefix(
1714 node, 1719 node,
1715 node.receiver, 1720 node.receiver,
1716 operator, 1721 operator,
1717 getterSelector, 1722 getterSelector,
1718 setterSelector, 1723 setterSelector,
1719 arg); 1724 arg);
1720 case AccessKind.LOCAL_FUNCTION: 1725 case AccessKind.LOCAL_FUNCTION:
1721 return visitor.visitLocalFunctionPrefix( 1726 return visitor.visitLocalFunctionPrefix(
1722 node, 1727 node,
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
2010 /// The [Selector] for the setter invocation. 2015 /// The [Selector] for the setter invocation.
2011 final Selector setterSelector; 2016 final Selector setterSelector;
2012 2017
2013 PostfixStructure(this.semantics, 2018 PostfixStructure(this.semantics,
2014 this.operator, 2019 this.operator,
2015 this.getterSelector, 2020 this.getterSelector,
2016 this.setterSelector); 2021 this.setterSelector);
2017 2022
2018 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) { 2023 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) {
2019 switch (semantics.kind) { 2024 switch (semantics.kind) {
2020 case AccessKind.CONDITIONAL_DYNAMIC_PROPERTY:
2021 return visitor.visitIfNotNullDynamicPropertyPostfix(
2022 node,
2023 node.receiver,
2024 operator,
2025 getterSelector,
2026 setterSelector,
2027 arg);
2028 case AccessKind.DYNAMIC_PROPERTY: 2025 case AccessKind.DYNAMIC_PROPERTY:
2026 if (node.isConditional) {
2027 return visitor.visitIfNotNullDynamicPropertyPostfix(
2028 node,
2029 node.receiver,
2030 operator,
2031 getterSelector,
2032 setterSelector,
2033 arg);
2034 }
2029 return visitor.visitDynamicPropertyPostfix( 2035 return visitor.visitDynamicPropertyPostfix(
2030 node, 2036 node,
2031 node.receiver, 2037 node.receiver,
2032 operator, 2038 operator,
2033 getterSelector, 2039 getterSelector,
2034 setterSelector, 2040 setterSelector,
2035 arg); 2041 arg);
2036 case AccessKind.LOCAL_FUNCTION: 2042 case AccessKind.LOCAL_FUNCTION:
2037 return visitor.visitLocalFunctionPostfix( 2043 return visitor.visitLocalFunctionPostfix(
2038 node, 2044 node,
(...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after
2630 ThisConstructorInvokeStructure( 2636 ThisConstructorInvokeStructure(
2631 this.node, this.constructor, this.callStructure); 2637 this.node, this.constructor, this.callStructure);
2632 2638
2633 R dispatch(SemanticDeclarationVisitor<R, A> visitor, A arg) { 2639 R dispatch(SemanticDeclarationVisitor<R, A> visitor, A arg) {
2634 return visitor.visitThisConstructorInvoke( 2640 return visitor.visitThisConstructorInvoke(
2635 node, constructor, node.argumentsNode, callStructure, arg); 2641 node, constructor, node.argumentsNode, callStructure, arg);
2636 } 2642 }
2637 2643
2638 bool get isConstructorInvoke => true; 2644 bool get isConstructorInvoke => true;
2639 } 2645 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/resolution/send_resolver.dart ('k') | pkg/compiler/lib/src/warnings.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698