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

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

Issue 1314573002: Use Name instead of Selector in SemanticSendVisitor (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 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 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> { 216 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> {
217 217
218 R bulkHandlePrefix(Send node, A arg) { 218 R bulkHandlePrefix(Send node, A arg) {
219 return bulkHandleNode(node, "Prefix expression `#` unhandled.", arg); 219 return bulkHandleNode(node, "Prefix expression `#` unhandled.", arg);
220 } 220 }
221 221
222 @override 222 @override
223 R visitDynamicPropertyPrefix( 223 R visitDynamicPropertyPrefix(
224 Send node, 224 Send node,
225 Node receiver, 225 Node receiver,
226 Name name,
226 IncDecOperator operator, 227 IncDecOperator operator,
227 Selector getterSelector,
228 Selector setterSelector,
229 A arg) { 228 A arg) {
230 return bulkHandlePrefix(node, arg); 229 return bulkHandlePrefix(node, arg);
231 } 230 }
232 231
233 R visitIfNotNullDynamicPropertyPrefix( 232 R visitIfNotNullDynamicPropertyPrefix(
234 Send node, 233 Send node,
235 Node receiver, 234 Node receiver,
235 Name name,
236 IncDecOperator operator, 236 IncDecOperator operator,
237 Selector getterSelector,
238 Selector setterSelector,
239 A arg) { 237 A arg) {
240 return bulkHandlePrefix(node, arg); 238 return bulkHandlePrefix(node, arg);
241 } 239 }
242 240
243 @override 241 @override
244 R visitIndexPrefix( 242 R visitIndexPrefix(
245 Send node, 243 Send node,
246 Node receiver, 244 Node receiver,
247 Node index, 245 Node index,
248 IncDecOperator operator, 246 IncDecOperator operator,
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 FunctionElement method, 393 FunctionElement method,
396 FunctionElement setter, 394 FunctionElement setter,
397 IncDecOperator operator, 395 IncDecOperator operator,
398 A arg) { 396 A arg) {
399 return bulkHandlePrefix(node, arg); 397 return bulkHandlePrefix(node, arg);
400 } 398 }
401 399
402 @override 400 @override
403 R visitThisPropertyPrefix( 401 R visitThisPropertyPrefix(
404 Send node, 402 Send node,
403 Name name,
405 IncDecOperator operator, 404 IncDecOperator operator,
406 Selector getterSelector,
407 Selector setterSelector,
408 A arg) { 405 A arg) {
409 return bulkHandlePrefix(node, arg); 406 return bulkHandlePrefix(node, arg);
410 } 407 }
411 408
412 @override 409 @override
413 R visitTopLevelFieldPrefix( 410 R visitTopLevelFieldPrefix(
414 Send node, 411 Send node,
415 FieldElement field, 412 FieldElement field,
416 IncDecOperator operator, 413 IncDecOperator operator,
417 A arg) { 414 A arg) {
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> { 640 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> {
644 641
645 R bulkHandlePostfix(Send node, A arg) { 642 R bulkHandlePostfix(Send node, A arg) {
646 return bulkHandleNode(node, "Postfix expression `#` unhandled.", arg); 643 return bulkHandleNode(node, "Postfix expression `#` unhandled.", arg);
647 } 644 }
648 645
649 @override 646 @override
650 R visitDynamicPropertyPostfix( 647 R visitDynamicPropertyPostfix(
651 Send node, 648 Send node,
652 Node receiver, 649 Node receiver,
650 Name name,
653 IncDecOperator operator, 651 IncDecOperator operator,
654 Selector getterSelector,
655 Selector setterSelector,
656 A arg) { 652 A arg) {
657 return bulkHandlePostfix(node, arg); 653 return bulkHandlePostfix(node, arg);
658 } 654 }
659 655
660 @override 656 @override
661 R visitIfNotNullDynamicPropertyPostfix( 657 R visitIfNotNullDynamicPropertyPostfix(
662 Send node, 658 Send node,
663 Node receiver, 659 Node receiver,
660 Name name,
664 IncDecOperator operator, 661 IncDecOperator operator,
665 Selector getterSelector,
666 Selector setterSelector,
667 A arg) { 662 A arg) {
668 return bulkHandlePostfix(node, arg); 663 return bulkHandlePostfix(node, arg);
669 } 664 }
670 665
671 R visitIndexPostfix( 666 R visitIndexPostfix(
672 Send node, 667 Send node,
673 Node receiver, 668 Node receiver,
674 Node index, 669 Node index,
675 IncDecOperator operator, 670 IncDecOperator operator,
676 A arg) { 671 A arg) {
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
822 FunctionElement method, 817 FunctionElement method,
823 FunctionElement setter, 818 FunctionElement setter,
824 IncDecOperator operator, 819 IncDecOperator operator,
825 A arg) { 820 A arg) {
826 return bulkHandlePostfix(node, arg); 821 return bulkHandlePostfix(node, arg);
827 } 822 }
828 823
829 @override 824 @override
830 R visitThisPropertyPostfix( 825 R visitThisPropertyPostfix(
831 Send node, 826 Send node,
827 Name name,
832 IncDecOperator operator, 828 IncDecOperator operator,
833 Selector getterSelector,
834 Selector setterSelector,
835 A arg) { 829 A arg) {
836 return bulkHandlePostfix(node, arg); 830 return bulkHandlePostfix(node, arg);
837 } 831 }
838 832
839 @override 833 @override
840 R visitTopLevelFieldPostfix( 834 R visitTopLevelFieldPostfix(
841 Send node, 835 Send node,
842 FieldElement field, 836 FieldElement field,
843 IncDecOperator operator, 837 IncDecOperator operator,
844 A arg) { 838 A arg) {
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
1078 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> { 1072 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> {
1079 1073
1080 R bulkHandleCompound(Send node, A arg) { 1074 R bulkHandleCompound(Send node, A arg) {
1081 return bulkHandleNode(node, "Compound assignment `#` unhandled.", arg); 1075 return bulkHandleNode(node, "Compound assignment `#` unhandled.", arg);
1082 } 1076 }
1083 1077
1084 @override 1078 @override
1085 R visitDynamicPropertyCompound( 1079 R visitDynamicPropertyCompound(
1086 Send node, 1080 Send node,
1087 Node receiver, 1081 Node receiver,
1082 Name name,
1088 AssignmentOperator operator, 1083 AssignmentOperator operator,
1089 Node rhs, 1084 Node rhs,
1090 Selector getterSelector,
1091 Selector setterSelector,
1092 A arg) { 1085 A arg) {
1093 return bulkHandleCompound(node, arg); 1086 return bulkHandleCompound(node, arg);
1094 } 1087 }
1095 1088
1096 @override 1089 @override
1097 R visitIfNotNullDynamicPropertyCompound( 1090 R visitIfNotNullDynamicPropertyCompound(
1098 Send node, 1091 Send node,
1099 Node receiver, 1092 Node receiver,
1093 Name name,
1100 AssignmentOperator operator, 1094 AssignmentOperator operator,
1101 Node rhs, 1095 Node rhs,
1102 Selector getterSelector,
1103 Selector setterSelector,
1104 A arg) { 1096 A arg) {
1105 return bulkHandleCompound(node, arg); 1097 return bulkHandleCompound(node, arg);
1106 } 1098 }
1107 1099
1108 @override 1100 @override
1109 R visitLocalVariableCompound( 1101 R visitLocalVariableCompound(
1110 Send node, 1102 Send node,
1111 LocalVariableElement variable, 1103 LocalVariableElement variable,
1112 AssignmentOperator operator, 1104 AssignmentOperator operator,
1113 Node rhs, 1105 Node rhs,
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
1207 FunctionElement setter, 1199 FunctionElement setter,
1208 AssignmentOperator operator, 1200 AssignmentOperator operator,
1209 Node rhs, 1201 Node rhs,
1210 A arg) { 1202 A arg) {
1211 return bulkHandleCompound(node, arg); 1203 return bulkHandleCompound(node, arg);
1212 } 1204 }
1213 1205
1214 @override 1206 @override
1215 R visitThisPropertyCompound( 1207 R visitThisPropertyCompound(
1216 Send node, 1208 Send node,
1209 Name name,
1217 AssignmentOperator operator, 1210 AssignmentOperator operator,
1218 Node rhs, 1211 Node rhs,
1219 Selector getterSelector,
1220 Selector setterSelector,
1221 A arg) { 1212 A arg) {
1222 return bulkHandleCompound(node, arg); 1213 return bulkHandleCompound(node, arg);
1223 } 1214 }
1224 1215
1225 @override 1216 @override
1226 R visitTopLevelFieldCompound( 1217 R visitTopLevelFieldCompound(
1227 Send node, 1218 Send node,
1228 FieldElement field, 1219 FieldElement field,
1229 AssignmentOperator operator, 1220 AssignmentOperator operator,
1230 Node rhs, 1221 Node rhs,
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
1530 CallStructure callStructure, 1521 CallStructure callStructure,
1531 A arg) { 1522 A arg) {
1532 return bulkHandleInvoke(node, arg); 1523 return bulkHandleInvoke(node, arg);
1533 } 1524 }
1534 1525
1535 @override 1526 @override
1536 R visitExpressionInvoke( 1527 R visitExpressionInvoke(
1537 Send node, 1528 Send node,
1538 Node expression, 1529 Node expression,
1539 NodeList arguments, 1530 NodeList arguments,
1540 Selector selector, 1531 CallStructure callStructure,
1541 A arg) { 1532 A arg) {
1542 return bulkHandleInvoke(node, arg); 1533 return bulkHandleInvoke(node, arg);
1543 } 1534 }
1544 1535
1545 @override 1536 @override
1546 R visitLocalFunctionInvoke( 1537 R visitLocalFunctionInvoke(
1547 Send node, 1538 Send node,
1548 LocalFunctionElement function, 1539 LocalFunctionElement function,
1549 NodeList arguments, 1540 NodeList arguments,
1550 CallStructure callStructure, 1541 CallStructure callStructure,
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
1818 Send node, 1809 Send node,
1819 ConstantExpression constant, 1810 ConstantExpression constant,
1820 A arg) { 1811 A arg) {
1821 return bulkHandleGet(node, arg); 1812 return bulkHandleGet(node, arg);
1822 } 1813 }
1823 1814
1824 @override 1815 @override
1825 R visitDynamicPropertyGet( 1816 R visitDynamicPropertyGet(
1826 Send node, 1817 Send node,
1827 Node receiver, 1818 Node receiver,
1828 Selector selector, 1819 Name name,
1829 A arg) { 1820 A arg) {
1830 return bulkHandleGet(node, arg); 1821 return bulkHandleGet(node, arg);
1831 } 1822 }
1832 1823
1833 @override 1824 @override
1834 R visitIfNotNullDynamicPropertyGet( 1825 R visitIfNotNullDynamicPropertyGet(
1835 Send node, 1826 Send node,
1836 Node receiver, 1827 Node receiver,
1837 Selector selector, 1828 Name name,
1838 A arg) { 1829 A arg) {
1839 return bulkHandleGet(node, arg); 1830 return bulkHandleGet(node, arg);
1840 } 1831 }
1841 1832
1842 @override 1833 @override
1843 R visitDynamicTypeLiteralGet( 1834 R visitDynamicTypeLiteralGet(
1844 Send node, 1835 Send node,
1845 ConstantExpression constant, 1836 ConstantExpression constant,
1846 A arg) { 1837 A arg) {
1847 return bulkHandleGet(node, arg); 1838 return bulkHandleGet(node, arg);
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
1920 } 1911 }
1921 1912
1922 @override 1913 @override
1923 R visitThisGet(Identifier node, A arg) { 1914 R visitThisGet(Identifier node, A arg) {
1924 return bulkHandleGet(node, arg); 1915 return bulkHandleGet(node, arg);
1925 } 1916 }
1926 1917
1927 @override 1918 @override
1928 R visitThisPropertyGet( 1919 R visitThisPropertyGet(
1929 Send node, 1920 Send node,
1930 Selector selector, 1921 Name name,
1931 A arg) { 1922 A arg) {
1932 return bulkHandleGet(node, arg); 1923 return bulkHandleGet(node, arg);
1933 } 1924 }
1934 1925
1935 @override 1926 @override
1936 R visitTopLevelFieldGet( 1927 R visitTopLevelFieldGet(
1937 Send node, 1928 Send node,
1938 FieldElement field, 1929 FieldElement field,
1939 A arg) { 1930 A arg) {
1940 return bulkHandleGet(node, arg); 1931 return bulkHandleGet(node, arg);
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
2030 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> { 2021 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> {
2031 2022
2032 R bulkHandleSet(Send node, A arg) { 2023 R bulkHandleSet(Send node, A arg) {
2033 return bulkHandleNode(node, "Assignment `#` unhandled.", arg); 2024 return bulkHandleNode(node, "Assignment `#` unhandled.", arg);
2034 } 2025 }
2035 2026
2036 @override 2027 @override
2037 R visitDynamicPropertySet( 2028 R visitDynamicPropertySet(
2038 SendSet node, 2029 SendSet node,
2039 Node receiver, 2030 Node receiver,
2040 Selector selector, 2031 Name name,
2041 Node rhs, 2032 Node rhs,
2042 A arg) { 2033 A arg) {
2043 return bulkHandleSet(node, arg); 2034 return bulkHandleSet(node, arg);
2044 } 2035 }
2045 2036
2046 @override 2037 @override
2047 R visitIfNotNullDynamicPropertySet( 2038 R visitIfNotNullDynamicPropertySet(
2048 SendSet node, 2039 SendSet node,
2049 Node receiver, 2040 Node receiver,
2050 Selector selector, 2041 Name name,
2051 Node rhs, 2042 Node rhs,
2052 A arg) { 2043 A arg) {
2053 return bulkHandleSet(node, arg); 2044 return bulkHandleSet(node, arg);
2054 } 2045 }
2055 2046
2056 @override 2047 @override
2057 R visitLocalVariableSet( 2048 R visitLocalVariableSet(
2058 SendSet node, 2049 SendSet node,
2059 LocalVariableElement variable, 2050 LocalVariableElement variable,
2060 Node rhs, 2051 Node rhs,
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
2103 SendSet node, 2094 SendSet node,
2104 FunctionElement setter, 2095 FunctionElement setter,
2105 Node rhs, 2096 Node rhs,
2106 A arg) { 2097 A arg) {
2107 return bulkHandleSet(node, arg); 2098 return bulkHandleSet(node, arg);
2108 } 2099 }
2109 2100
2110 @override 2101 @override
2111 R visitThisPropertySet( 2102 R visitThisPropertySet(
2112 SendSet node, 2103 SendSet node,
2113 Selector selector, 2104 Name name,
2114 Node rhs, 2105 Node rhs,
2115 A arg) { 2106 A arg) {
2116 return bulkHandleSet(node, arg); 2107 return bulkHandleSet(node, arg);
2117 } 2108 }
2118 2109
2119 @override 2110 @override
2120 R visitTopLevelFieldSet( 2111 R visitTopLevelFieldSet(
2121 SendSet node, 2112 SendSet node,
2122 FieldElement field, 2113 FieldElement field,
2123 Node rhs, 2114 Node rhs,
(...skipping 2136 matching lines...) Expand 10 before | Expand all | Expand 10 after
4260 CallStructure callStructure, 4251 CallStructure callStructure,
4261 A arg) { 4252 A arg) {
4262 apply(arguments, arg); 4253 apply(arguments, arg);
4263 return null; 4254 return null;
4264 } 4255 }
4265 4256
4266 @override 4257 @override
4267 R visitDynamicPropertyCompound( 4258 R visitDynamicPropertyCompound(
4268 Send node, 4259 Send node,
4269 Node receiver, 4260 Node receiver,
4261 Name name,
4270 AssignmentOperator operator, 4262 AssignmentOperator operator,
4271 Node rhs, 4263 Node rhs,
4272 Selector getterSelector,
4273 Selector setterSelector,
4274 A arg) { 4264 A arg) {
4275 apply(receiver, arg); 4265 apply(receiver, arg);
4276 apply(rhs, arg); 4266 apply(rhs, arg);
4277 return null; 4267 return null;
4278 } 4268 }
4279 4269
4280 @override 4270 @override
4281 R visitIfNotNullDynamicPropertyCompound( 4271 R visitIfNotNullDynamicPropertyCompound(
4282 Send node, 4272 Send node,
4283 Node receiver, 4273 Node receiver,
4274 Name name,
4284 AssignmentOperator operator, 4275 AssignmentOperator operator,
4285 Node rhs, 4276 Node rhs,
4286 Selector getterSelector,
4287 Selector setterSelector,
4288 A arg) { 4277 A arg) {
4289 apply(receiver, arg); 4278 apply(receiver, arg);
4290 apply(rhs, arg); 4279 apply(rhs, arg);
4291 return null; 4280 return null;
4292 } 4281 }
4293 4282
4294 @override 4283 @override
4295 R visitDynamicPropertyGet( 4284 R visitDynamicPropertyGet(
4296 Send node, 4285 Send node,
4297 Node receiver, 4286 Node receiver,
4298 Selector selector, 4287 Name name,
4299 A arg) { 4288 A arg) {
4300 apply(receiver, arg); 4289 apply(receiver, arg);
4301 return null; 4290 return null;
4302 } 4291 }
4303 4292
4304 @override 4293 @override
4305 R visitIfNotNullDynamicPropertyGet( 4294 R visitIfNotNullDynamicPropertyGet(
4306 Send node, 4295 Send node,
4307 Node receiver, 4296 Node receiver,
4308 Selector selector, 4297 Name name,
4309 A arg) { 4298 A arg) {
4310 apply(receiver, arg); 4299 apply(receiver, arg);
4311 return null; 4300 return null;
4312 } 4301 }
4313 4302
4314 @override 4303 @override
4315 R visitDynamicPropertyInvoke( 4304 R visitDynamicPropertyInvoke(
4316 Send node, 4305 Send node,
4317 Node receiver, 4306 Node receiver,
4318 NodeList arguments, 4307 NodeList arguments,
(...skipping 13 matching lines...) Expand all
4332 A arg) { 4321 A arg) {
4333 apply(receiver, arg); 4322 apply(receiver, arg);
4334 apply(arguments, arg); 4323 apply(arguments, arg);
4335 return null; 4324 return null;
4336 } 4325 }
4337 4326
4338 @override 4327 @override
4339 R visitDynamicPropertyPostfix( 4328 R visitDynamicPropertyPostfix(
4340 Send node, 4329 Send node,
4341 Node receiver, 4330 Node receiver,
4331 Name name,
4342 IncDecOperator operator, 4332 IncDecOperator operator,
4343 Selector getterSelector,
4344 Selector setterSelector,
4345 A arg) { 4333 A arg) {
4346 apply(receiver, arg); 4334 apply(receiver, arg);
4347 return null; 4335 return null;
4348 } 4336 }
4349 4337
4350 @override 4338 @override
4351 R visitIfNotNullDynamicPropertyPostfix( 4339 R visitIfNotNullDynamicPropertyPostfix(
4352 Send node, 4340 Send node,
4353 Node receiver, 4341 Node receiver,
4342 Name name,
4354 IncDecOperator operator, 4343 IncDecOperator operator,
4355 Selector getterSelector,
4356 Selector setterSelector,
4357 A arg) { 4344 A arg) {
4358 apply(receiver, arg); 4345 apply(receiver, arg);
4359 return null; 4346 return null;
4360 } 4347 }
4361 4348
4362 @override 4349 @override
4363 R visitDynamicPropertyPrefix( 4350 R visitDynamicPropertyPrefix(
4364 Send node, 4351 Send node,
4365 Node receiver, 4352 Node receiver,
4353 Name name,
4366 IncDecOperator operator, 4354 IncDecOperator operator,
4367 Selector getterSelector,
4368 Selector setterSelector,
4369 A arg) { 4355 A arg) {
4370 apply(receiver, arg); 4356 apply(receiver, arg);
4371 return null; 4357 return null;
4372 } 4358 }
4373 4359
4374 @override 4360 @override
4375 R visitIfNotNullDynamicPropertyPrefix( 4361 R visitIfNotNullDynamicPropertyPrefix(
4376 Send node, 4362 Send node,
4377 Node receiver, 4363 Node receiver,
4364 Name name,
4378 IncDecOperator operator, 4365 IncDecOperator operator,
4379 Selector getterSelector,
4380 Selector setterSelector,
4381 A arg) { 4366 A arg) {
4382 apply(receiver, arg); 4367 apply(receiver, arg);
4383 return null; 4368 return null;
4384 } 4369 }
4385 4370
4386 @override 4371 @override
4387 R visitDynamicPropertySet( 4372 R visitDynamicPropertySet(
4388 SendSet node, 4373 SendSet node,
4389 Node receiver, 4374 Node receiver,
4390 Selector selector, 4375 Name name,
4391 Node rhs, 4376 Node rhs,
4392 A arg) { 4377 A arg) {
4393 apply(receiver, arg); 4378 apply(receiver, arg);
4394 apply(rhs, arg); 4379 apply(rhs, arg);
4395 return null; 4380 return null;
4396 } 4381 }
4397 4382
4398 @override 4383 @override
4399 R visitIfNotNullDynamicPropertySet( 4384 R visitIfNotNullDynamicPropertySet(
4400 SendSet node, 4385 SendSet node,
4401 Node receiver, 4386 Node receiver,
4402 Selector selector, 4387 Name name,
4403 Node rhs, 4388 Node rhs,
4404 A arg) { 4389 A arg) {
4405 apply(receiver, arg); 4390 apply(receiver, arg);
4406 apply(rhs, arg); 4391 apply(rhs, arg);
4407 return null; 4392 return null;
4408 } 4393 }
4409 4394
4410 @override 4395 @override
4411 R visitDynamicTypeLiteralCompound( 4396 R visitDynamicTypeLiteralCompound(
4412 Send node, 4397 Send node,
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
4464 apply(left, arg); 4449 apply(left, arg);
4465 apply(right, arg); 4450 apply(right, arg);
4466 return null; 4451 return null;
4467 } 4452 }
4468 4453
4469 @override 4454 @override
4470 R visitExpressionInvoke( 4455 R visitExpressionInvoke(
4471 Send node, 4456 Send node,
4472 Node expression, 4457 Node expression,
4473 NodeList arguments, 4458 NodeList arguments,
4474 Selector selector, 4459 CallStructure callStructure,
4475 A arg) { 4460 A arg) {
4476 apply(expression, arg); 4461 apply(expression, arg);
4477 apply(arguments, arg); 4462 apply(arguments, arg);
4478 return null; 4463 return null;
4479 } 4464 }
4480 4465
4481 @override 4466 @override
4482 R visitIndex( 4467 R visitIndex(
4483 Send node, 4468 Send node,
4484 Node receiver, 4469 Node receiver,
(...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after
5253 NodeList arguments, 5238 NodeList arguments,
5254 CallStructure callStructure, 5239 CallStructure callStructure,
5255 A arg) { 5240 A arg) {
5256 apply(arguments, arg); 5241 apply(arguments, arg);
5257 return null; 5242 return null;
5258 } 5243 }
5259 5244
5260 @override 5245 @override
5261 R visitThisPropertyCompound( 5246 R visitThisPropertyCompound(
5262 Send node, 5247 Send node,
5248 Name name,
5263 AssignmentOperator operator, 5249 AssignmentOperator operator,
5264 Node rhs, 5250 Node rhs,
5265 Selector getterSelector,
5266 Selector setterSelector,
5267 A arg) { 5251 A arg) {
5268 apply(rhs, arg); 5252 apply(rhs, arg);
5269 return null; 5253 return null;
5270 } 5254 }
5271 5255
5272 @override 5256 @override
5273 R visitThisPropertyGet( 5257 R visitThisPropertyGet(
5274 Send node, 5258 Send node,
5275 Selector selector, 5259 Name name,
5276 A arg) { 5260 A arg) {
5277 return null; 5261 return null;
5278 } 5262 }
5279 5263
5280 @override 5264 @override
5281 R visitThisPropertyInvoke( 5265 R visitThisPropertyInvoke(
5282 Send node, 5266 Send node,
5283 NodeList arguments, 5267 NodeList arguments,
5284 Selector selector, 5268 Selector selector,
5285 A arg) { 5269 A arg) {
5286 apply(arguments, arg); 5270 apply(arguments, arg);
5287 return null; 5271 return null;
5288 } 5272 }
5289 5273
5290 @override 5274 @override
5291 R visitThisPropertyPostfix( 5275 R visitThisPropertyPostfix(
5292 Send node, 5276 Send node,
5277 Name name,
5293 IncDecOperator operator, 5278 IncDecOperator operator,
5294 Selector getterSelector,
5295 Selector setterSelector,
5296 A arg) { 5279 A arg) {
5297 return null; 5280 return null;
5298 } 5281 }
5299 5282
5300 @override 5283 @override
5301 R visitThisPropertyPrefix( 5284 R visitThisPropertyPrefix(
5302 Send node, 5285 Send node,
5286 Name name,
5303 IncDecOperator operator, 5287 IncDecOperator operator,
5304 Selector getterSelector,
5305 Selector setterSelector,
5306 A arg) { 5288 A arg) {
5307 return null; 5289 return null;
5308 } 5290 }
5309 5291
5310 @override 5292 @override
5311 R visitThisPropertySet( 5293 R visitThisPropertySet(
5312 SendSet node, 5294 SendSet node,
5313 Selector selector, 5295 Name name,
5314 Node rhs, 5296 Node rhs,
5315 A arg) { 5297 A arg) {
5316 apply(rhs, arg); 5298 apply(rhs, arg);
5317 return null; 5299 return null;
5318 } 5300 }
5319 5301
5320 @override 5302 @override
5321 R visitTopLevelFieldCompound( 5303 R visitTopLevelFieldCompound(
5322 Send node, 5304 Send node,
5323 FieldElement field, 5305 FieldElement field,
(...skipping 2751 matching lines...) Expand 10 before | Expand all | Expand 10 after
8075 /// `visitThisPropertyY` methods for by delegating calls to `handleDynamicX` 8057 /// `visitThisPropertyY` methods for by delegating calls to `handleDynamicX`
8076 /// methods, providing `null` as the receiver for the this properties. 8058 /// methods, providing `null` as the receiver for the this properties.
8077 /// 8059 ///
8078 /// This mixin is useful for the cases where dynamic and this properties are 8060 /// This mixin is useful for the cases where dynamic and this properties are
8079 /// handled uniformly. 8061 /// handled uniformly.
8080 abstract class BaseImplementationOfDynamicsMixin<R, A> 8062 abstract class BaseImplementationOfDynamicsMixin<R, A>
8081 implements SemanticSendVisitor<R, A> { 8063 implements SemanticSendVisitor<R, A> {
8082 R handleDynamicGet( 8064 R handleDynamicGet(
8083 Send node, 8065 Send node,
8084 Node receiver, 8066 Node receiver,
8085 Selector selector, 8067 Name name,
8086 A arg); 8068 A arg);
8087 8069
8088 R handleDynamicInvoke( 8070 R handleDynamicInvoke(
8089 Send node, 8071 Send node,
8090 Node receiver, 8072 Node receiver,
8091 NodeList arguments, 8073 NodeList arguments,
8092 Selector selector, 8074 Selector selector,
8093 A arg); 8075 A arg);
8094 8076
8095 R handleDynamicSet( 8077 R handleDynamicSet(
8096 SendSet node, 8078 SendSet node,
8097 Node receiver, 8079 Node receiver,
8098 Selector selector, 8080 Name name,
8099 Node rhs, 8081 Node rhs,
8100 A arg); 8082 A arg);
8101 8083
8102 @override 8084 @override
8103 R visitDynamicPropertyGet( 8085 R visitDynamicPropertyGet(
8104 Send node, 8086 Send node,
8105 Node receiver, 8087 Node receiver,
8106 Selector selector, 8088 Name name,
8107 A arg) { 8089 A arg) {
8108 return handleDynamicGet(node, receiver, selector, arg); 8090 return handleDynamicGet(node, receiver, name, arg);
8109 } 8091 }
8110 8092
8111 @override 8093 @override
8112 R visitIfNotNullDynamicPropertyGet( 8094 R visitIfNotNullDynamicPropertyGet(
8113 Send node, 8095 Send node,
8114 Node receiver, 8096 Node receiver,
8115 Selector selector, 8097 Name name,
8116 A arg) { 8098 A arg) {
8117 // TODO(johnniwinther): should these redirect to handleDynamicX? 8099 // TODO(johnniwinther): should these redirect to handleDynamicX?
8118 return handleDynamicGet(node, receiver, selector, arg); 8100 return handleDynamicGet(node, receiver, name, arg);
8119 } 8101 }
8120 8102
8121 @override 8103 @override
8122 R visitDynamicPropertyInvoke( 8104 R visitDynamicPropertyInvoke(
8123 Send node, 8105 Send node,
8124 Node receiver, 8106 Node receiver,
8125 NodeList arguments, 8107 NodeList arguments,
8126 Selector selector, 8108 Selector selector,
8127 A arg) { 8109 A arg) {
8128 return handleDynamicInvoke(node, receiver, arguments, selector, arg); 8110 return handleDynamicInvoke(node, receiver, arguments, selector, arg);
8129 } 8111 }
8130 8112
8131 @override 8113 @override
8132 R visitIfNotNullDynamicPropertyInvoke( 8114 R visitIfNotNullDynamicPropertyInvoke(
8133 Send node, 8115 Send node,
8134 Node receiver, 8116 Node receiver,
8135 NodeList arguments, 8117 NodeList arguments,
8136 Selector selector, 8118 Selector selector,
8137 A arg) { 8119 A arg) {
8138 return handleDynamicInvoke(node, receiver, arguments, selector, arg); 8120 return handleDynamicInvoke(node, receiver, arguments, selector, arg);
8139 } 8121 }
8140 8122
8141 @override 8123 @override
8142 R visitDynamicPropertySet( 8124 R visitDynamicPropertySet(
8143 SendSet node, 8125 SendSet node,
8144 Node receiver, 8126 Node receiver,
8145 Selector selector, 8127 Name name,
8146 Node rhs, 8128 Node rhs,
8147 A arg) { 8129 A arg) {
8148 return handleDynamicSet(node, receiver, selector, rhs, arg); 8130 return handleDynamicSet(node, receiver, name, rhs, arg);
8149 } 8131 }
8150 8132
8151 @override 8133 @override
8152 R visitIfNotNullDynamicPropertySet( 8134 R visitIfNotNullDynamicPropertySet(
8153 SendSet node, 8135 SendSet node,
8154 Node receiver, 8136 Node receiver,
8155 Selector selector, 8137 Name name,
8156 Node rhs, 8138 Node rhs,
8157 A arg) { 8139 A arg) {
8158 return handleDynamicSet(node, receiver, selector, rhs, arg); 8140 return handleDynamicSet(node, receiver, name, rhs, arg);
8159 } 8141 }
8160 8142
8161 @override 8143 @override
8162 R visitThisPropertyGet( 8144 R visitThisPropertyGet(
8163 Send node, 8145 Send node,
8164 Selector selector, 8146 Name name,
8165 A arg) { 8147 A arg) {
8166 return handleDynamicGet(node, null, selector, arg); 8148 return handleDynamicGet(node, null, name, arg);
8167 } 8149 }
8168 8150
8169 @override 8151 @override
8170 R visitThisPropertyInvoke( 8152 R visitThisPropertyInvoke(
8171 Send node, 8153 Send node,
8172 NodeList arguments, 8154 NodeList arguments,
8173 Selector selector, 8155 Selector selector,
8174 A arg) { 8156 A arg) {
8175 return handleDynamicInvoke(node, null, arguments, selector, arg); 8157 return handleDynamicInvoke(node, null, arguments, selector, arg);
8176 } 8158 }
8177 8159
8178 @override 8160 @override
8179 R visitThisPropertySet( 8161 R visitThisPropertySet(
8180 SendSet node, 8162 SendSet node,
8181 Selector selector, 8163 Name name,
8182 Node rhs, 8164 Node rhs,
8183 A arg) { 8165 A arg) {
8184 return handleDynamicSet(node, null, selector, rhs, arg); 8166 return handleDynamicSet(node, null, name, rhs, arg);
8185 } 8167 }
8186 } 8168 }
8187 8169
8188 /// Mixin that groups all compounds of `visitDynamicPropertyX` and 8170 /// Mixin that groups all compounds of `visitDynamicPropertyX` and
8189 /// `visitThisPropertyY` methods for by delegating calls to `handleDynamicX` 8171 /// `visitThisPropertyY` methods for by delegating calls to `handleDynamicX`
8190 /// methods, providing `null` as the receiver for the this properties. 8172 /// methods, providing `null` as the receiver for the this properties.
8191 /// 8173 ///
8192 /// This mixin is useful for the cases where dynamic and this properties are 8174 /// This mixin is useful for the cases where dynamic and this properties are
8193 /// handled uniformly. 8175 /// handled uniformly.
8194 abstract class BaseImplementationOfDynamicCompoundsMixin<R, A> 8176 abstract class BaseImplementationOfDynamicCompoundsMixin<R, A>
8195 implements SemanticSendVisitor<R, A> { 8177 implements SemanticSendVisitor<R, A> {
8196 R handleDynamicCompound( 8178 R handleDynamicCompound(
8197 Send node, 8179 Send node,
8198 Node receiver, 8180 Node receiver,
8181 Name name,
8199 AssignmentOperator operator, 8182 AssignmentOperator operator,
8200 Node rhs, 8183 Node rhs,
8201 Selector getterSelector,
8202 Selector setterSelector,
8203 A arg); 8184 A arg);
8204 8185
8205 R handleDynamicPostfixPrefix( 8186 R handleDynamicPostfixPrefix(
8206 Send node, 8187 Send node,
8207 Node receiver, 8188 Node receiver,
8189 Name name,
8208 IncDecOperator operator, 8190 IncDecOperator operator,
8209 Selector getterSelector,
8210 Selector setterSelector,
8211 A arg, 8191 A arg,
8212 {bool isPrefix}); 8192 {bool isPrefix});
8213 8193
8214 R handleDynamicIndexPostfixPrefix( 8194 R handleDynamicIndexPostfixPrefix(
8215 Send node, 8195 Send node,
8216 Node receiver, 8196 Node receiver,
8217 Node index, 8197 Node index,
8218 IncDecOperator operator, 8198 IncDecOperator operator,
8219 A arg, 8199 A arg,
8220 {bool isPrefix}); 8200 {bool isPrefix});
8221 8201
8222 @override 8202 @override
8223 R visitDynamicPropertyCompound( 8203 R visitDynamicPropertyCompound(
8224 Send node, 8204 Send node,
8225 Node receiver, 8205 Node receiver,
8206 Name name,
8226 AssignmentOperator operator, 8207 AssignmentOperator operator,
8227 Node rhs, 8208 Node rhs,
8228 Selector getterSelector,
8229 Selector setterSelector,
8230 A arg) { 8209 A arg) {
8231 return handleDynamicCompound( 8210 return handleDynamicCompound(
8232 node, receiver, operator, rhs, getterSelector, setterSelector, arg); 8211 node, receiver, name, operator, rhs, arg);
8233 } 8212 }
8234 8213
8235 @override 8214 @override
8236 R visitIfNotNullDynamicPropertyCompound( 8215 R visitIfNotNullDynamicPropertyCompound(
8237 Send node, 8216 Send node,
8238 Node receiver, 8217 Node receiver,
8218 Name name,
8239 AssignmentOperator operator, 8219 AssignmentOperator operator,
8240 Node rhs, 8220 Node rhs,
8241 Selector getterSelector,
8242 Selector setterSelector,
8243 A arg) { 8221 A arg) {
8244 return handleDynamicCompound( 8222 return handleDynamicCompound(
8245 node, receiver, operator, rhs, getterSelector, setterSelector, arg); 8223 node, receiver, name, operator, rhs, arg);
8246 } 8224 }
8247 8225
8248 @override 8226 @override
8249 R visitDynamicPropertyPostfix( 8227 R visitDynamicPropertyPostfix(
8250 Send node, 8228 Send node,
8251 Node receiver, 8229 Node receiver,
8230 Name name,
8252 IncDecOperator operator, 8231 IncDecOperator operator,
8253 Selector getterSelector,
8254 Selector setterSelector,
8255 A arg) { 8232 A arg) {
8256 return handleDynamicPostfixPrefix( 8233 return handleDynamicPostfixPrefix(
8257 node, receiver, operator, 8234 node, receiver, name, operator, arg, isPrefix: false);
8258 getterSelector, setterSelector, arg, isPrefix: false);
8259 } 8235 }
8260 8236
8261 @override 8237 @override
8262 R visitIfNotNullDynamicPropertyPostfix( 8238 R visitIfNotNullDynamicPropertyPostfix(
8263 Send node, 8239 Send node,
8264 Node receiver, 8240 Node receiver,
8241 Name name,
8265 IncDecOperator operator, 8242 IncDecOperator operator,
8266 Selector getterSelector,
8267 Selector setterSelector,
8268 A arg) { 8243 A arg) {
8269 return handleDynamicPostfixPrefix( 8244 return handleDynamicPostfixPrefix(
8270 node, receiver, operator, 8245 node, receiver, name, operator, arg, isPrefix: false);
8271 getterSelector, setterSelector, arg, isPrefix: false);
8272 } 8246 }
8273 8247
8274 @override 8248 @override
8275 R visitDynamicPropertyPrefix( 8249 R visitDynamicPropertyPrefix(
8276 Send node, 8250 Send node,
8277 Node receiver, 8251 Node receiver,
8252 Name name,
8278 IncDecOperator operator, 8253 IncDecOperator operator,
8279 Selector getterSelector,
8280 Selector setterSelector,
8281 A arg) { 8254 A arg) {
8282 return handleDynamicPostfixPrefix( 8255 return handleDynamicPostfixPrefix(
8283 node, receiver, operator, 8256 node, receiver, name, operator, arg, isPrefix: true);
8284 getterSelector, setterSelector, arg, isPrefix: true);
8285 } 8257 }
8286 8258
8287 @override 8259 @override
8288 R visitIfNotNullDynamicPropertyPrefix( 8260 R visitIfNotNullDynamicPropertyPrefix(
8289 Send node, 8261 Send node,
8290 Node receiver, 8262 Node receiver,
8263 Name name,
8291 IncDecOperator operator, 8264 IncDecOperator operator,
8292 Selector getterSelector,
8293 Selector setterSelector,
8294 A arg) { 8265 A arg) {
8295 return handleDynamicPostfixPrefix( 8266 return handleDynamicPostfixPrefix(
8296 node, receiver, operator, 8267 node, receiver, name, operator, arg, isPrefix: true);
8297 getterSelector, setterSelector, arg, isPrefix: true);
8298 } 8268 }
8299 8269
8300 @override 8270 @override
8301 R visitThisPropertyCompound( 8271 R visitThisPropertyCompound(
8302 Send node, 8272 Send node,
8273 Name name,
8303 AssignmentOperator operator, 8274 AssignmentOperator operator,
8304 Node rhs, 8275 Node rhs,
8305 Selector getterSelector,
8306 Selector setterSelector,
8307 A arg) { 8276 A arg) {
8308 return handleDynamicCompound( 8277 return handleDynamicCompound(node, null, name, operator, rhs, arg);
8309 node, null, operator, rhs, getterSelector, setterSelector, arg);
8310 } 8278 }
8311 8279
8312 @override 8280 @override
8313 R visitThisPropertyPostfix( 8281 R visitThisPropertyPostfix(
8314 Send node, 8282 Send node,
8283 Name name,
8315 IncDecOperator operator, 8284 IncDecOperator operator,
8316 Selector getterSelector,
8317 Selector setterSelector,
8318 A arg) { 8285 A arg) {
8319 return handleDynamicPostfixPrefix( 8286 return handleDynamicPostfixPrefix(
8320 node, null, operator, 8287 node, null, name, operator, arg, isPrefix: false);
8321 getterSelector, setterSelector, arg, isPrefix: false);
8322 } 8288 }
8323 8289
8324 @override 8290 @override
8325 R visitThisPropertyPrefix( 8291 R visitThisPropertyPrefix(
8326 Send node, 8292 Send node,
8293 Name name,
8327 IncDecOperator operator, 8294 IncDecOperator operator,
8328 Selector getterSelector,
8329 Selector setterSelector,
8330 A arg) { 8295 A arg) {
8331 return handleDynamicPostfixPrefix( 8296 return handleDynamicPostfixPrefix(
8332 node, null, operator, 8297 node, null, name, operator, arg, isPrefix: true);
8333 getterSelector, setterSelector, arg, isPrefix: true);
8334 } 8298 }
8335 8299
8336 @override 8300 @override
8337 R visitIndexPostfix( 8301 R visitIndexPostfix(
8338 Send node, 8302 Send node,
8339 Node receiver, 8303 Node receiver,
8340 Node index, 8304 Node index,
8341 IncDecOperator operator, 8305 IncDecOperator operator,
8342 A arg) { 8306 A arg) {
8343 return handleDynamicIndexPostfixPrefix( 8307 return handleDynamicIndexPostfixPrefix(
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
8480 SendSet node, 8444 SendSet node,
8481 TypeVariableElement typeVariable, 8445 TypeVariableElement typeVariable,
8482 CompoundRhs rhs, 8446 CompoundRhs rhs,
8483 A arg); 8447 A arg);
8484 8448
8485 /// Handle a dynamic compounds, like `o.foo += 42` or `--o.foo`. [receiver] is 8449 /// Handle a dynamic compounds, like `o.foo += 42` or `--o.foo`. [receiver] is
8486 /// `null` for properties on `this`, like `--this.foo` or `--foo`. 8450 /// `null` for properties on `this`, like `--this.foo` or `--foo`.
8487 R handleDynamicCompounds( 8451 R handleDynamicCompounds(
8488 Send node, 8452 Send node,
8489 Node receiver, 8453 Node receiver,
8454 Name name,
8490 CompoundRhs rhs, 8455 CompoundRhs rhs,
8491 Selector getterSelector,
8492 Selector setterSelector,
8493 A arg); 8456 A arg);
8494 8457
8495 R visitDynamicPropertyCompound( 8458 R visitDynamicPropertyCompound(
8496 Send node, 8459 Send node,
8497 Node receiver, 8460 Node receiver,
8461 Name name,
8498 AssignmentOperator operator, 8462 AssignmentOperator operator,
8499 Node rhs, 8463 Node rhs,
8500 Selector getterSelector,
8501 Selector setterSelector,
8502 A arg) { 8464 A arg) {
8503 return handleDynamicCompounds( 8465 return handleDynamicCompounds(
8504 node, 8466 node,
8505 receiver, 8467 receiver,
8468 name,
8506 new AssignmentCompound(operator, rhs), 8469 new AssignmentCompound(operator, rhs),
8507 getterSelector,
8508 setterSelector,
8509 arg); 8470 arg);
8510 } 8471 }
8511 8472
8512 R visitIfNotNullDynamicPropertyCompound( 8473 R visitIfNotNullDynamicPropertyCompound(
8513 Send node, 8474 Send node,
8514 Node receiver, 8475 Node receiver,
8476 Name name,
8515 AssignmentOperator operator, 8477 AssignmentOperator operator,
8516 Node rhs, 8478 Node rhs,
8517 Selector getterSelector,
8518 Selector setterSelector,
8519 A arg) { 8479 A arg) {
8520 return handleDynamicCompounds( 8480 return handleDynamicCompounds(
8521 node, 8481 node,
8522 receiver, 8482 receiver,
8483 name,
8523 new AssignmentCompound(operator, rhs), 8484 new AssignmentCompound(operator, rhs),
8524 getterSelector,
8525 setterSelector,
8526 arg); 8485 arg);
8527 } 8486 }
8528 8487
8529 @override 8488 @override
8530 R visitThisPropertyCompound( 8489 R visitThisPropertyCompound(
8531 Send node, 8490 Send node,
8491 Name name,
8532 AssignmentOperator operator, 8492 AssignmentOperator operator,
8533 Node rhs, 8493 Node rhs,
8534 Selector getterSelector,
8535 Selector setterSelector,
8536 A arg) { 8494 A arg) {
8537 return handleDynamicCompounds( 8495 return handleDynamicCompounds(
8538 node, 8496 node,
8539 null, 8497 null,
8498 name,
8540 new AssignmentCompound(operator, rhs), 8499 new AssignmentCompound(operator, rhs),
8541 getterSelector,
8542 setterSelector,
8543 arg); 8500 arg);
8544 } 8501 }
8545 8502
8546 @override 8503 @override
8547 R visitParameterCompound( 8504 R visitParameterCompound(
8548 Send node, 8505 Send node,
8549 ParameterElement parameter, 8506 ParameterElement parameter,
8550 AssignmentOperator operator, 8507 AssignmentOperator operator,
8551 Node rhs, 8508 Node rhs,
8552 A arg) { 8509 A arg) {
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
8889 node, 8846 node,
8890 constant, 8847 constant,
8891 new AssignmentCompound(operator, rhs), 8848 new AssignmentCompound(operator, rhs),
8892 arg); 8849 arg);
8893 } 8850 }
8894 8851
8895 8852
8896 R visitDynamicPropertyPrefix( 8853 R visitDynamicPropertyPrefix(
8897 Send node, 8854 Send node,
8898 Node receiver, 8855 Node receiver,
8856 Name name,
8899 IncDecOperator operator, 8857 IncDecOperator operator,
8900 Selector getterSelector,
8901 Selector setterSelector,
8902 A arg) { 8858 A arg) {
8903 return handleDynamicCompounds( 8859 return handleDynamicCompounds(
8904 node, 8860 node,
8905 receiver, 8861 receiver,
8862 name,
8906 new IncDecCompound(CompoundKind.PREFIX, operator), 8863 new IncDecCompound(CompoundKind.PREFIX, operator),
8907 getterSelector,
8908 setterSelector,
8909 arg); 8864 arg);
8910 } 8865 }
8911 8866
8912 R visitIfNotNullDynamicPropertyPrefix( 8867 R visitIfNotNullDynamicPropertyPrefix(
8913 Send node, 8868 Send node,
8914 Node receiver, 8869 Node receiver,
8870 Name name,
8915 IncDecOperator operator, 8871 IncDecOperator operator,
8916 Selector getterSelector,
8917 Selector setterSelector,
8918 A arg) { 8872 A arg) {
8919 return handleDynamicCompounds( 8873 return handleDynamicCompounds(
8920 node, 8874 node,
8921 receiver, 8875 receiver,
8876 name,
8922 new IncDecCompound(CompoundKind.PREFIX, operator), 8877 new IncDecCompound(CompoundKind.PREFIX, operator),
8923 getterSelector,
8924 setterSelector,
8925 arg); 8878 arg);
8926 } 8879 }
8927 8880
8928 @override 8881 @override
8929 R visitParameterPrefix( 8882 R visitParameterPrefix(
8930 Send node, 8883 Send node,
8931 ParameterElement parameter, 8884 ParameterElement parameter,
8932 IncDecOperator operator, 8885 IncDecOperator operator,
8933 A arg) { 8886 A arg) {
8934 return handleLocalCompounds( 8887 return handleLocalCompounds(
(...skipping 28 matching lines...) Expand all
8963 node, 8916 node,
8964 function, 8917 function,
8965 new IncDecCompound(CompoundKind.PREFIX, operator), 8918 new IncDecCompound(CompoundKind.PREFIX, operator),
8966 arg, 8919 arg,
8967 isSetterValid: false); 8920 isSetterValid: false);
8968 } 8921 }
8969 8922
8970 8923
8971 R visitThisPropertyPrefix( 8924 R visitThisPropertyPrefix(
8972 Send node, 8925 Send node,
8926 Name name,
8973 IncDecOperator operator, 8927 IncDecOperator operator,
8974 Selector getterSelector,
8975 Selector setterSelector,
8976 A arg) { 8928 A arg) {
8977 return handleDynamicCompounds( 8929 return handleDynamicCompounds(
8978 node, 8930 node,
8979 null, 8931 null,
8932 name,
8980 new IncDecCompound(CompoundKind.PREFIX, operator), 8933 new IncDecCompound(CompoundKind.PREFIX, operator),
8981 getterSelector,
8982 setterSelector,
8983 arg); 8934 arg);
8984 } 8935 }
8985 8936
8986 @override 8937 @override
8987 R visitStaticFieldPrefix( 8938 R visitStaticFieldPrefix(
8988 Send node, 8939 Send node,
8989 FieldElement field, 8940 FieldElement field,
8990 IncDecOperator operator, 8941 IncDecOperator operator,
8991 A arg) { 8942 A arg) {
8992 return handleStaticCompounds( 8943 return handleStaticCompounds(
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
9209 node, 9160 node,
9210 constant, 9161 constant,
9211 new IncDecCompound(CompoundKind.PREFIX, operator), 9162 new IncDecCompound(CompoundKind.PREFIX, operator),
9212 arg); 9163 arg);
9213 } 9164 }
9214 9165
9215 @override 9166 @override
9216 R visitDynamicPropertyPostfix( 9167 R visitDynamicPropertyPostfix(
9217 Send node, 9168 Send node,
9218 Node receiver, 9169 Node receiver,
9170 Name name,
9219 IncDecOperator operator, 9171 IncDecOperator operator,
9220 Selector getterSelector,
9221 Selector setterSelector,
9222 A arg) { 9172 A arg) {
9223 return handleDynamicCompounds( 9173 return handleDynamicCompounds(
9224 node, 9174 node,
9225 receiver, 9175 receiver,
9176 name,
9226 new IncDecCompound(CompoundKind.POSTFIX, operator), 9177 new IncDecCompound(CompoundKind.POSTFIX, operator),
9227 getterSelector,
9228 setterSelector,
9229 arg); 9178 arg);
9230 } 9179 }
9231 9180
9232 @override 9181 @override
9233 R visitIfNotNullDynamicPropertyPostfix( 9182 R visitIfNotNullDynamicPropertyPostfix(
9234 Send node, 9183 Send node,
9235 Node receiver, 9184 Node receiver,
9185 Name name,
9236 IncDecOperator operator, 9186 IncDecOperator operator,
9237 Selector getterSelector,
9238 Selector setterSelector,
9239 A arg) { 9187 A arg) {
9240 return handleDynamicCompounds( 9188 return handleDynamicCompounds(
9241 node, 9189 node,
9242 receiver, 9190 receiver,
9191 name,
9243 new IncDecCompound(CompoundKind.POSTFIX, operator), 9192 new IncDecCompound(CompoundKind.POSTFIX, operator),
9244 getterSelector,
9245 setterSelector,
9246 arg); 9193 arg);
9247 } 9194 }
9248 9195
9249 @override 9196 @override
9250 R visitParameterPostfix( 9197 R visitParameterPostfix(
9251 Send node, 9198 Send node,
9252 ParameterElement parameter, 9199 ParameterElement parameter,
9253 IncDecOperator operator, 9200 IncDecOperator operator,
9254 A arg) { 9201 A arg) {
9255 return handleLocalCompounds( 9202 return handleLocalCompounds(
(...skipping 28 matching lines...) Expand all
9284 node, 9231 node,
9285 function, 9232 function,
9286 new IncDecCompound(CompoundKind.POSTFIX, operator), 9233 new IncDecCompound(CompoundKind.POSTFIX, operator),
9287 arg, 9234 arg,
9288 isSetterValid: false); 9235 isSetterValid: false);
9289 } 9236 }
9290 9237
9291 9238
9292 R visitThisPropertyPostfix( 9239 R visitThisPropertyPostfix(
9293 Send node, 9240 Send node,
9241 Name name,
9294 IncDecOperator operator, 9242 IncDecOperator operator,
9295 Selector getterSelector,
9296 Selector setterSelector,
9297 A arg) { 9243 A arg) {
9298 return handleDynamicCompounds( 9244 return handleDynamicCompounds(
9299 node, 9245 node,
9300 null, 9246 null,
9247 name,
9301 new IncDecCompound(CompoundKind.POSTFIX, operator), 9248 new IncDecCompound(CompoundKind.POSTFIX, operator),
9302 getterSelector,
9303 setterSelector,
9304 arg); 9249 arg);
9305 } 9250 }
9306 9251
9307 @override 9252 @override
9308 R visitStaticFieldPostfix( 9253 R visitStaticFieldPostfix(
9309 Send node, 9254 Send node,
9310 FieldElement field, 9255 FieldElement field,
9311 IncDecOperator operator, 9256 IncDecOperator operator,
9312 A arg) { 9257 A arg) {
9313 return handleStaticCompounds( 9258 return handleStaticCompounds(
(...skipping 1737 matching lines...) Expand 10 before | Expand all | Expand 10 after
11051 NewExpression node, 10996 NewExpression node,
11052 ConstructorElement constructor, 10997 ConstructorElement constructor,
11053 InterfaceType type, 10998 InterfaceType type,
11054 NodeList arguments, 10999 NodeList arguments,
11055 CallStructure callStructure, 11000 CallStructure callStructure,
11056 A arg) { 11001 A arg) {
11057 return handleConstructorInvoke( 11002 return handleConstructorInvoke(
11058 node, constructor, type, arguments, callStructure, arg); 11003 node, constructor, type, arguments, callStructure, arg);
11059 } 11004 }
11060 } 11005 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698