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

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

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