| OLD | NEW |
| 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 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 case AccessKind.LOCAL_FUNCTION: | 170 case AccessKind.LOCAL_FUNCTION: |
| 171 return visitor.visitLocalFunctionInvoke( | 171 return visitor.visitLocalFunctionInvoke( |
| 172 node, | 172 node, |
| 173 semantics.element, | 173 semantics.element, |
| 174 node.argumentsNode, | 174 node.argumentsNode, |
| 175 // TODO(johnniwinther): Store the call selector instead of the | 175 // TODO(johnniwinther): Store the call selector instead of the |
| 176 // selector using the name of the function. | 176 // selector using the name of the function. |
| 177 callStructure, | 177 callStructure, |
| 178 arg); | 178 arg); |
| 179 case AccessKind.LOCAL_VARIABLE: | 179 case AccessKind.LOCAL_VARIABLE: |
| 180 case AccessKind.FINAL_LOCAL_VARIABLE: | |
| 181 return visitor.visitLocalVariableInvoke( | 180 return visitor.visitLocalVariableInvoke( |
| 182 node, | 181 node, |
| 183 semantics.element, | 182 semantics.element, |
| 184 node.argumentsNode, | 183 node.argumentsNode, |
| 185 // TODO(johnniwinther): Store the call selector instead of the | 184 // TODO(johnniwinther): Store the call selector instead of the |
| 186 // selector using the name of the variable. | 185 // selector using the name of the variable. |
| 187 callStructure, | 186 callStructure, |
| 188 arg); | 187 arg); |
| 189 case AccessKind.PARAMETER: | 188 case AccessKind.PARAMETER: |
| 190 case AccessKind.FINAL_PARAMETER: | |
| 191 return visitor.visitParameterInvoke( | 189 return visitor.visitParameterInvoke( |
| 192 node, | 190 node, |
| 193 semantics.element, | 191 semantics.element, |
| 194 node.argumentsNode, | 192 node.argumentsNode, |
| 195 // TODO(johnniwinther): Store the call selector instead of the | 193 // TODO(johnniwinther): Store the call selector instead of the |
| 196 // selector using the name of the parameter. | 194 // selector using the name of the parameter. |
| 197 callStructure, | 195 callStructure, |
| 198 arg); | 196 arg); |
| 199 case AccessKind.STATIC_FIELD: | 197 case AccessKind.STATIC_FIELD: |
| 200 case AccessKind.FINAL_STATIC_FIELD: | |
| 201 return visitor.visitStaticFieldInvoke( | 198 return visitor.visitStaticFieldInvoke( |
| 202 node, | 199 node, |
| 203 semantics.element, | 200 semantics.element, |
| 204 node.argumentsNode, | 201 node.argumentsNode, |
| 205 callStructure, | 202 callStructure, |
| 206 arg); | 203 arg); |
| 207 case AccessKind.STATIC_METHOD: | 204 case AccessKind.STATIC_METHOD: |
| 208 return visitor.visitStaticFunctionInvoke( | 205 return visitor.visitStaticFunctionInvoke( |
| 209 node, | 206 node, |
| 210 semantics.element, | 207 semantics.element, |
| 211 node.argumentsNode, | 208 node.argumentsNode, |
| 212 callStructure, | 209 callStructure, |
| 213 arg); | 210 arg); |
| 214 case AccessKind.STATIC_GETTER: | 211 case AccessKind.STATIC_GETTER: |
| 215 return visitor.visitStaticGetterInvoke( | 212 return visitor.visitStaticGetterInvoke( |
| 216 node, | 213 node, |
| 217 semantics.element, | 214 semantics.element, |
| 218 node.argumentsNode, | 215 node.argumentsNode, |
| 219 callStructure, | 216 callStructure, |
| 220 arg); | 217 arg); |
| 221 case AccessKind.STATIC_SETTER: | 218 case AccessKind.STATIC_SETTER: |
| 222 return visitor.errorStaticSetterInvoke( | 219 return visitor.errorStaticSetterInvoke( |
| 223 node, | 220 node, |
| 224 semantics.element, | 221 semantics.element, |
| 225 node.argumentsNode, | 222 node.argumentsNode, |
| 226 callStructure, | 223 callStructure, |
| 227 arg); | 224 arg); |
| 228 case AccessKind.TOPLEVEL_FIELD: | 225 case AccessKind.TOPLEVEL_FIELD: |
| 229 case AccessKind.FINAL_TOPLEVEL_FIELD: | |
| 230 return visitor.visitTopLevelFieldInvoke( | 226 return visitor.visitTopLevelFieldInvoke( |
| 231 node, | 227 node, |
| 232 semantics.element, | 228 semantics.element, |
| 233 node.argumentsNode, | 229 node.argumentsNode, |
| 234 callStructure, | 230 callStructure, |
| 235 arg); | 231 arg); |
| 236 case AccessKind.TOPLEVEL_METHOD: | 232 case AccessKind.TOPLEVEL_METHOD: |
| 237 return visitor.visitTopLevelFunctionInvoke( | 233 return visitor.visitTopLevelFunctionInvoke( |
| 238 node, | 234 node, |
| 239 semantics.element, | 235 semantics.element, |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 295 node.argumentsNode, | 291 node.argumentsNode, |
| 296 callStructure, | 292 callStructure, |
| 297 arg); | 293 arg); |
| 298 case AccessKind.THIS_PROPERTY: | 294 case AccessKind.THIS_PROPERTY: |
| 299 return visitor.visitThisPropertyInvoke( | 295 return visitor.visitThisPropertyInvoke( |
| 300 node, | 296 node, |
| 301 node.argumentsNode, | 297 node.argumentsNode, |
| 302 selector, | 298 selector, |
| 303 arg); | 299 arg); |
| 304 case AccessKind.SUPER_FIELD: | 300 case AccessKind.SUPER_FIELD: |
| 305 case AccessKind.SUPER_FINAL_FIELD: | |
| 306 return visitor.visitSuperFieldInvoke( | 301 return visitor.visitSuperFieldInvoke( |
| 307 node, | 302 node, |
| 308 semantics.element, | 303 semantics.element, |
| 309 node.argumentsNode, | 304 node.argumentsNode, |
| 310 callStructure, | 305 callStructure, |
| 311 arg); | 306 arg); |
| 312 case AccessKind.SUPER_METHOD: | 307 case AccessKind.SUPER_METHOD: |
| 313 return visitor.visitSuperMethodInvoke( | 308 return visitor.visitSuperMethodInvoke( |
| 314 node, | 309 node, |
| 315 semantics.element, | 310 semantics.element, |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 428 node, | 423 node, |
| 429 node.receiver, | 424 node.receiver, |
| 430 selector, | 425 selector, |
| 431 arg); | 426 arg); |
| 432 case AccessKind.LOCAL_FUNCTION: | 427 case AccessKind.LOCAL_FUNCTION: |
| 433 return visitor.visitLocalFunctionGet( | 428 return visitor.visitLocalFunctionGet( |
| 434 node, | 429 node, |
| 435 semantics.element, | 430 semantics.element, |
| 436 arg); | 431 arg); |
| 437 case AccessKind.LOCAL_VARIABLE: | 432 case AccessKind.LOCAL_VARIABLE: |
| 438 case AccessKind.FINAL_LOCAL_VARIABLE: | |
| 439 return visitor.visitLocalVariableGet( | 433 return visitor.visitLocalVariableGet( |
| 440 node, | 434 node, |
| 441 semantics.element, | 435 semantics.element, |
| 442 arg); | 436 arg); |
| 443 case AccessKind.PARAMETER: | 437 case AccessKind.PARAMETER: |
| 444 case AccessKind.FINAL_PARAMETER: | |
| 445 return visitor.visitParameterGet( | 438 return visitor.visitParameterGet( |
| 446 node, | 439 node, |
| 447 semantics.element, | 440 semantics.element, |
| 448 arg); | 441 arg); |
| 449 case AccessKind.STATIC_FIELD: | 442 case AccessKind.STATIC_FIELD: |
| 450 case AccessKind.FINAL_STATIC_FIELD: | |
| 451 return visitor.visitStaticFieldGet( | 443 return visitor.visitStaticFieldGet( |
| 452 node, | 444 node, |
| 453 semantics.element, | 445 semantics.element, |
| 454 arg); | 446 arg); |
| 455 case AccessKind.STATIC_METHOD: | 447 case AccessKind.STATIC_METHOD: |
| 456 return visitor.visitStaticFunctionGet( | 448 return visitor.visitStaticFunctionGet( |
| 457 node, | 449 node, |
| 458 semantics.element, | 450 semantics.element, |
| 459 arg); | 451 arg); |
| 460 case AccessKind.STATIC_GETTER: | 452 case AccessKind.STATIC_GETTER: |
| 461 return visitor.visitStaticGetterGet( | 453 return visitor.visitStaticGetterGet( |
| 462 node, | 454 node, |
| 463 semantics.element, | 455 semantics.element, |
| 464 arg); | 456 arg); |
| 465 case AccessKind.STATIC_SETTER: | 457 case AccessKind.STATIC_SETTER: |
| 466 return visitor.errorStaticSetterGet( | 458 return visitor.errorStaticSetterGet( |
| 467 node, | 459 node, |
| 468 semantics.element, | 460 semantics.element, |
| 469 arg); | 461 arg); |
| 470 case AccessKind.TOPLEVEL_FIELD: | 462 case AccessKind.TOPLEVEL_FIELD: |
| 471 case AccessKind.FINAL_TOPLEVEL_FIELD: | |
| 472 return visitor.visitTopLevelFieldGet( | 463 return visitor.visitTopLevelFieldGet( |
| 473 node, | 464 node, |
| 474 semantics.element, | 465 semantics.element, |
| 475 arg); | 466 arg); |
| 476 case AccessKind.TOPLEVEL_METHOD: | 467 case AccessKind.TOPLEVEL_METHOD: |
| 477 return visitor.visitTopLevelFunctionGet( | 468 return visitor.visitTopLevelFunctionGet( |
| 478 node, | 469 node, |
| 479 semantics.element, | 470 semantics.element, |
| 480 arg); | 471 arg); |
| 481 case AccessKind.TOPLEVEL_GETTER: | 472 case AccessKind.TOPLEVEL_GETTER: |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 513 break; | 504 break; |
| 514 case AccessKind.THIS: | 505 case AccessKind.THIS: |
| 515 // TODO(johnniwinther): Handle this when `this` is a [Send]. | 506 // TODO(johnniwinther): Handle this when `this` is a [Send]. |
| 516 break; | 507 break; |
| 517 case AccessKind.THIS_PROPERTY: | 508 case AccessKind.THIS_PROPERTY: |
| 518 return visitor.visitThisPropertyGet( | 509 return visitor.visitThisPropertyGet( |
| 519 node, | 510 node, |
| 520 selector, | 511 selector, |
| 521 arg); | 512 arg); |
| 522 case AccessKind.SUPER_FIELD: | 513 case AccessKind.SUPER_FIELD: |
| 523 case AccessKind.SUPER_FINAL_FIELD: | |
| 524 return visitor.visitSuperFieldGet( | 514 return visitor.visitSuperFieldGet( |
| 525 node, | 515 node, |
| 526 semantics.element, | 516 semantics.element, |
| 527 arg); | 517 arg); |
| 528 case AccessKind.SUPER_METHOD: | 518 case AccessKind.SUPER_METHOD: |
| 529 return visitor.visitSuperMethodGet( | 519 return visitor.visitSuperMethodGet( |
| 530 node, | 520 node, |
| 531 semantics.element, | 521 semantics.element, |
| 532 arg); | 522 arg); |
| 533 case AccessKind.SUPER_GETTER: | 523 case AccessKind.SUPER_GETTER: |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 589 node, | 579 node, |
| 590 semantics.element, | 580 semantics.element, |
| 591 node.arguments.single, | 581 node.arguments.single, |
| 592 arg); | 582 arg); |
| 593 case AccessKind.LOCAL_VARIABLE: | 583 case AccessKind.LOCAL_VARIABLE: |
| 594 return visitor.visitLocalVariableSet( | 584 return visitor.visitLocalVariableSet( |
| 595 node, | 585 node, |
| 596 semantics.element, | 586 semantics.element, |
| 597 node.arguments.single, | 587 node.arguments.single, |
| 598 arg); | 588 arg); |
| 599 case AccessKind.FINAL_LOCAL_VARIABLE: | |
| 600 return visitor.errorFinalLocalVariableSet( | |
| 601 node, | |
| 602 semantics.element, | |
| 603 node.arguments.single, | |
| 604 arg); | |
| 605 case AccessKind.PARAMETER: | 589 case AccessKind.PARAMETER: |
| 606 return visitor.visitParameterSet( | 590 return visitor.visitParameterSet( |
| 607 node, | 591 node, |
| 608 semantics.element, | 592 semantics.element, |
| 609 node.arguments.single, | 593 node.arguments.single, |
| 610 arg); | 594 arg); |
| 611 case AccessKind.FINAL_PARAMETER: | |
| 612 return visitor.errorFinalParameterSet( | |
| 613 node, | |
| 614 semantics.element, | |
| 615 node.arguments.single, | |
| 616 arg); | |
| 617 case AccessKind.STATIC_FIELD: | 595 case AccessKind.STATIC_FIELD: |
| 618 return visitor.visitStaticFieldSet( | 596 return visitor.visitStaticFieldSet( |
| 619 node, | 597 node, |
| 620 semantics.element, | 598 semantics.element, |
| 621 node.arguments.single, | 599 node.arguments.single, |
| 622 arg); | 600 arg); |
| 623 case AccessKind.FINAL_STATIC_FIELD: | |
| 624 return visitor.errorFinalStaticFieldSet( | |
| 625 node, | |
| 626 semantics.element, | |
| 627 node.arguments.single, | |
| 628 arg); | |
| 629 case AccessKind.STATIC_METHOD: | 601 case AccessKind.STATIC_METHOD: |
| 630 return visitor.errorStaticFunctionSet( | 602 return visitor.errorStaticFunctionSet( |
| 631 node, | 603 node, |
| 632 semantics.element, | 604 semantics.element, |
| 633 node.arguments.single, | 605 node.arguments.single, |
| 634 arg); | 606 arg); |
| 635 case AccessKind.STATIC_GETTER: | 607 case AccessKind.STATIC_GETTER: |
| 636 return visitor.errorStaticGetterSet( | 608 return visitor.errorStaticGetterSet( |
| 637 node, | 609 node, |
| 638 semantics.element, | 610 semantics.element, |
| 639 node.arguments.single, | 611 node.arguments.single, |
| 640 arg); | 612 arg); |
| 641 case AccessKind.STATIC_SETTER: | 613 case AccessKind.STATIC_SETTER: |
| 642 return visitor.visitStaticSetterSet( | 614 return visitor.visitStaticSetterSet( |
| 643 node, | 615 node, |
| 644 semantics.element, | 616 semantics.element, |
| 645 node.arguments.single, | 617 node.arguments.single, |
| 646 arg); | 618 arg); |
| 647 case AccessKind.TOPLEVEL_FIELD: | 619 case AccessKind.TOPLEVEL_FIELD: |
| 648 return visitor.visitTopLevelFieldSet( | 620 return visitor.visitTopLevelFieldSet( |
| 649 node, | 621 node, |
| 650 semantics.element, | 622 semantics.element, |
| 651 node.arguments.single, | 623 node.arguments.single, |
| 652 arg); | 624 arg); |
| 653 case AccessKind.FINAL_TOPLEVEL_FIELD: | |
| 654 return visitor.errorFinalTopLevelFieldSet( | |
| 655 node, | |
| 656 semantics.element, | |
| 657 node.arguments.single, | |
| 658 arg); | |
| 659 case AccessKind.TOPLEVEL_METHOD: | 625 case AccessKind.TOPLEVEL_METHOD: |
| 660 return visitor.errorTopLevelFunctionSet( | 626 return visitor.errorTopLevelFunctionSet( |
| 661 node, | 627 node, |
| 662 semantics.element, | 628 semantics.element, |
| 663 node.arguments.single, | 629 node.arguments.single, |
| 664 arg); | 630 arg); |
| 665 case AccessKind.TOPLEVEL_GETTER: | 631 case AccessKind.TOPLEVEL_GETTER: |
| 666 return visitor.errorTopLevelGetterSet( | 632 return visitor.errorTopLevelGetterSet( |
| 667 node, | 633 node, |
| 668 semantics.element, | 634 semantics.element, |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 709 node, | 675 node, |
| 710 selector, | 676 selector, |
| 711 node.arguments.single, | 677 node.arguments.single, |
| 712 arg); | 678 arg); |
| 713 case AccessKind.SUPER_FIELD: | 679 case AccessKind.SUPER_FIELD: |
| 714 return visitor.visitSuperFieldSet( | 680 return visitor.visitSuperFieldSet( |
| 715 node, | 681 node, |
| 716 semantics.element, | 682 semantics.element, |
| 717 node.arguments.single, | 683 node.arguments.single, |
| 718 arg); | 684 arg); |
| 719 case AccessKind.SUPER_FINAL_FIELD: | |
| 720 return visitor.errorFinalSuperFieldSet( | |
| 721 node, | |
| 722 semantics.element, | |
| 723 node.arguments.single, | |
| 724 arg); | |
| 725 case AccessKind.SUPER_METHOD: | 685 case AccessKind.SUPER_METHOD: |
| 726 return visitor.errorSuperMethodSet( | 686 return visitor.errorSuperMethodSet( |
| 727 node, | 687 node, |
| 728 semantics.element, | 688 semantics.element, |
| 729 node.arguments.single, | 689 node.arguments.single, |
| 730 arg); | 690 arg); |
| 731 case AccessKind.SUPER_GETTER: | 691 case AccessKind.SUPER_GETTER: |
| 732 return visitor.errorSuperGetterSet( | 692 return visitor.errorSuperGetterSet( |
| 733 node, | 693 node, |
| 734 semantics.element, | 694 semantics.element, |
| (...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1100 | 1060 |
| 1101 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) { | 1061 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) { |
| 1102 switch (semantics.kind) { | 1062 switch (semantics.kind) { |
| 1103 case AccessKind.DYNAMIC_PROPERTY: | 1063 case AccessKind.DYNAMIC_PROPERTY: |
| 1104 return visitor.visitIndexPrefix( | 1064 return visitor.visitIndexPrefix( |
| 1105 node, | 1065 node, |
| 1106 node.receiver, | 1066 node.receiver, |
| 1107 node.arguments.single, | 1067 node.arguments.single, |
| 1108 operator, | 1068 operator, |
| 1109 arg); | 1069 arg); |
| 1110 case AccessKind.UNRESOLVED_SUPER: | |
| 1111 return visitor.visitUnresolvedSuperIndexPrefix( | |
| 1112 node, | |
| 1113 semantics.element, | |
| 1114 node.arguments.single, | |
| 1115 operator, | |
| 1116 arg); | |
| 1117 case AccessKind.COMPOUND: | 1070 case AccessKind.COMPOUND: |
| 1118 CompoundAccessSemantics compoundSemantics = semantics; | 1071 CompoundAccessSemantics compoundSemantics = semantics; |
| 1119 switch (compoundSemantics.compoundAccessKind) { | 1072 switch (compoundSemantics.compoundAccessKind) { |
| 1120 case CompoundAccessKind.SUPER_GETTER_SETTER: | 1073 case CompoundAccessKind.SUPER_GETTER_SETTER: |
| 1121 return visitor.visitSuperIndexPrefix( | 1074 return visitor.visitSuperIndexPrefix( |
| 1122 node, | 1075 node, |
| 1123 compoundSemantics.getter, | 1076 compoundSemantics.getter, |
| 1124 compoundSemantics.setter, | 1077 compoundSemantics.setter, |
| 1125 node.arguments.single, | 1078 node.arguments.single, |
| 1126 operator, | 1079 operator, |
| 1127 arg); | 1080 arg); |
| 1128 case CompoundAccessKind.UNRESOLVED_SUPER_GETTER: | 1081 case CompoundAccessKind.UNRESOLVED_SUPER_GETTER: |
| 1129 return visitor.visitUnresolvedSuperGetterIndexPrefix( | 1082 return visitor.visitUnresolvedSuperGetterIndexPrefix( |
| 1130 node, | 1083 node, |
| 1131 compoundSemantics.getter, | 1084 compoundSemantics.getter, |
| 1132 compoundSemantics.setter, | |
| 1133 node.arguments.single, | 1085 node.arguments.single, |
| 1134 operator, | 1086 operator, |
| 1135 arg); | 1087 arg); |
| 1136 case CompoundAccessKind.UNRESOLVED_SUPER_SETTER: | 1088 case CompoundAccessKind.UNRESOLVED_SUPER_SETTER: |
| 1137 return visitor.visitUnresolvedSuperSetterIndexPrefix( | 1089 return visitor.visitUnresolvedSuperSetterIndexPrefix( |
| 1138 node, | 1090 node, |
| 1139 compoundSemantics.getter, | 1091 compoundSemantics.getter, |
| 1140 compoundSemantics.setter, | 1092 compoundSemantics.setter, |
| 1141 node.arguments.single, | 1093 node.arguments.single, |
| 1142 operator, | 1094 operator, |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1179 | 1131 |
| 1180 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) { | 1132 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) { |
| 1181 switch (semantics.kind) { | 1133 switch (semantics.kind) { |
| 1182 case AccessKind.DYNAMIC_PROPERTY: | 1134 case AccessKind.DYNAMIC_PROPERTY: |
| 1183 return visitor.visitIndexPostfix( | 1135 return visitor.visitIndexPostfix( |
| 1184 node, | 1136 node, |
| 1185 node.receiver, | 1137 node.receiver, |
| 1186 node.arguments.single, | 1138 node.arguments.single, |
| 1187 operator, | 1139 operator, |
| 1188 arg); | 1140 arg); |
| 1189 case AccessKind.UNRESOLVED_SUPER: | |
| 1190 return visitor.visitUnresolvedSuperIndexPostfix( | |
| 1191 node, | |
| 1192 semantics.element, | |
| 1193 node.arguments.single, | |
| 1194 operator, | |
| 1195 arg); | |
| 1196 case AccessKind.COMPOUND: | 1141 case AccessKind.COMPOUND: |
| 1197 CompoundAccessSemantics compoundSemantics = semantics; | 1142 CompoundAccessSemantics compoundSemantics = semantics; |
| 1198 switch (compoundSemantics.compoundAccessKind) { | 1143 switch (compoundSemantics.compoundAccessKind) { |
| 1199 case CompoundAccessKind.SUPER_GETTER_SETTER: | 1144 case CompoundAccessKind.SUPER_GETTER_SETTER: |
| 1200 return visitor.visitSuperIndexPostfix( | 1145 return visitor.visitSuperIndexPostfix( |
| 1201 node, | 1146 node, |
| 1202 compoundSemantics.getter, | 1147 compoundSemantics.getter, |
| 1203 compoundSemantics.setter, | 1148 compoundSemantics.setter, |
| 1204 node.arguments.single, | 1149 node.arguments.single, |
| 1205 operator, | 1150 operator, |
| 1206 arg); | 1151 arg); |
| 1207 case CompoundAccessKind.UNRESOLVED_SUPER_GETTER: | 1152 case CompoundAccessKind.UNRESOLVED_SUPER_GETTER: |
| 1208 return visitor.visitUnresolvedSuperGetterIndexPostfix( | 1153 return visitor.visitUnresolvedSuperGetterIndexPostfix( |
| 1209 node, | 1154 node, |
| 1210 compoundSemantics.getter, | 1155 compoundSemantics.getter, |
| 1211 compoundSemantics.setter, | |
| 1212 node.arguments.single, | 1156 node.arguments.single, |
| 1213 operator, | 1157 operator, |
| 1214 arg); | 1158 arg); |
| 1215 case CompoundAccessKind.UNRESOLVED_SUPER_SETTER: | 1159 case CompoundAccessKind.UNRESOLVED_SUPER_SETTER: |
| 1216 return visitor.visitUnresolvedSuperSetterIndexPostfix( | 1160 return visitor.visitUnresolvedSuperSetterIndexPostfix( |
| 1217 node, | 1161 node, |
| 1218 compoundSemantics.getter, | 1162 compoundSemantics.getter, |
| 1219 compoundSemantics.setter, | 1163 compoundSemantics.setter, |
| 1220 node.arguments.single, | 1164 node.arguments.single, |
| 1221 operator, | 1165 operator, |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1259 case AccessKind.DYNAMIC_PROPERTY: | 1203 case AccessKind.DYNAMIC_PROPERTY: |
| 1260 return visitor.visitDynamicPropertyCompound( | 1204 return visitor.visitDynamicPropertyCompound( |
| 1261 node, | 1205 node, |
| 1262 node.receiver, | 1206 node.receiver, |
| 1263 operator, | 1207 operator, |
| 1264 node.arguments.single, | 1208 node.arguments.single, |
| 1265 getterSelector, | 1209 getterSelector, |
| 1266 setterSelector, | 1210 setterSelector, |
| 1267 arg); | 1211 arg); |
| 1268 case AccessKind.LOCAL_FUNCTION: | 1212 case AccessKind.LOCAL_FUNCTION: |
| 1269 return visitor.visitLocalFunctionCompound( | 1213 return visitor.errorLocalFunctionCompound( |
| 1270 node, | 1214 node, |
| 1271 semantics.element, | 1215 semantics.element, |
| 1272 operator, | 1216 operator, |
| 1273 node.arguments.single, | 1217 node.arguments.single, |
| 1274 arg); | 1218 arg); |
| 1275 case AccessKind.LOCAL_VARIABLE: | 1219 case AccessKind.LOCAL_VARIABLE: |
| 1276 return visitor.visitLocalVariableCompound( | 1220 return visitor.visitLocalVariableCompound( |
| 1277 node, | 1221 node, |
| 1278 semantics.element, | 1222 semantics.element, |
| 1279 operator, | 1223 operator, |
| 1280 node.arguments.single, | 1224 node.arguments.single, |
| 1281 arg); | 1225 arg); |
| 1282 case AccessKind.FINAL_LOCAL_VARIABLE: | |
| 1283 return visitor.visitFinalLocalVariableCompound( | |
| 1284 node, | |
| 1285 semantics.element, | |
| 1286 operator, | |
| 1287 node.arguments.single, | |
| 1288 arg); | |
| 1289 case AccessKind.PARAMETER: | 1226 case AccessKind.PARAMETER: |
| 1290 return visitor.visitParameterCompound( | 1227 return visitor.visitParameterCompound( |
| 1291 node, | 1228 node, |
| 1292 semantics.element, | 1229 semantics.element, |
| 1293 operator, | 1230 operator, |
| 1294 node.arguments.single, | 1231 node.arguments.single, |
| 1295 arg); | 1232 arg); |
| 1296 case AccessKind.FINAL_PARAMETER: | |
| 1297 return visitor.visitFinalParameterCompound( | |
| 1298 node, | |
| 1299 semantics.element, | |
| 1300 operator, | |
| 1301 node.arguments.single, | |
| 1302 arg); | |
| 1303 case AccessKind.STATIC_FIELD: | 1233 case AccessKind.STATIC_FIELD: |
| 1304 return visitor.visitStaticFieldCompound( | 1234 return visitor.visitStaticFieldCompound( |
| 1305 node, | 1235 node, |
| 1306 semantics.element, | 1236 semantics.element, |
| 1307 operator, | 1237 operator, |
| 1308 node.arguments.single, | 1238 node.arguments.single, |
| 1309 arg); | 1239 arg); |
| 1310 case AccessKind.FINAL_STATIC_FIELD: | |
| 1311 return visitor.visitFinalStaticFieldCompound( | |
| 1312 node, | |
| 1313 semantics.element, | |
| 1314 operator, | |
| 1315 node.arguments.single, | |
| 1316 arg); | |
| 1317 case AccessKind.STATIC_METHOD: | 1240 case AccessKind.STATIC_METHOD: |
| 1318 return visitor.visitStaticMethodCompound( | 1241 // TODO(johnniwinther): Handle this. |
| 1319 node, | 1242 break; |
| 1320 semantics.element, | |
| 1321 operator, | |
| 1322 node.arguments.single, | |
| 1323 arg); | |
| 1324 case AccessKind.STATIC_GETTER: | 1243 case AccessKind.STATIC_GETTER: |
| 1325 // This is not a valid case. | 1244 // This is not a valid case. |
| 1326 break; | 1245 break; |
| 1327 case AccessKind.STATIC_SETTER: | 1246 case AccessKind.STATIC_SETTER: |
| 1328 // This is not a valid case. | 1247 // This is not a valid case. |
| 1329 break; | 1248 break; |
| 1330 case AccessKind.TOPLEVEL_FIELD: | 1249 case AccessKind.TOPLEVEL_FIELD: |
| 1331 return visitor.visitTopLevelFieldCompound( | 1250 return visitor.visitTopLevelFieldCompound( |
| 1332 node, | 1251 node, |
| 1333 semantics.element, | 1252 semantics.element, |
| 1334 operator, | 1253 operator, |
| 1335 node.arguments.single, | 1254 node.arguments.single, |
| 1336 arg); | 1255 arg); |
| 1337 case AccessKind.FINAL_TOPLEVEL_FIELD: | |
| 1338 return visitor.visitFinalTopLevelFieldCompound( | |
| 1339 node, | |
| 1340 semantics.element, | |
| 1341 operator, | |
| 1342 node.arguments.single, | |
| 1343 arg); | |
| 1344 case AccessKind.TOPLEVEL_METHOD: | 1256 case AccessKind.TOPLEVEL_METHOD: |
| 1345 return visitor.visitTopLevelMethodCompound( | 1257 // TODO(johnniwinther): Handle this. |
| 1346 node, | 1258 break; |
| 1347 semantics.element, | |
| 1348 operator, | |
| 1349 node.arguments.single, | |
| 1350 arg); | |
| 1351 case AccessKind.TOPLEVEL_GETTER: | 1259 case AccessKind.TOPLEVEL_GETTER: |
| 1352 // This is not a valid case. | 1260 // This is not a valid case. |
| 1353 break; | 1261 break; |
| 1354 case AccessKind.TOPLEVEL_SETTER: | 1262 case AccessKind.TOPLEVEL_SETTER: |
| 1355 // This is not a valid case. | 1263 // This is not a valid case. |
| 1356 break; | 1264 break; |
| 1357 case AccessKind.CLASS_TYPE_LITERAL: | 1265 case AccessKind.CLASS_TYPE_LITERAL: |
| 1358 return visitor.visitClassTypeLiteralCompound( | 1266 return visitor.errorClassTypeLiteralCompound( |
| 1359 node, | 1267 node, |
| 1360 semantics.constant, | 1268 semantics.constant, |
| 1361 operator, | 1269 operator, |
| 1362 node.arguments.single, | 1270 node.arguments.single, |
| 1363 arg); | 1271 arg); |
| 1364 case AccessKind.TYPEDEF_TYPE_LITERAL: | 1272 case AccessKind.TYPEDEF_TYPE_LITERAL: |
| 1365 return visitor.visitTypedefTypeLiteralCompound( | 1273 return visitor.errorTypedefTypeLiteralCompound( |
| 1366 node, | 1274 node, |
| 1367 semantics.constant, | 1275 semantics.constant, |
| 1368 operator, | 1276 operator, |
| 1369 node.arguments.single, | 1277 node.arguments.single, |
| 1370 arg); | 1278 arg); |
| 1371 case AccessKind.DYNAMIC_TYPE_LITERAL: | 1279 case AccessKind.DYNAMIC_TYPE_LITERAL: |
| 1372 return visitor.visitDynamicTypeLiteralCompound( | 1280 return visitor.errorDynamicTypeLiteralCompound( |
| 1373 node, | 1281 node, |
| 1374 semantics.constant, | 1282 semantics.constant, |
| 1375 operator, | 1283 operator, |
| 1376 node.arguments.single, | 1284 node.arguments.single, |
| 1377 arg); | 1285 arg); |
| 1378 case AccessKind.TYPE_PARAMETER_TYPE_LITERAL: | 1286 case AccessKind.TYPE_PARAMETER_TYPE_LITERAL: |
| 1379 return visitor.visitTypeVariableTypeLiteralCompound( | 1287 return visitor.errorTypeVariableTypeLiteralCompound( |
| 1380 node, | 1288 node, |
| 1381 semantics.element, | 1289 semantics.element, |
| 1382 operator, | 1290 operator, |
| 1383 node.arguments.single, | 1291 node.arguments.single, |
| 1384 arg); | 1292 arg); |
| 1385 case AccessKind.EXPRESSION: | 1293 case AccessKind.EXPRESSION: |
| 1386 // This is not a valid case. | 1294 // This is not a valid case. |
| 1387 break; | 1295 break; |
| 1388 case AccessKind.THIS: | 1296 case AccessKind.THIS: |
| 1389 // This is not a valid case. | 1297 // This is not a valid case. |
| 1390 break; | 1298 break; |
| 1391 case AccessKind.THIS_PROPERTY: | 1299 case AccessKind.THIS_PROPERTY: |
| 1392 return visitor.visitThisPropertyCompound( | 1300 return visitor.visitThisPropertyCompound( |
| 1393 node, | 1301 node, |
| 1394 operator, | 1302 operator, |
| 1395 node.arguments.single, | 1303 node.arguments.single, |
| 1396 getterSelector, | 1304 getterSelector, |
| 1397 setterSelector, | 1305 setterSelector, |
| 1398 arg); | 1306 arg); |
| 1399 case AccessKind.SUPER_FIELD: | 1307 case AccessKind.SUPER_FIELD: |
| 1400 return visitor.visitSuperFieldCompound( | 1308 return visitor.visitSuperFieldCompound( |
| 1401 node, | 1309 node, |
| 1402 semantics.element, | 1310 semantics.element, |
| 1403 operator, | 1311 operator, |
| 1404 node.arguments.single, | 1312 node.arguments.single, |
| 1405 arg); | 1313 arg); |
| 1406 case AccessKind.SUPER_FINAL_FIELD: | |
| 1407 return visitor.visitFinalSuperFieldCompound( | |
| 1408 node, | |
| 1409 semantics.element, | |
| 1410 operator, | |
| 1411 node.arguments.single, | |
| 1412 arg); | |
| 1413 case AccessKind.SUPER_METHOD: | 1314 case AccessKind.SUPER_METHOD: |
| 1414 return visitor.visitSuperMethodCompound( | 1315 // TODO(johnniwinther): Handle this. |
| 1415 node, | 1316 break; |
| 1416 semantics.element, | |
| 1417 operator, | |
| 1418 node.arguments.single, | |
| 1419 arg); | |
| 1420 case AccessKind.SUPER_GETTER: | 1317 case AccessKind.SUPER_GETTER: |
| 1421 // This is not a valid case. | 1318 // This is not a valid case. |
| 1422 break; | 1319 break; |
| 1423 case AccessKind.SUPER_SETTER: | 1320 case AccessKind.SUPER_SETTER: |
| 1424 // This is not a valid case. | 1321 // This is not a valid case. |
| 1425 break; | 1322 break; |
| 1426 case AccessKind.CONSTANT: | 1323 case AccessKind.CONSTANT: |
| 1427 // TODO(johnniwinther): Should this be a valid case? | 1324 // TODO(johnniwinther): Should this be a valid case? |
| 1428 break; | 1325 break; |
| 1429 case AccessKind.UNRESOLVED_SUPER: | 1326 case AccessKind.UNRESOLVED_SUPER: |
| 1430 return visitor.visitUnresolvedSuperCompound( | 1327 case AccessKind.UNRESOLVED: |
| 1328 // TODO(johnniwinther): Support these through [AccessKind.COMPOUND]. |
| 1329 return visitor.errorUnresolvedCompound( |
| 1431 node, | 1330 node, |
| 1432 semantics.element, | 1331 semantics.element, |
| 1433 operator, | 1332 operator, |
| 1434 node.arguments.single, | |
| 1435 arg); | |
| 1436 case AccessKind.UNRESOLVED: | |
| 1437 return visitor.visitUnresolvedCompound( | |
| 1438 node, | |
| 1439 semantics.element, | |
| 1440 operator, | |
| 1441 node.arguments.single, | 1333 node.arguments.single, |
| 1442 arg); | 1334 arg); |
| 1443 case AccessKind.COMPOUND: | 1335 case AccessKind.COMPOUND: |
| 1444 CompoundAccessSemantics compoundSemantics = semantics; | 1336 CompoundAccessSemantics compoundSemantics = semantics; |
| 1445 switch (compoundSemantics.compoundAccessKind) { | 1337 switch (compoundSemantics.compoundAccessKind) { |
| 1446 case CompoundAccessKind.STATIC_GETTER_SETTER: | 1338 case CompoundAccessKind.STATIC_GETTER_SETTER: |
| 1447 return visitor.visitStaticGetterSetterCompound( | 1339 return visitor.visitStaticGetterSetterCompound( |
| 1448 node, | 1340 node, |
| 1449 compoundSemantics.getter, | 1341 compoundSemantics.getter, |
| 1450 compoundSemantics.setter, | 1342 compoundSemantics.setter, |
| 1451 operator, | 1343 operator, |
| 1452 node.arguments.single, | 1344 node.arguments.single, |
| 1453 arg); | 1345 arg); |
| 1454 case CompoundAccessKind.STATIC_METHOD_SETTER: | 1346 case CompoundAccessKind.STATIC_METHOD_SETTER: |
| 1455 return visitor.visitStaticMethodSetterCompound( | 1347 return visitor.visitStaticMethodSetterCompound( |
| 1456 node, | 1348 node, |
| 1457 compoundSemantics.getter, | 1349 compoundSemantics.getter, |
| 1458 compoundSemantics.setter, | 1350 compoundSemantics.setter, |
| 1459 operator, | 1351 operator, |
| 1460 node.arguments.single, | 1352 node.arguments.single, |
| 1461 arg); | 1353 arg); |
| 1462 case CompoundAccessKind.UNRESOLVED_STATIC_GETTER: | |
| 1463 return visitor.visitUnresolvedStaticGetterCompound( | |
| 1464 node, | |
| 1465 compoundSemantics.getter, | |
| 1466 compoundSemantics.setter, | |
| 1467 operator, | |
| 1468 node.arguments.single, | |
| 1469 arg); | |
| 1470 case CompoundAccessKind.UNRESOLVED_STATIC_SETTER: | |
| 1471 return visitor.visitUnresolvedStaticSetterCompound( | |
| 1472 node, | |
| 1473 compoundSemantics.getter, | |
| 1474 compoundSemantics.setter, | |
| 1475 operator, | |
| 1476 node.arguments.single, | |
| 1477 arg); | |
| 1478 case CompoundAccessKind.TOPLEVEL_GETTER_SETTER: | 1354 case CompoundAccessKind.TOPLEVEL_GETTER_SETTER: |
| 1479 return visitor.visitTopLevelGetterSetterCompound( | 1355 return visitor.visitTopLevelGetterSetterCompound( |
| 1480 node, | 1356 node, |
| 1481 compoundSemantics.getter, | 1357 compoundSemantics.getter, |
| 1482 compoundSemantics.setter, | 1358 compoundSemantics.setter, |
| 1483 operator, | 1359 operator, |
| 1484 node.arguments.single, | 1360 node.arguments.single, |
| 1485 arg); | 1361 arg); |
| 1486 case CompoundAccessKind.TOPLEVEL_METHOD_SETTER: | 1362 case CompoundAccessKind.TOPLEVEL_METHOD_SETTER: |
| 1487 return visitor.visitTopLevelMethodSetterCompound( | 1363 return visitor.visitTopLevelMethodSetterCompound( |
| 1488 node, | 1364 node, |
| 1489 compoundSemantics.getter, | 1365 compoundSemantics.getter, |
| 1490 compoundSemantics.setter, | 1366 compoundSemantics.setter, |
| 1491 operator, | 1367 operator, |
| 1492 node.arguments.single, | 1368 node.arguments.single, |
| 1493 arg); | 1369 arg); |
| 1494 case CompoundAccessKind.UNRESOLVED_TOPLEVEL_GETTER: | |
| 1495 return visitor.visitUnresolvedTopLevelGetterCompound( | |
| 1496 node, | |
| 1497 compoundSemantics.getter, | |
| 1498 compoundSemantics.setter, | |
| 1499 operator, | |
| 1500 node.arguments.single, | |
| 1501 arg); | |
| 1502 case CompoundAccessKind.UNRESOLVED_TOPLEVEL_SETTER: | |
| 1503 return visitor.visitUnresolvedTopLevelSetterCompound( | |
| 1504 node, | |
| 1505 compoundSemantics.getter, | |
| 1506 compoundSemantics.setter, | |
| 1507 operator, | |
| 1508 node.arguments.single, | |
| 1509 arg); | |
| 1510 case CompoundAccessKind.SUPER_FIELD_FIELD: | 1370 case CompoundAccessKind.SUPER_FIELD_FIELD: |
| 1511 // TODO(johnniwinther): Handle this. | 1371 // TODO(johnniwinther): Handle this. |
| 1512 break; | 1372 break; |
| 1513 case CompoundAccessKind.SUPER_GETTER_SETTER: | 1373 case CompoundAccessKind.SUPER_GETTER_SETTER: |
| 1514 return visitor.visitSuperGetterSetterCompound( | 1374 return visitor.visitSuperGetterSetterCompound( |
| 1515 node, | 1375 node, |
| 1516 compoundSemantics.getter, | 1376 compoundSemantics.getter, |
| 1517 compoundSemantics.setter, | 1377 compoundSemantics.setter, |
| 1518 operator, | 1378 operator, |
| 1519 node.arguments.single, | 1379 node.arguments.single, |
| (...skipping 16 matching lines...) Expand all Loading... |
| 1536 arg); | 1396 arg); |
| 1537 case CompoundAccessKind.SUPER_FIELD_SETTER: | 1397 case CompoundAccessKind.SUPER_FIELD_SETTER: |
| 1538 return visitor.visitSuperFieldSetterCompound( | 1398 return visitor.visitSuperFieldSetterCompound( |
| 1539 node, | 1399 node, |
| 1540 compoundSemantics.getter, | 1400 compoundSemantics.getter, |
| 1541 compoundSemantics.setter, | 1401 compoundSemantics.setter, |
| 1542 operator, | 1402 operator, |
| 1543 node.arguments.single, | 1403 node.arguments.single, |
| 1544 arg); | 1404 arg); |
| 1545 case CompoundAccessKind.UNRESOLVED_SUPER_GETTER: | 1405 case CompoundAccessKind.UNRESOLVED_SUPER_GETTER: |
| 1546 return visitor.visitUnresolvedSuperGetterCompound( | 1406 case CompoundAccessKind.UNRESOLVED_SUPER_SETTER: |
| 1407 // TODO(johnniwinther): Handle these separately. |
| 1408 return visitor.errorUnresolvedCompound( |
| 1547 node, | 1409 node, |
| 1548 compoundSemantics.getter, | 1410 semantics.element, |
| 1549 compoundSemantics.setter, | |
| 1550 operator, | 1411 operator, |
| 1551 node.arguments.single, | 1412 node.arguments.single, |
| 1552 arg); | 1413 arg); |
| 1553 case CompoundAccessKind.UNRESOLVED_SUPER_SETTER: | |
| 1554 return visitor.visitUnresolvedSuperSetterCompound( | |
| 1555 node, | |
| 1556 compoundSemantics.getter, | |
| 1557 compoundSemantics.setter, | |
| 1558 operator, | |
| 1559 node.arguments.single, | |
| 1560 arg); | |
| 1561 } | 1414 } |
| 1562 break; | 1415 break; |
| 1563 } | 1416 } |
| 1564 throw new SpannableAssertionFailure(node, | 1417 throw new SpannableAssertionFailure(node, |
| 1565 "Invalid compound assigment: ${semantics}"); | 1418 "Invalid compound assigment: ${semantics}"); |
| 1566 } | 1419 } |
| 1567 | 1420 |
| 1568 String toString() => 'compound($operator,$semantics)'; | 1421 String toString() => 'compound($operator,$semantics)'; |
| 1569 } | 1422 } |
| 1570 | 1423 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 1590 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) { | 1443 R dispatch(SemanticSendVisitor<R, A> visitor, Send node, A arg) { |
| 1591 switch (semantics.kind) { | 1444 switch (semantics.kind) { |
| 1592 case AccessKind.DYNAMIC_PROPERTY: | 1445 case AccessKind.DYNAMIC_PROPERTY: |
| 1593 return visitor.visitCompoundIndexSet( | 1446 return visitor.visitCompoundIndexSet( |
| 1594 node, | 1447 node, |
| 1595 node.receiver, | 1448 node.receiver, |
| 1596 node.arguments.first, | 1449 node.arguments.first, |
| 1597 operator, | 1450 operator, |
| 1598 node.arguments.tail.head, | 1451 node.arguments.tail.head, |
| 1599 arg); | 1452 arg); |
| 1600 case AccessKind.UNRESOLVED_SUPER: | |
| 1601 return visitor.visitUnresolvedSuperCompoundIndexSet( | |
| 1602 node, | |
| 1603 semantics.element, | |
| 1604 node.arguments.first, | |
| 1605 operator, | |
| 1606 node.arguments.tail.head, | |
| 1607 arg); | |
| 1608 case AccessKind.COMPOUND: | 1453 case AccessKind.COMPOUND: |
| 1609 CompoundAccessSemantics compoundSemantics = semantics; | 1454 CompoundAccessSemantics compoundSemantics = semantics; |
| 1610 switch (compoundSemantics.compoundAccessKind) { | 1455 switch (compoundSemantics.compoundAccessKind) { |
| 1611 case CompoundAccessKind.SUPER_GETTER_SETTER: | 1456 case CompoundAccessKind.SUPER_GETTER_SETTER: |
| 1612 return visitor.visitSuperCompoundIndexSet( | 1457 return visitor.visitSuperCompoundIndexSet( |
| 1613 node, | 1458 node, |
| 1614 compoundSemantics.getter, | 1459 compoundSemantics.getter, |
| 1615 compoundSemantics.setter, | 1460 compoundSemantics.setter, |
| 1616 node.arguments.first, | 1461 node.arguments.first, |
| 1617 operator, | 1462 operator, |
| 1618 node.arguments.tail.head, | 1463 node.arguments.tail.head, |
| 1619 arg); | 1464 arg); |
| 1620 case CompoundAccessKind.UNRESOLVED_SUPER_GETTER: | 1465 case CompoundAccessKind.UNRESOLVED_SUPER_GETTER: |
| 1621 return visitor.visitUnresolvedSuperGetterCompoundIndexSet( | 1466 return visitor.visitUnresolvedSuperGetterCompoundIndexSet( |
| 1622 node, | 1467 node, |
| 1623 compoundSemantics.getter, | 1468 compoundSemantics.getter, |
| 1624 compoundSemantics.setter, | |
| 1625 node.arguments.first, | 1469 node.arguments.first, |
| 1626 operator, | 1470 operator, |
| 1627 node.arguments.tail.head, | 1471 node.arguments.tail.head, |
| 1628 arg); | 1472 arg); |
| 1629 case CompoundAccessKind.UNRESOLVED_SUPER_SETTER: | 1473 case CompoundAccessKind.UNRESOLVED_SUPER_SETTER: |
| 1630 return visitor.visitUnresolvedSuperSetterCompoundIndexSet( | 1474 return visitor.visitUnresolvedSuperSetterCompoundIndexSet( |
| 1631 node, | 1475 node, |
| 1632 compoundSemantics.getter, | 1476 compoundSemantics.getter, |
| 1633 compoundSemantics.setter, | 1477 compoundSemantics.setter, |
| 1634 node.arguments.first, | 1478 node.arguments.first, |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1675 switch (semantics.kind) { | 1519 switch (semantics.kind) { |
| 1676 case AccessKind.DYNAMIC_PROPERTY: | 1520 case AccessKind.DYNAMIC_PROPERTY: |
| 1677 return visitor.visitDynamicPropertyPrefix( | 1521 return visitor.visitDynamicPropertyPrefix( |
| 1678 node, | 1522 node, |
| 1679 node.receiver, | 1523 node.receiver, |
| 1680 operator, | 1524 operator, |
| 1681 getterSelector, | 1525 getterSelector, |
| 1682 setterSelector, | 1526 setterSelector, |
| 1683 arg); | 1527 arg); |
| 1684 case AccessKind.LOCAL_FUNCTION: | 1528 case AccessKind.LOCAL_FUNCTION: |
| 1685 return visitor.visitLocalFunctionPrefix( | 1529 return visitor.errorLocalFunctionPrefix( |
| 1686 node, | 1530 node, |
| 1687 semantics.element, | 1531 semantics.element, |
| 1688 operator, | 1532 operator, |
| 1689 arg); | 1533 arg); |
| 1690 case AccessKind.LOCAL_VARIABLE: | 1534 case AccessKind.LOCAL_VARIABLE: |
| 1691 return visitor.visitLocalVariablePrefix( | 1535 return visitor.visitLocalVariablePrefix( |
| 1692 node, | 1536 node, |
| 1693 semantics.element, | 1537 semantics.element, |
| 1694 operator, | 1538 operator, |
| 1695 arg); | 1539 arg); |
| 1696 case AccessKind.FINAL_LOCAL_VARIABLE: | |
| 1697 return visitor.visitFinalLocalVariablePrefix( | |
| 1698 node, | |
| 1699 semantics.element, | |
| 1700 operator, | |
| 1701 arg); | |
| 1702 case AccessKind.PARAMETER: | 1540 case AccessKind.PARAMETER: |
| 1703 return visitor.visitParameterPrefix( | 1541 return visitor.visitParameterPrefix( |
| 1704 node, | 1542 node, |
| 1705 semantics.element, | 1543 semantics.element, |
| 1706 operator, | 1544 operator, |
| 1707 arg); | 1545 arg); |
| 1708 case AccessKind.FINAL_PARAMETER: | |
| 1709 return visitor.visitFinalParameterPrefix( | |
| 1710 node, | |
| 1711 semantics.element, | |
| 1712 operator, | |
| 1713 arg); | |
| 1714 case AccessKind.STATIC_FIELD: | 1546 case AccessKind.STATIC_FIELD: |
| 1715 return visitor.visitStaticFieldPrefix( | 1547 return visitor.visitStaticFieldPrefix( |
| 1716 node, | 1548 node, |
| 1717 semantics.element, | 1549 semantics.element, |
| 1718 operator, | 1550 operator, |
| 1719 arg); | 1551 arg); |
| 1720 case AccessKind.FINAL_STATIC_FIELD: | |
| 1721 return visitor.visitFinalStaticFieldPrefix( | |
| 1722 node, | |
| 1723 semantics.element, | |
| 1724 operator, | |
| 1725 arg); | |
| 1726 case AccessKind.STATIC_METHOD: | 1552 case AccessKind.STATIC_METHOD: |
| 1727 return visitor.visitStaticMethodPrefix( | 1553 // TODO(johnniwinther): Handle this. |
| 1728 node, | 1554 break; |
| 1729 semantics.element, | |
| 1730 operator, | |
| 1731 arg); | |
| 1732 case AccessKind.STATIC_GETTER: | 1555 case AccessKind.STATIC_GETTER: |
| 1733 // This is not a valid case. | 1556 // This is not a valid case. |
| 1734 break; | 1557 break; |
| 1735 case AccessKind.STATIC_SETTER: | 1558 case AccessKind.STATIC_SETTER: |
| 1736 // This is not a valid case. | 1559 // This is not a valid case. |
| 1737 break; | 1560 break; |
| 1738 case AccessKind.TOPLEVEL_FIELD: | 1561 case AccessKind.TOPLEVEL_FIELD: |
| 1739 return visitor.visitTopLevelFieldPrefix( | 1562 return visitor.visitTopLevelFieldPrefix( |
| 1740 node, | 1563 node, |
| 1741 semantics.element, | 1564 semantics.element, |
| 1742 operator, | 1565 operator, |
| 1743 arg); | 1566 arg); |
| 1744 case AccessKind.FINAL_TOPLEVEL_FIELD: | |
| 1745 return visitor.visitFinalTopLevelFieldPrefix( | |
| 1746 node, | |
| 1747 semantics.element, | |
| 1748 operator, | |
| 1749 arg); | |
| 1750 case AccessKind.TOPLEVEL_METHOD: | 1567 case AccessKind.TOPLEVEL_METHOD: |
| 1751 return visitor.visitTopLevelMethodPrefix( | 1568 // TODO(johnniwinther): Handle this. |
| 1752 node, | 1569 break; |
| 1753 semantics.element, | |
| 1754 operator, | |
| 1755 arg); | |
| 1756 case AccessKind.TOPLEVEL_GETTER: | 1570 case AccessKind.TOPLEVEL_GETTER: |
| 1757 // This is not a valid case. | 1571 // This is not a valid case. |
| 1758 break; | 1572 break; |
| 1759 case AccessKind.TOPLEVEL_SETTER: | 1573 case AccessKind.TOPLEVEL_SETTER: |
| 1760 // This is not a valid case. | 1574 // This is not a valid case. |
| 1761 break; | 1575 break; |
| 1762 case AccessKind.CLASS_TYPE_LITERAL: | 1576 case AccessKind.CLASS_TYPE_LITERAL: |
| 1763 return visitor.visitClassTypeLiteralPrefix( | 1577 return visitor.errorClassTypeLiteralPrefix( |
| 1764 node, | 1578 node, |
| 1765 semantics.constant, | 1579 semantics.constant, |
| 1766 operator, | 1580 operator, |
| 1767 arg); | 1581 arg); |
| 1768 case AccessKind.TYPEDEF_TYPE_LITERAL: | 1582 case AccessKind.TYPEDEF_TYPE_LITERAL: |
| 1769 return visitor.visitTypedefTypeLiteralPrefix( | 1583 return visitor.errorTypedefTypeLiteralPrefix( |
| 1770 node, | 1584 node, |
| 1771 semantics.constant, | 1585 semantics.constant, |
| 1772 operator, | 1586 operator, |
| 1773 arg); | 1587 arg); |
| 1774 case AccessKind.DYNAMIC_TYPE_LITERAL: | 1588 case AccessKind.DYNAMIC_TYPE_LITERAL: |
| 1775 return visitor.visitDynamicTypeLiteralPrefix( | 1589 return visitor.errorDynamicTypeLiteralPrefix( |
| 1776 node, | 1590 node, |
| 1777 semantics.constant, | 1591 semantics.constant, |
| 1778 operator, | 1592 operator, |
| 1779 arg); | 1593 arg); |
| 1780 case AccessKind.TYPE_PARAMETER_TYPE_LITERAL: | 1594 case AccessKind.TYPE_PARAMETER_TYPE_LITERAL: |
| 1781 return visitor.visitTypeVariableTypeLiteralPrefix( | 1595 return visitor.errorTypeVariableTypeLiteralPrefix( |
| 1782 node, | 1596 node, |
| 1783 semantics.element, | 1597 semantics.element, |
| 1784 operator, | 1598 operator, |
| 1785 arg); | 1599 arg); |
| 1786 case AccessKind.EXPRESSION: | 1600 case AccessKind.EXPRESSION: |
| 1787 // This is not a valid case. | 1601 // This is not a valid case. |
| 1788 break; | 1602 break; |
| 1789 case AccessKind.THIS: | 1603 case AccessKind.THIS: |
| 1790 // This is not a valid case. | 1604 // This is not a valid case. |
| 1791 break; | 1605 break; |
| 1792 case AccessKind.THIS_PROPERTY: | 1606 case AccessKind.THIS_PROPERTY: |
| 1793 return visitor.visitThisPropertyPrefix( | 1607 return visitor.visitThisPropertyPrefix( |
| 1794 node, | 1608 node, |
| 1795 operator, | 1609 operator, |
| 1796 getterSelector, | 1610 getterSelector, |
| 1797 setterSelector, | 1611 setterSelector, |
| 1798 arg); | 1612 arg); |
| 1799 case AccessKind.SUPER_FIELD: | 1613 case AccessKind.SUPER_FIELD: |
| 1800 return visitor.visitSuperFieldPrefix( | 1614 return visitor.visitSuperFieldPrefix( |
| 1801 node, | 1615 node, |
| 1802 semantics.element, | 1616 semantics.element, |
| 1803 operator, | 1617 operator, |
| 1804 arg); | 1618 arg); |
| 1805 case AccessKind.SUPER_FINAL_FIELD: | |
| 1806 return visitor.visitFinalSuperFieldPrefix( | |
| 1807 node, | |
| 1808 semantics.element, | |
| 1809 operator, | |
| 1810 arg); | |
| 1811 case AccessKind.SUPER_METHOD: | 1619 case AccessKind.SUPER_METHOD: |
| 1812 return visitor.visitSuperMethodPrefix( | 1620 // TODO(johnniwinther): Handle this. |
| 1813 node, | 1621 break; |
| 1814 semantics.element, | |
| 1815 operator, | |
| 1816 arg); | |
| 1817 case AccessKind.SUPER_GETTER: | 1622 case AccessKind.SUPER_GETTER: |
| 1818 // This is not a valid case. | 1623 // This is not a valid case. |
| 1819 break; | 1624 break; |
| 1820 case AccessKind.SUPER_SETTER: | 1625 case AccessKind.SUPER_SETTER: |
| 1821 // This is not a valid case. | 1626 // This is not a valid case. |
| 1822 break; | 1627 break; |
| 1823 case AccessKind.CONSTANT: | 1628 case AccessKind.CONSTANT: |
| 1824 // TODO(johnniwinther): Should this be a valid case? | 1629 // TODO(johnniwinther): Should this be a valid case? |
| 1825 break; | 1630 break; |
| 1826 case AccessKind.UNRESOLVED_SUPER: | 1631 case AccessKind.UNRESOLVED_SUPER: |
| 1827 return visitor.visitUnresolvedSuperPrefix( | 1632 case AccessKind.UNRESOLVED: |
| 1633 // TODO(johnniwinther): Support these through [AccessKind.COMPOUND]. |
| 1634 return visitor.errorUnresolvedPrefix( |
| 1828 node, | 1635 node, |
| 1829 semantics.element, | 1636 semantics.element, |
| 1830 operator, | 1637 operator, |
| 1831 arg); | |
| 1832 case AccessKind.UNRESOLVED: | |
| 1833 return visitor.visitUnresolvedPrefix( | |
| 1834 node, | |
| 1835 semantics.element, | |
| 1836 operator, | |
| 1837 arg); | 1638 arg); |
| 1838 case AccessKind.COMPOUND: | 1639 case AccessKind.COMPOUND: |
| 1839 CompoundAccessSemantics compoundSemantics = semantics; | 1640 CompoundAccessSemantics compoundSemantics = semantics; |
| 1840 switch (compoundSemantics.compoundAccessKind) { | 1641 switch (compoundSemantics.compoundAccessKind) { |
| 1841 case CompoundAccessKind.STATIC_GETTER_SETTER: | 1642 case CompoundAccessKind.STATIC_GETTER_SETTER: |
| 1842 return visitor.visitStaticGetterSetterPrefix( | 1643 return visitor.visitStaticGetterSetterPrefix( |
| 1843 node, | 1644 node, |
| 1844 compoundSemantics.getter, | 1645 compoundSemantics.getter, |
| 1845 compoundSemantics.setter, | 1646 compoundSemantics.setter, |
| 1846 operator, | 1647 operator, |
| 1847 arg); | 1648 arg); |
| 1848 case CompoundAccessKind.STATIC_METHOD_SETTER: | 1649 case CompoundAccessKind.STATIC_METHOD_SETTER: |
| 1849 return visitor.visitStaticMethodSetterPrefix( | 1650 return visitor.visitStaticMethodSetterPrefix( |
| 1850 node, | 1651 node, |
| 1851 compoundSemantics.getter, | 1652 compoundSemantics.getter, |
| 1852 compoundSemantics.setter, | 1653 compoundSemantics.setter, |
| 1853 operator, | 1654 operator, |
| 1854 arg); | 1655 arg); |
| 1855 case CompoundAccessKind.UNRESOLVED_STATIC_GETTER: | |
| 1856 return visitor.visitUnresolvedStaticGetterPrefix( | |
| 1857 node, | |
| 1858 compoundSemantics.getter, | |
| 1859 compoundSemantics.setter, | |
| 1860 operator, | |
| 1861 arg); | |
| 1862 case CompoundAccessKind.UNRESOLVED_STATIC_SETTER: | |
| 1863 return visitor.visitUnresolvedStaticSetterPrefix( | |
| 1864 node, | |
| 1865 compoundSemantics.getter, | |
| 1866 compoundSemantics.setter, | |
| 1867 operator, | |
| 1868 arg); | |
| 1869 case CompoundAccessKind.STATIC_METHOD_SETTER: | |
| 1870 return visitor.visitStaticMethodSetterPrefix( | |
| 1871 node, | |
| 1872 compoundSemantics.getter, | |
| 1873 compoundSemantics.setter, | |
| 1874 operator, | |
| 1875 arg); | |
| 1876 case CompoundAccessKind.TOPLEVEL_GETTER_SETTER: | 1656 case CompoundAccessKind.TOPLEVEL_GETTER_SETTER: |
| 1877 return visitor.visitTopLevelGetterSetterPrefix( | 1657 return visitor.visitTopLevelGetterSetterPrefix( |
| 1878 node, | 1658 node, |
| 1879 compoundSemantics.getter, | 1659 compoundSemantics.getter, |
| 1880 compoundSemantics.setter, | 1660 compoundSemantics.setter, |
| 1881 operator, | 1661 operator, |
| 1882 arg); | 1662 arg); |
| 1883 case CompoundAccessKind.TOPLEVEL_METHOD_SETTER: | 1663 case CompoundAccessKind.TOPLEVEL_METHOD_SETTER: |
| 1884 return visitor.visitTopLevelMethodSetterPrefix( | 1664 return visitor.visitTopLevelMethodSetterPrefix( |
| 1885 node, | 1665 node, |
| 1886 compoundSemantics.getter, | 1666 compoundSemantics.getter, |
| 1887 compoundSemantics.setter, | 1667 compoundSemantics.setter, |
| 1888 operator, | 1668 operator, |
| 1889 arg); | 1669 arg); |
| 1890 case CompoundAccessKind.UNRESOLVED_TOPLEVEL_GETTER: | |
| 1891 return visitor.visitUnresolvedTopLevelGetterPrefix( | |
| 1892 node, | |
| 1893 compoundSemantics.getter, | |
| 1894 compoundSemantics.setter, | |
| 1895 operator, | |
| 1896 arg); | |
| 1897 case CompoundAccessKind.UNRESOLVED_TOPLEVEL_SETTER: | |
| 1898 return visitor.visitUnresolvedTopLevelSetterPrefix( | |
| 1899 node, | |
| 1900 compoundSemantics.getter, | |
| 1901 compoundSemantics.setter, | |
| 1902 operator, | |
| 1903 arg); | |
| 1904 case CompoundAccessKind.SUPER_FIELD_FIELD: | 1670 case CompoundAccessKind.SUPER_FIELD_FIELD: |
| 1905 return visitor.visitSuperFieldFieldPrefix( | 1671 return visitor.visitSuperFieldFieldPrefix( |
| 1906 node, | 1672 node, |
| 1907 compoundSemantics.getter, | 1673 compoundSemantics.getter, |
| 1908 compoundSemantics.setter, | 1674 compoundSemantics.setter, |
| 1909 operator, | 1675 operator, |
| 1910 arg); | 1676 arg); |
| 1911 case CompoundAccessKind.SUPER_GETTER_SETTER: | 1677 case CompoundAccessKind.SUPER_GETTER_SETTER: |
| 1912 return visitor.visitSuperGetterSetterPrefix( | 1678 return visitor.visitSuperGetterSetterPrefix( |
| 1913 node, | 1679 node, |
| (...skipping 16 matching lines...) Expand all Loading... |
| 1930 operator, | 1696 operator, |
| 1931 arg); | 1697 arg); |
| 1932 case CompoundAccessKind.SUPER_FIELD_SETTER: | 1698 case CompoundAccessKind.SUPER_FIELD_SETTER: |
| 1933 return visitor.visitSuperFieldSetterPrefix( | 1699 return visitor.visitSuperFieldSetterPrefix( |
| 1934 node, | 1700 node, |
| 1935 compoundSemantics.getter, | 1701 compoundSemantics.getter, |
| 1936 compoundSemantics.setter, | 1702 compoundSemantics.setter, |
| 1937 operator, | 1703 operator, |
| 1938 arg); | 1704 arg); |
| 1939 case CompoundAccessKind.UNRESOLVED_SUPER_GETTER: | 1705 case CompoundAccessKind.UNRESOLVED_SUPER_GETTER: |
| 1940 return visitor.visitUnresolvedSuperGetterPrefix( | 1706 case CompoundAccessKind.UNRESOLVED_SUPER_SETTER: |
| 1707 // TODO(johnniwinther): Handle these directly. |
| 1708 return visitor.errorUnresolvedPrefix( |
| 1941 node, | 1709 node, |
| 1942 compoundSemantics.getter, | 1710 semantics.element, |
| 1943 compoundSemantics.setter, | |
| 1944 operator, | |
| 1945 arg); | |
| 1946 case CompoundAccessKind.UNRESOLVED_SUPER_SETTER: | |
| 1947 return visitor.visitUnresolvedSuperSetterPrefix( | |
| 1948 node, | |
| 1949 compoundSemantics.getter, | |
| 1950 compoundSemantics.setter, | |
| 1951 operator, | 1711 operator, |
| 1952 arg); | 1712 arg); |
| 1953 } | 1713 } |
| 1954 } | 1714 } |
| 1955 throw new SpannableAssertionFailure(node, | 1715 throw new SpannableAssertionFailure(node, |
| 1956 "Invalid compound assigment: ${semantics}"); | 1716 "Invalid compound assigment: ${semantics}"); |
| 1957 } | 1717 } |
| 1958 | 1718 |
| 1959 String toString() => 'prefix($operator,$semantics)'; | 1719 String toString() => 'prefix($operator,$semantics)'; |
| 1960 } | 1720 } |
| (...skipping 22 matching lines...) Expand all Loading... |
| 1983 switch (semantics.kind) { | 1743 switch (semantics.kind) { |
| 1984 case AccessKind.DYNAMIC_PROPERTY: | 1744 case AccessKind.DYNAMIC_PROPERTY: |
| 1985 return visitor.visitDynamicPropertyPostfix( | 1745 return visitor.visitDynamicPropertyPostfix( |
| 1986 node, | 1746 node, |
| 1987 node.receiver, | 1747 node.receiver, |
| 1988 operator, | 1748 operator, |
| 1989 getterSelector, | 1749 getterSelector, |
| 1990 setterSelector, | 1750 setterSelector, |
| 1991 arg); | 1751 arg); |
| 1992 case AccessKind.LOCAL_FUNCTION: | 1752 case AccessKind.LOCAL_FUNCTION: |
| 1993 return visitor.visitLocalFunctionPostfix( | 1753 return visitor.errorLocalFunctionPostfix( |
| 1994 node, | 1754 node, |
| 1995 semantics.element, | 1755 semantics.element, |
| 1996 operator, | 1756 operator, |
| 1997 arg); | 1757 arg); |
| 1998 case AccessKind.LOCAL_VARIABLE: | 1758 case AccessKind.LOCAL_VARIABLE: |
| 1999 return visitor.visitLocalVariablePostfix( | 1759 return visitor.visitLocalVariablePostfix( |
| 2000 node, | 1760 node, |
| 2001 semantics.element, | 1761 semantics.element, |
| 2002 operator, | 1762 operator, |
| 2003 arg); | 1763 arg); |
| 2004 case AccessKind.FINAL_LOCAL_VARIABLE: | |
| 2005 return visitor.visitFinalLocalVariablePostfix( | |
| 2006 node, | |
| 2007 semantics.element, | |
| 2008 operator, | |
| 2009 arg); | |
| 2010 case AccessKind.PARAMETER: | 1764 case AccessKind.PARAMETER: |
| 2011 return visitor.visitParameterPostfix( | 1765 return visitor.visitParameterPostfix( |
| 2012 node, | 1766 node, |
| 2013 semantics.element, | 1767 semantics.element, |
| 2014 operator, | 1768 operator, |
| 2015 arg); | 1769 arg); |
| 2016 case AccessKind.FINAL_PARAMETER: | |
| 2017 return visitor.visitFinalParameterPostfix( | |
| 2018 node, | |
| 2019 semantics.element, | |
| 2020 operator, | |
| 2021 arg); | |
| 2022 case AccessKind.STATIC_FIELD: | 1770 case AccessKind.STATIC_FIELD: |
| 2023 return visitor.visitStaticFieldPostfix( | 1771 return visitor.visitStaticFieldPostfix( |
| 2024 node, | 1772 node, |
| 2025 semantics.element, | 1773 semantics.element, |
| 2026 operator, | 1774 operator, |
| 2027 arg); | 1775 arg); |
| 2028 case AccessKind.FINAL_STATIC_FIELD: | |
| 2029 return visitor.visitFinalStaticFieldPostfix( | |
| 2030 node, | |
| 2031 semantics.element, | |
| 2032 operator, | |
| 2033 arg); | |
| 2034 case AccessKind.STATIC_METHOD: | 1776 case AccessKind.STATIC_METHOD: |
| 2035 return visitor.visitStaticMethodPostfix( | 1777 // TODO(johnniwinther): Handle this. |
| 2036 node, | 1778 break; |
| 2037 semantics.element, | |
| 2038 operator, | |
| 2039 arg); | |
| 2040 case AccessKind.STATIC_GETTER: | 1779 case AccessKind.STATIC_GETTER: |
| 2041 // This is not a valid case. | 1780 // This is not a valid case. |
| 2042 break; | 1781 break; |
| 2043 case AccessKind.STATIC_SETTER: | 1782 case AccessKind.STATIC_SETTER: |
| 2044 // This is not a valid case. | 1783 // This is not a valid case. |
| 2045 break; | 1784 break; |
| 2046 case AccessKind.TOPLEVEL_FIELD: | 1785 case AccessKind.TOPLEVEL_FIELD: |
| 2047 return visitor.visitTopLevelFieldPostfix( | 1786 return visitor.visitTopLevelFieldPostfix( |
| 2048 node, | 1787 node, |
| 2049 semantics.element, | 1788 semantics.element, |
| 2050 operator, | 1789 operator, |
| 2051 arg); | 1790 arg); |
| 2052 case AccessKind.FINAL_TOPLEVEL_FIELD: | |
| 2053 return visitor.visitFinalTopLevelFieldPostfix( | |
| 2054 node, | |
| 2055 semantics.element, | |
| 2056 operator, | |
| 2057 arg); | |
| 2058 case AccessKind.TOPLEVEL_METHOD: | 1791 case AccessKind.TOPLEVEL_METHOD: |
| 2059 return visitor.visitTopLevelMethodPostfix( | 1792 // TODO(johnniwinther): Handle this. |
| 2060 node, | 1793 break; |
| 2061 semantics.element, | |
| 2062 operator, | |
| 2063 arg); | |
| 2064 case AccessKind.TOPLEVEL_GETTER: | 1794 case AccessKind.TOPLEVEL_GETTER: |
| 2065 // This is not a valid case. | 1795 // This is not a valid case. |
| 2066 break; | 1796 break; |
| 2067 case AccessKind.TOPLEVEL_SETTER: | 1797 case AccessKind.TOPLEVEL_SETTER: |
| 2068 // This is not a valid case. | 1798 // This is not a valid case. |
| 2069 break; | 1799 break; |
| 2070 case AccessKind.CLASS_TYPE_LITERAL: | 1800 case AccessKind.CLASS_TYPE_LITERAL: |
| 2071 return visitor.visitClassTypeLiteralPostfix( | 1801 return visitor.errorClassTypeLiteralPostfix( |
| 2072 node, | 1802 node, |
| 2073 semantics.constant, | 1803 semantics.constant, |
| 2074 operator, | 1804 operator, |
| 2075 arg); | 1805 arg); |
| 2076 case AccessKind.TYPEDEF_TYPE_LITERAL: | 1806 case AccessKind.TYPEDEF_TYPE_LITERAL: |
| 2077 return visitor.visitTypedefTypeLiteralPostfix( | 1807 return visitor.errorTypedefTypeLiteralPostfix( |
| 2078 node, | 1808 node, |
| 2079 semantics.constant, | 1809 semantics.constant, |
| 2080 operator, | 1810 operator, |
| 2081 arg); | 1811 arg); |
| 2082 case AccessKind.DYNAMIC_TYPE_LITERAL: | 1812 case AccessKind.DYNAMIC_TYPE_LITERAL: |
| 2083 return visitor.visitDynamicTypeLiteralPostfix( | 1813 return visitor.errorDynamicTypeLiteralPostfix( |
| 2084 node, | 1814 node, |
| 2085 semantics.constant, | 1815 semantics.constant, |
| 2086 operator, | 1816 operator, |
| 2087 arg); | 1817 arg); |
| 2088 case AccessKind.TYPE_PARAMETER_TYPE_LITERAL: | 1818 case AccessKind.TYPE_PARAMETER_TYPE_LITERAL: |
| 2089 return visitor.visitTypeVariableTypeLiteralPostfix( | 1819 return visitor.errorTypeVariableTypeLiteralPostfix( |
| 2090 node, | 1820 node, |
| 2091 semantics.element, | 1821 semantics.element, |
| 2092 operator, | 1822 operator, |
| 2093 arg); | 1823 arg); |
| 2094 case AccessKind.EXPRESSION: | 1824 case AccessKind.EXPRESSION: |
| 2095 // This is not a valid case. | 1825 // This is not a valid case. |
| 2096 break; | 1826 break; |
| 2097 case AccessKind.THIS: | 1827 case AccessKind.THIS: |
| 2098 // This is not a valid case. | 1828 // This is not a valid case. |
| 2099 break; | 1829 break; |
| 2100 case AccessKind.THIS_PROPERTY: | 1830 case AccessKind.THIS_PROPERTY: |
| 2101 return visitor.visitThisPropertyPostfix( | 1831 return visitor.visitThisPropertyPostfix( |
| 2102 node, | 1832 node, |
| 2103 operator, | 1833 operator, |
| 2104 getterSelector, | 1834 getterSelector, |
| 2105 setterSelector, | 1835 setterSelector, |
| 2106 arg); | 1836 arg); |
| 2107 case AccessKind.SUPER_FIELD: | 1837 case AccessKind.SUPER_FIELD: |
| 2108 return visitor.visitSuperFieldPostfix( | 1838 return visitor.visitSuperFieldPostfix( |
| 2109 node, | 1839 node, |
| 2110 semantics.element, | 1840 semantics.element, |
| 2111 operator, | 1841 operator, |
| 2112 arg); | 1842 arg); |
| 2113 case AccessKind.SUPER_FINAL_FIELD: | |
| 2114 return visitor.visitFinalSuperFieldPostfix( | |
| 2115 node, | |
| 2116 semantics.element, | |
| 2117 operator, | |
| 2118 arg); | |
| 2119 case AccessKind.SUPER_METHOD: | 1843 case AccessKind.SUPER_METHOD: |
| 2120 return visitor.visitSuperMethodPostfix( | 1844 // TODO(johnniwinther): Handle this. |
| 2121 node, | 1845 break; |
| 2122 semantics.element, | |
| 2123 operator, | |
| 2124 arg); | |
| 2125 case AccessKind.SUPER_GETTER: | 1846 case AccessKind.SUPER_GETTER: |
| 2126 // This is not a valid case. | 1847 // This is not a valid case. |
| 2127 break; | 1848 break; |
| 2128 case AccessKind.SUPER_SETTER: | 1849 case AccessKind.SUPER_SETTER: |
| 2129 // This is not a valid case. | 1850 // This is not a valid case. |
| 2130 break; | 1851 break; |
| 2131 case AccessKind.CONSTANT: | 1852 case AccessKind.CONSTANT: |
| 2132 // TODO(johnniwinther): Should this be a valid case? | 1853 // TODO(johnniwinther): Should this be a valid case? |
| 2133 break; | 1854 break; |
| 2134 case AccessKind.UNRESOLVED_SUPER: | 1855 case AccessKind.UNRESOLVED_SUPER: |
| 2135 return visitor.visitUnresolvedSuperPostfix( | 1856 case AccessKind.UNRESOLVED: |
| 1857 // TODO(johnniwinther): Support these through [AccessKind.COMPOUND]. |
| 1858 return visitor.errorUnresolvedPostfix( |
| 2136 node, | 1859 node, |
| 2137 semantics.element, | 1860 semantics.element, |
| 2138 operator, | 1861 operator, |
| 2139 arg); | |
| 2140 case AccessKind.UNRESOLVED: | |
| 2141 return visitor.visitUnresolvedPostfix( | |
| 2142 node, | |
| 2143 semantics.element, | |
| 2144 operator, | |
| 2145 arg); | 1862 arg); |
| 2146 case AccessKind.COMPOUND: | 1863 case AccessKind.COMPOUND: |
| 2147 CompoundAccessSemantics compoundSemantics = semantics; | 1864 CompoundAccessSemantics compoundSemantics = semantics; |
| 2148 switch (compoundSemantics.compoundAccessKind) { | 1865 switch (compoundSemantics.compoundAccessKind) { |
| 2149 case CompoundAccessKind.STATIC_GETTER_SETTER: | 1866 case CompoundAccessKind.STATIC_GETTER_SETTER: |
| 2150 return visitor.visitStaticGetterSetterPostfix( | 1867 return visitor.visitStaticGetterSetterPostfix( |
| 2151 node, | 1868 node, |
| 2152 compoundSemantics.getter, | 1869 compoundSemantics.getter, |
| 2153 compoundSemantics.setter, | 1870 compoundSemantics.setter, |
| 2154 operator, | 1871 operator, |
| 2155 arg); | 1872 arg); |
| 2156 case CompoundAccessKind.UNRESOLVED_STATIC_GETTER: | |
| 2157 return visitor.visitUnresolvedStaticGetterPostfix( | |
| 2158 node, | |
| 2159 compoundSemantics.getter, | |
| 2160 compoundSemantics.setter, | |
| 2161 operator, | |
| 2162 arg); | |
| 2163 case CompoundAccessKind.UNRESOLVED_STATIC_SETTER: | |
| 2164 return visitor.visitUnresolvedStaticSetterPostfix( | |
| 2165 node, | |
| 2166 compoundSemantics.getter, | |
| 2167 compoundSemantics.setter, | |
| 2168 operator, | |
| 2169 arg); | |
| 2170 case CompoundAccessKind.STATIC_METHOD_SETTER: | 1873 case CompoundAccessKind.STATIC_METHOD_SETTER: |
| 2171 return visitor.visitStaticMethodSetterPostfix( | 1874 return visitor.visitStaticMethodSetterPostfix( |
| 2172 node, | 1875 node, |
| 2173 compoundSemantics.getter, | 1876 compoundSemantics.getter, |
| 2174 compoundSemantics.setter, | 1877 compoundSemantics.setter, |
| 2175 operator, | 1878 operator, |
| 2176 arg); | 1879 arg); |
| 2177 case CompoundAccessKind.TOPLEVEL_GETTER_SETTER: | 1880 case CompoundAccessKind.TOPLEVEL_GETTER_SETTER: |
| 2178 return visitor.visitTopLevelGetterSetterPostfix( | 1881 return visitor.visitTopLevelGetterSetterPostfix( |
| 2179 node, | 1882 node, |
| 2180 compoundSemantics.getter, | 1883 compoundSemantics.getter, |
| 2181 compoundSemantics.setter, | 1884 compoundSemantics.setter, |
| 2182 operator, | 1885 operator, |
| 2183 arg); | 1886 arg); |
| 2184 case CompoundAccessKind.TOPLEVEL_METHOD_SETTER: | 1887 case CompoundAccessKind.TOPLEVEL_METHOD_SETTER: |
| 2185 return visitor.visitTopLevelMethodSetterPostfix( | 1888 return visitor.visitTopLevelMethodSetterPostfix( |
| 2186 node, | 1889 node, |
| 2187 compoundSemantics.getter, | 1890 compoundSemantics.getter, |
| 2188 compoundSemantics.setter, | 1891 compoundSemantics.setter, |
| 2189 operator, | 1892 operator, |
| 2190 arg); | 1893 arg); |
| 2191 case CompoundAccessKind.UNRESOLVED_TOPLEVEL_GETTER: | |
| 2192 return visitor.visitUnresolvedTopLevelGetterPostfix( | |
| 2193 node, | |
| 2194 compoundSemantics.getter, | |
| 2195 compoundSemantics.setter, | |
| 2196 operator, | |
| 2197 arg); | |
| 2198 case CompoundAccessKind.UNRESOLVED_TOPLEVEL_SETTER: | |
| 2199 return visitor.visitUnresolvedTopLevelSetterPostfix( | |
| 2200 node, | |
| 2201 compoundSemantics.getter, | |
| 2202 compoundSemantics.setter, | |
| 2203 operator, | |
| 2204 arg); | |
| 2205 case CompoundAccessKind.SUPER_FIELD_FIELD: | 1894 case CompoundAccessKind.SUPER_FIELD_FIELD: |
| 2206 return visitor.visitSuperFieldFieldPostfix( | 1895 return visitor.visitSuperFieldFieldPostfix( |
| 2207 node, | 1896 node, |
| 2208 compoundSemantics.getter, | 1897 compoundSemantics.getter, |
| 2209 compoundSemantics.setter, | 1898 compoundSemantics.setter, |
| 2210 operator, | 1899 operator, |
| 2211 arg); | 1900 arg); |
| 2212 case CompoundAccessKind.SUPER_GETTER_SETTER: | 1901 case CompoundAccessKind.SUPER_GETTER_SETTER: |
| 2213 return visitor.visitSuperGetterSetterPostfix( | 1902 return visitor.visitSuperGetterSetterPostfix( |
| 2214 node, | 1903 node, |
| (...skipping 16 matching lines...) Expand all Loading... |
| 2231 operator, | 1920 operator, |
| 2232 arg); | 1921 arg); |
| 2233 case CompoundAccessKind.SUPER_FIELD_SETTER: | 1922 case CompoundAccessKind.SUPER_FIELD_SETTER: |
| 2234 return visitor.visitSuperFieldSetterPostfix( | 1923 return visitor.visitSuperFieldSetterPostfix( |
| 2235 node, | 1924 node, |
| 2236 compoundSemantics.getter, | 1925 compoundSemantics.getter, |
| 2237 compoundSemantics.setter, | 1926 compoundSemantics.setter, |
| 2238 operator, | 1927 operator, |
| 2239 arg); | 1928 arg); |
| 2240 case CompoundAccessKind.UNRESOLVED_SUPER_GETTER: | 1929 case CompoundAccessKind.UNRESOLVED_SUPER_GETTER: |
| 2241 return visitor.visitUnresolvedSuperGetterPostfix( | 1930 case CompoundAccessKind.UNRESOLVED_SUPER_SETTER: |
| 1931 // TODO(johnniwinther): Handle these directly. |
| 1932 return visitor.errorUnresolvedPostfix( |
| 2242 node, | 1933 node, |
| 2243 compoundSemantics.getter, | 1934 semantics.element, |
| 2244 compoundSemantics.setter, | |
| 2245 operator, | |
| 2246 arg); | |
| 2247 case CompoundAccessKind.UNRESOLVED_SUPER_SETTER: | |
| 2248 return visitor.visitUnresolvedSuperSetterPostfix( | |
| 2249 node, | |
| 2250 compoundSemantics.getter, | |
| 2251 compoundSemantics.setter, | |
| 2252 operator, | 1935 operator, |
| 2253 arg); | 1936 arg); |
| 2254 } | 1937 } |
| 2255 } | 1938 } |
| 2256 throw new SpannableAssertionFailure(node, | 1939 throw new SpannableAssertionFailure(node, |
| 2257 "Invalid compound assigment: ${semantics}"); | 1940 "Invalid compound assigment: ${semantics}"); |
| 2258 } | 1941 } |
| 2259 | 1942 |
| 2260 String toString() => 'postfix($operator,$semantics)'; | 1943 String toString() => 'postfix($operator,$semantics)'; |
| 2261 } | 1944 } |
| (...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2530 final ConstructorElement constructor; | 2213 final ConstructorElement constructor; |
| 2531 final Selector selector; | 2214 final Selector selector; |
| 2532 | 2215 |
| 2533 ThisConstructorInvokeStructure(this.constructor, this.selector); | 2216 ThisConstructorInvokeStructure(this.constructor, this.selector); |
| 2534 | 2217 |
| 2535 R dispatch(SemanticDeclarationVisitor<R, A> visitor, Send node, A arg) { | 2218 R dispatch(SemanticDeclarationVisitor<R, A> visitor, Send node, A arg) { |
| 2536 return visitor.visitThisConstructorInvoke( | 2219 return visitor.visitThisConstructorInvoke( |
| 2537 node, constructor, node.argumentsNode, selector, arg); | 2220 node, constructor, node.argumentsNode, selector, arg); |
| 2538 } | 2221 } |
| 2539 } | 2222 } |
| OLD | NEW |