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

Side by Side Diff: pkg/compiler/lib/src/resolution/send_structure.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 unified diff | Download patch
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 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/resolution/send_resolver.dart ('k') | pkg/compiler/lib/src/resolved_visitor.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698