OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 part of dart2js.semantics_visitor; | 5 part of dart2js.semantics_visitor; |
6 | 6 |
7 /// Interface for bulk handling of a [Node] in a semantic visitor. | 7 /// Interface for bulk handling of a [Node] in a semantic visitor. |
8 abstract class BulkHandle<R, A> { | 8 abstract class BulkHandle<R, A> { |
9 /// Handle [node] either regardless of semantics or to report that [node] is | 9 /// Handle [node] either regardless of semantics or to report that [node] is |
10 /// unhandled. [message] contains a message template for the latter case: | 10 /// unhandled. [message] contains a message template for the latter case: |
(...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
458 NewExpression node, | 458 NewExpression node, |
459 Element constructor, | 459 Element constructor, |
460 DartType type, | 460 DartType type, |
461 NodeList arguments, | 461 NodeList arguments, |
462 Selector selector, | 462 Selector selector, |
463 A arg) { | 463 A arg) { |
464 return bulkHandleError(node, arg); | 464 return bulkHandleError(node, arg); |
465 } | 465 } |
466 | 466 |
467 @override | 467 @override |
468 R errorUnresolvedGet( | |
469 Send node, | |
470 Element element, | |
471 A arg) { | |
472 return bulkHandleError(node, arg); | |
473 } | |
474 | |
475 @override | |
476 R errorUnresolvedInvoke( | |
477 Send node, | |
478 Element element, | |
479 NodeList arguments, | |
480 Selector selector, | |
481 A arg) { | |
482 return bulkHandleError(node, arg); | |
483 } | |
484 | |
485 @override | |
486 R errorUnresolvedPostfix( | 468 R errorUnresolvedPostfix( |
487 Send node, | 469 Send node, |
488 Element element, | 470 Element element, |
489 IncDecOperator operator, | 471 IncDecOperator operator, |
490 A arg) { | 472 A arg) { |
491 return bulkHandleError(node, arg); | 473 return bulkHandleError(node, arg); |
492 } | 474 } |
493 | 475 |
494 @override | 476 @override |
495 R errorUnresolvedPrefix( | 477 R errorUnresolvedPrefix( |
(...skipping 735 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1231 R visitStaticFunctionInvoke( | 1213 R visitStaticFunctionInvoke( |
1232 Send node, | 1214 Send node, |
1233 MethodElement function, | 1215 MethodElement function, |
1234 NodeList arguments, | 1216 NodeList arguments, |
1235 CallStructure callStructure, | 1217 CallStructure callStructure, |
1236 A arg) { | 1218 A arg) { |
1237 return bulkHandleInvoke(node, arg); | 1219 return bulkHandleInvoke(node, arg); |
1238 } | 1220 } |
1239 | 1221 |
1240 @override | 1222 @override |
| 1223 R visitStaticFunctionIncompatibleInvoke( |
| 1224 Send node, |
| 1225 MethodElement function, |
| 1226 NodeList arguments, |
| 1227 CallStructure callStructure, |
| 1228 A arg) { |
| 1229 return bulkHandleInvoke(node, arg); |
| 1230 } |
| 1231 |
| 1232 @override |
1241 R visitStaticGetterInvoke( | 1233 R visitStaticGetterInvoke( |
1242 Send node, | 1234 Send node, |
1243 FunctionElement getter, | 1235 FunctionElement getter, |
1244 NodeList arguments, | 1236 NodeList arguments, |
1245 CallStructure callStructure, | 1237 CallStructure callStructure, |
1246 A arg) { | 1238 A arg) { |
1247 return bulkHandleInvoke(node, arg); | 1239 return bulkHandleInvoke(node, arg); |
1248 } | 1240 } |
1249 | 1241 |
1250 @override | 1242 @override |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1319 R visitTopLevelFunctionInvoke( | 1311 R visitTopLevelFunctionInvoke( |
1320 Send node, | 1312 Send node, |
1321 MethodElement function, | 1313 MethodElement function, |
1322 NodeList arguments, | 1314 NodeList arguments, |
1323 CallStructure callStructure, | 1315 CallStructure callStructure, |
1324 A arg) { | 1316 A arg) { |
1325 return bulkHandleInvoke(node, arg); | 1317 return bulkHandleInvoke(node, arg); |
1326 } | 1318 } |
1327 | 1319 |
1328 @override | 1320 @override |
| 1321 R visitTopLevelFunctionIncompatibleInvoke( |
| 1322 Send node, |
| 1323 MethodElement function, |
| 1324 NodeList arguments, |
| 1325 CallStructure callStructure, |
| 1326 A arg) { |
| 1327 return bulkHandleInvoke(node, arg); |
| 1328 } |
| 1329 |
| 1330 @override |
1329 R visitTopLevelGetterInvoke( | 1331 R visitTopLevelGetterInvoke( |
1330 Send node, | 1332 Send node, |
1331 FunctionElement getter, | 1333 FunctionElement getter, |
1332 NodeList arguments, | 1334 NodeList arguments, |
1333 CallStructure callStructure, | 1335 CallStructure callStructure, |
1334 A arg) { | 1336 A arg) { |
1335 return bulkHandleInvoke(node, arg); | 1337 return bulkHandleInvoke(node, arg); |
1336 } | 1338 } |
1337 | 1339 |
1338 @override | 1340 @override |
(...skipping 20 matching lines...) Expand all Loading... |
1359 R visitConstantInvoke( | 1361 R visitConstantInvoke( |
1360 Send node, | 1362 Send node, |
1361 ConstantExpression constant, | 1363 ConstantExpression constant, |
1362 NodeList arguments, | 1364 NodeList arguments, |
1363 CallStructure callStructure, | 1365 CallStructure callStructure, |
1364 A arg) { | 1366 A arg) { |
1365 return bulkHandleInvoke(node, arg); | 1367 return bulkHandleInvoke(node, arg); |
1366 } | 1368 } |
1367 | 1369 |
1368 @override | 1370 @override |
| 1371 R visitUnresolvedInvoke( |
| 1372 Send node, |
| 1373 Element element, |
| 1374 NodeList arguments, |
| 1375 Selector selector, |
| 1376 A arg) { |
| 1377 return bulkHandleInvoke(node, arg); |
| 1378 } |
| 1379 |
| 1380 @override |
1369 R visitUnresolvedSuperInvoke( | 1381 R visitUnresolvedSuperInvoke( |
1370 Send node, | 1382 Send node, |
1371 Element function, | 1383 Element function, |
1372 NodeList arguments, | 1384 NodeList arguments, |
1373 Selector selector, | 1385 Selector selector, |
1374 A arg) { | 1386 A arg) { |
1375 return bulkHandleInvoke(node, arg); | 1387 return bulkHandleInvoke(node, arg); |
1376 } | 1388 } |
1377 } | 1389 } |
1378 | 1390 |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1540 | 1552 |
1541 @override | 1553 @override |
1542 R visitConstantGet( | 1554 R visitConstantGet( |
1543 Send node, | 1555 Send node, |
1544 ConstantExpression constant, | 1556 ConstantExpression constant, |
1545 A arg) { | 1557 A arg) { |
1546 return bulkHandleGet(node, arg); | 1558 return bulkHandleGet(node, arg); |
1547 } | 1559 } |
1548 | 1560 |
1549 @override | 1561 @override |
| 1562 R visitUnresolvedGet( |
| 1563 Send node, |
| 1564 Element element, |
| 1565 A arg) { |
| 1566 return bulkHandleGet(node, arg); |
| 1567 } |
| 1568 |
| 1569 @override |
1550 R visitUnresolvedSuperGet( | 1570 R visitUnresolvedSuperGet( |
1551 Send node, | 1571 Send node, |
1552 Element element, | 1572 Element element, |
1553 A arg) { | 1573 A arg) { |
1554 return bulkHandleGet(node, arg); | 1574 return bulkHandleGet(node, arg); |
1555 } | 1575 } |
1556 } | 1576 } |
1557 | 1577 |
1558 /// Mixin that implements all `visitXSet` methods of [SemanticSendVisitor] by | 1578 /// Mixin that implements all `visitXSet` methods of [SemanticSendVisitor] by |
1559 /// delegating to a bulk handler. | 1579 /// delegating to a bulk handler. |
(...skipping 2203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3763 Send node, | 3783 Send node, |
3764 MethodElement function, | 3784 MethodElement function, |
3765 NodeList arguments, | 3785 NodeList arguments, |
3766 CallStructure callStructure, | 3786 CallStructure callStructure, |
3767 A arg) { | 3787 A arg) { |
3768 apply(arguments, arg); | 3788 apply(arguments, arg); |
3769 return null; | 3789 return null; |
3770 } | 3790 } |
3771 | 3791 |
3772 @override | 3792 @override |
| 3793 R visitStaticFunctionIncompatibleInvoke( |
| 3794 Send node, |
| 3795 MethodElement function, |
| 3796 NodeList arguments, |
| 3797 CallStructure callStructure, |
| 3798 A arg) { |
| 3799 apply(arguments, arg); |
| 3800 return null; |
| 3801 } |
| 3802 |
| 3803 @override |
3773 R visitStaticGetterGet( | 3804 R visitStaticGetterGet( |
3774 Send node, | 3805 Send node, |
3775 FunctionElement getter, | 3806 FunctionElement getter, |
3776 A arg) { | 3807 A arg) { |
3777 return null; | 3808 return null; |
3778 } | 3809 } |
3779 | 3810 |
3780 @override | 3811 @override |
3781 R visitStaticGetterInvoke( | 3812 R visitStaticGetterInvoke( |
3782 Send node, | 3813 Send node, |
(...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4348 Send node, | 4379 Send node, |
4349 MethodElement function, | 4380 MethodElement function, |
4350 NodeList arguments, | 4381 NodeList arguments, |
4351 CallStructure callStructure, | 4382 CallStructure callStructure, |
4352 A arg) { | 4383 A arg) { |
4353 apply(arguments, arg); | 4384 apply(arguments, arg); |
4354 return null; | 4385 return null; |
4355 } | 4386 } |
4356 | 4387 |
4357 @override | 4388 @override |
| 4389 R visitTopLevelFunctionIncompatibleInvoke( |
| 4390 Send node, |
| 4391 MethodElement function, |
| 4392 NodeList arguments, |
| 4393 CallStructure callStructure, |
| 4394 A arg) { |
| 4395 apply(arguments, arg); |
| 4396 return null; |
| 4397 } |
| 4398 |
| 4399 @override |
4358 R visitTopLevelGetterGet( | 4400 R visitTopLevelGetterGet( |
4359 Send node, | 4401 Send node, |
4360 FunctionElement getter, | 4402 FunctionElement getter, |
4361 A arg) { | 4403 A arg) { |
4362 return null; | 4404 return null; |
4363 } | 4405 } |
4364 | 4406 |
4365 @override | 4407 @override |
4366 R visitTopLevelGetterInvoke( | 4408 R visitTopLevelGetterInvoke( |
4367 Send node, | 4409 Send node, |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4558 Send node, | 4600 Send node, |
4559 Element element, | 4601 Element element, |
4560 AssignmentOperator operator, | 4602 AssignmentOperator operator, |
4561 Node rhs, | 4603 Node rhs, |
4562 A arg) { | 4604 A arg) { |
4563 apply(rhs, arg); | 4605 apply(rhs, arg); |
4564 return null; | 4606 return null; |
4565 } | 4607 } |
4566 | 4608 |
4567 @override | 4609 @override |
4568 R errorUnresolvedGet( | 4610 R visitUnresolvedGet( |
4569 Send node, | 4611 Send node, |
4570 Element element, | 4612 Element element, |
4571 A arg) { | 4613 A arg) { |
4572 return null; | 4614 return null; |
4573 } | 4615 } |
4574 | 4616 |
4575 @override | 4617 @override |
4576 R errorUnresolvedInvoke( | 4618 R visitUnresolvedInvoke( |
4577 Send node, | 4619 Send node, |
4578 Element element, | 4620 Element element, |
4579 NodeList arguments, | 4621 NodeList arguments, |
4580 Selector selector, | 4622 Selector selector, |
4581 A arg) { | 4623 A arg) { |
4582 apply(arguments, arg); | 4624 apply(arguments, arg); |
4583 return null; | 4625 return null; |
4584 } | 4626 } |
4585 | 4627 |
4586 @override | 4628 @override |
(...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5370 MethodElement function, | 5412 MethodElement function, |
5371 A arg); | 5413 A arg); |
5372 | 5414 |
5373 R handleStaticFunctionInvoke( | 5415 R handleStaticFunctionInvoke( |
5374 Send node, | 5416 Send node, |
5375 MethodElement function, | 5417 MethodElement function, |
5376 NodeList arguments, | 5418 NodeList arguments, |
5377 CallStructure callStructure, | 5419 CallStructure callStructure, |
5378 A arg); | 5420 A arg); |
5379 | 5421 |
| 5422 R handleStaticFunctionIncompatibleInvoke( |
| 5423 Send node, |
| 5424 MethodElement function, |
| 5425 NodeList arguments, |
| 5426 CallStructure callStructure, |
| 5427 A arg); |
| 5428 |
5380 R handleStaticGetterGet( | 5429 R handleStaticGetterGet( |
5381 Send node, | 5430 Send node, |
5382 FunctionElement getter, | 5431 FunctionElement getter, |
5383 A arg); | 5432 A arg); |
5384 | 5433 |
5385 R handleStaticGetterInvoke( | 5434 R handleStaticGetterInvoke( |
5386 Send node, | 5435 Send node, |
5387 FunctionElement getter, | 5436 FunctionElement getter, |
5388 NodeList arguments, | 5437 NodeList arguments, |
5389 CallStructure callStructure, | 5438 CallStructure callStructure, |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5497 Send node, | 5546 Send node, |
5498 MethodElement function, | 5547 MethodElement function, |
5499 NodeList arguments, | 5548 NodeList arguments, |
5500 CallStructure callStructure, | 5549 CallStructure callStructure, |
5501 A arg) { | 5550 A arg) { |
5502 return handleStaticFunctionInvoke( | 5551 return handleStaticFunctionInvoke( |
5503 node, function, arguments, callStructure, arg); | 5552 node, function, arguments, callStructure, arg); |
5504 } | 5553 } |
5505 | 5554 |
5506 @override | 5555 @override |
| 5556 R visitStaticFunctionIncompatibleInvoke( |
| 5557 Send node, |
| 5558 MethodElement function, |
| 5559 NodeList arguments, |
| 5560 CallStructure callStructure, |
| 5561 A arg) { |
| 5562 return handleStaticFunctionIncompatibleInvoke( |
| 5563 node, function, arguments, callStructure, arg); |
| 5564 } |
| 5565 |
| 5566 @override |
5507 R visitStaticGetterGet( | 5567 R visitStaticGetterGet( |
5508 Send node, | 5568 Send node, |
5509 FunctionElement getter, | 5569 FunctionElement getter, |
5510 A arg) { | 5570 A arg) { |
5511 return handleStaticGetterGet(node, getter, arg); | 5571 return handleStaticGetterGet(node, getter, arg); |
5512 } | 5572 } |
5513 | 5573 |
5514 @override | 5574 @override |
5515 R visitStaticGetterInvoke( | 5575 R visitStaticGetterInvoke( |
5516 Send node, | 5576 Send node, |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5669 Send node, | 5729 Send node, |
5670 MethodElement function, | 5730 MethodElement function, |
5671 NodeList arguments, | 5731 NodeList arguments, |
5672 CallStructure callStructure, | 5732 CallStructure callStructure, |
5673 A arg) { | 5733 A arg) { |
5674 return handleStaticFunctionInvoke( | 5734 return handleStaticFunctionInvoke( |
5675 node, function, arguments, callStructure, arg); | 5735 node, function, arguments, callStructure, arg); |
5676 } | 5736 } |
5677 | 5737 |
5678 @override | 5738 @override |
| 5739 R visitTopLevelFunctionIncompatibleInvoke( |
| 5740 Send node, |
| 5741 MethodElement function, |
| 5742 NodeList arguments, |
| 5743 CallStructure callStructure, |
| 5744 A arg) { |
| 5745 return handleStaticFunctionIncompatibleInvoke( |
| 5746 node, function, arguments, callStructure, arg); |
| 5747 } |
| 5748 |
| 5749 @override |
5679 R visitTopLevelGetterGet( | 5750 R visitTopLevelGetterGet( |
5680 Send node, | 5751 Send node, |
5681 FunctionElement getter, | 5752 FunctionElement getter, |
5682 A arg) { | 5753 A arg) { |
5683 return handleStaticGetterGet(node, getter, arg); | 5754 return handleStaticGetterGet(node, getter, arg); |
5684 } | 5755 } |
5685 | 5756 |
5686 @override | 5757 @override |
5687 R visitTopLevelGetterInvoke( | 5758 R visitTopLevelGetterInvoke( |
5688 Send node, | 5759 Send node, |
(...skipping 830 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6519 InterfaceType type, | 6590 InterfaceType type, |
6520 ConstructorElement effectiveTarget, | 6591 ConstructorElement effectiveTarget, |
6521 InterfaceType effectiveTargetType, | 6592 InterfaceType effectiveTargetType, |
6522 NodeList arguments, | 6593 NodeList arguments, |
6523 CallStructure callStructure, | 6594 CallStructure callStructure, |
6524 A arg) { | 6595 A arg) { |
6525 return handleConstructorInvoke( | 6596 return handleConstructorInvoke( |
6526 node, constructor, type, arguments, callStructure, arg); | 6597 node, constructor, type, arguments, callStructure, arg); |
6527 } | 6598 } |
6528 } | 6599 } |
OLD | NEW |