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

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

Issue 1151163004: Implementation of null-aware operators. (Closed) Base URL: git@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 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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 R visitDynamicPropertyPrefix( 79 R visitDynamicPropertyPrefix(
80 Send node, 80 Send node,
81 Node receiver, 81 Node receiver,
82 IncDecOperator operator, 82 IncDecOperator operator,
83 Selector getterSelector, 83 Selector getterSelector,
84 Selector setterSelector, 84 Selector setterSelector,
85 A arg) { 85 A arg) {
86 return bulkHandlePrefix(node, arg); 86 return bulkHandlePrefix(node, arg);
87 } 87 }
88 88
89 R visitIfNotNullDynamicPropertyPrefix(
90 Send node,
91 Node receiver,
92 IncDecOperator operator,
93 Selector getterSelector,
94 Selector setterSelector,
95 A arg) {
96 return bulkHandlePrefix(node, arg);
97 }
98
89 @override 99 @override
90 R visitIndexPrefix( 100 R visitIndexPrefix(
91 Send node, 101 Send node,
92 Node receiver, 102 Node receiver,
93 Node index, 103 Node index,
94 IncDecOperator operator, 104 IncDecOperator operator,
95 A arg) { 105 A arg) {
96 return bulkHandlePrefix(node, arg); 106 return bulkHandlePrefix(node, arg);
97 } 107 }
98 108
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 Send node, 507 Send node,
498 Node receiver, 508 Node receiver,
499 IncDecOperator operator, 509 IncDecOperator operator,
500 Selector getterSelector, 510 Selector getterSelector,
501 Selector setterSelector, 511 Selector setterSelector,
502 A arg) { 512 A arg) {
503 return bulkHandlePostfix(node, arg); 513 return bulkHandlePostfix(node, arg);
504 } 514 }
505 515
506 @override 516 @override
517 R visitIfNotNullDynamicPropertyPostfix(
518 Send node,
519 Node receiver,
520 IncDecOperator operator,
521 Selector getterSelector,
522 Selector setterSelector,
523 A arg) {
524 return bulkHandlePostfix(node, arg);
525 }
526
507 R visitIndexPostfix( 527 R visitIndexPostfix(
508 Send node, 528 Send node,
509 Node receiver, 529 Node receiver,
510 Node index, 530 Node index,
511 IncDecOperator operator, 531 IncDecOperator operator,
512 A arg) { 532 A arg) {
513 return bulkHandlePostfix(node, arg); 533 return bulkHandlePostfix(node, arg);
514 } 534 }
515 535
516 @override 536 @override
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
923 Node receiver, 943 Node receiver,
924 AssignmentOperator operator, 944 AssignmentOperator operator,
925 Node rhs, 945 Node rhs,
926 Selector getterSelector, 946 Selector getterSelector,
927 Selector setterSelector, 947 Selector setterSelector,
928 A arg) { 948 A arg) {
929 return bulkHandleCompound(node, arg); 949 return bulkHandleCompound(node, arg);
930 } 950 }
931 951
932 @override 952 @override
953 R visitIfNotNullDynamicPropertyCompound(
954 Send node,
955 Node receiver,
956 AssignmentOperator operator,
957 Node rhs,
958 Selector getterSelector,
959 Selector setterSelector,
960 A arg) {
961 return bulkHandleCompound(node, arg);
962 }
963
964 @override
933 R visitLocalVariableCompound( 965 R visitLocalVariableCompound(
934 Send node, 966 Send node,
935 LocalVariableElement variable, 967 LocalVariableElement variable,
936 AssignmentOperator operator, 968 AssignmentOperator operator,
937 Node rhs, 969 Node rhs,
938 A arg) { 970 A arg) {
939 return bulkHandleCompound(node, arg); 971 return bulkHandleCompound(node, arg);
940 } 972 }
941 973
942 @override 974 @override
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after
1330 R visitDynamicPropertyInvoke( 1362 R visitDynamicPropertyInvoke(
1331 Send node, 1363 Send node,
1332 Node receiver, 1364 Node receiver,
1333 NodeList arguments, 1365 NodeList arguments,
1334 Selector selector, 1366 Selector selector,
1335 A arg) { 1367 A arg) {
1336 return bulkHandleInvoke(node, arg); 1368 return bulkHandleInvoke(node, arg);
1337 } 1369 }
1338 1370
1339 @override 1371 @override
1372 R visitIfNotNullDynamicPropertyInvoke(
1373 Send node,
1374 Node receiver,
1375 NodeList arguments,
1376 Selector selector,
1377 A arg) {
1378 return bulkHandleInvoke(node, arg);
1379 }
1380
1381 @override
1340 R visitDynamicTypeLiteralInvoke( 1382 R visitDynamicTypeLiteralInvoke(
1341 Send node, 1383 Send node,
1342 ConstantExpression constant, 1384 ConstantExpression constant,
1343 NodeList arguments, 1385 NodeList arguments,
1344 CallStructure callStructure, 1386 CallStructure callStructure,
1345 A arg) { 1387 A arg) {
1346 return bulkHandleInvoke(node, arg); 1388 return bulkHandleInvoke(node, arg);
1347 } 1389 }
1348 1390
1349 @override 1391 @override
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
1628 @override 1670 @override
1629 R visitDynamicPropertyGet( 1671 R visitDynamicPropertyGet(
1630 Send node, 1672 Send node,
1631 Node receiver, 1673 Node receiver,
1632 Selector selector, 1674 Selector selector,
1633 A arg) { 1675 A arg) {
1634 return bulkHandleGet(node, arg); 1676 return bulkHandleGet(node, arg);
1635 } 1677 }
1636 1678
1637 @override 1679 @override
1680 R visitIfNotNullDynamicPropertyGet(
1681 Send node,
1682 Node receiver,
1683 Selector selector,
1684 A arg) {
1685 return bulkHandleGet(node, arg);
1686 }
1687
1688 @override
1638 R visitDynamicTypeLiteralGet( 1689 R visitDynamicTypeLiteralGet(
1639 Send node, 1690 Send node,
1640 ConstantExpression constant, 1691 ConstantExpression constant,
1641 A arg) { 1692 A arg) {
1642 return bulkHandleGet(node, arg); 1693 return bulkHandleGet(node, arg);
1643 } 1694 }
1644 1695
1645 @override 1696 @override
1646 R visitLocalFunctionGet( 1697 R visitLocalFunctionGet(
1647 Send node, 1698 Send node,
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
1832 R visitDynamicPropertySet( 1883 R visitDynamicPropertySet(
1833 SendSet node, 1884 SendSet node,
1834 Node receiver, 1885 Node receiver,
1835 Selector selector, 1886 Selector selector,
1836 Node rhs, 1887 Node rhs,
1837 A arg) { 1888 A arg) {
1838 return bulkHandleSet(node, arg); 1889 return bulkHandleSet(node, arg);
1839 } 1890 }
1840 1891
1841 @override 1892 @override
1893 R visitIfNotNullDynamicPropertySet(
1894 SendSet node,
1895 Node receiver,
1896 Selector selector,
1897 Node rhs,
1898 A arg) {
1899 return bulkHandleSet(node, arg);
1900 }
1901
1902 @override
1842 R visitLocalVariableSet( 1903 R visitLocalVariableSet(
1843 SendSet node, 1904 SendSet node,
1844 LocalVariableElement variable, 1905 LocalVariableElement variable,
1845 Node rhs, 1906 Node rhs,
1846 A arg) { 1907 A arg) {
1847 return bulkHandleSet(node, arg); 1908 return bulkHandleSet(node, arg);
1848 } 1909 }
1849 1910
1850 @override 1911 @override
1851 R visitParameterSet( 1912 R visitParameterSet(
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after
2375 @override 2436 @override
2376 R visitIsNot( 2437 R visitIsNot(
2377 Send node, 2438 Send node,
2378 Node expression, 2439 Node expression,
2379 DartType type, 2440 DartType type,
2380 A arg) { 2441 A arg) {
2381 return bulkHandleNode(node, 'Is not test `#` unhandled.', arg); 2442 return bulkHandleNode(node, 'Is not test `#` unhandled.', arg);
2382 } 2443 }
2383 2444
2384 @override 2445 @override
2446 R visitIfNull(
2447 Send node,
2448 Node left,
2449 Node right,
2450 A arg) {
2451 return bulkHandleNode(node, 'If-null (Lazy ?? `#`) unhandled.', arg);
2452 }
2453
2454 @override
2385 R visitLogicalAnd( 2455 R visitLogicalAnd(
2386 Send node, 2456 Send node,
2387 Node left, 2457 Node left,
2388 Node right, 2458 Node right,
2389 A arg) { 2459 A arg) {
2390 return bulkHandleNode(node, 'Lazy and `#` unhandled.', arg); 2460 return bulkHandleNode(node, 'Lazy and `#` unhandled.', arg);
2391 } 2461 }
2392 2462
2393 @override 2463 @override
2394 R visitLogicalOr( 2464 R visitLogicalOr(
(...skipping 1438 matching lines...) Expand 10 before | Expand all | Expand 10 after
3833 Node rhs, 3903 Node rhs,
3834 Selector getterSelector, 3904 Selector getterSelector,
3835 Selector setterSelector, 3905 Selector setterSelector,
3836 A arg) { 3906 A arg) {
3837 apply(receiver, arg); 3907 apply(receiver, arg);
3838 apply(rhs, arg); 3908 apply(rhs, arg);
3839 return null; 3909 return null;
3840 } 3910 }
3841 3911
3842 @override 3912 @override
3913 R visitIfNotNullDynamicPropertyCompound(
3914 Send node,
3915 Node receiver,
3916 AssignmentOperator operator,
3917 Node rhs,
3918 Selector getterSelector,
3919 Selector setterSelector,
3920 A arg) {
3921 apply(receiver, arg);
3922 apply(rhs, arg);
3923 return null;
3924 }
3925
3926 @override
3843 R visitDynamicPropertyGet( 3927 R visitDynamicPropertyGet(
3844 Send node, 3928 Send node,
3845 Node receiver, 3929 Node receiver,
3846 Selector selector, 3930 Selector selector,
3847 A arg) { 3931 A arg) {
3848 apply(receiver, arg); 3932 apply(receiver, arg);
3849 return null; 3933 return null;
3850 } 3934 }
3851 3935
3852 @override 3936 @override
3937 R visitIfNotNullDynamicPropertyGet(
3938 Send node,
3939 Node receiver,
3940 Selector selector,
3941 A arg) {
3942 apply(receiver, arg);
3943 return null;
3944 }
3945
3946 @override
3853 R visitDynamicPropertyInvoke( 3947 R visitDynamicPropertyInvoke(
3854 Send node, 3948 Send node,
3855 Node receiver, 3949 Node receiver,
3856 NodeList arguments, 3950 NodeList arguments,
3857 Selector selector, 3951 Selector selector,
3858 A arg) { 3952 A arg) {
3859 apply(receiver, arg); 3953 apply(receiver, arg);
3860 apply(arguments, arg); 3954 apply(arguments, arg);
3861 return null; 3955 return null;
3862 } 3956 }
3863 3957
3864 @override 3958 @override
3959 R visitIfNotNullDynamicPropertyInvoke(
3960 Send node,
3961 Node receiver,
3962 NodeList arguments,
3963 Selector selector,
3964 A arg) {
3965 apply(receiver, arg);
3966 apply(arguments, arg);
3967 return null;
3968 }
3969
3970 @override
3865 R visitDynamicPropertyPostfix( 3971 R visitDynamicPropertyPostfix(
3866 Send node, 3972 Send node,
3867 Node receiver, 3973 Node receiver,
3868 IncDecOperator operator, 3974 IncDecOperator operator,
3869 Selector getterSelector, 3975 Selector getterSelector,
3870 Selector setterSelector, 3976 Selector setterSelector,
3871 A arg) { 3977 A arg) {
3872 apply(receiver, arg); 3978 apply(receiver, arg);
3873 return null; 3979 return null;
3874 } 3980 }
3875 3981
3876 @override 3982 @override
3983 R visitIfNotNullDynamicPropertyPostfix(
3984 Send node,
3985 Node receiver,
3986 IncDecOperator operator,
3987 Selector getterSelector,
3988 Selector setterSelector,
3989 A arg) {
3990 apply(receiver, arg);
3991 return null;
3992 }
3993
3994 @override
3877 R visitDynamicPropertyPrefix( 3995 R visitDynamicPropertyPrefix(
3878 Send node, 3996 Send node,
3879 Node receiver, 3997 Node receiver,
3880 IncDecOperator operator, 3998 IncDecOperator operator,
3881 Selector getterSelector, 3999 Selector getterSelector,
3882 Selector setterSelector, 4000 Selector setterSelector,
3883 A arg) { 4001 A arg) {
3884 apply(receiver, arg); 4002 apply(receiver, arg);
3885 return null; 4003 return null;
3886 } 4004 }
3887 4005
3888 @override 4006 @override
4007 R visitIfNotNullDynamicPropertyPrefix(
4008 Send node,
4009 Node receiver,
4010 IncDecOperator operator,
4011 Selector getterSelector,
4012 Selector setterSelector,
4013 A arg) {
4014 apply(receiver, arg);
4015 return null;
4016 }
4017
4018 @override
3889 R visitDynamicPropertySet( 4019 R visitDynamicPropertySet(
3890 SendSet node, 4020 SendSet node,
3891 Node receiver, 4021 Node receiver,
3892 Selector selector, 4022 Selector selector,
3893 Node rhs, 4023 Node rhs,
3894 A arg) { 4024 A arg) {
3895 apply(receiver, arg); 4025 apply(receiver, arg);
3896 apply(rhs, arg); 4026 apply(rhs, arg);
3897 return null; 4027 return null;
3898 } 4028 }
3899 4029
3900 @override 4030 @override
4031 R visitIfNotNullDynamicPropertySet(
4032 SendSet node,
4033 Node receiver,
4034 Selector selector,
4035 Node rhs,
4036 A arg) {
4037 apply(rhs, arg);
4038 return null;
4039 }
4040
4041 @override
3901 R visitDynamicTypeLiteralCompound( 4042 R visitDynamicTypeLiteralCompound(
3902 Send node, 4043 Send node,
3903 ConstantExpression constant, 4044 ConstantExpression constant,
3904 AssignmentOperator operator, 4045 AssignmentOperator operator,
3905 Node rhs, 4046 Node rhs,
3906 A arg) { 4047 A arg) {
3907 apply(rhs, arg); 4048 apply(rhs, arg);
3908 return null; 4049 return null;
3909 } 4050 }
3910 4051
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
4083 R visitLocalVariableSet( 4224 R visitLocalVariableSet(
4084 SendSet node, 4225 SendSet node,
4085 LocalVariableElement variable, 4226 LocalVariableElement variable,
4086 Node rhs, 4227 Node rhs,
4087 A arg) { 4228 A arg) {
4088 apply(rhs, arg); 4229 apply(rhs, arg);
4089 return null; 4230 return null;
4090 } 4231 }
4091 4232
4092 @override 4233 @override
4234 R visitIfNull(
4235 Send node,
4236 Node left,
4237 Node right,
4238 A arg) {
4239 apply(left, arg);
4240 apply(right, arg);
4241 return null;
4242 }
4243
4244 @override
4093 R visitLogicalAnd( 4245 R visitLogicalAnd(
4094 Send node, 4246 Send node,
4095 Node left, 4247 Node left,
4096 Node right, 4248 Node right,
4097 A arg) { 4249 A arg) {
4098 apply(left, arg); 4250 apply(left, arg);
4099 apply(right, arg); 4251 apply(right, arg);
4100 return null; 4252 return null;
4101 } 4253 }
4102 4254
(...skipping 3388 matching lines...) Expand 10 before | Expand all | Expand 10 after
7491 @override 7643 @override
7492 R visitDynamicPropertyGet( 7644 R visitDynamicPropertyGet(
7493 Send node, 7645 Send node,
7494 Node receiver, 7646 Node receiver,
7495 Selector selector, 7647 Selector selector,
7496 A arg) { 7648 A arg) {
7497 return handleDynamicGet(node, receiver, selector, arg); 7649 return handleDynamicGet(node, receiver, selector, arg);
7498 } 7650 }
7499 7651
7500 @override 7652 @override
7653 R visitIfNotNullDynamicPropertyGet(
7654 Send node,
7655 Node receiver,
7656 Selector selector,
7657 A arg) {
7658 // TODO(johnniwinther): should these redirect to handleDynamicX?
7659 return handleDynamicGet(node, receiver, selector, arg);
7660 }
7661
7662 @override
7501 R visitDynamicPropertyInvoke( 7663 R visitDynamicPropertyInvoke(
7502 Send node, 7664 Send node,
7503 Node receiver, 7665 Node receiver,
7504 NodeList arguments, 7666 NodeList arguments,
7505 Selector selector, 7667 Selector selector,
7506 A arg) { 7668 A arg) {
7507 return handleDynamicInvoke(node, receiver, arguments, selector, arg); 7669 return handleDynamicInvoke(node, receiver, arguments, selector, arg);
7508 } 7670 }
7509 7671
7510 @override 7672 @override
7673 R visitIfNotNullDynamicPropertyInvoke(
7674 Send node,
7675 Node receiver,
7676 NodeList arguments,
7677 Selector selector,
7678 A arg) {
7679 return handleDynamicInvoke(node, receiver, arguments, selector, arg);
7680 }
7681
7682 @override
7511 R visitDynamicPropertySet( 7683 R visitDynamicPropertySet(
7512 SendSet node, 7684 SendSet node,
7513 Node receiver, 7685 Node receiver,
7514 Selector selector, 7686 Selector selector,
7515 Node rhs, 7687 Node rhs,
7516 A arg) { 7688 A arg) {
7517 return handleDynamicSet(node, receiver, selector, rhs, arg); 7689 return handleDynamicSet(node, receiver, selector, rhs, arg);
7518 } 7690 }
7519 7691
7520 @override 7692 @override
7693 R visitIfNotNullDynamicPropertySet(
7694 SendSet node,
7695 Node receiver,
7696 Selector selector,
7697 Node rhs,
7698 A arg) {
7699 return handleDynamicSet(node, receiver, selector, rhs, arg);
7700 }
7701
7702 @override
7521 R visitThisPropertyGet( 7703 R visitThisPropertyGet(
7522 Send node, 7704 Send node,
7523 Selector selector, 7705 Selector selector,
7524 A arg) { 7706 A arg) {
7525 return handleDynamicGet(node, null, selector, arg); 7707 return handleDynamicGet(node, null, selector, arg);
7526 } 7708 }
7527 7709
7528 @override 7710 @override
7529 R visitThisPropertyInvoke( 7711 R visitThisPropertyInvoke(
7530 Send node, 7712 Send node,
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
7585 AssignmentOperator operator, 7767 AssignmentOperator operator,
7586 Node rhs, 7768 Node rhs,
7587 Selector getterSelector, 7769 Selector getterSelector,
7588 Selector setterSelector, 7770 Selector setterSelector,
7589 A arg) { 7771 A arg) {
7590 return handleDynamicCompound( 7772 return handleDynamicCompound(
7591 node, receiver, operator, rhs, getterSelector, setterSelector, arg); 7773 node, receiver, operator, rhs, getterSelector, setterSelector, arg);
7592 } 7774 }
7593 7775
7594 @override 7776 @override
7777 R visitIfNotNullDynamicPropertyCompound(
7778 Send node,
7779 Node receiver,
7780 AssignmentOperator operator,
7781 Node rhs,
7782 Selector getterSelector,
7783 Selector setterSelector,
7784 A arg) {
7785 return handleDynamicCompound(
7786 node, receiver, operator, rhs, getterSelector, setterSelector, arg);
7787 }
7788
7789 @override
7595 R visitDynamicPropertyPostfix( 7790 R visitDynamicPropertyPostfix(
7596 Send node, 7791 Send node,
7597 Node receiver, 7792 Node receiver,
7598 IncDecOperator operator, 7793 IncDecOperator operator,
7599 Selector getterSelector, 7794 Selector getterSelector,
7600 Selector setterSelector, 7795 Selector setterSelector,
7601 A arg) { 7796 A arg) {
7602 return handleDynamicPostfixPrefix( 7797 return handleDynamicPostfixPrefix(
7603 node, receiver, operator, 7798 node, receiver, operator,
7604 getterSelector, setterSelector, arg, isPrefix: false); 7799 getterSelector, setterSelector, arg, isPrefix: false);
7605 } 7800 }
7606 7801
7607 @override 7802 @override
7803 R visitIfNotNullDynamicPropertyPostfix(
7804 Send node,
7805 Node receiver,
7806 IncDecOperator operator,
7807 Selector getterSelector,
7808 Selector setterSelector,
7809 A arg) {
7810 return handleDynamicPostfixPrefix(
7811 node, receiver, operator,
7812 getterSelector, setterSelector, arg, isPrefix: false);
7813 }
7814
7815 @override
7608 R visitDynamicPropertyPrefix( 7816 R visitDynamicPropertyPrefix(
7609 Send node, 7817 Send node,
7610 Node receiver, 7818 Node receiver,
7611 IncDecOperator operator, 7819 IncDecOperator operator,
7612 Selector getterSelector, 7820 Selector getterSelector,
7613 Selector setterSelector, 7821 Selector setterSelector,
7614 A arg) { 7822 A arg) {
7615 return handleDynamicPostfixPrefix( 7823 return handleDynamicPostfixPrefix(
7616 node, receiver, operator, 7824 node, receiver, operator,
7617 getterSelector, setterSelector, arg, isPrefix: true); 7825 getterSelector, setterSelector, arg, isPrefix: true);
7618 } 7826 }
7619 7827
7620 @override 7828 @override
7829 R visitIfNotNullDynamicPropertyPrefix(
7830 Send node,
7831 Node receiver,
7832 IncDecOperator operator,
7833 Selector getterSelector,
7834 Selector setterSelector,
7835 A arg) {
7836 return handleDynamicPostfixPrefix(
7837 node, receiver, operator,
7838 getterSelector, setterSelector, arg, isPrefix: true);
7839 }
7840
7841 @override
7621 R visitThisPropertyCompound( 7842 R visitThisPropertyCompound(
7622 Send node, 7843 Send node,
7623 AssignmentOperator operator, 7844 AssignmentOperator operator,
7624 Node rhs, 7845 Node rhs,
7625 Selector getterSelector, 7846 Selector getterSelector,
7626 Selector setterSelector, 7847 Selector setterSelector,
7627 A arg) { 7848 A arg) {
7628 return handleDynamicCompound( 7849 return handleDynamicCompound(
7629 node, null, operator, rhs, getterSelector, setterSelector, arg); 7850 node, null, operator, rhs, getterSelector, setterSelector, arg);
7630 } 7851 }
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
7822 A arg) { 8043 A arg) {
7823 return handleDynamicCompounds( 8044 return handleDynamicCompounds(
7824 node, 8045 node,
7825 receiver, 8046 receiver,
7826 new AssignmentCompound(operator, rhs), 8047 new AssignmentCompound(operator, rhs),
7827 getterSelector, 8048 getterSelector,
7828 setterSelector, 8049 setterSelector,
7829 arg); 8050 arg);
7830 } 8051 }
7831 8052
8053 R visitIfNotNullDynamicPropertyCompound(
8054 Send node,
8055 Node receiver,
8056 AssignmentOperator operator,
8057 Node rhs,
8058 Selector getterSelector,
8059 Selector setterSelector,
8060 A arg) {
8061 return handleDynamicCompounds(
8062 node,
8063 receiver,
8064 new AssignmentCompound(operator, rhs),
8065 getterSelector,
8066 setterSelector,
8067 arg);
8068 }
8069
7832 @override 8070 @override
7833 R visitThisPropertyCompound( 8071 R visitThisPropertyCompound(
7834 Send node, 8072 Send node,
7835 AssignmentOperator operator, 8073 AssignmentOperator operator,
7836 Node rhs, 8074 Node rhs,
7837 Selector getterSelector, 8075 Selector getterSelector,
7838 Selector setterSelector, 8076 Selector setterSelector,
7839 A arg) { 8077 A arg) {
7840 return handleDynamicCompounds( 8078 return handleDynamicCompounds(
7841 node, 8079 node,
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
8205 A arg) { 8443 A arg) {
8206 return handleDynamicCompounds( 8444 return handleDynamicCompounds(
8207 node, 8445 node,
8208 receiver, 8446 receiver,
8209 new IncDecCompound(CompoundKind.PREFIX, operator), 8447 new IncDecCompound(CompoundKind.PREFIX, operator),
8210 getterSelector, 8448 getterSelector,
8211 setterSelector, 8449 setterSelector,
8212 arg); 8450 arg);
8213 } 8451 }
8214 8452
8453 R visitIfNotNullDynamicPropertyPrefix(
8454 Send node,
8455 Node receiver,
8456 IncDecOperator operator,
8457 Selector getterSelector,
8458 Selector setterSelector,
8459 A arg) {
8460 return handleDynamicCompounds(
8461 node,
8462 receiver,
8463 new IncDecCompound(CompoundKind.PREFIX, operator),
8464 getterSelector,
8465 setterSelector,
8466 arg);
8467 }
8468
8215 @override 8469 @override
8216 R visitParameterPrefix( 8470 R visitParameterPrefix(
8217 Send node, 8471 Send node,
8218 ParameterElement parameter, 8472 ParameterElement parameter,
8219 IncDecOperator operator, 8473 IncDecOperator operator,
8220 A arg) { 8474 A arg) {
8221 return handleLocalCompounds( 8475 return handleLocalCompounds(
8222 node, 8476 node,
8223 parameter, 8477 parameter,
8224 new IncDecCompound(CompoundKind.PREFIX, operator), 8478 new IncDecCompound(CompoundKind.PREFIX, operator),
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
8510 return handleDynamicCompounds( 8764 return handleDynamicCompounds(
8511 node, 8765 node,
8512 receiver, 8766 receiver,
8513 new IncDecCompound(CompoundKind.POSTFIX, operator), 8767 new IncDecCompound(CompoundKind.POSTFIX, operator),
8514 getterSelector, 8768 getterSelector,
8515 setterSelector, 8769 setterSelector,
8516 arg); 8770 arg);
8517 } 8771 }
8518 8772
8519 @override 8773 @override
8774 R visitIfNotNullDynamicPropertyPostfix(
8775 Send node,
8776 Node receiver,
8777 IncDecOperator operator,
8778 Selector getterSelector,
8779 Selector setterSelector,
8780 A arg) {
8781 return handleDynamicCompounds(
8782 node,
8783 receiver,
8784 new IncDecCompound(CompoundKind.POSTFIX, operator),
8785 getterSelector,
8786 setterSelector,
8787 arg);
8788 }
8789
8790 @override
8520 R visitParameterPostfix( 8791 R visitParameterPostfix(
8521 Send node, 8792 Send node,
8522 ParameterElement parameter, 8793 ParameterElement parameter,
8523 IncDecOperator operator, 8794 IncDecOperator operator,
8524 A arg) { 8795 A arg) {
8525 return handleLocalCompounds( 8796 return handleLocalCompounds(
8526 node, 8797 node,
8527 parameter, 8798 parameter,
8528 new IncDecCompound(CompoundKind.POSTFIX, operator), 8799 new IncDecCompound(CompoundKind.POSTFIX, operator),
8529 arg, 8800 arg,
(...skipping 1791 matching lines...) Expand 10 before | Expand all | Expand 10 after
10321 NewExpression node, 10592 NewExpression node,
10322 ConstructorElement constructor, 10593 ConstructorElement constructor,
10323 InterfaceType type, 10594 InterfaceType type,
10324 NodeList arguments, 10595 NodeList arguments,
10325 CallStructure callStructure, 10596 CallStructure callStructure,
10326 A arg) { 10597 A arg) {
10327 return handleConstructorInvoke( 10598 return handleConstructorInvoke(
10328 node, constructor, type, arguments, callStructure, arg); 10599 node, constructor, type, arguments, callStructure, arg);
10329 } 10600 }
10330 } 10601 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/resolution/semantic_visitor.dart ('k') | pkg/compiler/lib/src/resolution/send_resolver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698