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

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

Issue 2944843002: All strong mode cleaning of dart2js. (Closed)
Patch Set: More issues discovered during testing. Created 3 years, 6 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 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 } 146 }
147 } 147 }
148 148
149 /// Mixin that implements all `visitXPrefix` methods of [SemanticSendVisitor] by 149 /// Mixin that implements all `visitXPrefix` methods of [SemanticSendVisitor] by
150 /// delegating to a bulk handler. 150 /// delegating to a bulk handler.
151 /// 151 ///
152 /// Use this mixin to provide a trivial implementation for all `visitXPrefix` 152 /// Use this mixin to provide a trivial implementation for all `visitXPrefix`
153 /// methods. 153 /// methods.
154 abstract class PrefixBulkMixin<R, A> 154 abstract class PrefixBulkMixin<R, A>
155 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> { 155 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> {
156 R bulkHandlePrefix(Send node, A arg) { 156 R bulkHandlePrefix(SendSet node, A arg) {
157 return bulkHandleNode(node, "Prefix expression `#` unhandled.", arg); 157 return bulkHandleNode(node, "Prefix expression `#` unhandled.", arg);
158 } 158 }
159 159
160 @override 160 @override
161 R visitDynamicPropertyPrefix( 161 R visitDynamicPropertyPrefix(
162 Send node, Node receiver, Name name, IncDecOperator operator, A arg) { 162 Send node, Node receiver, Name name, IncDecOperator operator, A arg) {
163 return bulkHandlePrefix(node, arg); 163 return bulkHandlePrefix(node, arg);
164 } 164 }
165 165
166 R visitIfNotNullDynamicPropertyPrefix( 166 R visitIfNotNullDynamicPropertyPrefix(
(...skipping 19 matching lines...) Expand all
186 return bulkHandlePrefix(node, arg); 186 return bulkHandlePrefix(node, arg);
187 } 187 }
188 188
189 @override 189 @override
190 R visitStaticFieldPrefix( 190 R visitStaticFieldPrefix(
191 Send node, FieldElement field, IncDecOperator operator, A arg) { 191 Send node, FieldElement field, IncDecOperator operator, A arg) {
192 return bulkHandlePrefix(node, arg); 192 return bulkHandlePrefix(node, arg);
193 } 193 }
194 194
195 @override 195 @override
196 R visitStaticGetterSetterPrefix(Send node, FunctionElement getter, 196 R visitStaticGetterSetterPrefix(Send node, GetterElement getter,
197 FunctionElement setter, IncDecOperator operator, A arg) { 197 SetterElement setter, IncDecOperator operator, A arg) {
198 return bulkHandlePrefix(node, arg); 198 return bulkHandlePrefix(node, arg);
199 } 199 }
200 200
201 @override 201 @override
202 R visitStaticMethodSetterPrefix(Send node, FunctionElement getter, 202 R visitStaticMethodSetterPrefix(Send node, GetterElement getter,
203 FunctionElement setter, IncDecOperator operator, A arg) { 203 SetterElement setter, IncDecOperator operator, A arg) {
204 return bulkHandlePrefix(node, arg); 204 return bulkHandlePrefix(node, arg);
205 } 205 }
206 206
207 @override 207 @override
208 R visitSuperFieldFieldPrefix(Send node, FieldElement readField, 208 R visitSuperFieldFieldPrefix(SendSet node, FieldElement readField,
209 FieldElement writtenField, IncDecOperator operator, A arg) { 209 FieldElement writtenField, IncDecOperator operator, A arg) {
210 return bulkHandlePrefix(node, arg); 210 return bulkHandlePrefix(node, arg);
211 } 211 }
212 212
213 @override 213 @override
214 R visitSuperFieldPrefix( 214 R visitSuperFieldPrefix(
215 Send node, FieldElement field, IncDecOperator operator, A arg) { 215 SendSet node, FieldElement field, IncDecOperator operator, A arg) {
216 return bulkHandlePrefix(node, arg); 216 return bulkHandlePrefix(node, arg);
217 } 217 }
218 218
219 @override 219 @override
220 R visitSuperFieldSetterPrefix(Send node, FieldElement field, 220 R visitSuperFieldSetterPrefix(SendSet node, FieldElement field,
221 FunctionElement setter, IncDecOperator operator, A arg) { 221 SetterElement setter, IncDecOperator operator, A arg) {
222 return bulkHandlePrefix(node, arg); 222 return bulkHandlePrefix(node, arg);
223 } 223 }
224 224
225 @override 225 @override
226 R visitSuperGetterFieldPrefix(Send node, FunctionElement getter, 226 R visitSuperGetterFieldPrefix(SendSet node, GetterElement getter,
227 FieldElement field, IncDecOperator operator, A arg) { 227 FieldElement field, IncDecOperator operator, A arg) {
228 return bulkHandlePrefix(node, arg); 228 return bulkHandlePrefix(node, arg);
229 } 229 }
230 230
231 @override 231 @override
232 R visitSuperGetterSetterPrefix(Send node, FunctionElement getter, 232 R visitSuperGetterSetterPrefix(SendSet node, GetterElement getter,
233 FunctionElement setter, IncDecOperator operator, A arg) { 233 SetterElement setter, IncDecOperator operator, A arg) {
234 return bulkHandlePrefix(node, arg); 234 return bulkHandlePrefix(node, arg);
235 } 235 }
236 236
237 @override 237 @override
238 R visitSuperIndexPrefix( 238 R visitSuperIndexPrefix(
239 Send node, 239 Send node,
240 FunctionElement indexFunction, 240 MethodElement indexFunction,
241 FunctionElement indexSetFunction, 241 MethodElement indexSetFunction,
242 Node index, 242 Node index,
243 IncDecOperator operator, 243 IncDecOperator operator,
244 A arg) { 244 A arg) {
245 return bulkHandlePrefix(node, arg); 245 return bulkHandlePrefix(node, arg);
246 } 246 }
247 247
248 @override 248 @override
249 R visitUnresolvedSuperGetterIndexPrefix(Send node, Element element, 249 R visitUnresolvedSuperGetterIndexPrefix(SendSet node, Element element,
250 MethodElement setter, Node index, IncDecOperator operator, A arg) { 250 MethodElement setter, Node index, IncDecOperator operator, A arg) {
251 return bulkHandlePrefix(node, arg); 251 return bulkHandlePrefix(node, arg);
252 } 252 }
253 253
254 @override 254 @override
255 R visitUnresolvedSuperSetterIndexPrefix(Send node, MethodElement getter, 255 R visitUnresolvedSuperSetterIndexPrefix(SendSet node, MethodElement getter,
256 Element element, Node index, IncDecOperator operator, A arg) { 256 Element element, Node index, IncDecOperator operator, A arg) {
257 return bulkHandlePrefix(node, arg); 257 return bulkHandlePrefix(node, arg);
258 } 258 }
259 259
260 @override 260 @override
261 R visitUnresolvedSuperIndexPrefix( 261 R visitUnresolvedSuperIndexPrefix(
262 Send node, Element element, Node index, IncDecOperator operator, A arg) { 262 Send node, Element element, Node index, IncDecOperator operator, A arg) {
263 return bulkHandlePrefix(node, arg); 263 return bulkHandlePrefix(node, arg);
264 } 264 }
265 265
266 @override 266 @override
267 R visitSuperMethodSetterPrefix(Send node, FunctionElement method, 267 R visitSuperMethodSetterPrefix(SendSet node, FunctionElement method,
268 FunctionElement setter, IncDecOperator operator, A arg) { 268 SetterElement setter, IncDecOperator operator, A arg) {
269 return bulkHandlePrefix(node, arg); 269 return bulkHandlePrefix(node, arg);
270 } 270 }
271 271
272 @override 272 @override
273 R visitThisPropertyPrefix( 273 R visitThisPropertyPrefix(
274 Send node, Name name, IncDecOperator operator, A arg) { 274 Send node, Name name, IncDecOperator operator, A arg) {
275 return bulkHandlePrefix(node, arg); 275 return bulkHandlePrefix(node, arg);
276 } 276 }
277 277
278 @override 278 @override
279 R visitTopLevelFieldPrefix( 279 R visitTopLevelFieldPrefix(
280 Send node, FieldElement field, IncDecOperator operator, A arg) { 280 Send node, FieldElement field, IncDecOperator operator, A arg) {
281 return bulkHandlePrefix(node, arg); 281 return bulkHandlePrefix(node, arg);
282 } 282 }
283 283
284 @override 284 @override
285 R visitTopLevelGetterSetterPrefix(Send node, FunctionElement getter, 285 R visitTopLevelGetterSetterPrefix(Send node, GetterElement getter,
286 FunctionElement setter, IncDecOperator operator, A arg) { 286 SetterElement setter, IncDecOperator operator, A arg) {
287 return bulkHandlePrefix(node, arg); 287 return bulkHandlePrefix(node, arg);
288 } 288 }
289 289
290 @override 290 @override
291 R visitTopLevelMethodSetterPrefix(Send node, FunctionElement method, 291 R visitTopLevelMethodSetterPrefix(Send node, FunctionElement method,
292 FunctionElement setter, IncDecOperator operator, A arg) { 292 SetterElement setter, IncDecOperator operator, A arg) {
293 return bulkHandlePrefix(node, arg); 293 return bulkHandlePrefix(node, arg);
294 } 294 }
295 295
296 @override 296 @override
297 R visitClassTypeLiteralPrefix( 297 R visitClassTypeLiteralPrefix(
298 Send node, ConstantExpression constant, IncDecOperator operator, A arg) { 298 Send node, ConstantExpression constant, IncDecOperator operator, A arg) {
299 return bulkHandlePrefix(node, arg); 299 return bulkHandlePrefix(node, arg);
300 } 300 }
301 301
302 @override 302 @override
(...skipping 26 matching lines...) Expand all
329 return bulkHandlePrefix(node, arg); 329 return bulkHandlePrefix(node, arg);
330 } 330 }
331 331
332 @override 332 @override
333 R visitUnresolvedTopLevelGetterPrefix(Send node, Element element, 333 R visitUnresolvedTopLevelGetterPrefix(Send node, Element element,
334 MethodElement setter, IncDecOperator operator, A arg) { 334 MethodElement setter, IncDecOperator operator, A arg) {
335 return bulkHandlePrefix(node, arg); 335 return bulkHandlePrefix(node, arg);
336 } 336 }
337 337
338 @override 338 @override
339 R visitUnresolvedStaticSetterPrefix(Send node, MethodElement getter, 339 R visitUnresolvedStaticSetterPrefix(Send node, GetterElement getter,
340 Element element, IncDecOperator operator, A arg) { 340 Element element, IncDecOperator operator, A arg) {
341 return bulkHandlePrefix(node, arg); 341 return bulkHandlePrefix(node, arg);
342 } 342 }
343 343
344 @override 344 @override
345 R visitUnresolvedTopLevelSetterPrefix(Send node, MethodElement getter, 345 R visitUnresolvedTopLevelSetterPrefix(Send node, GetterElement getter,
346 Element element, IncDecOperator operator, A arg) { 346 Element element, IncDecOperator operator, A arg) {
347 return bulkHandlePrefix(node, arg); 347 return bulkHandlePrefix(node, arg);
348 } 348 }
349 349
350 @override 350 @override
351 R visitStaticMethodPrefix( 351 R visitStaticMethodPrefix(
352 Send node, MethodElement method, IncDecOperator operator, A arg) { 352 Send node, MethodElement method, IncDecOperator operator, A arg) {
353 return bulkHandlePrefix(node, arg); 353 return bulkHandlePrefix(node, arg);
354 } 354 }
355 355
356 @override 356 @override
357 R visitTopLevelMethodPrefix( 357 R visitTopLevelMethodPrefix(
358 Send node, MethodElement method, IncDecOperator operator, A arg) { 358 Send node, MethodElement method, IncDecOperator operator, A arg) {
359 return bulkHandlePrefix(node, arg); 359 return bulkHandlePrefix(node, arg);
360 } 360 }
361 361
362 @override 362 @override
363 R visitUnresolvedPrefix( 363 R visitUnresolvedPrefix(
364 Send node, Element element, IncDecOperator operator, A arg) { 364 Send node, ErroneousElement element, IncDecOperator operator, A arg) {
365 return bulkHandlePrefix(node, arg); 365 return bulkHandlePrefix(node, arg);
366 } 366 }
367 367
368 @override 368 @override
369 R visitFinalLocalVariablePrefix(Send node, LocalVariableElement variable, 369 R visitFinalLocalVariablePrefix(Send node, LocalVariableElement variable,
370 IncDecOperator operator, A arg) { 370 IncDecOperator operator, A arg) {
371 return bulkHandlePrefix(node, arg); 371 return bulkHandlePrefix(node, arg);
372 } 372 }
373 373
374 @override 374 @override
375 R visitFinalParameterPrefix( 375 R visitFinalParameterPrefix(
376 Send node, ParameterElement parameter, IncDecOperator operator, A arg) { 376 Send node, ParameterElement parameter, IncDecOperator operator, A arg) {
377 return bulkHandlePrefix(node, arg); 377 return bulkHandlePrefix(node, arg);
378 } 378 }
379 379
380 @override 380 @override
381 R visitFinalStaticFieldPrefix( 381 R visitFinalStaticFieldPrefix(
382 Send node, FieldElement field, IncDecOperator operator, A arg) { 382 Send node, FieldElement field, IncDecOperator operator, A arg) {
383 return bulkHandlePrefix(node, arg); 383 return bulkHandlePrefix(node, arg);
384 } 384 }
385 385
386 @override 386 @override
387 R visitFinalSuperFieldPrefix( 387 R visitFinalSuperFieldPrefix(
388 Send node, FieldElement field, IncDecOperator operator, A arg) { 388 Send node, FieldElement field, IncDecOperator operator, A arg) {
389 return bulkHandlePrefix(node, arg); 389 return bulkHandlePrefix(node, arg);
390 } 390 }
391 391
392 @override 392 @override
393 R visitSuperMethodPrefix( 393 R visitSuperMethodPrefix(
394 Send node, FunctionElement method, IncDecOperator operator, A arg) { 394 Send node, MethodElement method, IncDecOperator operator, A arg) {
395 return bulkHandlePrefix(node, arg); 395 return bulkHandlePrefix(node, arg);
396 } 396 }
397 397
398 @override 398 @override
399 R visitFinalTopLevelFieldPrefix( 399 R visitFinalTopLevelFieldPrefix(
400 Send node, FieldElement field, IncDecOperator operator, A arg) { 400 Send node, FieldElement field, IncDecOperator operator, A arg) {
401 return bulkHandlePrefix(node, arg); 401 return bulkHandlePrefix(node, arg);
402 } 402 }
403 403
404 @override 404 @override
405 R visitUnresolvedSuperPrefix( 405 R visitUnresolvedSuperPrefix(
406 Send node, Element element, IncDecOperator operator, A arg) { 406 SendSet node, Element element, IncDecOperator operator, A arg) {
407 return bulkHandlePrefix(node, arg); 407 return bulkHandlePrefix(node, arg);
408 } 408 }
409 409
410 @override 410 @override
411 R visitUnresolvedSuperGetterPrefix(Send node, Element element, 411 R visitUnresolvedSuperGetterPrefix(SendSet node, Element element,
412 MethodElement setter, IncDecOperator operator, A arg) { 412 SetterElement setter, IncDecOperator operator, A arg) {
413 return bulkHandlePrefix(node, arg); 413 return bulkHandlePrefix(node, arg);
414 } 414 }
415 415
416 @override 416 @override
417 R visitUnresolvedSuperSetterPrefix(Send node, MethodElement getter, 417 R visitUnresolvedSuperSetterPrefix(SendSet node, GetterElement getter,
418 Element element, IncDecOperator operator, A arg) { 418 Element element, IncDecOperator operator, A arg) {
419 return bulkHandlePrefix(node, arg); 419 return bulkHandlePrefix(node, arg);
420 } 420 }
421 } 421 }
422 422
423 /// Mixin that implements all `visitXPostfix` methods of [SemanticSendVisitor] 423 /// Mixin that implements all `visitXPostfix` methods of [SemanticSendVisitor]
424 /// by delegating to a bulk handler. 424 /// by delegating to a bulk handler.
425 /// 425 ///
426 /// Use this mixin to provide a trivial implementation for all `visitXPostfix` 426 /// Use this mixin to provide a trivial implementation for all `visitXPostfix`
427 /// methods. 427 /// methods.
428 abstract class PostfixBulkMixin<R, A> 428 abstract class PostfixBulkMixin<R, A>
429 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> { 429 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> {
430 R bulkHandlePostfix(Send node, A arg) { 430 R bulkHandlePostfix(SendSet node, A arg) {
431 return bulkHandleNode(node, "Postfix expression `#` unhandled.", arg); 431 return bulkHandleNode(node, "Postfix expression `#` unhandled.", arg);
432 } 432 }
433 433
434 @override 434 @override
435 R visitDynamicPropertyPostfix( 435 R visitDynamicPropertyPostfix(
436 Send node, Node receiver, Name name, IncDecOperator operator, A arg) { 436 Send node, Node receiver, Name name, IncDecOperator operator, A arg) {
437 return bulkHandlePostfix(node, arg); 437 return bulkHandlePostfix(node, arg);
438 } 438 }
439 439
440 @override 440 @override
(...skipping 19 matching lines...) Expand all
460 return bulkHandlePostfix(node, arg); 460 return bulkHandlePostfix(node, arg);
461 } 461 }
462 462
463 @override 463 @override
464 R visitStaticFieldPostfix( 464 R visitStaticFieldPostfix(
465 Send node, FieldElement field, IncDecOperator operator, A arg) { 465 Send node, FieldElement field, IncDecOperator operator, A arg) {
466 return bulkHandlePostfix(node, arg); 466 return bulkHandlePostfix(node, arg);
467 } 467 }
468 468
469 @override 469 @override
470 R visitStaticGetterSetterPostfix(Send node, FunctionElement getter, 470 R visitStaticGetterSetterPostfix(Send node, GetterElement getter,
471 FunctionElement setter, IncDecOperator operator, A arg) { 471 SetterElement setter, IncDecOperator operator, A arg) {
472 return bulkHandlePostfix(node, arg); 472 return bulkHandlePostfix(node, arg);
473 } 473 }
474 474
475 @override 475 @override
476 R visitStaticMethodSetterPostfix(Send node, FunctionElement getter, 476 R visitStaticMethodSetterPostfix(Send node, GetterElement getter,
477 FunctionElement setter, IncDecOperator operator, A arg) { 477 SetterElement setter, IncDecOperator operator, A arg) {
478 return bulkHandlePostfix(node, arg); 478 return bulkHandlePostfix(node, arg);
479 } 479 }
480 480
481 @override 481 @override
482 R visitSuperFieldFieldPostfix(Send node, FieldElement readField, 482 R visitSuperFieldFieldPostfix(SendSet node, FieldElement readField,
483 FieldElement writtenField, IncDecOperator operator, A arg) { 483 FieldElement writtenField, IncDecOperator operator, A arg) {
484 return bulkHandlePostfix(node, arg); 484 return bulkHandlePostfix(node, arg);
485 } 485 }
486 486
487 @override 487 @override
488 R visitSuperFieldPostfix( 488 R visitSuperFieldPostfix(
489 Send node, FieldElement field, IncDecOperator operator, A arg) { 489 SendSet node, FieldElement field, IncDecOperator operator, A arg) {
490 return bulkHandlePostfix(node, arg); 490 return bulkHandlePostfix(node, arg);
491 } 491 }
492 492
493 @override 493 @override
494 R visitSuperFieldSetterPostfix(Send node, FieldElement field, 494 R visitSuperFieldSetterPostfix(SendSet node, FieldElement field,
495 FunctionElement setter, IncDecOperator operator, A arg) { 495 SetterElement setter, IncDecOperator operator, A arg) {
496 return bulkHandlePostfix(node, arg); 496 return bulkHandlePostfix(node, arg);
497 } 497 }
498 498
499 @override 499 @override
500 R visitSuperGetterFieldPostfix(Send node, FunctionElement getter, 500 R visitSuperGetterFieldPostfix(SendSet node, GetterElement getter,
501 FieldElement field, IncDecOperator operator, A arg) { 501 FieldElement field, IncDecOperator operator, A arg) {
502 return bulkHandlePostfix(node, arg); 502 return bulkHandlePostfix(node, arg);
503 } 503 }
504 504
505 @override 505 @override
506 R visitSuperGetterSetterPostfix(Send node, FunctionElement getter, 506 R visitSuperGetterSetterPostfix(SendSet node, GetterElement getter,
507 FunctionElement setter, IncDecOperator operator, A arg) { 507 SetterElement setter, IncDecOperator operator, A arg) {
508 return bulkHandlePostfix(node, arg); 508 return bulkHandlePostfix(node, arg);
509 } 509 }
510 510
511 @override 511 @override
512 R visitSuperIndexPostfix( 512 R visitSuperIndexPostfix(
513 Send node, 513 Send node,
514 FunctionElement indexFunction, 514 MethodElement indexFunction,
515 FunctionElement indexSetFunction, 515 MethodElement indexSetFunction,
516 Node index, 516 Node index,
517 IncDecOperator operator, 517 IncDecOperator operator,
518 A arg) { 518 A arg) {
519 return bulkHandlePostfix(node, arg); 519 return bulkHandlePostfix(node, arg);
520 } 520 }
521 521
522 @override 522 @override
523 R visitUnresolvedSuperGetterIndexPostfix(Send node, Element element, 523 R visitUnresolvedSuperGetterIndexPostfix(SendSet node, Element element,
524 MethodElement setter, Node index, IncDecOperator operator, A arg) { 524 MethodElement setter, Node index, IncDecOperator operator, A arg) {
525 return bulkHandlePostfix(node, arg); 525 return bulkHandlePostfix(node, arg);
526 } 526 }
527 527
528 @override 528 @override
529 R visitUnresolvedSuperSetterIndexPostfix(Send node, MethodElement getter, 529 R visitUnresolvedSuperSetterIndexPostfix(SendSet node, MethodElement getter,
530 Element element, Node index, IncDecOperator operator, A arg) { 530 Element element, Node index, IncDecOperator operator, A arg) {
531 return bulkHandlePostfix(node, arg); 531 return bulkHandlePostfix(node, arg);
532 } 532 }
533 533
534 @override 534 @override
535 R visitUnresolvedSuperIndexPostfix( 535 R visitUnresolvedSuperIndexPostfix(
536 Send node, Element element, Node index, IncDecOperator operator, A arg) { 536 Send node, Element element, Node index, IncDecOperator operator, A arg) {
537 return bulkHandlePostfix(node, arg); 537 return bulkHandlePostfix(node, arg);
538 } 538 }
539 539
540 @override 540 @override
541 R visitSuperMethodSetterPostfix(Send node, FunctionElement method, 541 R visitSuperMethodSetterPostfix(SendSet node, FunctionElement method,
542 FunctionElement setter, IncDecOperator operator, A arg) { 542 SetterElement setter, IncDecOperator operator, A arg) {
543 return bulkHandlePostfix(node, arg); 543 return bulkHandlePostfix(node, arg);
544 } 544 }
545 545
546 @override 546 @override
547 R visitThisPropertyPostfix( 547 R visitThisPropertyPostfix(
548 Send node, Name name, IncDecOperator operator, A arg) { 548 Send node, Name name, IncDecOperator operator, A arg) {
549 return bulkHandlePostfix(node, arg); 549 return bulkHandlePostfix(node, arg);
550 } 550 }
551 551
552 @override 552 @override
553 R visitTopLevelFieldPostfix( 553 R visitTopLevelFieldPostfix(
554 Send node, FieldElement field, IncDecOperator operator, A arg) { 554 Send node, FieldElement field, IncDecOperator operator, A arg) {
555 return bulkHandlePostfix(node, arg); 555 return bulkHandlePostfix(node, arg);
556 } 556 }
557 557
558 @override 558 @override
559 R visitTopLevelGetterSetterPostfix(Send node, FunctionElement getter, 559 R visitTopLevelGetterSetterPostfix(Send node, GetterElement getter,
560 FunctionElement setter, IncDecOperator operator, A arg) { 560 SetterElement setter, IncDecOperator operator, A arg) {
561 return bulkHandlePostfix(node, arg); 561 return bulkHandlePostfix(node, arg);
562 } 562 }
563 563
564 @override 564 @override
565 R visitTopLevelMethodSetterPostfix(Send node, FunctionElement method, 565 R visitTopLevelMethodSetterPostfix(Send node, FunctionElement method,
566 FunctionElement setter, IncDecOperator operator, A arg) { 566 SetterElement setter, IncDecOperator operator, A arg) {
567 return bulkHandlePostfix(node, arg); 567 return bulkHandlePostfix(node, arg);
568 } 568 }
569 569
570 @override 570 @override
571 R visitClassTypeLiteralPostfix( 571 R visitClassTypeLiteralPostfix(
572 Send node, ConstantExpression constant, IncDecOperator operator, A arg) { 572 Send node, ConstantExpression constant, IncDecOperator operator, A arg) {
573 return bulkHandlePostfix(node, arg); 573 return bulkHandlePostfix(node, arg);
574 } 574 }
575 575
576 @override 576 @override
(...skipping 26 matching lines...) Expand all
603 return bulkHandlePostfix(node, arg); 603 return bulkHandlePostfix(node, arg);
604 } 604 }
605 605
606 @override 606 @override
607 R visitUnresolvedTopLevelGetterPostfix(Send node, Element element, 607 R visitUnresolvedTopLevelGetterPostfix(Send node, Element element,
608 MethodElement setter, IncDecOperator operator, A arg) { 608 MethodElement setter, IncDecOperator operator, A arg) {
609 return bulkHandlePostfix(node, arg); 609 return bulkHandlePostfix(node, arg);
610 } 610 }
611 611
612 @override 612 @override
613 R visitUnresolvedStaticSetterPostfix(Send node, MethodElement getter, 613 R visitUnresolvedStaticSetterPostfix(Send node, GetterElement getter,
614 Element element, IncDecOperator operator, A arg) { 614 Element element, IncDecOperator operator, A arg) {
615 return bulkHandlePostfix(node, arg); 615 return bulkHandlePostfix(node, arg);
616 } 616 }
617 617
618 @override 618 @override
619 R visitUnresolvedTopLevelSetterPostfix(Send node, MethodElement getter, 619 R visitUnresolvedTopLevelSetterPostfix(Send node, GetterElement getter,
620 Element element, IncDecOperator operator, A arg) { 620 Element element, IncDecOperator operator, A arg) {
621 return bulkHandlePostfix(node, arg); 621 return bulkHandlePostfix(node, arg);
622 } 622 }
623 623
624 @override 624 @override
625 R visitStaticMethodPostfix( 625 R visitStaticMethodPostfix(
626 Send node, MethodElement method, IncDecOperator operator, A arg) { 626 Send node, MethodElement method, IncDecOperator operator, A arg) {
627 return bulkHandlePostfix(node, arg); 627 return bulkHandlePostfix(node, arg);
628 } 628 }
629 629
630 R visitToplevelMethodPostfix( 630 R visitToplevelMethodPostfix(
631 Send node, MethodElement method, IncDecOperator operator, A arg) { 631 Send node, MethodElement method, IncDecOperator operator, A arg) {
632 return bulkHandlePostfix(node, arg); 632 return bulkHandlePostfix(node, arg);
633 } 633 }
634 634
635 @override 635 @override
636 R visitUnresolvedPostfix( 636 R visitUnresolvedPostfix(
637 Send node, Element element, IncDecOperator operator, A arg) { 637 Send node, ErroneousElement element, IncDecOperator operator, A arg) {
638 return bulkHandlePostfix(node, arg); 638 return bulkHandlePostfix(node, arg);
639 } 639 }
640 640
641 @override 641 @override
642 R visitFinalLocalVariablePostfix(Send node, LocalVariableElement variable, 642 R visitFinalLocalVariablePostfix(Send node, LocalVariableElement variable,
643 IncDecOperator operator, A arg) { 643 IncDecOperator operator, A arg) {
644 return bulkHandlePostfix(node, arg); 644 return bulkHandlePostfix(node, arg);
645 } 645 }
646 646
647 @override 647 @override
648 R visitFinalParameterPostfix( 648 R visitFinalParameterPostfix(
649 Send node, ParameterElement parameter, IncDecOperator operator, A arg) { 649 Send node, ParameterElement parameter, IncDecOperator operator, A arg) {
650 return bulkHandlePostfix(node, arg); 650 return bulkHandlePostfix(node, arg);
651 } 651 }
652 652
653 @override 653 @override
654 R visitFinalStaticFieldPostfix( 654 R visitFinalStaticFieldPostfix(
655 Send node, FieldElement field, IncDecOperator operator, A arg) { 655 Send node, FieldElement field, IncDecOperator operator, A arg) {
656 return bulkHandlePostfix(node, arg); 656 return bulkHandlePostfix(node, arg);
657 } 657 }
658 658
659 @override 659 @override
660 R visitFinalSuperFieldPostfix( 660 R visitFinalSuperFieldPostfix(
661 Send node, FieldElement field, IncDecOperator operator, A arg) { 661 Send node, FieldElement field, IncDecOperator operator, A arg) {
662 return bulkHandlePostfix(node, arg); 662 return bulkHandlePostfix(node, arg);
663 } 663 }
664 664
665 @override 665 @override
666 R visitSuperMethodPostfix( 666 R visitSuperMethodPostfix(
667 Send node, FunctionElement method, IncDecOperator operator, A arg) { 667 Send node, MethodElement method, IncDecOperator operator, A arg) {
668 return bulkHandlePostfix(node, arg); 668 return bulkHandlePostfix(node, arg);
669 } 669 }
670 670
671 @override 671 @override
672 R visitFinalTopLevelFieldPostfix( 672 R visitFinalTopLevelFieldPostfix(
673 Send node, FieldElement field, IncDecOperator operator, A arg) { 673 Send node, FieldElement field, IncDecOperator operator, A arg) {
674 return bulkHandlePostfix(node, arg); 674 return bulkHandlePostfix(node, arg);
675 } 675 }
676 676
677 @override 677 @override
678 R visitTopLevelMethodPostfix( 678 R visitTopLevelMethodPostfix(
679 Send node, MethodElement method, IncDecOperator operator, A arg) { 679 Send node, MethodElement method, IncDecOperator operator, A arg) {
680 return bulkHandlePostfix(node, arg); 680 return bulkHandlePostfix(node, arg);
681 } 681 }
682 682
683 @override 683 @override
684 R visitUnresolvedSuperPostfix( 684 R visitUnresolvedSuperPostfix(
685 Send node, Element element, IncDecOperator operator, A arg) { 685 SendSet node, Element element, IncDecOperator operator, A arg) {
686 return bulkHandlePostfix(node, arg); 686 return bulkHandlePostfix(node, arg);
687 } 687 }
688 688
689 @override 689 @override
690 R visitUnresolvedSuperGetterPostfix(Send node, Element element, 690 R visitUnresolvedSuperGetterPostfix(SendSet node, Element element,
691 MethodElement setter, IncDecOperator operator, A arg) { 691 SetterElement setter, IncDecOperator operator, A arg) {
692 return bulkHandlePostfix(node, arg); 692 return bulkHandlePostfix(node, arg);
693 } 693 }
694 694
695 @override 695 @override
696 R visitUnresolvedSuperSetterPostfix(Send node, MethodElement getter, 696 R visitUnresolvedSuperSetterPostfix(SendSet node, GetterElement getter,
697 Element element, IncDecOperator operator, A arg) { 697 Element element, IncDecOperator operator, A arg) {
698 return bulkHandlePostfix(node, arg); 698 return bulkHandlePostfix(node, arg);
699 } 699 }
700 } 700 }
701 701
702 /// Mixin that implements all `visitXCompound` methods of [SemanticSendVisitor] 702 /// Mixin that implements all `visitXCompound` methods of [SemanticSendVisitor]
703 /// by delegating to a bulk handler. 703 /// by delegating to a bulk handler.
704 /// 704 ///
705 /// Use this mixin to provide a trivial implementation for all `xCompound` 705 /// Use this mixin to provide a trivial implementation for all `xCompound`
706 /// methods. 706 /// methods.
707 abstract class CompoundBulkMixin<R, A> 707 abstract class CompoundBulkMixin<R, A>
708 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> { 708 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> {
709 R bulkHandleCompound(Send node, A arg) { 709 R bulkHandleCompound(SendSet node, A arg) {
710 return bulkHandleNode(node, "Compound assignment `#` unhandled.", arg); 710 return bulkHandleNode(node, "Compound assignment `#` unhandled.", arg);
711 } 711 }
712 712
713 @override 713 @override
714 R visitDynamicPropertyCompound(Send node, Node receiver, Name name, 714 R visitDynamicPropertyCompound(Send node, Node receiver, Name name,
715 AssignmentOperator operator, Node rhs, A arg) { 715 AssignmentOperator operator, Node rhs, A arg) {
716 return bulkHandleCompound(node, arg); 716 return bulkHandleCompound(node, arg);
717 } 717 }
718 718
719 @override 719 @override
(...skipping 14 matching lines...) Expand all
734 return bulkHandleCompound(node, arg); 734 return bulkHandleCompound(node, arg);
735 } 735 }
736 736
737 @override 737 @override
738 R visitStaticFieldCompound(Send node, FieldElement field, 738 R visitStaticFieldCompound(Send node, FieldElement field,
739 AssignmentOperator operator, Node rhs, A arg) { 739 AssignmentOperator operator, Node rhs, A arg) {
740 return bulkHandleCompound(node, arg); 740 return bulkHandleCompound(node, arg);
741 } 741 }
742 742
743 @override 743 @override
744 R visitStaticGetterSetterCompound(Send node, FunctionElement getter, 744 R visitStaticGetterSetterCompound(Send node, GetterElement getter,
745 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 745 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
746 return bulkHandleCompound(node, arg); 746 return bulkHandleCompound(node, arg);
747 } 747 }
748 748
749 @override 749 @override
750 R visitStaticMethodSetterCompound(Send node, FunctionElement method, 750 R visitStaticMethodSetterCompound(Send node, FunctionElement method,
751 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 751 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
752 return bulkHandleCompound(node, arg); 752 return bulkHandleCompound(node, arg);
753 } 753 }
754 754
755 @override 755 @override
756 R visitSuperFieldCompound(Send node, FieldElement field, 756 R visitSuperFieldCompound(Send node, FieldElement field,
757 AssignmentOperator operator, Node rhs, A arg) { 757 AssignmentOperator operator, Node rhs, A arg) {
758 return bulkHandleCompound(node, arg); 758 return bulkHandleCompound(node, arg);
759 } 759 }
760 760
761 @override 761 @override
762 R visitSuperFieldSetterCompound(Send node, FieldElement field, 762 R visitSuperFieldSetterCompound(Send node, FieldElement field,
763 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 763 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
764 return bulkHandleCompound(node, arg); 764 return bulkHandleCompound(node, arg);
765 } 765 }
766 766
767 @override 767 @override
768 R visitSuperGetterFieldCompound(Send node, FunctionElement getter, 768 R visitSuperGetterFieldCompound(Send node, GetterElement getter,
769 FieldElement field, AssignmentOperator operator, Node rhs, A arg) { 769 FieldElement field, AssignmentOperator operator, Node rhs, A arg) {
770 return bulkHandleCompound(node, arg); 770 return bulkHandleCompound(node, arg);
771 } 771 }
772 772
773 @override 773 @override
774 R visitSuperGetterSetterCompound(Send node, FunctionElement getter, 774 R visitSuperGetterSetterCompound(Send node, GetterElement getter,
775 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 775 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
776 return bulkHandleCompound(node, arg); 776 return bulkHandleCompound(node, arg);
777 } 777 }
778 778
779 @override 779 @override
780 R visitSuperMethodSetterCompound(Send node, FunctionElement method, 780 R visitSuperMethodSetterCompound(Send node, FunctionElement method,
781 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 781 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
782 return bulkHandleCompound(node, arg); 782 return bulkHandleCompound(node, arg);
783 } 783 }
784 784
785 @override 785 @override
786 R visitThisPropertyCompound( 786 R visitThisPropertyCompound(
787 Send node, Name name, AssignmentOperator operator, Node rhs, A arg) { 787 Send node, Name name, AssignmentOperator operator, Node rhs, A arg) {
788 return bulkHandleCompound(node, arg); 788 return bulkHandleCompound(node, arg);
789 } 789 }
790 790
791 @override 791 @override
792 R visitTopLevelFieldCompound(Send node, FieldElement field, 792 R visitTopLevelFieldCompound(Send node, FieldElement field,
793 AssignmentOperator operator, Node rhs, A arg) { 793 AssignmentOperator operator, Node rhs, A arg) {
794 return bulkHandleCompound(node, arg); 794 return bulkHandleCompound(node, arg);
795 } 795 }
796 796
797 @override 797 @override
798 R visitTopLevelGetterSetterCompound(Send node, FunctionElement getter, 798 R visitTopLevelGetterSetterCompound(Send node, GetterElement getter,
799 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 799 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
800 return bulkHandleCompound(node, arg); 800 return bulkHandleCompound(node, arg);
801 } 801 }
802 802
803 @override 803 @override
804 R visitTopLevelMethodSetterCompound(Send node, FunctionElement method, 804 R visitTopLevelMethodSetterCompound(Send node, FunctionElement method,
805 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 805 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
806 return bulkHandleCompound(node, arg); 806 return bulkHandleCompound(node, arg);
807 } 807 }
808 808
809 @override 809 @override
810 R visitFinalParameterCompound(Send node, ParameterElement parameter, 810 R visitFinalParameterCompound(Send node, ParameterElement parameter,
811 AssignmentOperator operator, Node rhs, A arg) { 811 AssignmentOperator operator, Node rhs, A arg) {
812 return bulkHandleCompound(node, arg); 812 return bulkHandleCompound(node, arg);
813 } 813 }
814 814
815 @override 815 @override
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
872 return bulkHandleCompound(node, arg); 872 return bulkHandleCompound(node, arg);
873 } 873 }
874 874
875 @override 875 @override
876 R visitUnresolvedTopLevelGetterCompound(Send node, Element element, 876 R visitUnresolvedTopLevelGetterCompound(Send node, Element element,
877 MethodElement setter, AssignmentOperator operator, Node rhs, A arg) { 877 MethodElement setter, AssignmentOperator operator, Node rhs, A arg) {
878 return bulkHandleCompound(node, arg); 878 return bulkHandleCompound(node, arg);
879 } 879 }
880 880
881 @override 881 @override
882 R visitUnresolvedStaticSetterCompound(Send node, MethodElement getter, 882 R visitUnresolvedStaticSetterCompound(Send node, GetterElement getter,
883 Element element, AssignmentOperator operator, Node rhs, A arg) { 883 Element element, AssignmentOperator operator, Node rhs, A arg) {
884 return bulkHandleCompound(node, arg); 884 return bulkHandleCompound(node, arg);
885 } 885 }
886 886
887 @override 887 @override
888 R visitUnresolvedTopLevelSetterCompound(Send node, MethodElement getter, 888 R visitUnresolvedTopLevelSetterCompound(Send node, GetterElement getter,
889 Element element, AssignmentOperator operator, Node rhs, A arg) { 889 Element element, AssignmentOperator operator, Node rhs, A arg) {
890 return bulkHandleCompound(node, arg); 890 return bulkHandleCompound(node, arg);
891 } 891 }
892 892
893 @override 893 @override
894 R visitStaticMethodCompound(Send node, MethodElement method, 894 R visitStaticMethodCompound(Send node, MethodElement method,
895 AssignmentOperator operator, Node rhs, A arg) { 895 AssignmentOperator operator, Node rhs, A arg) {
896 return bulkHandleCompound(node, arg); 896 return bulkHandleCompound(node, arg);
897 } 897 }
898 898
899 @override 899 @override
900 R visitTopLevelMethodCompound(Send node, MethodElement method, 900 R visitTopLevelMethodCompound(Send node, MethodElement method,
901 AssignmentOperator operator, Node rhs, A arg) { 901 AssignmentOperator operator, Node rhs, A arg) {
902 return bulkHandleCompound(node, arg); 902 return bulkHandleCompound(node, arg);
903 } 903 }
904 904
905 @override 905 @override
906 R visitUnresolvedCompound(Send node, Element element, 906 R visitUnresolvedCompound(Send node, ErroneousElement element,
907 AssignmentOperator operator, Node rhs, A arg) { 907 AssignmentOperator operator, Node rhs, A arg) {
908 return bulkHandleCompound(node, arg); 908 return bulkHandleCompound(node, arg);
909 } 909 }
910 910
911 @override 911 @override
912 R visitSuperFieldFieldCompound(Send node, FieldElement readField, 912 R visitSuperFieldFieldCompound(Send node, FieldElement readField,
913 FieldElement writtenField, AssignmentOperator operator, Node rhs, A arg) { 913 FieldElement writtenField, AssignmentOperator operator, Node rhs, A arg) {
914 return bulkHandleCompound(node, arg); 914 return bulkHandleCompound(node, arg);
915 } 915 }
916 916
917 @override 917 @override
918 R visitSuperMethodCompound(Send node, FunctionElement method, 918 R visitSuperMethodCompound(Send node, MethodElement method,
919 AssignmentOperator operator, Node rhs, A arg) { 919 AssignmentOperator operator, Node rhs, A arg) {
920 return bulkHandleCompound(node, arg); 920 return bulkHandleCompound(node, arg);
921 } 921 }
922 922
923 @override 923 @override
924 R visitUnresolvedSuperCompound(Send node, Element element, 924 R visitUnresolvedSuperCompound(Send node, Element element,
925 AssignmentOperator operator, Node rhs, A arg) { 925 AssignmentOperator operator, Node rhs, A arg) {
926 return bulkHandleCompound(node, arg); 926 return bulkHandleCompound(node, arg);
927 } 927 }
928 928
929 @override 929 @override
930 R visitUnresolvedSuperGetterCompound(Send node, Element element, 930 R visitUnresolvedSuperGetterCompound(SendSet node, Element element,
931 MethodElement setter, AssignmentOperator operator, Node rhs, A arg) { 931 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
932 return bulkHandleCompound(node, arg); 932 return bulkHandleCompound(node, arg);
933 } 933 }
934 934
935 @override 935 @override
936 R visitUnresolvedSuperSetterCompound(Send node, MethodElement getter, 936 R visitUnresolvedSuperSetterCompound(Send node, GetterElement getter,
937 Element element, AssignmentOperator operator, Node rhs, A arg) { 937 Element element, AssignmentOperator operator, Node rhs, A arg) {
938 return bulkHandleCompound(node, arg); 938 return bulkHandleCompound(node, arg);
939 } 939 }
940 } 940 }
941 941
942 /// Mixin that implements all `visitXSetIfNull` methods of [SemanticSendVisitor] 942 /// Mixin that implements all `visitXSetIfNull` methods of [SemanticSendVisitor]
943 /// by delegating to a bulk handler. 943 /// by delegating to a bulk handler.
944 /// 944 ///
945 /// Use this mixin to provide a trivial implementation for all `xSetIfNull` 945 /// Use this mixin to provide a trivial implementation for all `xSetIfNull`
946 /// methods. 946 /// methods.
947 abstract class SetIfNullBulkMixin<R, A> 947 abstract class SetIfNullBulkMixin<R, A>
948 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> { 948 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> {
949 R bulkHandleSetIfNull(Send node, A arg) { 949 R bulkHandleSetIfNull(SendSet node, A arg) {
950 return bulkHandleNode(node, "If null assignment `#` unhandled.", arg); 950 return bulkHandleNode(node, "If null assignment `#` unhandled.", arg);
951 } 951 }
952 952
953 @override 953 @override
954 R visitClassTypeLiteralSetIfNull( 954 R visitClassTypeLiteralSetIfNull(
955 Send node, ConstantExpression constant, Node rhs, A arg) { 955 Send node, ConstantExpression constant, Node rhs, A arg) {
956 return bulkHandleSetIfNull(node, arg); 956 return bulkHandleSetIfNull(node, arg);
957 } 957 }
958 958
959 @override 959 @override
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1021 Send node, ParameterElement parameter, Node rhs, A arg) { 1021 Send node, ParameterElement parameter, Node rhs, A arg) {
1022 return bulkHandleSetIfNull(node, arg); 1022 return bulkHandleSetIfNull(node, arg);
1023 } 1023 }
1024 1024
1025 @override 1025 @override
1026 R visitStaticFieldSetIfNull(Send node, FieldElement field, Node rhs, A arg) { 1026 R visitStaticFieldSetIfNull(Send node, FieldElement field, Node rhs, A arg) {
1027 return bulkHandleSetIfNull(node, arg); 1027 return bulkHandleSetIfNull(node, arg);
1028 } 1028 }
1029 1029
1030 @override 1030 @override
1031 R visitStaticGetterSetterSetIfNull(Send node, FunctionElement getter, 1031 R visitStaticGetterSetterSetIfNull(
1032 FunctionElement setter, Node rhs, A arg) { 1032 Send node, GetterElement getter, SetterElement setter, Node rhs, A arg) {
1033 return bulkHandleSetIfNull(node, arg); 1033 return bulkHandleSetIfNull(node, arg);
1034 } 1034 }
1035 1035
1036 @override 1036 @override
1037 R visitStaticMethodSetIfNull( 1037 R visitStaticMethodSetIfNull(
1038 Send node, FunctionElement method, Node rhs, A arg) { 1038 Send node, FunctionElement method, Node rhs, A arg) {
1039 return bulkHandleSetIfNull(node, arg); 1039 return bulkHandleSetIfNull(node, arg);
1040 } 1040 }
1041 1041
1042 @override 1042 @override
1043 R visitStaticMethodSetterSetIfNull( 1043 R visitStaticMethodSetterSetIfNull(
1044 Send node, MethodElement method, MethodElement setter, Node rhs, A arg) { 1044 Send node, MethodElement method, MethodElement setter, Node rhs, A arg) {
1045 return bulkHandleSetIfNull(node, arg); 1045 return bulkHandleSetIfNull(node, arg);
1046 } 1046 }
1047 1047
1048 @override 1048 @override
1049 R visitSuperFieldFieldSetIfNull(Send node, FieldElement readField, 1049 R visitSuperFieldFieldSetIfNull(Send node, FieldElement readField,
1050 FieldElement writtenField, Node rhs, A arg) { 1050 FieldElement writtenField, Node rhs, A arg) {
1051 return bulkHandleSetIfNull(node, arg); 1051 return bulkHandleSetIfNull(node, arg);
1052 } 1052 }
1053 1053
1054 @override 1054 @override
1055 R visitSuperFieldSetIfNull(Send node, FieldElement field, Node rhs, A arg) { 1055 R visitSuperFieldSetIfNull(Send node, FieldElement field, Node rhs, A arg) {
1056 return bulkHandleSetIfNull(node, arg); 1056 return bulkHandleSetIfNull(node, arg);
1057 } 1057 }
1058 1058
1059 @override 1059 @override
1060 R visitSuperFieldSetterSetIfNull( 1060 R visitSuperFieldSetterSetIfNull(
1061 Send node, FieldElement field, FunctionElement setter, Node rhs, A arg) { 1061 Send node, FieldElement field, SetterElement setter, Node rhs, A arg) {
1062 return bulkHandleSetIfNull(node, arg); 1062 return bulkHandleSetIfNull(node, arg);
1063 } 1063 }
1064 1064
1065 @override 1065 @override
1066 R visitSuperGetterFieldSetIfNull( 1066 R visitSuperGetterFieldSetIfNull(
1067 Send node, FunctionElement getter, FieldElement field, Node rhs, A arg) { 1067 Send node, GetterElement getter, FieldElement field, Node rhs, A arg) {
1068 return bulkHandleSetIfNull(node, arg); 1068 return bulkHandleSetIfNull(node, arg);
1069 } 1069 }
1070 1070
1071 @override 1071 @override
1072 R visitSuperGetterSetterSetIfNull(Send node, FunctionElement getter, 1072 R visitSuperGetterSetterSetIfNull(
1073 FunctionElement setter, Node rhs, A arg) { 1073 Send node, GetterElement getter, SetterElement setter, Node rhs, A arg) {
1074 return bulkHandleSetIfNull(node, arg); 1074 return bulkHandleSetIfNull(node, arg);
1075 } 1075 }
1076 1076
1077 @override 1077 @override
1078 R visitSuperMethodSetIfNull( 1078 R visitSuperMethodSetIfNull(
1079 Send node, FunctionElement method, Node rhs, A arg) { 1079 Send node, FunctionElement method, Node rhs, A arg) {
1080 return bulkHandleSetIfNull(node, arg); 1080 return bulkHandleSetIfNull(node, arg);
1081 } 1081 }
1082 1082
1083 @override 1083 @override
1084 R visitSuperMethodSetterSetIfNull(Send node, FunctionElement method, 1084 R visitSuperMethodSetterSetIfNull(Send node, FunctionElement method,
1085 FunctionElement setter, Node rhs, A arg) { 1085 SetterElement setter, Node rhs, A arg) {
1086 return bulkHandleSetIfNull(node, arg); 1086 return bulkHandleSetIfNull(node, arg);
1087 } 1087 }
1088 1088
1089 @override 1089 @override
1090 R visitThisPropertySetIfNull(Send node, Name name, Node rhs, A arg) { 1090 R visitThisPropertySetIfNull(Send node, Name name, Node rhs, A arg) {
1091 return bulkHandleSetIfNull(node, arg); 1091 return bulkHandleSetIfNull(node, arg);
1092 } 1092 }
1093 1093
1094 @override 1094 @override
1095 R visitTopLevelFieldSetIfNull( 1095 R visitTopLevelFieldSetIfNull(
1096 Send node, FieldElement field, Node rhs, A arg) { 1096 Send node, FieldElement field, Node rhs, A arg) {
1097 return bulkHandleSetIfNull(node, arg); 1097 return bulkHandleSetIfNull(node, arg);
1098 } 1098 }
1099 1099
1100 @override 1100 @override
1101 R visitTopLevelGetterSetterSetIfNull(Send node, FunctionElement getter, 1101 R visitTopLevelGetterSetterSetIfNull(
1102 FunctionElement setter, Node rhs, A arg) { 1102 Send node, GetterElement getter, SetterElement setter, Node rhs, A arg) {
1103 return bulkHandleSetIfNull(node, arg); 1103 return bulkHandleSetIfNull(node, arg);
1104 } 1104 }
1105 1105
1106 @override 1106 @override
1107 R visitTopLevelMethodSetIfNull( 1107 R visitTopLevelMethodSetIfNull(
1108 Send node, FunctionElement method, Node rhs, A arg) { 1108 Send node, FunctionElement method, Node rhs, A arg) {
1109 return bulkHandleSetIfNull(node, arg); 1109 return bulkHandleSetIfNull(node, arg);
1110 } 1110 }
1111 1111
1112 @override 1112 @override
1113 R visitTopLevelMethodSetterSetIfNull(Send node, FunctionElement method, 1113 R visitTopLevelMethodSetterSetIfNull(Send node, FunctionElement method,
1114 FunctionElement setter, Node rhs, A arg) { 1114 SetterElement setter, Node rhs, A arg) {
1115 return bulkHandleSetIfNull(node, arg); 1115 return bulkHandleSetIfNull(node, arg);
1116 } 1116 }
1117 1117
1118 @override 1118 @override
1119 R visitTypeVariableTypeLiteralSetIfNull( 1119 R visitTypeVariableTypeLiteralSetIfNull(
1120 Send node, TypeVariableElement element, Node rhs, A arg) { 1120 Send node, TypeVariableElement element, Node rhs, A arg) {
1121 return bulkHandleSetIfNull(node, arg); 1121 return bulkHandleSetIfNull(node, arg);
1122 } 1122 }
1123 1123
1124 @override 1124 @override
1125 R visitTypedefTypeLiteralSetIfNull( 1125 R visitTypedefTypeLiteralSetIfNull(
1126 Send node, ConstantExpression constant, Node rhs, A arg) { 1126 Send node, ConstantExpression constant, Node rhs, A arg) {
1127 return bulkHandleSetIfNull(node, arg); 1127 return bulkHandleSetIfNull(node, arg);
1128 } 1128 }
1129 1129
1130 @override 1130 @override
1131 R visitUnresolvedSetIfNull(Send node, Element element, Node rhs, A arg) { 1131 R visitUnresolvedSetIfNull(Send node, Element element, Node rhs, A arg) {
1132 return bulkHandleSetIfNull(node, arg); 1132 return bulkHandleSetIfNull(node, arg);
1133 } 1133 }
1134 1134
1135 @override 1135 @override
1136 R visitUnresolvedStaticGetterSetIfNull( 1136 R visitUnresolvedStaticGetterSetIfNull(
1137 Send node, Element element, MethodElement setter, Node rhs, A arg) { 1137 Send node, Element element, MethodElement setter, Node rhs, A arg) {
1138 return bulkHandleSetIfNull(node, arg); 1138 return bulkHandleSetIfNull(node, arg);
1139 } 1139 }
1140 1140
1141 @override 1141 @override
1142 R visitUnresolvedStaticSetterSetIfNull( 1142 R visitUnresolvedStaticSetterSetIfNull(
1143 Send node, MethodElement getter, Element element, Node rhs, A arg) { 1143 Send node, GetterElement getter, Element element, Node rhs, A arg) {
1144 return bulkHandleSetIfNull(node, arg); 1144 return bulkHandleSetIfNull(node, arg);
1145 } 1145 }
1146 1146
1147 @override 1147 @override
1148 R visitUnresolvedSuperGetterSetIfNull( 1148 R visitUnresolvedSuperGetterSetIfNull(
1149 Send node, Element element, MethodElement setter, Node rhs, A arg) { 1149 Send node, Element element, MethodElement setter, Node rhs, A arg) {
1150 return bulkHandleSetIfNull(node, arg); 1150 return bulkHandleSetIfNull(node, arg);
1151 } 1151 }
1152 1152
1153 @override 1153 @override
1154 R visitUnresolvedSuperSetIfNull(Send node, Element element, Node rhs, A arg) { 1154 R visitUnresolvedSuperSetIfNull(Send node, Element element, Node rhs, A arg) {
1155 return bulkHandleSetIfNull(node, arg); 1155 return bulkHandleSetIfNull(node, arg);
1156 } 1156 }
1157 1157
1158 @override 1158 @override
1159 R visitUnresolvedSuperSetterSetIfNull( 1159 R visitUnresolvedSuperSetterSetIfNull(
1160 Send node, MethodElement getter, Element element, Node rhs, A arg) { 1160 Send node, GetterElement getter, Element element, Node rhs, A arg) {
1161 return bulkHandleSetIfNull(node, arg); 1161 return bulkHandleSetIfNull(node, arg);
1162 } 1162 }
1163 1163
1164 @override 1164 @override
1165 R visitUnresolvedTopLevelGetterSetIfNull( 1165 R visitUnresolvedTopLevelGetterSetIfNull(
1166 Send node, Element element, MethodElement setter, Node rhs, A arg) { 1166 Send node, Element element, MethodElement setter, Node rhs, A arg) {
1167 return bulkHandleSetIfNull(node, arg); 1167 return bulkHandleSetIfNull(node, arg);
1168 } 1168 }
1169 1169
1170 @override 1170 @override
1171 R visitUnresolvedTopLevelSetterSetIfNull( 1171 R visitUnresolvedTopLevelSetterSetIfNull(
1172 Send node, MethodElement getter, Element element, Node rhs, A arg) { 1172 Send node, GetterElement getter, Element element, Node rhs, A arg) {
1173 return bulkHandleSetIfNull(node, arg); 1173 return bulkHandleSetIfNull(node, arg);
1174 } 1174 }
1175 1175
1176 @override 1176 @override
1177 R visitIndexSetIfNull( 1177 R visitIndexSetIfNull(
1178 SendSet node, Node receiver, Node index, Node rhs, A arg) { 1178 SendSet node, Node receiver, Node index, Node rhs, A arg) {
1179 return bulkHandleSetIfNull(node, arg); 1179 return bulkHandleSetIfNull(node, arg);
1180 } 1180 }
1181 1181
1182 @override 1182 @override
1183 R visitSuperIndexSetIfNull(SendSet node, MethodElement getter, 1183 R visitSuperIndexSetIfNull(SendSet node, MethodElement getter,
1184 MethodElement setter, Node index, Node rhs, A arg) { 1184 MethodElement setter, Node index, Node rhs, A arg) {
1185 return bulkHandleSetIfNull(node, arg); 1185 return bulkHandleSetIfNull(node, arg);
1186 } 1186 }
1187 1187
1188 @override 1188 @override
1189 R visitUnresolvedSuperGetterIndexSetIfNull(Send node, Element element, 1189 R visitUnresolvedSuperGetterIndexSetIfNull(SendSet node, Element element,
1190 MethodElement setter, Node index, Node rhs, A arg) { 1190 MethodElement setter, Node index, Node rhs, A arg) {
1191 return bulkHandleSetIfNull(node, arg); 1191 return bulkHandleSetIfNull(node, arg);
1192 } 1192 }
1193 1193
1194 @override 1194 @override
1195 R visitUnresolvedSuperSetterIndexSetIfNull(Send node, MethodElement getter, 1195 R visitUnresolvedSuperSetterIndexSetIfNull(SendSet node, MethodElement getter,
1196 Element element, Node index, Node rhs, A arg) { 1196 Element element, Node index, Node rhs, A arg) {
1197 return bulkHandleSetIfNull(node, arg); 1197 return bulkHandleSetIfNull(node, arg);
1198 } 1198 }
1199 1199
1200 @override 1200 @override
1201 R visitUnresolvedSuperIndexSetIfNull( 1201 R visitUnresolvedSuperIndexSetIfNull(
1202 Send node, Element element, Node index, Node rhs, A arg) { 1202 Send node, Element element, Node index, Node rhs, A arg) {
1203 return bulkHandleSetIfNull(node, arg); 1203 return bulkHandleSetIfNull(node, arg);
1204 } 1204 }
1205 } 1205 }
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
1285 return bulkHandleInvoke(node, arg); 1285 return bulkHandleInvoke(node, arg);
1286 } 1286 }
1287 1287
1288 @override 1288 @override
1289 R visitStaticFunctionIncompatibleInvoke(Send node, MethodElement function, 1289 R visitStaticFunctionIncompatibleInvoke(Send node, MethodElement function,
1290 NodeList arguments, CallStructure callStructure, A arg) { 1290 NodeList arguments, CallStructure callStructure, A arg) {
1291 return bulkHandleInvoke(node, arg); 1291 return bulkHandleInvoke(node, arg);
1292 } 1292 }
1293 1293
1294 @override 1294 @override
1295 R visitStaticGetterInvoke(Send node, FunctionElement getter, 1295 R visitStaticGetterInvoke(Send node, GetterElement getter, NodeList arguments,
1296 NodeList arguments, CallStructure callStructure, A arg) { 1296 CallStructure callStructure, A arg) {
1297 return bulkHandleInvoke(node, arg); 1297 return bulkHandleInvoke(node, arg);
1298 } 1298 }
1299 1299
1300 @override 1300 @override
1301 R visitSuperFieldInvoke(Send node, FieldElement field, NodeList arguments, 1301 R visitSuperFieldInvoke(Send node, FieldElement field, NodeList arguments,
1302 CallStructure callStructure, A arg) { 1302 CallStructure callStructure, A arg) {
1303 return bulkHandleInvoke(node, arg); 1303 return bulkHandleInvoke(node, arg);
1304 } 1304 }
1305 1305
1306 @override 1306 @override
1307 R visitSuperGetterInvoke(Send node, FunctionElement getter, 1307 R visitSuperGetterInvoke(Send node, GetterElement getter, NodeList arguments,
1308 NodeList arguments, CallStructure callStructure, A arg) { 1308 CallStructure callStructure, A arg) {
1309 return bulkHandleInvoke(node, arg); 1309 return bulkHandleInvoke(node, arg);
1310 } 1310 }
1311 1311
1312 @override 1312 @override
1313 R visitSuperMethodInvoke(Send node, MethodElement method, NodeList arguments, 1313 R visitSuperMethodInvoke(Send node, MethodElement method, NodeList arguments,
1314 CallStructure callStructure, A arg) { 1314 CallStructure callStructure, A arg) {
1315 return bulkHandleInvoke(node, arg); 1315 return bulkHandleInvoke(node, arg);
1316 } 1316 }
1317 1317
1318 @override 1318 @override
(...skipping 26 matching lines...) Expand all
1345 return bulkHandleInvoke(node, arg); 1345 return bulkHandleInvoke(node, arg);
1346 } 1346 }
1347 1347
1348 @override 1348 @override
1349 R visitTopLevelFunctionIncompatibleInvoke(Send node, MethodElement function, 1349 R visitTopLevelFunctionIncompatibleInvoke(Send node, MethodElement function,
1350 NodeList arguments, CallStructure callStructure, A arg) { 1350 NodeList arguments, CallStructure callStructure, A arg) {
1351 return bulkHandleInvoke(node, arg); 1351 return bulkHandleInvoke(node, arg);
1352 } 1352 }
1353 1353
1354 @override 1354 @override
1355 R visitTopLevelGetterInvoke(Send node, FunctionElement getter, 1355 R visitTopLevelGetterInvoke(Send node, GetterElement getter,
1356 NodeList arguments, CallStructure callStructure, A arg) { 1356 NodeList arguments, CallStructure callStructure, A arg) {
1357 return bulkHandleInvoke(node, arg); 1357 return bulkHandleInvoke(node, arg);
1358 } 1358 }
1359 1359
1360 @override 1360 @override
1361 R visitTypeVariableTypeLiteralInvoke(Send node, TypeVariableElement element, 1361 R visitTypeVariableTypeLiteralInvoke(Send node, TypeVariableElement element,
1362 NodeList arguments, CallStructure callStructure, A arg) { 1362 NodeList arguments, CallStructure callStructure, A arg) {
1363 return bulkHandleInvoke(node, arg); 1363 return bulkHandleInvoke(node, arg);
1364 } 1364 }
1365 1365
(...skipping 15 matching lines...) Expand all
1381 return bulkHandleInvoke(node, arg); 1381 return bulkHandleInvoke(node, arg);
1382 } 1382 }
1383 1383
1384 @override 1384 @override
1385 R visitUnresolvedSuperInvoke(Send node, Element function, NodeList arguments, 1385 R visitUnresolvedSuperInvoke(Send node, Element function, NodeList arguments,
1386 Selector selector, A arg) { 1386 Selector selector, A arg) {
1387 return bulkHandleInvoke(node, arg); 1387 return bulkHandleInvoke(node, arg);
1388 } 1388 }
1389 1389
1390 @override 1390 @override
1391 R visitStaticSetterInvoke(Send node, FunctionElement setter, 1391 R visitStaticSetterInvoke(Send node, SetterElement setter, NodeList arguments,
1392 NodeList arguments, CallStructure callStructure, A arg) { 1392 CallStructure callStructure, A arg) {
1393 return bulkHandleInvoke(node, arg); 1393 return bulkHandleInvoke(node, arg);
1394 } 1394 }
1395 1395
1396 @override 1396 @override
1397 R visitSuperSetterInvoke(Send node, FunctionElement setter, 1397 R visitSuperSetterInvoke(Send node, SetterElement setter, NodeList arguments,
1398 NodeList arguments, CallStructure callStructure, A arg) { 1398 CallStructure callStructure, A arg) {
1399 return bulkHandleInvoke(node, arg); 1399 return bulkHandleInvoke(node, arg);
1400 } 1400 }
1401 1401
1402 @override 1402 @override
1403 R visitTopLevelSetterInvoke(Send node, FunctionElement setter, 1403 R visitTopLevelSetterInvoke(Send node, SetterElement setter,
1404 NodeList arguments, CallStructure callStructure, A arg) { 1404 NodeList arguments, CallStructure callStructure, A arg) {
1405 return bulkHandleInvoke(node, arg); 1405 return bulkHandleInvoke(node, arg);
1406 } 1406 }
1407 } 1407 }
1408 1408
1409 /// Mixin that implements all `visitXGet` methods of [SemanticSendVisitor] by 1409 /// Mixin that implements all `visitXGet` methods of [SemanticSendVisitor] by
1410 /// delegating to a bulk handler. 1410 /// delegating to a bulk handler.
1411 /// 1411 ///
1412 /// Use this mixin to provide a trivial implementation for all `visitXGet` 1412 /// Use this mixin to provide a trivial implementation for all `visitXGet`
1413 /// methods. 1413 /// methods.
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1457 R visitStaticFieldGet(Send node, FieldElement field, A arg) { 1457 R visitStaticFieldGet(Send node, FieldElement field, A arg) {
1458 return bulkHandleGet(node, arg); 1458 return bulkHandleGet(node, arg);
1459 } 1459 }
1460 1460
1461 @override 1461 @override
1462 R visitStaticFunctionGet(Send node, MethodElement function, A arg) { 1462 R visitStaticFunctionGet(Send node, MethodElement function, A arg) {
1463 return bulkHandleGet(node, arg); 1463 return bulkHandleGet(node, arg);
1464 } 1464 }
1465 1465
1466 @override 1466 @override
1467 R visitStaticGetterGet(Send node, FunctionElement getter, A arg) { 1467 R visitStaticGetterGet(Send node, GetterElement getter, A arg) {
1468 return bulkHandleGet(node, arg); 1468 return bulkHandleGet(node, arg);
1469 } 1469 }
1470 1470
1471 @override 1471 @override
1472 R visitSuperFieldGet(Send node, FieldElement field, A arg) { 1472 R visitSuperFieldGet(Send node, FieldElement field, A arg) {
1473 return bulkHandleGet(node, arg); 1473 return bulkHandleGet(node, arg);
1474 } 1474 }
1475 1475
1476 @override 1476 @override
1477 R visitSuperGetterGet(Send node, FunctionElement getter, A arg) { 1477 R visitSuperGetterGet(Send node, GetterElement getter, A arg) {
1478 return bulkHandleGet(node, arg); 1478 return bulkHandleGet(node, arg);
1479 } 1479 }
1480 1480
1481 @override 1481 @override
1482 R visitSuperMethodGet(Send node, MethodElement method, A arg) { 1482 R visitSuperMethodGet(Send node, MethodElement method, A arg) {
1483 return bulkHandleGet(node, arg); 1483 return bulkHandleGet(node, arg);
1484 } 1484 }
1485 1485
1486 @override 1486 @override
1487 R visitThisGet(Identifier node, A arg) { 1487 R visitThisGet(Identifier node, A arg) {
1488 return bulkHandleGet(node, arg); 1488 return bulkHandleGet(node, arg);
1489 } 1489 }
1490 1490
1491 @override 1491 @override
1492 R visitThisPropertyGet(Send node, Name name, A arg) { 1492 R visitThisPropertyGet(Send node, Name name, A arg) {
1493 return bulkHandleGet(node, arg); 1493 return bulkHandleGet(node, arg);
1494 } 1494 }
1495 1495
1496 @override 1496 @override
1497 R visitTopLevelFieldGet(Send node, FieldElement field, A arg) { 1497 R visitTopLevelFieldGet(Send node, FieldElement field, A arg) {
1498 return bulkHandleGet(node, arg); 1498 return bulkHandleGet(node, arg);
1499 } 1499 }
1500 1500
1501 @override 1501 @override
1502 R visitTopLevelFunctionGet(Send node, MethodElement function, A arg) { 1502 R visitTopLevelFunctionGet(Send node, MethodElement function, A arg) {
1503 return bulkHandleGet(node, arg); 1503 return bulkHandleGet(node, arg);
1504 } 1504 }
1505 1505
1506 @override 1506 @override
1507 R visitTopLevelGetterGet(Send node, FunctionElement getter, A arg) { 1507 R visitTopLevelGetterGet(Send node, GetterElement getter, A arg) {
1508 return bulkHandleGet(node, arg); 1508 return bulkHandleGet(node, arg);
1509 } 1509 }
1510 1510
1511 @override 1511 @override
1512 R visitTypeVariableTypeLiteralGet( 1512 R visitTypeVariableTypeLiteralGet(
1513 Send node, TypeVariableElement element, A arg) { 1513 Send node, TypeVariableElement element, A arg) {
1514 return bulkHandleGet(node, arg); 1514 return bulkHandleGet(node, arg);
1515 } 1515 }
1516 1516
1517 @override 1517 @override
(...skipping 10 matching lines...) Expand all
1528 R visitUnresolvedGet(Send node, Element element, A arg) { 1528 R visitUnresolvedGet(Send node, Element element, A arg) {
1529 return bulkHandleGet(node, arg); 1529 return bulkHandleGet(node, arg);
1530 } 1530 }
1531 1531
1532 @override 1532 @override
1533 R visitUnresolvedSuperGet(Send node, Element element, A arg) { 1533 R visitUnresolvedSuperGet(Send node, Element element, A arg) {
1534 return bulkHandleGet(node, arg); 1534 return bulkHandleGet(node, arg);
1535 } 1535 }
1536 1536
1537 @override 1537 @override
1538 R visitStaticSetterGet(Send node, FunctionElement setter, A arg) { 1538 R visitStaticSetterGet(Send node, SetterElement setter, A arg) {
1539 return bulkHandleGet(node, arg); 1539 return bulkHandleGet(node, arg);
1540 } 1540 }
1541 1541
1542 @override 1542 @override
1543 R visitSuperSetterGet(Send node, FunctionElement setter, A arg) { 1543 R visitSuperSetterGet(Send node, SetterElement setter, A arg) {
1544 return bulkHandleGet(node, arg); 1544 return bulkHandleGet(node, arg);
1545 } 1545 }
1546 1546
1547 @override 1547 @override
1548 R visitTopLevelSetterGet(Send node, FunctionElement setter, A arg) { 1548 R visitTopLevelSetterGet(Send node, SetterElement setter, A arg) {
1549 return bulkHandleGet(node, arg); 1549 return bulkHandleGet(node, arg);
1550 } 1550 }
1551 } 1551 }
1552 1552
1553 /// Mixin that implements all `visitXSet` methods of [SemanticSendVisitor] by 1553 /// Mixin that implements all `visitXSet` methods of [SemanticSendVisitor] by
1554 /// delegating to a bulk handler. 1554 /// delegating to a bulk handler.
1555 /// 1555 ///
1556 /// Use this mixin to provide a trivial implementation for all `visitXSet` 1556 /// Use this mixin to provide a trivial implementation for all `visitXSet`
1557 /// methods. 1557 /// methods.
1558 abstract class SetBulkMixin<R, A> 1558 abstract class SetBulkMixin<R, A>
1559 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> { 1559 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> {
1560 R bulkHandleSet(Send node, A arg) { 1560 R bulkHandleSet(SendSet node, A arg) {
1561 return bulkHandleNode(node, "Assignment `#` unhandled.", arg); 1561 return bulkHandleNode(node, "Assignment `#` unhandled.", arg);
1562 } 1562 }
1563 1563
1564 @override 1564 @override
1565 R visitDynamicPropertySet( 1565 R visitDynamicPropertySet(
1566 SendSet node, Node receiver, Name name, Node rhs, A arg) { 1566 SendSet node, Node receiver, Name name, Node rhs, A arg) {
1567 return bulkHandleSet(node, arg); 1567 return bulkHandleSet(node, arg);
1568 } 1568 }
1569 1569
1570 @override 1570 @override
(...skipping 13 matching lines...) Expand all
1584 SendSet node, ParameterElement parameter, Node rhs, A arg) { 1584 SendSet node, ParameterElement parameter, Node rhs, A arg) {
1585 return bulkHandleSet(node, arg); 1585 return bulkHandleSet(node, arg);
1586 } 1586 }
1587 1587
1588 @override 1588 @override
1589 R visitStaticFieldSet(SendSet node, FieldElement field, Node rhs, A arg) { 1589 R visitStaticFieldSet(SendSet node, FieldElement field, Node rhs, A arg) {
1590 return bulkHandleSet(node, arg); 1590 return bulkHandleSet(node, arg);
1591 } 1591 }
1592 1592
1593 @override 1593 @override
1594 R visitStaticSetterSet( 1594 R visitStaticSetterSet(SendSet node, SetterElement setter, Node rhs, A arg) {
1595 SendSet node, FunctionElement setter, Node rhs, A arg) {
1596 return bulkHandleSet(node, arg); 1595 return bulkHandleSet(node, arg);
1597 } 1596 }
1598 1597
1599 @override 1598 @override
1600 R visitSuperFieldSet(SendSet node, FieldElement field, Node rhs, A arg) { 1599 R visitSuperFieldSet(SendSet node, FieldElement field, Node rhs, A arg) {
1601 return bulkHandleSet(node, arg); 1600 return bulkHandleSet(node, arg);
1602 } 1601 }
1603 1602
1604 @override 1603 @override
1605 R visitSuperSetterSet(SendSet node, FunctionElement setter, Node rhs, A arg) { 1604 R visitSuperSetterSet(SendSet node, SetterElement setter, Node rhs, A arg) {
1606 return bulkHandleSet(node, arg); 1605 return bulkHandleSet(node, arg);
1607 } 1606 }
1608 1607
1609 @override 1608 @override
1610 R visitThisPropertySet(SendSet node, Name name, Node rhs, A arg) { 1609 R visitThisPropertySet(SendSet node, Name name, Node rhs, A arg) {
1611 return bulkHandleSet(node, arg); 1610 return bulkHandleSet(node, arg);
1612 } 1611 }
1613 1612
1614 @override 1613 @override
1615 R visitTopLevelFieldSet(SendSet node, FieldElement field, Node rhs, A arg) { 1614 R visitTopLevelFieldSet(SendSet node, FieldElement field, Node rhs, A arg) {
1616 return bulkHandleSet(node, arg); 1615 return bulkHandleSet(node, arg);
1617 } 1616 }
1618 1617
1619 @override 1618 @override
1620 R visitTopLevelSetterSet( 1619 R visitTopLevelSetterSet(
1621 SendSet node, FunctionElement setter, Node rhs, A arg) { 1620 SendSet node, SetterElement setter, Node rhs, A arg) {
1622 return bulkHandleSet(node, arg); 1621 return bulkHandleSet(node, arg);
1623 } 1622 }
1624 1623
1625 @override 1624 @override
1626 R visitClassTypeLiteralSet( 1625 R visitClassTypeLiteralSet(
1627 SendSet node, ConstantExpression constant, Node rhs, A arg) { 1626 SendSet node, TypeConstantExpression constant, Node rhs, A arg) {
1628 return bulkHandleSet(node, arg); 1627 return bulkHandleSet(node, arg);
1629 } 1628 }
1630 1629
1631 @override 1630 @override
1632 R visitDynamicTypeLiteralSet( 1631 R visitDynamicTypeLiteralSet(
1633 SendSet node, ConstantExpression constant, Node rhs, A arg) { 1632 SendSet node, TypeConstantExpression constant, Node rhs, A arg) {
1634 return bulkHandleSet(node, arg); 1633 return bulkHandleSet(node, arg);
1635 } 1634 }
1636 1635
1637 @override 1636 @override
1638 R visitFinalLocalVariableSet( 1637 R visitFinalLocalVariableSet(
1639 SendSet node, LocalVariableElement variable, Node rhs, A arg) { 1638 SendSet node, LocalVariableElement variable, Node rhs, A arg) {
1640 return bulkHandleSet(node, arg); 1639 return bulkHandleSet(node, arg);
1641 } 1640 }
1642 1641
1643 @override 1642 @override
(...skipping 19 matching lines...) Expand all
1663 return bulkHandleSet(node, arg); 1662 return bulkHandleSet(node, arg);
1664 } 1663 }
1665 1664
1666 @override 1665 @override
1667 R visitLocalFunctionSet( 1666 R visitLocalFunctionSet(
1668 SendSet node, LocalFunctionElement function, Node rhs, A arg) { 1667 SendSet node, LocalFunctionElement function, Node rhs, A arg) {
1669 return bulkHandleSet(node, arg); 1668 return bulkHandleSet(node, arg);
1670 } 1669 }
1671 1670
1672 @override 1671 @override
1673 R visitStaticFunctionSet(Send node, MethodElement function, Node rhs, A arg) { 1672 R visitStaticFunctionSet(
1673 SendSet node, MethodElement function, Node rhs, A arg) {
1674 return bulkHandleSet(node, arg); 1674 return bulkHandleSet(node, arg);
1675 } 1675 }
1676 1676
1677 @override 1677 @override
1678 R visitStaticGetterSet( 1678 R visitStaticGetterSet(SendSet node, GetterElement getter, Node rhs, A arg) {
1679 SendSet node, FunctionElement getter, Node rhs, A arg) {
1680 return bulkHandleSet(node, arg); 1679 return bulkHandleSet(node, arg);
1681 } 1680 }
1682 1681
1683 @override 1682 @override
1684 R visitSuperGetterSet(SendSet node, FunctionElement getter, Node rhs, A arg) { 1683 R visitSuperGetterSet(SendSet node, GetterElement getter, Node rhs, A arg) {
1685 return bulkHandleSet(node, arg); 1684 return bulkHandleSet(node, arg);
1686 } 1685 }
1687 1686
1688 @override 1687 @override
1689 R visitSuperMethodSet(Send node, MethodElement method, Node rhs, A arg) { 1688 R visitSuperMethodSet(SendSet node, MethodElement method, Node rhs, A arg) {
1690 return bulkHandleSet(node, arg); 1689 return bulkHandleSet(node, arg);
1691 } 1690 }
1692 1691
1693 @override 1692 @override
1694 R visitTopLevelFunctionSet( 1693 R visitTopLevelFunctionSet(
1695 Send node, MethodElement function, Node rhs, A arg) { 1694 SendSet node, MethodElement function, Node rhs, A arg) {
1696 return bulkHandleSet(node, arg); 1695 return bulkHandleSet(node, arg);
1697 } 1696 }
1698 1697
1699 @override 1698 @override
1700 R visitTopLevelGetterSet( 1699 R visitTopLevelGetterSet(
1701 SendSet node, FunctionElement getter, Node rhs, A arg) { 1700 SendSet node, GetterElement getter, Node rhs, A arg) {
1702 return bulkHandleSet(node, arg); 1701 return bulkHandleSet(node, arg);
1703 } 1702 }
1704 1703
1705 @override 1704 @override
1706 R visitTypeVariableTypeLiteralSet( 1705 R visitTypeVariableTypeLiteralSet(
1707 SendSet node, TypeVariableElement element, Node rhs, A arg) { 1706 SendSet node, TypeVariableElement element, Node rhs, A arg) {
1708 return bulkHandleSet(node, arg); 1707 return bulkHandleSet(node, arg);
1709 } 1708 }
1710 1709
1711 @override 1710 @override
1712 R visitTypedefTypeLiteralSet( 1711 R visitTypedefTypeLiteralSet(
1713 SendSet node, ConstantExpression constant, Node rhs, A arg) { 1712 SendSet node, TypeConstantExpression constant, Node rhs, A arg) {
1714 return bulkHandleSet(node, arg); 1713 return bulkHandleSet(node, arg);
1715 } 1714 }
1716 1715
1717 @override 1716 @override
1718 R visitUnresolvedSet(Send node, Element element, Node rhs, A arg) { 1717 R visitUnresolvedSet(SendSet node, Element element, Node rhs, A arg) {
1719 return bulkHandleSet(node, arg); 1718 return bulkHandleSet(node, arg);
1720 } 1719 }
1721 1720
1722 @override 1721 @override
1723 R visitUnresolvedSuperSet(Send node, Element element, Node rhs, A arg) { 1722 R visitUnresolvedSuperSet(Send node, Element element, Node rhs, A arg) {
1724 return bulkHandleSet(node, arg); 1723 return bulkHandleSet(node, arg);
1725 } 1724 }
1726 } 1725 }
1727 1726
1728 /// Mixin that implements all `visitXIndexSet` methods of [SemanticSendVisitor] 1727 /// Mixin that implements all `visitXIndexSet` methods of [SemanticSendVisitor]
(...skipping 14 matching lines...) Expand all
1743 } 1742 }
1744 1743
1745 @override 1744 @override
1746 R visitIndexSet(SendSet node, Node receiver, Node index, Node rhs, A arg) { 1745 R visitIndexSet(SendSet node, Node receiver, Node index, Node rhs, A arg) {
1747 return bulkHandleIndexSet(node, arg); 1746 return bulkHandleIndexSet(node, arg);
1748 } 1747 }
1749 1748
1750 @override 1749 @override
1751 R visitSuperCompoundIndexSet( 1750 R visitSuperCompoundIndexSet(
1752 SendSet node, 1751 SendSet node,
1753 FunctionElement getter, 1752 MethodElement getter,
1754 FunctionElement setter, 1753 MethodElement setter,
1755 Node index, 1754 Node index,
1756 AssignmentOperator operator, 1755 AssignmentOperator operator,
1757 Node rhs, 1756 Node rhs,
1758 A arg) { 1757 A arg) {
1759 return bulkHandleIndexSet(node, arg); 1758 return bulkHandleIndexSet(node, arg);
1760 } 1759 }
1761 1760
1762 @override 1761 @override
1763 R visitUnresolvedSuperGetterCompoundIndexSet( 1762 R visitUnresolvedSuperGetterCompoundIndexSet(
1764 SendSet node, 1763 SendSet node,
(...skipping 25 matching lines...) Expand all
1790 } 1789 }
1791 1790
1792 @override 1791 @override
1793 R visitSuperIndexSet( 1792 R visitSuperIndexSet(
1794 SendSet node, FunctionElement function, Node index, Node rhs, A arg) { 1793 SendSet node, FunctionElement function, Node index, Node rhs, A arg) {
1795 return bulkHandleIndexSet(node, arg); 1794 return bulkHandleIndexSet(node, arg);
1796 } 1795 }
1797 1796
1798 @override 1797 @override
1799 R visitUnresolvedSuperIndexSet( 1798 R visitUnresolvedSuperIndexSet(
1800 SendSet node, Element element, Node index, Node rhs, A arg) { 1799 SendSet node, ErroneousElement element, Node index, Node rhs, A arg) {
1801 return bulkHandleIndexSet(node, arg); 1800 return bulkHandleIndexSet(node, arg);
1802 } 1801 }
1803 } 1802 }
1804 1803
1805 /// Mixin that implements all binary visitor methods in [SemanticSendVisitor] by 1804 /// Mixin that implements all binary visitor methods in [SemanticSendVisitor] by
1806 /// delegating to a bulk handler. 1805 /// delegating to a bulk handler.
1807 /// 1806 ///
1808 /// Use this mixin to provide a trivial implementation for all binary visitor 1807 /// Use this mixin to provide a trivial implementation for all binary visitor
1809 /// methods. 1808 /// methods.
1810 abstract class BinaryBulkMixin<R, A> 1809 abstract class BinaryBulkMixin<R, A>
(...skipping 17 matching lines...) Expand all
1828 R visitNotEquals(Send node, Node left, Node right, A arg) { 1827 R visitNotEquals(Send node, Node left, Node right, A arg) {
1829 return bulkHandleBinary(node, arg); 1828 return bulkHandleBinary(node, arg);
1830 } 1829 }
1831 1830
1832 @override 1831 @override
1833 R visitIndex(Send node, Node receiver, Node index, A arg) { 1832 R visitIndex(Send node, Node receiver, Node index, A arg) {
1834 return bulkHandleBinary(node, arg); 1833 return bulkHandleBinary(node, arg);
1835 } 1834 }
1836 1835
1837 @override 1836 @override
1838 R visitSuperBinary(Send node, FunctionElement function, 1837 R visitSuperBinary(Send node, MethodElement function, BinaryOperator operator,
1839 BinaryOperator operator, Node argument, A arg) { 1838 Node argument, A arg) {
1840 return bulkHandleBinary(node, arg); 1839 return bulkHandleBinary(node, arg);
1841 } 1840 }
1842 1841
1843 @override 1842 @override
1844 R visitSuperEquals( 1843 R visitSuperEquals(Send node, MethodElement function, Node argument, A arg) {
1845 Send node, FunctionElement function, Node argument, A arg) {
1846 return bulkHandleBinary(node, arg); 1844 return bulkHandleBinary(node, arg);
1847 } 1845 }
1848 1846
1849 @override 1847 @override
1850 R visitSuperNotEquals( 1848 R visitSuperNotEquals(
1851 Send node, FunctionElement function, Node argument, A arg) { 1849 Send node, MethodElement function, Node argument, A arg) {
1852 return bulkHandleBinary(node, arg); 1850 return bulkHandleBinary(node, arg);
1853 } 1851 }
1854 1852
1855 @override 1853 @override
1856 R visitSuperIndex(Send node, FunctionElement function, Node index, A arg) { 1854 R visitSuperIndex(Send node, MethodElement function, Node index, A arg) {
1857 return bulkHandleBinary(node, arg); 1855 return bulkHandleBinary(node, arg);
1858 } 1856 }
1859 1857
1860 @override 1858 @override
1861 R visitUnresolvedSuperBinary(Send node, FunctionElement function, 1859 R visitUnresolvedSuperBinary(Send node, Element function,
1862 BinaryOperator operator, Node argument, A arg) { 1860 BinaryOperator operator, Node argument, A arg) {
1863 return bulkHandleBinary(node, arg); 1861 return bulkHandleBinary(node, arg);
1864 } 1862 }
1865 1863
1866 @override 1864 @override
1867 R visitUnresolvedSuperInvoke(Send node, Element function, NodeList arguments, 1865 R visitUnresolvedSuperInvoke(Send node, Element function, NodeList arguments,
1868 Selector selector, A arg) { 1866 Selector selector, A arg) {
1869 return bulkHandleBinary(node, arg); 1867 return bulkHandleBinary(node, arg);
1870 } 1868 }
1871 1869
1872 @override 1870 @override
1873 R visitUnresolvedSuperIndex( 1871 R visitUnresolvedSuperIndex(Send node, Element function, Node index, A arg) {
1874 Send node, FunctionElement function, Node index, A arg) {
1875 return bulkHandleBinary(node, arg); 1872 return bulkHandleBinary(node, arg);
1876 } 1873 }
1877 } 1874 }
1878 1875
1879 /// Mixin that implements all unary visitor methods in [SemanticSendVisitor] by 1876 /// Mixin that implements all unary visitor methods in [SemanticSendVisitor] by
1880 /// delegating to a bulk handler. 1877 /// delegating to a bulk handler.
1881 /// 1878 ///
1882 /// Use this mixin to provide a trivial implementation for all unary visitor 1879 /// Use this mixin to provide a trivial implementation for all unary visitor
1883 /// methods. 1880 /// methods.
1884 abstract class UnaryBulkMixin<R, A> 1881 abstract class UnaryBulkMixin<R, A>
1885 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> { 1882 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> {
1886 R bulkHandleUnary(Send node, A arg) { 1883 R bulkHandleUnary(Send node, A arg) {
1887 return bulkHandleNode(node, "Unary expression `#` unhandled.", arg); 1884 return bulkHandleNode(node, "Unary expression `#` unhandled.", arg);
1888 } 1885 }
1889 1886
1890 @override 1887 @override
1891 R visitNot(Send node, Node expression, A arg) { 1888 R visitNot(Send node, Node expression, A arg) {
1892 return bulkHandleUnary(node, arg); 1889 return bulkHandleUnary(node, arg);
1893 } 1890 }
1894 1891
1895 @override 1892 @override
1896 R visitSuperUnary( 1893 R visitSuperUnary(
1897 Send node, UnaryOperator operator, FunctionElement function, A arg) { 1894 Send node, UnaryOperator operator, MethodElement function, A arg) {
1898 return bulkHandleUnary(node, arg); 1895 return bulkHandleUnary(node, arg);
1899 } 1896 }
1900 1897
1901 @override 1898 @override
1902 R visitUnary(Send node, UnaryOperator operator, Node expression, A arg) { 1899 R visitUnary(Send node, UnaryOperator operator, Node expression, A arg) {
1903 return bulkHandleUnary(node, arg); 1900 return bulkHandleUnary(node, arg);
1904 } 1901 }
1905 1902
1906 @override 1903 @override
1907 R visitUnresolvedSuperUnary( 1904 R visitUnresolvedSuperUnary(
1908 Send node, UnaryOperator operator, FunctionElement function, A arg) { 1905 Send node, UnaryOperator operator, Element function, A arg) {
1909 return bulkHandleUnary(node, arg); 1906 return bulkHandleUnary(node, arg);
1910 } 1907 }
1911 } 1908 }
1912 1909
1913 /// Mixin that implements all purely structural visitor methods in 1910 /// Mixin that implements all purely structural visitor methods in
1914 /// [SemanticSendVisitor] by delegating to a bulk handler. 1911 /// [SemanticSendVisitor] by delegating to a bulk handler.
1915 /// 1912 ///
1916 /// Use this mixin to provide a trivial implementation for all purely structural 1913 /// Use this mixin to provide a trivial implementation for all purely structural
1917 /// visitor methods. 1914 /// visitor methods.
1918 abstract class BaseBulkMixin<R, A> 1915 abstract class BaseBulkMixin<R, A>
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1958 /// 1955 ///
1959 /// Use this mixin to provide a trivial implementation for `super` calls 1956 /// Use this mixin to provide a trivial implementation for `super` calls
1960 /// visitor methods. 1957 /// visitor methods.
1961 abstract class SuperBulkMixin<R, A> 1958 abstract class SuperBulkMixin<R, A>
1962 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> { 1959 implements SemanticSendVisitor<R, A>, BulkHandle<R, A> {
1963 R bulkHandleSuper(Send node, A arg) { 1960 R bulkHandleSuper(Send node, A arg) {
1964 return bulkHandleNode(node, "Super call `#` unhandled.", arg); 1961 return bulkHandleNode(node, "Super call `#` unhandled.", arg);
1965 } 1962 }
1966 1963
1967 @override 1964 @override
1968 R visitSuperBinary(Send node, FunctionElement function, 1965 R visitSuperBinary(Send node, MethodElement function, BinaryOperator operator,
1969 BinaryOperator operator, Node argument, A arg) { 1966 Node argument, A arg) {
1970 return bulkHandleSuper(node, arg); 1967 return bulkHandleSuper(node, arg);
1971 } 1968 }
1972 1969
1973 @override 1970 @override
1974 R visitSuperCompoundIndexSet( 1971 R visitSuperCompoundIndexSet(
1975 SendSet node, 1972 SendSet node,
1976 FunctionElement getter, 1973 MethodElement getter,
1977 FunctionElement setter, 1974 MethodElement setter,
1978 Node index, 1975 Node index,
1979 AssignmentOperator operator, 1976 AssignmentOperator operator,
1980 Node rhs, 1977 Node rhs,
1981 A arg) { 1978 A arg) {
1982 return bulkHandleSuper(node, arg); 1979 return bulkHandleSuper(node, arg);
1983 } 1980 }
1984 1981
1985 @override 1982 @override
1986 R visitSuperEquals( 1983 R visitSuperEquals(Send node, MethodElement function, Node argument, A arg) {
1987 Send node, FunctionElement function, Node argument, A arg) {
1988 return bulkHandleSuper(node, arg); 1984 return bulkHandleSuper(node, arg);
1989 } 1985 }
1990 1986
1991 @override 1987 @override
1992 R visitSuperFieldCompound(Send node, FieldElement field, 1988 R visitSuperFieldCompound(Send node, FieldElement field,
1993 AssignmentOperator operator, Node rhs, A arg) { 1989 AssignmentOperator operator, Node rhs, A arg) {
1994 return bulkHandleSuper(node, arg); 1990 return bulkHandleSuper(node, arg);
1995 } 1991 }
1996 1992
1997 @override 1993 @override
1998 R visitSuperFieldFieldPostfix(Send node, FieldElement readField, 1994 R visitSuperFieldFieldPostfix(SendSet node, FieldElement readField,
1999 FieldElement writtenField, IncDecOperator operator, A arg) { 1995 FieldElement writtenField, IncDecOperator operator, A arg) {
2000 return bulkHandleSuper(node, arg); 1996 return bulkHandleSuper(node, arg);
2001 } 1997 }
2002 1998
2003 @override 1999 @override
2004 R visitSuperFieldFieldPrefix(Send node, FieldElement readField, 2000 R visitSuperFieldFieldPrefix(SendSet node, FieldElement readField,
2005 FieldElement writtenField, IncDecOperator operator, A arg) { 2001 FieldElement writtenField, IncDecOperator operator, A arg) {
2006 return bulkHandleSuper(node, arg); 2002 return bulkHandleSuper(node, arg);
2007 } 2003 }
2008 2004
2009 @override 2005 @override
2010 R visitSuperFieldGet(Send node, FieldElement field, A arg) { 2006 R visitSuperFieldGet(Send node, FieldElement field, A arg) {
2011 return bulkHandleSuper(node, arg); 2007 return bulkHandleSuper(node, arg);
2012 } 2008 }
2013 2009
2014 @override 2010 @override
2015 R visitSuperFieldInvoke(Send node, FieldElement field, NodeList arguments, 2011 R visitSuperFieldInvoke(Send node, FieldElement field, NodeList arguments,
2016 CallStructure callStructure, A arg) { 2012 CallStructure callStructure, A arg) {
2017 return bulkHandleSuper(node, arg); 2013 return bulkHandleSuper(node, arg);
2018 } 2014 }
2019 2015
2020 @override 2016 @override
2021 R visitSuperFieldPostfix( 2017 R visitSuperFieldPostfix(
2022 Send node, FieldElement field, IncDecOperator operator, A arg) { 2018 SendSet node, FieldElement field, IncDecOperator operator, A arg) {
2023 return bulkHandleSuper(node, arg); 2019 return bulkHandleSuper(node, arg);
2024 } 2020 }
2025 2021
2026 @override 2022 @override
2027 R visitSuperFieldPrefix( 2023 R visitSuperFieldPrefix(
2028 Send node, FieldElement field, IncDecOperator operator, A arg) { 2024 SendSet node, FieldElement field, IncDecOperator operator, A arg) {
2029 return bulkHandleSuper(node, arg); 2025 return bulkHandleSuper(node, arg);
2030 } 2026 }
2031 2027
2032 @override 2028 @override
2033 R visitSuperFieldSet(SendSet node, FieldElement field, Node rhs, A arg) { 2029 R visitSuperFieldSet(SendSet node, FieldElement field, Node rhs, A arg) {
2034 return bulkHandleSuper(node, arg); 2030 return bulkHandleSuper(node, arg);
2035 } 2031 }
2036 2032
2037 @override 2033 @override
2038 R visitSuperFieldSetterCompound(Send node, FieldElement field, 2034 R visitSuperFieldSetterCompound(Send node, FieldElement field,
2039 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 2035 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
2040 return bulkHandleSuper(node, arg); 2036 return bulkHandleSuper(node, arg);
2041 } 2037 }
2042 2038
2043 @override 2039 @override
2044 R visitSuperFieldSetterPostfix(Send node, FieldElement field, 2040 R visitSuperFieldSetterPostfix(SendSet node, FieldElement field,
2045 FunctionElement setter, IncDecOperator operator, A arg) { 2041 SetterElement setter, IncDecOperator operator, A arg) {
2046 return bulkHandleSuper(node, arg); 2042 return bulkHandleSuper(node, arg);
2047 } 2043 }
2048 2044
2049 @override 2045 @override
2050 R visitSuperFieldSetterPrefix(Send node, FieldElement field, 2046 R visitSuperFieldSetterPrefix(SendSet node, FieldElement field,
2051 FunctionElement setter, IncDecOperator operator, A arg) { 2047 SetterElement setter, IncDecOperator operator, A arg) {
2052 return bulkHandleSuper(node, arg); 2048 return bulkHandleSuper(node, arg);
2053 } 2049 }
2054 2050
2055 @override 2051 @override
2056 R visitSuperGetterFieldCompound(Send node, FunctionElement getter, 2052 R visitSuperGetterFieldCompound(Send node, GetterElement getter,
2057 FieldElement field, AssignmentOperator operator, Node rhs, A arg) { 2053 FieldElement field, AssignmentOperator operator, Node rhs, A arg) {
2058 return bulkHandleSuper(node, arg); 2054 return bulkHandleSuper(node, arg);
2059 } 2055 }
2060 2056
2061 @override 2057 @override
2062 R visitSuperGetterFieldPostfix(Send node, FunctionElement getter, 2058 R visitSuperGetterFieldPostfix(SendSet node, GetterElement getter,
2063 FieldElement field, IncDecOperator operator, A arg) { 2059 FieldElement field, IncDecOperator operator, A arg) {
2064 return bulkHandleSuper(node, arg); 2060 return bulkHandleSuper(node, arg);
2065 } 2061 }
2066 2062
2067 @override 2063 @override
2068 R visitSuperGetterFieldPrefix(Send node, FunctionElement getter, 2064 R visitSuperGetterFieldPrefix(SendSet node, GetterElement getter,
2069 FieldElement field, IncDecOperator operator, A arg) { 2065 FieldElement field, IncDecOperator operator, A arg) {
2070 return bulkHandleSuper(node, arg); 2066 return bulkHandleSuper(node, arg);
2071 } 2067 }
2072 2068
2073 @override 2069 @override
2074 R visitSuperGetterGet(Send node, FunctionElement getter, A arg) { 2070 R visitSuperGetterGet(Send node, GetterElement getter, A arg) {
2075 return bulkHandleSuper(node, arg); 2071 return bulkHandleSuper(node, arg);
2076 } 2072 }
2077 2073
2078 @override 2074 @override
2079 R visitSuperGetterInvoke(Send node, FunctionElement getter, 2075 R visitSuperGetterInvoke(Send node, GetterElement getter, NodeList arguments,
2080 NodeList arguments, CallStructure callStructure, A arg) { 2076 CallStructure callStructure, A arg) {
2081 return bulkHandleSuper(node, arg); 2077 return bulkHandleSuper(node, arg);
2082 } 2078 }
2083 2079
2084 @override 2080 @override
2085 R visitSuperGetterSetterCompound(Send node, FunctionElement getter, 2081 R visitSuperGetterSetterCompound(Send node, GetterElement getter,
2086 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 2082 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
2087 return bulkHandleSuper(node, arg); 2083 return bulkHandleSuper(node, arg);
2088 } 2084 }
2089 2085
2090 @override 2086 @override
2091 R visitSuperGetterSetterPostfix(Send node, FunctionElement getter, 2087 R visitSuperGetterSetterPostfix(SendSet node, GetterElement getter,
2092 FunctionElement setter, IncDecOperator operator, A arg) { 2088 SetterElement setter, IncDecOperator operator, A arg) {
2093 return bulkHandleSuper(node, arg); 2089 return bulkHandleSuper(node, arg);
2094 } 2090 }
2095 2091
2096 @override 2092 @override
2097 R visitSuperGetterSetterPrefix(Send node, FunctionElement getter, 2093 R visitSuperGetterSetterPrefix(SendSet node, GetterElement getter,
2098 FunctionElement setter, IncDecOperator operator, A arg) { 2094 SetterElement setter, IncDecOperator operator, A arg) {
2099 return bulkHandleSuper(node, arg); 2095 return bulkHandleSuper(node, arg);
2100 } 2096 }
2101 2097
2102 @override 2098 @override
2103 R visitSuperIndexSet( 2099 R visitSuperIndexSet(
2104 SendSet node, FunctionElement function, Node index, Node rhs, A arg) { 2100 SendSet node, FunctionElement function, Node index, Node rhs, A arg) {
2105 return bulkHandleSuper(node, arg); 2101 return bulkHandleSuper(node, arg);
2106 } 2102 }
2107 2103
2108 @override 2104 @override
2109 R visitSuperMethodGet(Send node, MethodElement method, A arg) { 2105 R visitSuperMethodGet(Send node, MethodElement method, A arg) {
2110 return bulkHandleSuper(node, arg); 2106 return bulkHandleSuper(node, arg);
2111 } 2107 }
2112 2108
2113 @override 2109 @override
2114 R visitSuperMethodInvoke(Send node, MethodElement method, NodeList arguments, 2110 R visitSuperMethodInvoke(Send node, MethodElement method, NodeList arguments,
2115 CallStructure callStructure, A arg) { 2111 CallStructure callStructure, A arg) {
2116 return bulkHandleSuper(node, arg); 2112 return bulkHandleSuper(node, arg);
2117 } 2113 }
2118 2114
2119 @override 2115 @override
2120 R visitSuperMethodIncompatibleInvoke(Send node, MethodElement method, 2116 R visitSuperMethodIncompatibleInvoke(Send node, MethodElement method,
2121 NodeList arguments, CallStructure callStructure, A arg) { 2117 NodeList arguments, CallStructure callStructure, A arg) {
2122 return bulkHandleSuper(node, arg); 2118 return bulkHandleSuper(node, arg);
2123 } 2119 }
2124 2120
2125 @override 2121 @override
2126 R visitSuperMethodSetterCompound(Send node, FunctionElement method, 2122 R visitSuperMethodSetterCompound(Send node, FunctionElement method,
2127 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 2123 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
2128 return bulkHandleSuper(node, arg); 2124 return bulkHandleSuper(node, arg);
2129 } 2125 }
2130 2126
2131 @override 2127 @override
2132 R visitSuperMethodSetterPostfix(Send node, FunctionElement method, 2128 R visitSuperMethodSetterPostfix(SendSet node, FunctionElement method,
2133 FunctionElement setter, IncDecOperator operator, A arg) { 2129 SetterElement setter, IncDecOperator operator, A arg) {
2134 return bulkHandleSuper(node, arg); 2130 return bulkHandleSuper(node, arg);
2135 } 2131 }
2136 2132
2137 @override 2133 @override
2138 R visitSuperMethodSetterPrefix(Send node, FunctionElement method, 2134 R visitSuperMethodSetterPrefix(SendSet node, FunctionElement method,
2139 FunctionElement setter, IncDecOperator operator, A arg) { 2135 SetterElement setter, IncDecOperator operator, A arg) {
2140 return bulkHandleSuper(node, arg); 2136 return bulkHandleSuper(node, arg);
2141 } 2137 }
2142 2138
2143 @override 2139 @override
2144 R visitSuperNotEquals( 2140 R visitSuperNotEquals(
2145 Send node, FunctionElement function, Node argument, A arg) { 2141 Send node, MethodElement function, Node argument, A arg) {
2146 return bulkHandleSuper(node, arg); 2142 return bulkHandleSuper(node, arg);
2147 } 2143 }
2148 2144
2149 @override 2145 @override
2150 R visitSuperSetterSet(SendSet node, FunctionElement setter, Node rhs, A arg) { 2146 R visitSuperSetterSet(SendSet node, SetterElement setter, Node rhs, A arg) {
2151 return bulkHandleSuper(node, arg); 2147 return bulkHandleSuper(node, arg);
2152 } 2148 }
2153 2149
2154 @override 2150 @override
2155 R visitSuperUnary( 2151 R visitSuperUnary(
2156 Send node, UnaryOperator operator, FunctionElement function, A arg) { 2152 Send node, UnaryOperator operator, MethodElement function, A arg) {
2157 return bulkHandleSuper(node, arg); 2153 return bulkHandleSuper(node, arg);
2158 } 2154 }
2159 2155
2160 @override 2156 @override
2161 R visitUnresolvedSuperBinary(Send node, Element element, 2157 R visitUnresolvedSuperBinary(Send node, Element element,
2162 BinaryOperator operator, Node argument, A arg) { 2158 BinaryOperator operator, Node argument, A arg) {
2163 return bulkHandleSuper(node, arg); 2159 return bulkHandleSuper(node, arg);
2164 } 2160 }
2165 2161
2166 @override 2162 @override
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
2527 /// 2523 ///
2528 /// Use this mixin to provide a trivial implementation for these methods. 2524 /// Use this mixin to provide a trivial implementation for these methods.
2529 abstract class FunctionBulkMixin<R, A> 2525 abstract class FunctionBulkMixin<R, A>
2530 implements SemanticDeclarationVisitor<R, A>, BulkHandle<R, A> { 2526 implements SemanticDeclarationVisitor<R, A>, BulkHandle<R, A> {
2531 R bulkHandleFunctionDeclaration(FunctionExpression node, A arg) { 2527 R bulkHandleFunctionDeclaration(FunctionExpression node, A arg) {
2532 return bulkHandleNode(node, "Function declaration `#` unhandled.", arg); 2528 return bulkHandleNode(node, "Function declaration `#` unhandled.", arg);
2533 } 2529 }
2534 2530
2535 @override 2531 @override
2536 R visitAbstractGetterDeclaration( 2532 R visitAbstractGetterDeclaration(
2537 FunctionExpression node, MethodElement getter, A arg) { 2533 FunctionExpression node, GetterElement getter, A arg) {
2538 return bulkHandleFunctionDeclaration(node, arg); 2534 return bulkHandleFunctionDeclaration(node, arg);
2539 } 2535 }
2540 2536
2541 @override 2537 @override
2542 R visitAbstractMethodDeclaration(FunctionExpression node, 2538 R visitAbstractMethodDeclaration(FunctionExpression node,
2543 MethodElement method, NodeList parameters, A arg) { 2539 MethodElement method, NodeList parameters, A arg) {
2544 return bulkHandleFunctionDeclaration(node, arg); 2540 return bulkHandleFunctionDeclaration(node, arg);
2545 } 2541 }
2546 2542
2547 @override 2543 @override
2548 R visitAbstractSetterDeclaration(FunctionExpression node, 2544 R visitAbstractSetterDeclaration(FunctionExpression node,
2549 MethodElement setter, NodeList parameters, A arg) { 2545 MethodElement setter, NodeList parameters, A arg) {
2550 return bulkHandleFunctionDeclaration(node, arg); 2546 return bulkHandleFunctionDeclaration(node, arg);
2551 } 2547 }
2552 2548
2553 @override 2549 @override
2554 R visitClosureDeclaration(FunctionExpression node, 2550 R visitClosureDeclaration(FunctionExpression node,
2555 LocalFunctionElement closure, NodeList parameters, Node body, A arg) { 2551 LocalFunctionElement closure, NodeList parameters, Node body, A arg) {
2556 return bulkHandleFunctionDeclaration(node, arg); 2552 return bulkHandleFunctionDeclaration(node, arg);
2557 } 2553 }
2558 2554
2559 @override 2555 @override
2560 R visitInstanceGetterDeclaration( 2556 R visitInstanceGetterDeclaration(
2561 FunctionExpression node, MethodElement getter, Node body, A arg) { 2557 FunctionExpression node, GetterElement getter, Node body, A arg) {
2562 return bulkHandleFunctionDeclaration(node, arg); 2558 return bulkHandleFunctionDeclaration(node, arg);
2563 } 2559 }
2564 2560
2565 @override 2561 @override
2566 R visitInstanceMethodDeclaration(FunctionExpression node, 2562 R visitInstanceMethodDeclaration(FunctionExpression node,
2567 MethodElement method, NodeList parameters, Node body, A arg) { 2563 MethodElement method, NodeList parameters, Node body, A arg) {
2568 return bulkHandleFunctionDeclaration(node, arg); 2564 return bulkHandleFunctionDeclaration(node, arg);
2569 } 2565 }
2570 2566
2571 @override 2567 @override
2572 R visitInstanceSetterDeclaration(FunctionExpression node, 2568 R visitInstanceSetterDeclaration(FunctionExpression node,
2573 MethodElement setter, NodeList parameters, Node body, A arg) { 2569 MethodElement setter, NodeList parameters, Node body, A arg) {
2574 return bulkHandleFunctionDeclaration(node, arg); 2570 return bulkHandleFunctionDeclaration(node, arg);
2575 } 2571 }
2576 2572
2577 @override 2573 @override
2578 R visitLocalFunctionDeclaration(FunctionExpression node, 2574 R visitLocalFunctionDeclaration(FunctionExpression node,
2579 LocalFunctionElement function, NodeList parameters, Node body, A arg) { 2575 LocalFunctionElement function, NodeList parameters, Node body, A arg) {
2580 return bulkHandleFunctionDeclaration(node, arg); 2576 return bulkHandleFunctionDeclaration(node, arg);
2581 } 2577 }
2582 2578
2583 @override 2579 @override
2584 R visitStaticFunctionDeclaration(FunctionExpression node, 2580 R visitStaticFunctionDeclaration(FunctionExpression node,
2585 MethodElement function, NodeList parameters, Node body, A arg) { 2581 MethodElement function, NodeList parameters, Node body, A arg) {
2586 return bulkHandleFunctionDeclaration(node, arg); 2582 return bulkHandleFunctionDeclaration(node, arg);
2587 } 2583 }
2588 2584
2589 @override 2585 @override
2590 R visitStaticGetterDeclaration( 2586 R visitStaticGetterDeclaration(
2591 FunctionExpression node, MethodElement getter, Node body, A arg) { 2587 FunctionExpression node, GetterElement getter, Node body, A arg) {
2592 return bulkHandleFunctionDeclaration(node, arg); 2588 return bulkHandleFunctionDeclaration(node, arg);
2593 } 2589 }
2594 2590
2595 @override 2591 @override
2596 R visitStaticSetterDeclaration(FunctionExpression node, MethodElement setter, 2592 R visitStaticSetterDeclaration(FunctionExpression node, MethodElement setter,
2597 NodeList parameters, Node body, A arg) { 2593 NodeList parameters, Node body, A arg) {
2598 return bulkHandleFunctionDeclaration(node, arg); 2594 return bulkHandleFunctionDeclaration(node, arg);
2599 } 2595 }
2600 2596
2601 @override 2597 @override
2602 R visitTopLevelFunctionDeclaration(FunctionExpression node, 2598 R visitTopLevelFunctionDeclaration(FunctionExpression node,
2603 MethodElement function, NodeList parameters, Node body, A arg) { 2599 MethodElement function, NodeList parameters, Node body, A arg) {
2604 return bulkHandleFunctionDeclaration(node, arg); 2600 return bulkHandleFunctionDeclaration(node, arg);
2605 } 2601 }
2606 2602
2607 @override 2603 @override
2608 R visitTopLevelGetterDeclaration( 2604 R visitTopLevelGetterDeclaration(
2609 FunctionExpression node, MethodElement getter, Node body, A arg) { 2605 FunctionExpression node, GetterElement getter, Node body, A arg) {
2610 return bulkHandleFunctionDeclaration(node, arg); 2606 return bulkHandleFunctionDeclaration(node, arg);
2611 } 2607 }
2612 2608
2613 @override 2609 @override
2614 R visitTopLevelSetterDeclaration(FunctionExpression node, 2610 R visitTopLevelSetterDeclaration(FunctionExpression node,
2615 MethodElement setter, NodeList parameters, Node body, A arg) { 2611 MethodElement setter, NodeList parameters, Node body, A arg) {
2616 return bulkHandleFunctionDeclaration(node, arg); 2612 return bulkHandleFunctionDeclaration(node, arg);
2617 } 2613 }
2618 } 2614 }
2619 2615
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
2811 2807
2812 @override 2808 @override
2813 R errorInvalidIndexPostfix(Send node, ErroneousElement error, Node index, 2809 R errorInvalidIndexPostfix(Send node, ErroneousElement error, Node index,
2814 IncDecOperator operator, A arg) { 2810 IncDecOperator operator, A arg) {
2815 apply(index, arg); 2811 apply(index, arg);
2816 return null; 2812 return null;
2817 } 2813 }
2818 2814
2819 @override 2815 @override
2820 R visitClassTypeLiteralSet( 2816 R visitClassTypeLiteralSet(
2821 SendSet node, ConstantExpression constant, Node rhs, A arg) { 2817 SendSet node, TypeConstantExpression constant, Node rhs, A arg) {
2822 apply(rhs, arg); 2818 apply(rhs, arg);
2823 return null; 2819 return null;
2824 } 2820 }
2825 2821
2826 @override 2822 @override
2827 R visitDynamicTypeLiteralSet( 2823 R visitDynamicTypeLiteralSet(
2828 SendSet node, ConstantExpression constant, Node rhs, A arg) { 2824 SendSet node, TypeConstantExpression constant, Node rhs, A arg) {
2829 apply(rhs, arg); 2825 apply(rhs, arg);
2830 return null; 2826 return null;
2831 } 2827 }
2832 2828
2833 @override 2829 @override
2834 R visitFinalLocalVariableCompound(Send node, LocalVariableElement variable, 2830 R visitFinalLocalVariableCompound(Send node, LocalVariableElement variable,
2835 AssignmentOperator operator, Node rhs, A arg) { 2831 AssignmentOperator operator, Node rhs, A arg) {
2836 apply(rhs, arg); 2832 apply(rhs, arg);
2837 return null; 2833 return null;
2838 } 2834 }
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
2912 } 2908 }
2913 2909
2914 @override 2910 @override
2915 R visitLocalFunctionSet( 2911 R visitLocalFunctionSet(
2916 SendSet node, LocalFunctionElement function, Node rhs, A arg) { 2912 SendSet node, LocalFunctionElement function, Node rhs, A arg) {
2917 apply(rhs, arg); 2913 apply(rhs, arg);
2918 return null; 2914 return null;
2919 } 2915 }
2920 2916
2921 @override 2917 @override
2922 R visitStaticFunctionSet(Send node, MethodElement function, Node rhs, A arg) { 2918 R visitStaticFunctionSet(
2919 SendSet node, MethodElement function, Node rhs, A arg) {
2923 apply(rhs, arg); 2920 apply(rhs, arg);
2924 return null; 2921 return null;
2925 } 2922 }
2926 2923
2927 @override 2924 @override
2928 R visitStaticGetterSet( 2925 R visitStaticGetterSet(SendSet node, GetterElement getter, Node rhs, A arg) {
2929 SendSet node, FunctionElement getter, Node rhs, A arg) {
2930 apply(rhs, arg); 2926 apply(rhs, arg);
2931 return null; 2927 return null;
2932 } 2928 }
2933 2929
2934 @override 2930 @override
2935 R visitStaticSetterGet(Send node, FunctionElement setter, A arg) { 2931 R visitStaticSetterGet(Send node, SetterElement setter, A arg) {
2936 return null; 2932 return null;
2937 } 2933 }
2938 2934
2939 @override 2935 @override
2940 R visitStaticSetterInvoke(Send node, FunctionElement setter, 2936 R visitStaticSetterInvoke(Send node, SetterElement setter, NodeList arguments,
2941 NodeList arguments, CallStructure callStructure, A arg) { 2937 CallStructure callStructure, A arg) {
2942 apply(arguments, arg); 2938 apply(arguments, arg);
2943 return null; 2939 return null;
2944 } 2940 }
2945 2941
2946 @override 2942 @override
2947 R visitSuperGetterSet(SendSet node, FunctionElement getter, Node rhs, A arg) { 2943 R visitSuperGetterSet(SendSet node, GetterElement getter, Node rhs, A arg) {
2948 apply(rhs, arg); 2944 apply(rhs, arg);
2949 return null; 2945 return null;
2950 } 2946 }
2951 2947
2952 @override 2948 @override
2953 R visitSuperMethodSet(Send node, MethodElement method, Node rhs, A arg) { 2949 R visitSuperMethodSet(SendSet node, MethodElement method, Node rhs, A arg) {
2954 apply(rhs, arg); 2950 apply(rhs, arg);
2955 return null; 2951 return null;
2956 } 2952 }
2957 2953
2958 @override 2954 @override
2959 R visitSuperSetterGet(Send node, FunctionElement setter, A arg) { 2955 R visitSuperSetterGet(Send node, SetterElement setter, A arg) {
2960 return null; 2956 return null;
2961 } 2957 }
2962 2958
2963 @override 2959 @override
2964 R visitSuperSetterInvoke(Send node, FunctionElement setter, 2960 R visitSuperSetterInvoke(Send node, SetterElement setter, NodeList arguments,
2965 NodeList arguments, CallStructure callStructure, A arg) { 2961 CallStructure callStructure, A arg) {
2966 apply(arguments, arg); 2962 apply(arguments, arg);
2967 return null; 2963 return null;
2968 } 2964 }
2969 2965
2970 @override 2966 @override
2971 R visitTopLevelFunctionSet( 2967 R visitTopLevelFunctionSet(
2972 Send node, MethodElement function, Node rhs, A arg) { 2968 SendSet node, MethodElement function, Node rhs, A arg) {
2973 apply(rhs, arg); 2969 apply(rhs, arg);
2974 return null; 2970 return null;
2975 } 2971 }
2976 2972
2977 @override 2973 @override
2978 R visitTopLevelGetterSet( 2974 R visitTopLevelGetterSet(
2979 SendSet node, FunctionElement getter, Node rhs, A arg) { 2975 SendSet node, GetterElement getter, Node rhs, A arg) {
2980 apply(rhs, arg); 2976 apply(rhs, arg);
2981 return null; 2977 return null;
2982 } 2978 }
2983 2979
2984 @override 2980 @override
2985 R visitTopLevelSetterGet(Send node, FunctionElement setter, A arg) { 2981 R visitTopLevelSetterGet(Send node, SetterElement setter, A arg) {
2986 return null; 2982 return null;
2987 } 2983 }
2988 2984
2989 @override 2985 @override
2990 R visitTopLevelSetterInvoke(Send node, FunctionElement setter, 2986 R visitTopLevelSetterInvoke(Send node, SetterElement setter,
2991 NodeList arguments, CallStructure callStructure, A arg) { 2987 NodeList arguments, CallStructure callStructure, A arg) {
2992 apply(arguments, arg); 2988 apply(arguments, arg);
2993 return null; 2989 return null;
2994 } 2990 }
2995 2991
2996 @override 2992 @override
2997 R visitTypeVariableTypeLiteralSet( 2993 R visitTypeVariableTypeLiteralSet(
2998 SendSet node, TypeVariableElement element, Node rhs, A arg) { 2994 SendSet node, TypeVariableElement element, Node rhs, A arg) {
2999 apply(rhs, arg); 2995 apply(rhs, arg);
3000 return null; 2996 return null;
3001 } 2997 }
3002 2998
3003 @override 2999 @override
3004 R visitTypedefTypeLiteralSet( 3000 R visitTypedefTypeLiteralSet(
3005 SendSet node, ConstantExpression constant, Node rhs, A arg) { 3001 SendSet node, TypeConstantExpression constant, Node rhs, A arg) {
3006 apply(rhs, arg); 3002 apply(rhs, arg);
3007 return null; 3003 return null;
3008 } 3004 }
3009 3005
3010 @override 3006 @override
3011 R visitUnresolvedSuperIndex(Send node, Element function, Node index, A arg) { 3007 R visitUnresolvedSuperIndex(Send node, Element function, Node index, A arg) {
3012 apply(index, arg); 3008 apply(index, arg);
3013 return null; 3009 return null;
3014 } 3010 }
3015 3011
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after
3442 } 3438 }
3443 3439
3444 @override 3440 @override
3445 R visitStaticFunctionIncompatibleInvoke(Send node, MethodElement function, 3441 R visitStaticFunctionIncompatibleInvoke(Send node, MethodElement function,
3446 NodeList arguments, CallStructure callStructure, A arg) { 3442 NodeList arguments, CallStructure callStructure, A arg) {
3447 apply(arguments, arg); 3443 apply(arguments, arg);
3448 return null; 3444 return null;
3449 } 3445 }
3450 3446
3451 @override 3447 @override
3452 R visitStaticGetterGet(Send node, FunctionElement getter, A arg) { 3448 R visitStaticGetterGet(Send node, GetterElement getter, A arg) {
3453 return null; 3449 return null;
3454 } 3450 }
3455 3451
3456 @override 3452 @override
3457 R visitStaticGetterInvoke(Send node, FunctionElement getter, 3453 R visitStaticGetterInvoke(Send node, GetterElement getter, NodeList arguments,
3458 NodeList arguments, CallStructure callStructure, A arg) { 3454 CallStructure callStructure, A arg) {
3459 apply(arguments, arg); 3455 apply(arguments, arg);
3460 return null; 3456 return null;
3461 } 3457 }
3462 3458
3463 @override 3459 @override
3464 R visitStaticGetterSetterCompound(Send node, FunctionElement getter, 3460 R visitStaticGetterSetterCompound(Send node, GetterElement getter,
3465 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 3461 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
3466 apply(rhs, arg); 3462 apply(rhs, arg);
3467 return null; 3463 return null;
3468 } 3464 }
3469 3465
3470 @override 3466 @override
3471 R visitStaticGetterSetterPostfix(Send node, FunctionElement getter, 3467 R visitStaticGetterSetterPostfix(Send node, GetterElement getter,
3472 FunctionElement setter, IncDecOperator operator, A arg) { 3468 SetterElement setter, IncDecOperator operator, A arg) {
3473 return null; 3469 return null;
3474 } 3470 }
3475 3471
3476 @override 3472 @override
3477 R visitStaticGetterSetterPrefix(Send node, FunctionElement getter, 3473 R visitStaticGetterSetterPrefix(Send node, GetterElement getter,
3478 FunctionElement setter, IncDecOperator operator, A arg) { 3474 SetterElement setter, IncDecOperator operator, A arg) {
3479 return null; 3475 return null;
3480 } 3476 }
3481 3477
3482 @override 3478 @override
3483 R visitStaticMethodSetterCompound(Send node, FunctionElement method, 3479 R visitStaticMethodSetterCompound(Send node, FunctionElement method,
3484 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 3480 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
3485 apply(rhs, arg); 3481 apply(rhs, arg);
3486 return null; 3482 return null;
3487 } 3483 }
3488 3484
3489 @override 3485 @override
3490 R visitStaticMethodSetterPostfix(Send node, FunctionElement getter, 3486 R visitStaticMethodSetterPostfix(Send node, GetterElement getter,
3491 FunctionElement setter, IncDecOperator operator, A arg) { 3487 SetterElement setter, IncDecOperator operator, A arg) {
3492 return null; 3488 return null;
3493 } 3489 }
3494 3490
3495 @override 3491 @override
3496 R visitStaticMethodSetterPrefix(Send node, FunctionElement getter, 3492 R visitStaticMethodSetterPrefix(Send node, GetterElement getter,
3497 FunctionElement setter, IncDecOperator operator, A arg) { 3493 SetterElement setter, IncDecOperator operator, A arg) {
3498 return null; 3494 return null;
3499 } 3495 }
3500 3496
3501 @override 3497 @override
3502 R visitStaticSetterSet( 3498 R visitStaticSetterSet(SendSet node, SetterElement setter, Node rhs, A arg) {
3503 SendSet node, FunctionElement setter, Node rhs, A arg) {
3504 apply(rhs, arg); 3499 apply(rhs, arg);
3505 return null; 3500 return null;
3506 } 3501 }
3507 3502
3508 @override 3503 @override
3509 R visitSuperBinary(Send node, FunctionElement function, 3504 R visitSuperBinary(Send node, MethodElement function, BinaryOperator operator,
3510 BinaryOperator operator, Node argument, A arg) { 3505 Node argument, A arg) {
3511 apply(argument, arg); 3506 apply(argument, arg);
3512 return null; 3507 return null;
3513 } 3508 }
3514 3509
3515 @override 3510 @override
3516 R visitSuperCompoundIndexSet( 3511 R visitSuperCompoundIndexSet(
3517 SendSet node, 3512 SendSet node,
3518 FunctionElement getter, 3513 MethodElement getter,
3519 FunctionElement setter, 3514 MethodElement setter,
3520 Node index, 3515 Node index,
3521 AssignmentOperator operator, 3516 AssignmentOperator operator,
3522 Node rhs, 3517 Node rhs,
3523 A arg) { 3518 A arg) {
3524 apply(rhs, arg); 3519 apply(rhs, arg);
3525 return null; 3520 return null;
3526 } 3521 }
3527 3522
3528 @override 3523 @override
3529 R visitSuperEquals( 3524 R visitSuperEquals(Send node, MethodElement function, Node argument, A arg) {
3530 Send node, FunctionElement function, Node argument, A arg) {
3531 apply(argument, arg); 3525 apply(argument, arg);
3532 return null; 3526 return null;
3533 } 3527 }
3534 3528
3535 @override 3529 @override
3536 R visitSuperFieldCompound(Send node, FieldElement field, 3530 R visitSuperFieldCompound(Send node, FieldElement field,
3537 AssignmentOperator operator, Node rhs, A arg) { 3531 AssignmentOperator operator, Node rhs, A arg) {
3538 apply(rhs, arg); 3532 apply(rhs, arg);
3539 return null; 3533 return null;
3540 } 3534 }
3541 3535
3542 @override 3536 @override
3543 R visitSuperFieldFieldPostfix(Send node, FieldElement readField, 3537 R visitSuperFieldFieldPostfix(SendSet node, FieldElement readField,
3544 FieldElement writtenField, IncDecOperator operator, A arg) { 3538 FieldElement writtenField, IncDecOperator operator, A arg) {
3545 return null; 3539 return null;
3546 } 3540 }
3547 3541
3548 @override 3542 @override
3549 R visitSuperFieldFieldPrefix(Send node, FieldElement readField, 3543 R visitSuperFieldFieldPrefix(SendSet node, FieldElement readField,
3550 FieldElement writtenField, IncDecOperator operator, A arg) { 3544 FieldElement writtenField, IncDecOperator operator, A arg) {
3551 return null; 3545 return null;
3552 } 3546 }
3553 3547
3554 @override 3548 @override
3555 R visitSuperFieldGet(Send node, FieldElement field, A arg) { 3549 R visitSuperFieldGet(Send node, FieldElement field, A arg) {
3556 return null; 3550 return null;
3557 } 3551 }
3558 3552
3559 @override 3553 @override
3560 R visitSuperFieldInvoke(Send node, FieldElement field, NodeList arguments, 3554 R visitSuperFieldInvoke(Send node, FieldElement field, NodeList arguments,
3561 CallStructure callStructure, A arg) { 3555 CallStructure callStructure, A arg) {
3562 apply(arguments, arg); 3556 apply(arguments, arg);
3563 return null; 3557 return null;
3564 } 3558 }
3565 3559
3566 @override 3560 @override
3567 R visitSuperFieldPostfix( 3561 R visitSuperFieldPostfix(
3568 Send node, FieldElement field, IncDecOperator operator, A arg) { 3562 SendSet node, FieldElement field, IncDecOperator operator, A arg) {
3569 return null; 3563 return null;
3570 } 3564 }
3571 3565
3572 @override 3566 @override
3573 R visitSuperFieldPrefix( 3567 R visitSuperFieldPrefix(
3574 Send node, FieldElement field, IncDecOperator operator, A arg) { 3568 SendSet node, FieldElement field, IncDecOperator operator, A arg) {
3575 return null; 3569 return null;
3576 } 3570 }
3577 3571
3578 @override 3572 @override
3579 R visitSuperFieldSet(SendSet node, FieldElement field, Node rhs, A arg) { 3573 R visitSuperFieldSet(SendSet node, FieldElement field, Node rhs, A arg) {
3580 apply(rhs, arg); 3574 apply(rhs, arg);
3581 return null; 3575 return null;
3582 } 3576 }
3583 3577
3584 @override 3578 @override
3585 R visitSuperFieldSetterCompound(Send node, FieldElement field, 3579 R visitSuperFieldSetterCompound(Send node, FieldElement field,
3586 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 3580 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
3587 apply(rhs, arg); 3581 apply(rhs, arg);
3588 return null; 3582 return null;
3589 } 3583 }
3590 3584
3591 @override 3585 @override
3592 R visitSuperFieldSetterPostfix(Send node, FieldElement field, 3586 R visitSuperFieldSetterPostfix(SendSet node, FieldElement field,
3593 FunctionElement setter, IncDecOperator operator, A arg) { 3587 SetterElement setter, IncDecOperator operator, A arg) {
3594 return null; 3588 return null;
3595 } 3589 }
3596 3590
3597 @override 3591 @override
3598 R visitSuperFieldSetterPrefix(Send node, FieldElement field, 3592 R visitSuperFieldSetterPrefix(SendSet node, FieldElement field,
3599 FunctionElement setter, IncDecOperator operator, A arg) { 3593 SetterElement setter, IncDecOperator operator, A arg) {
3600 return null; 3594 return null;
3601 } 3595 }
3602 3596
3603 @override 3597 @override
3604 R visitSuperGetterFieldCompound(Send node, FunctionElement getter, 3598 R visitSuperGetterFieldCompound(Send node, GetterElement getter,
3605 FieldElement field, AssignmentOperator operator, Node rhs, A arg) { 3599 FieldElement field, AssignmentOperator operator, Node rhs, A arg) {
3606 apply(rhs, arg); 3600 apply(rhs, arg);
3607 return null; 3601 return null;
3608 } 3602 }
3609 3603
3610 @override 3604 @override
3611 R visitSuperGetterFieldPostfix(Send node, FunctionElement getter, 3605 R visitSuperGetterFieldPostfix(SendSet node, GetterElement getter,
3612 FieldElement field, IncDecOperator operator, A arg) { 3606 FieldElement field, IncDecOperator operator, A arg) {
3613 return null; 3607 return null;
3614 } 3608 }
3615 3609
3616 @override 3610 @override
3617 R visitSuperGetterFieldPrefix(Send node, FunctionElement getter, 3611 R visitSuperGetterFieldPrefix(SendSet node, GetterElement getter,
3618 FieldElement field, IncDecOperator operator, A arg) { 3612 FieldElement field, IncDecOperator operator, A arg) {
3619 return null; 3613 return null;
3620 } 3614 }
3621 3615
3622 @override 3616 @override
3623 R visitSuperGetterGet(Send node, FunctionElement getter, A arg) { 3617 R visitSuperGetterGet(Send node, GetterElement getter, A arg) {
3624 return null; 3618 return null;
3625 } 3619 }
3626 3620
3627 @override 3621 @override
3628 R visitSuperGetterInvoke(Send node, FunctionElement getter, 3622 R visitSuperGetterInvoke(Send node, GetterElement getter, NodeList arguments,
3629 NodeList arguments, CallStructure callStructure, A arg) { 3623 CallStructure callStructure, A arg) {
3630 apply(arguments, arg); 3624 apply(arguments, arg);
3631 return null; 3625 return null;
3632 } 3626 }
3633 3627
3634 @override 3628 @override
3635 R visitSuperGetterSetterCompound(Send node, FunctionElement getter, 3629 R visitSuperGetterSetterCompound(Send node, GetterElement getter,
3636 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 3630 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
3637 apply(rhs, arg); 3631 apply(rhs, arg);
3638 return null; 3632 return null;
3639 } 3633 }
3640 3634
3641 @override 3635 @override
3642 R visitSuperGetterSetterPostfix(Send node, FunctionElement getter, 3636 R visitSuperGetterSetterPostfix(SendSet node, GetterElement getter,
3643 FunctionElement setter, IncDecOperator operator, A arg) { 3637 SetterElement setter, IncDecOperator operator, A arg) {
3644 return null; 3638 return null;
3645 } 3639 }
3646 3640
3647 @override 3641 @override
3648 R visitSuperGetterSetterPrefix(Send node, FunctionElement getter, 3642 R visitSuperGetterSetterPrefix(SendSet node, GetterElement getter,
3649 FunctionElement setter, IncDecOperator operator, A arg) { 3643 SetterElement setter, IncDecOperator operator, A arg) {
3650 return null; 3644 return null;
3651 } 3645 }
3652 3646
3653 @override 3647 @override
3654 R visitSuperIndex(Send node, FunctionElement function, Node index, A arg) { 3648 R visitSuperIndex(Send node, MethodElement function, Node index, A arg) {
3655 apply(index, arg); 3649 apply(index, arg);
3656 return null; 3650 return null;
3657 } 3651 }
3658 3652
3659 @override 3653 @override
3660 R visitSuperIndexSet( 3654 R visitSuperIndexSet(
3661 SendSet node, FunctionElement function, Node index, Node rhs, A arg) { 3655 SendSet node, FunctionElement function, Node index, Node rhs, A arg) {
3662 apply(index, arg); 3656 apply(index, arg);
3663 apply(rhs, arg); 3657 apply(rhs, arg);
3664 return null; 3658 return null;
(...skipping 13 matching lines...) Expand all
3678 3672
3679 @override 3673 @override
3680 R visitSuperMethodIncompatibleInvoke(Send node, MethodElement method, 3674 R visitSuperMethodIncompatibleInvoke(Send node, MethodElement method,
3681 NodeList arguments, CallStructure callStructure, A arg) { 3675 NodeList arguments, CallStructure callStructure, A arg) {
3682 apply(arguments, arg); 3676 apply(arguments, arg);
3683 return null; 3677 return null;
3684 } 3678 }
3685 3679
3686 @override 3680 @override
3687 R visitSuperMethodSetterCompound(Send node, FunctionElement method, 3681 R visitSuperMethodSetterCompound(Send node, FunctionElement method,
3688 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 3682 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
3689 apply(rhs, arg); 3683 apply(rhs, arg);
3690 return null; 3684 return null;
3691 } 3685 }
3692 3686
3693 @override 3687 @override
3694 R visitSuperMethodSetterPostfix(Send node, FunctionElement method, 3688 R visitSuperMethodSetterPostfix(SendSet node, FunctionElement method,
3695 FunctionElement setter, IncDecOperator operator, A arg) { 3689 SetterElement setter, IncDecOperator operator, A arg) {
3696 return null; 3690 return null;
3697 } 3691 }
3698 3692
3699 @override 3693 @override
3700 R visitSuperMethodSetterPrefix(Send node, FunctionElement method, 3694 R visitSuperMethodSetterPrefix(SendSet node, FunctionElement method,
3701 FunctionElement setter, IncDecOperator operator, A arg) { 3695 SetterElement setter, IncDecOperator operator, A arg) {
3702 return null; 3696 return null;
3703 } 3697 }
3704 3698
3705 @override 3699 @override
3706 R visitSuperNotEquals( 3700 R visitSuperNotEquals(
3707 Send node, FunctionElement function, Node argument, A arg) { 3701 Send node, MethodElement function, Node argument, A arg) {
3708 apply(argument, arg); 3702 apply(argument, arg);
3709 return null; 3703 return null;
3710 } 3704 }
3711 3705
3712 @override 3706 @override
3713 R visitSuperSetterSet(SendSet node, FunctionElement setter, Node rhs, A arg) { 3707 R visitSuperSetterSet(SendSet node, SetterElement setter, Node rhs, A arg) {
3714 apply(rhs, arg); 3708 apply(rhs, arg);
3715 return null; 3709 return null;
3716 } 3710 }
3717 3711
3718 @override 3712 @override
3719 R visitSuperUnary( 3713 R visitSuperUnary(
3720 Send node, UnaryOperator operator, FunctionElement function, A arg) { 3714 Send node, UnaryOperator operator, MethodElement function, A arg) {
3721 return null; 3715 return null;
3722 } 3716 }
3723 3717
3724 @override 3718 @override
3725 R visitThisGet(Identifier node, A arg) { 3719 R visitThisGet(Identifier node, A arg) {
3726 return null; 3720 return null;
3727 } 3721 }
3728 3722
3729 @override 3723 @override
3730 R visitThisInvoke( 3724 R visitThisInvoke(
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
3820 } 3814 }
3821 3815
3822 @override 3816 @override
3823 R visitTopLevelFunctionIncompatibleInvoke(Send node, MethodElement function, 3817 R visitTopLevelFunctionIncompatibleInvoke(Send node, MethodElement function,
3824 NodeList arguments, CallStructure callStructure, A arg) { 3818 NodeList arguments, CallStructure callStructure, A arg) {
3825 apply(arguments, arg); 3819 apply(arguments, arg);
3826 return null; 3820 return null;
3827 } 3821 }
3828 3822
3829 @override 3823 @override
3830 R visitTopLevelGetterGet(Send node, FunctionElement getter, A arg) { 3824 R visitTopLevelGetterGet(Send node, GetterElement getter, A arg) {
3831 return null; 3825 return null;
3832 } 3826 }
3833 3827
3834 @override 3828 @override
3835 R visitTopLevelGetterInvoke(Send node, FunctionElement getter, 3829 R visitTopLevelGetterInvoke(Send node, GetterElement getter,
3836 NodeList arguments, CallStructure callStructure, A arg) { 3830 NodeList arguments, CallStructure callStructure, A arg) {
3837 apply(arguments, arg); 3831 apply(arguments, arg);
3838 return null; 3832 return null;
3839 } 3833 }
3840 3834
3841 @override 3835 @override
3842 R visitTopLevelGetterSetterCompound(Send node, FunctionElement getter, 3836 R visitTopLevelGetterSetterCompound(Send node, GetterElement getter,
3843 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 3837 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
3844 apply(rhs, arg); 3838 apply(rhs, arg);
3845 return null; 3839 return null;
3846 } 3840 }
3847 3841
3848 @override 3842 @override
3849 R visitTopLevelGetterSetterPostfix(Send node, FunctionElement getter, 3843 R visitTopLevelGetterSetterPostfix(Send node, GetterElement getter,
3850 FunctionElement setter, IncDecOperator operator, A arg) { 3844 SetterElement setter, IncDecOperator operator, A arg) {
3851 return null; 3845 return null;
3852 } 3846 }
3853 3847
3854 @override 3848 @override
3855 R visitTopLevelGetterSetterPrefix(Send node, FunctionElement getter, 3849 R visitTopLevelGetterSetterPrefix(Send node, GetterElement getter,
3856 FunctionElement setter, IncDecOperator operator, A arg) { 3850 SetterElement setter, IncDecOperator operator, A arg) {
3857 return null; 3851 return null;
3858 } 3852 }
3859 3853
3860 @override 3854 @override
3861 R visitTopLevelMethodSetterCompound(Send node, FunctionElement method, 3855 R visitTopLevelMethodSetterCompound(Send node, FunctionElement method,
3862 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 3856 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
3863 apply(rhs, arg); 3857 apply(rhs, arg);
3864 return null; 3858 return null;
3865 } 3859 }
3866 3860
3867 @override 3861 @override
3868 R visitTopLevelMethodSetterPostfix(Send node, FunctionElement method, 3862 R visitTopLevelMethodSetterPostfix(Send node, FunctionElement method,
3869 FunctionElement setter, IncDecOperator operator, A arg) { 3863 SetterElement setter, IncDecOperator operator, A arg) {
3870 return null; 3864 return null;
3871 } 3865 }
3872 3866
3873 @override 3867 @override
3874 R visitTopLevelMethodSetterPrefix(Send node, FunctionElement method, 3868 R visitTopLevelMethodSetterPrefix(Send node, FunctionElement method,
3875 FunctionElement setter, IncDecOperator operator, A arg) { 3869 SetterElement setter, IncDecOperator operator, A arg) {
3876 return null; 3870 return null;
3877 } 3871 }
3878 3872
3879 @override 3873 @override
3880 R visitTopLevelSetterSet( 3874 R visitTopLevelSetterSet(
3881 SendSet node, FunctionElement setter, Node rhs, A arg) { 3875 SendSet node, SetterElement setter, Node rhs, A arg) {
3882 apply(rhs, arg); 3876 apply(rhs, arg);
3883 return null; 3877 return null;
3884 } 3878 }
3885 3879
3886 @override 3880 @override
3887 R visitTypeVariableTypeLiteralCompound(Send node, TypeVariableElement element, 3881 R visitTypeVariableTypeLiteralCompound(Send node, TypeVariableElement element,
3888 AssignmentOperator operator, Node rhs, A arg) { 3882 AssignmentOperator operator, Node rhs, A arg) {
3889 apply(rhs, arg); 3883 apply(rhs, arg);
3890 return null; 3884 return null;
3891 } 3885 }
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
3946 return null; 3940 return null;
3947 } 3941 }
3948 3942
3949 @override 3943 @override
3950 R visitUnary(Send node, UnaryOperator operator, Node expression, A arg) { 3944 R visitUnary(Send node, UnaryOperator operator, Node expression, A arg) {
3951 apply(expression, arg); 3945 apply(expression, arg);
3952 return null; 3946 return null;
3953 } 3947 }
3954 3948
3955 @override 3949 @override
3956 R visitUnresolvedCompound(Send node, Element element, 3950 R visitUnresolvedCompound(Send node, ErroneousElement element,
3957 AssignmentOperator operator, Node rhs, A arg) { 3951 AssignmentOperator operator, Node rhs, A arg) {
3958 apply(rhs, arg); 3952 apply(rhs, arg);
3959 return null; 3953 return null;
3960 } 3954 }
3961 3955
3962 @override 3956 @override
3963 R visitUnresolvedGet(Send node, Element element, A arg) { 3957 R visitUnresolvedGet(Send node, Element element, A arg) {
3964 return null; 3958 return null;
3965 } 3959 }
3966 3960
3967 @override 3961 @override
3968 R visitUnresolvedInvoke(Send node, Element element, NodeList arguments, 3962 R visitUnresolvedInvoke(Send node, Element element, NodeList arguments,
3969 Selector selector, A arg) { 3963 Selector selector, A arg) {
3970 apply(arguments, arg); 3964 apply(arguments, arg);
3971 return null; 3965 return null;
3972 } 3966 }
3973 3967
3974 @override 3968 @override
3975 R visitUnresolvedPostfix( 3969 R visitUnresolvedPostfix(
3976 Send node, Element element, IncDecOperator operator, A arg) { 3970 Send node, ErroneousElement element, IncDecOperator operator, A arg) {
3977 return null; 3971 return null;
3978 } 3972 }
3979 3973
3980 @override 3974 @override
3981 R visitUnresolvedPrefix( 3975 R visitUnresolvedPrefix(
3982 Send node, Element element, IncDecOperator operator, A arg) { 3976 Send node, ErroneousElement element, IncDecOperator operator, A arg) {
3983 return null; 3977 return null;
3984 } 3978 }
3985 3979
3986 @override 3980 @override
3987 R visitUnresolvedSet(Send node, Element element, Node rhs, A arg) { 3981 R visitUnresolvedSet(SendSet node, Element element, Node rhs, A arg) {
3988 apply(rhs, arg); 3982 apply(rhs, arg);
3989 return null; 3983 return null;
3990 } 3984 }
3991 3985
3992 @override 3986 @override
3993 R errorUndefinedBinaryExpression( 3987 R errorUndefinedBinaryExpression(
3994 Send node, Node left, Operator operator, Node right, A arg) { 3988 Send node, Node left, Operator operator, Node right, A arg) {
3995 apply(left, arg); 3989 apply(left, arg);
3996 apply(right, arg); 3990 apply(right, arg);
3997 return null; 3991 return null;
3998 } 3992 }
3999 3993
4000 @override 3994 @override
4001 R errorUndefinedUnaryExpression( 3995 R errorUndefinedUnaryExpression(
4002 Send node, Operator operator, Node expression, A arg) { 3996 Send node, Operator operator, Node expression, A arg) {
4003 apply(expression, arg); 3997 apply(expression, arg);
4004 return null; 3998 return null;
4005 } 3999 }
4006 4000
4007 @override 4001 @override
4008 R visitUnresolvedSuperIndexSet( 4002 R visitUnresolvedSuperIndexSet(
4009 Send node, Element element, Node index, Node rhs, A arg) { 4003 SendSet node, ErroneousElement element, Node index, Node rhs, A arg) {
4010 apply(index, arg); 4004 apply(index, arg);
4011 apply(rhs, arg); 4005 apply(rhs, arg);
4012 return null; 4006 return null;
4013 } 4007 }
4014 4008
4015 @override 4009 @override
4016 R visitUnresolvedSuperGetterCompoundIndexSet( 4010 R visitUnresolvedSuperGetterCompoundIndexSet(
4017 SendSet node, 4011 SendSet node,
4018 Element element, 4012 Element element,
4019 MethodElement setter, 4013 MethodElement setter,
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
4055 return null; 4049 return null;
4056 } 4050 }
4057 4051
4058 @override 4052 @override
4059 R visitUnresolvedSuperUnary( 4053 R visitUnresolvedSuperUnary(
4060 Send node, UnaryOperator operator, Element element, A arg) { 4054 Send node, UnaryOperator operator, Element element, A arg) {
4061 return null; 4055 return null;
4062 } 4056 }
4063 4057
4064 @override 4058 @override
4065 R visitUnresolvedSuperGetterIndexPostfix(Send node, Element element, 4059 R visitUnresolvedSuperGetterIndexPostfix(SendSet node, Element element,
4066 MethodElement setter, Node index, IncDecOperator operator, A arg) { 4060 MethodElement setter, Node index, IncDecOperator operator, A arg) {
4067 apply(index, arg); 4061 apply(index, arg);
4068 return null; 4062 return null;
4069 } 4063 }
4070 4064
4071 @override 4065 @override
4072 R visitUnresolvedSuperSetterIndexPostfix(Send node, MethodElement getter, 4066 R visitUnresolvedSuperSetterIndexPostfix(SendSet node, MethodElement getter,
4073 Element element, Node index, IncDecOperator operator, A arg) { 4067 Element element, Node index, IncDecOperator operator, A arg) {
4074 apply(index, arg); 4068 apply(index, arg);
4075 return null; 4069 return null;
4076 } 4070 }
4077 4071
4078 @override 4072 @override
4079 R visitUnresolvedSuperIndexPostfix( 4073 R visitUnresolvedSuperIndexPostfix(
4080 Send node, Element element, Node index, IncDecOperator operator, A arg) { 4074 Send node, Element element, Node index, IncDecOperator operator, A arg) {
4081 apply(index, arg); 4075 apply(index, arg);
4082 return null; 4076 return null;
4083 } 4077 }
4084 4078
4085 @override 4079 @override
4086 R visitUnresolvedSuperGetterIndexPrefix(Send node, Element element, 4080 R visitUnresolvedSuperGetterIndexPrefix(SendSet node, Element element,
4087 MethodElement setter, Node index, IncDecOperator operator, A arg) { 4081 MethodElement setter, Node index, IncDecOperator operator, A arg) {
4088 apply(index, arg); 4082 apply(index, arg);
4089 return null; 4083 return null;
4090 } 4084 }
4091 4085
4092 @override 4086 @override
4093 R visitUnresolvedSuperSetterIndexPrefix(Send node, MethodElement getter, 4087 R visitUnresolvedSuperSetterIndexPrefix(SendSet node, MethodElement getter,
4094 Element element, Node index, IncDecOperator operator, A arg) { 4088 Element element, Node index, IncDecOperator operator, A arg) {
4095 apply(index, arg); 4089 apply(index, arg);
4096 return null; 4090 return null;
4097 } 4091 }
4098 4092
4099 @override 4093 @override
4100 R visitUnresolvedSuperIndexPrefix( 4094 R visitUnresolvedSuperIndexPrefix(
4101 Send node, Element element, Node index, IncDecOperator operator, A arg) { 4095 Send node, Element element, Node index, IncDecOperator operator, A arg) {
4102 apply(index, arg); 4096 apply(index, arg);
4103 return null; 4097 return null;
(...skipping 11 matching lines...) Expand all
4115 R visitIndexPrefix( 4109 R visitIndexPrefix(
4116 Send node, Node receiver, Node index, IncDecOperator operator, A arg) { 4110 Send node, Node receiver, Node index, IncDecOperator operator, A arg) {
4117 apply(receiver, arg); 4111 apply(receiver, arg);
4118 apply(index, arg); 4112 apply(index, arg);
4119 return null; 4113 return null;
4120 } 4114 }
4121 4115
4122 @override 4116 @override
4123 R visitSuperIndexPostfix( 4117 R visitSuperIndexPostfix(
4124 Send node, 4118 Send node,
4125 FunctionElement indexFunction, 4119 MethodElement indexFunction,
4126 FunctionElement indexSetFunction, 4120 MethodElement indexSetFunction,
4127 Node index, 4121 Node index,
4128 IncDecOperator operator, 4122 IncDecOperator operator,
4129 A arg) { 4123 A arg) {
4130 apply(index, arg); 4124 apply(index, arg);
4131 return null; 4125 return null;
4132 } 4126 }
4133 4127
4134 @override 4128 @override
4135 R visitSuperIndexPrefix( 4129 R visitSuperIndexPrefix(
4136 Send node, 4130 Send node,
4137 FunctionElement indexFunction, 4131 MethodElement indexFunction,
4138 FunctionElement indexSetFunction, 4132 MethodElement indexSetFunction,
4139 Node index, 4133 Node index,
4140 IncDecOperator operator, 4134 IncDecOperator operator,
4141 A arg) { 4135 A arg) {
4142 apply(index, arg); 4136 apply(index, arg);
4143 return null; 4137 return null;
4144 } 4138 }
4145 4139
4146 @override 4140 @override
4147 R errorInvalidSetIfNull(Send node, ErroneousElement error, Node rhs, A arg) { 4141 R errorInvalidSetIfNull(Send node, ErroneousElement error, Node rhs, A arg) {
4148 apply(rhs, arg); 4142 apply(rhs, arg);
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
4235 return null; 4229 return null;
4236 } 4230 }
4237 4231
4238 @override 4232 @override
4239 R visitStaticFieldSetIfNull(Send node, FieldElement field, Node rhs, A arg) { 4233 R visitStaticFieldSetIfNull(Send node, FieldElement field, Node rhs, A arg) {
4240 apply(rhs, arg); 4234 apply(rhs, arg);
4241 return null; 4235 return null;
4242 } 4236 }
4243 4237
4244 @override 4238 @override
4245 R visitStaticGetterSetterSetIfNull(Send node, FunctionElement getter, 4239 R visitStaticGetterSetterSetIfNull(
4246 FunctionElement setter, Node rhs, A arg) { 4240 Send node, GetterElement getter, SetterElement setter, Node rhs, A arg) {
4247 apply(rhs, arg); 4241 apply(rhs, arg);
4248 return null; 4242 return null;
4249 } 4243 }
4250 4244
4251 @override 4245 @override
4252 R visitStaticMethodSetIfNull( 4246 R visitStaticMethodSetIfNull(
4253 Send node, FunctionElement method, Node rhs, A arg) { 4247 Send node, FunctionElement method, Node rhs, A arg) {
4254 apply(rhs, arg); 4248 apply(rhs, arg);
4255 return null; 4249 return null;
4256 } 4250 }
(...skipping 13 matching lines...) Expand all
4270 } 4264 }
4271 4265
4272 @override 4266 @override
4273 R visitSuperFieldSetIfNull(Send node, FieldElement field, Node rhs, A arg) { 4267 R visitSuperFieldSetIfNull(Send node, FieldElement field, Node rhs, A arg) {
4274 apply(rhs, arg); 4268 apply(rhs, arg);
4275 return null; 4269 return null;
4276 } 4270 }
4277 4271
4278 @override 4272 @override
4279 R visitSuperFieldSetterSetIfNull( 4273 R visitSuperFieldSetterSetIfNull(
4280 Send node, FieldElement field, FunctionElement setter, Node rhs, A arg) { 4274 Send node, FieldElement field, SetterElement setter, Node rhs, A arg) {
4281 apply(rhs, arg); 4275 apply(rhs, arg);
4282 return null; 4276 return null;
4283 } 4277 }
4284 4278
4285 @override 4279 @override
4286 R visitSuperGetterFieldSetIfNull( 4280 R visitSuperGetterFieldSetIfNull(
4287 Send node, FunctionElement getter, FieldElement field, Node rhs, A arg) { 4281 Send node, GetterElement getter, FieldElement field, Node rhs, A arg) {
4288 apply(rhs, arg); 4282 apply(rhs, arg);
4289 return null; 4283 return null;
4290 } 4284 }
4291 4285
4292 @override 4286 @override
4293 R visitSuperGetterSetterSetIfNull(Send node, FunctionElement getter, 4287 R visitSuperGetterSetterSetIfNull(
4294 FunctionElement setter, Node rhs, A arg) { 4288 Send node, GetterElement getter, SetterElement setter, Node rhs, A arg) {
4295 apply(rhs, arg); 4289 apply(rhs, arg);
4296 return null; 4290 return null;
4297 } 4291 }
4298 4292
4299 @override 4293 @override
4300 R visitSuperMethodSetIfNull( 4294 R visitSuperMethodSetIfNull(
4301 Send node, FunctionElement method, Node rhs, A arg) { 4295 Send node, FunctionElement method, Node rhs, A arg) {
4302 apply(rhs, arg); 4296 apply(rhs, arg);
4303 return null; 4297 return null;
4304 } 4298 }
4305 4299
4306 @override 4300 @override
4307 R visitSuperMethodSetterSetIfNull(Send node, FunctionElement method, 4301 R visitSuperMethodSetterSetIfNull(Send node, FunctionElement method,
4308 FunctionElement setter, Node rhs, A arg) { 4302 SetterElement setter, Node rhs, A arg) {
4309 apply(rhs, arg); 4303 apply(rhs, arg);
4310 return null; 4304 return null;
4311 } 4305 }
4312 4306
4313 @override 4307 @override
4314 R visitThisPropertySetIfNull(Send node, Name name, Node rhs, A arg) { 4308 R visitThisPropertySetIfNull(Send node, Name name, Node rhs, A arg) {
4315 apply(rhs, arg); 4309 apply(rhs, arg);
4316 return null; 4310 return null;
4317 } 4311 }
4318 4312
4319 @override 4313 @override
4320 R visitTopLevelFieldSetIfNull( 4314 R visitTopLevelFieldSetIfNull(
4321 Send node, FieldElement field, Node rhs, A arg) { 4315 Send node, FieldElement field, Node rhs, A arg) {
4322 apply(rhs, arg); 4316 apply(rhs, arg);
4323 return null; 4317 return null;
4324 } 4318 }
4325 4319
4326 @override 4320 @override
4327 R visitTopLevelGetterSetterSetIfNull(Send node, FunctionElement getter, 4321 R visitTopLevelGetterSetterSetIfNull(
4328 FunctionElement setter, Node rhs, A arg) { 4322 Send node, GetterElement getter, SetterElement setter, Node rhs, A arg) {
4329 apply(rhs, arg); 4323 apply(rhs, arg);
4330 return null; 4324 return null;
4331 } 4325 }
4332 4326
4333 @override 4327 @override
4334 R visitTopLevelMethodSetIfNull( 4328 R visitTopLevelMethodSetIfNull(
4335 Send node, FunctionElement method, Node rhs, A arg) { 4329 Send node, FunctionElement method, Node rhs, A arg) {
4336 apply(rhs, arg); 4330 apply(rhs, arg);
4337 return null; 4331 return null;
4338 } 4332 }
4339 4333
4340 @override 4334 @override
4341 R visitTopLevelMethodSetterSetIfNull(Send node, FunctionElement method, 4335 R visitTopLevelMethodSetterSetIfNull(Send node, FunctionElement method,
4342 FunctionElement setter, Node rhs, A arg) { 4336 SetterElement setter, Node rhs, A arg) {
4343 apply(rhs, arg); 4337 apply(rhs, arg);
4344 return null; 4338 return null;
4345 } 4339 }
4346 4340
4347 @override 4341 @override
4348 R visitTypeVariableTypeLiteralSetIfNull( 4342 R visitTypeVariableTypeLiteralSetIfNull(
4349 Send node, TypeVariableElement element, Node rhs, A arg) { 4343 Send node, TypeVariableElement element, Node rhs, A arg) {
4350 apply(rhs, arg); 4344 apply(rhs, arg);
4351 return null; 4345 return null;
4352 } 4346 }
(...skipping 13 matching lines...) Expand all
4366 4360
4367 @override 4361 @override
4368 R visitUnresolvedStaticGetterSetIfNull( 4362 R visitUnresolvedStaticGetterSetIfNull(
4369 Send node, Element element, MethodElement setter, Node rhs, A arg) { 4363 Send node, Element element, MethodElement setter, Node rhs, A arg) {
4370 apply(rhs, arg); 4364 apply(rhs, arg);
4371 return null; 4365 return null;
4372 } 4366 }
4373 4367
4374 @override 4368 @override
4375 R visitUnresolvedStaticSetterSetIfNull( 4369 R visitUnresolvedStaticSetterSetIfNull(
4376 Send node, MethodElement getter, Element element, Node rhs, A arg) { 4370 Send node, GetterElement getter, Element element, Node rhs, A arg) {
4377 apply(rhs, arg); 4371 apply(rhs, arg);
4378 return null; 4372 return null;
4379 } 4373 }
4380 4374
4381 @override 4375 @override
4382 R visitUnresolvedSuperGetterSetIfNull( 4376 R visitUnresolvedSuperGetterSetIfNull(
4383 Send node, Element element, MethodElement setter, Node rhs, A arg) { 4377 Send node, Element element, MethodElement setter, Node rhs, A arg) {
4384 apply(rhs, arg); 4378 apply(rhs, arg);
4385 return null; 4379 return null;
4386 } 4380 }
4387 4381
4388 @override 4382 @override
4389 R visitUnresolvedSuperSetIfNull(Send node, Element element, Node rhs, A arg) { 4383 R visitUnresolvedSuperSetIfNull(Send node, Element element, Node rhs, A arg) {
4390 apply(rhs, arg); 4384 apply(rhs, arg);
4391 return null; 4385 return null;
4392 } 4386 }
4393 4387
4394 @override 4388 @override
4395 R visitUnresolvedSuperSetterSetIfNull( 4389 R visitUnresolvedSuperSetterSetIfNull(
4396 Send node, MethodElement getter, Element element, Node rhs, A arg) { 4390 Send node, GetterElement getter, Element element, Node rhs, A arg) {
4397 apply(rhs, arg); 4391 apply(rhs, arg);
4398 return null; 4392 return null;
4399 } 4393 }
4400 4394
4401 @override 4395 @override
4402 R visitUnresolvedTopLevelGetterSetIfNull( 4396 R visitUnresolvedTopLevelGetterSetIfNull(
4403 Send node, Element element, MethodElement setter, Node rhs, A arg) { 4397 Send node, Element element, MethodElement setter, Node rhs, A arg) {
4404 apply(rhs, arg); 4398 apply(rhs, arg);
4405 return null; 4399 return null;
4406 } 4400 }
4407 4401
4408 @override 4402 @override
4409 R visitUnresolvedTopLevelSetterSetIfNull( 4403 R visitUnresolvedTopLevelSetterSetIfNull(
4410 Send node, MethodElement getter, Element element, Node rhs, A arg) { 4404 Send node, GetterElement getter, Element element, Node rhs, A arg) {
4411 apply(rhs, arg); 4405 apply(rhs, arg);
4412 return null; 4406 return null;
4413 } 4407 }
4414 4408
4415 @override 4409 @override
4416 R visitConstConstructorInvoke( 4410 R visitConstConstructorInvoke(
4417 NewExpression node, ConstructedConstantExpression constant, A arg) { 4411 NewExpression node, ConstructedConstantExpression constant, A arg) {
4418 return null; 4412 return null;
4419 } 4413 }
4420 4414
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
4561 } 4555 }
4562 4556
4563 @override 4557 @override
4564 R visitUnresolvedTopLevelGetterCompound(Send node, Element element, 4558 R visitUnresolvedTopLevelGetterCompound(Send node, Element element,
4565 MethodElement setter, AssignmentOperator operator, Node rhs, A arg) { 4559 MethodElement setter, AssignmentOperator operator, Node rhs, A arg) {
4566 apply(rhs, arg); 4560 apply(rhs, arg);
4567 return null; 4561 return null;
4568 } 4562 }
4569 4563
4570 @override 4564 @override
4571 R visitUnresolvedStaticSetterCompound(Send node, MethodElement getter, 4565 R visitUnresolvedStaticSetterCompound(Send node, GetterElement getter,
4572 Element element, AssignmentOperator operator, Node rhs, A arg) { 4566 Element element, AssignmentOperator operator, Node rhs, A arg) {
4573 apply(rhs, arg); 4567 apply(rhs, arg);
4574 return null; 4568 return null;
4575 } 4569 }
4576 4570
4577 @override 4571 @override
4578 R visitUnresolvedTopLevelSetterCompound(Send node, MethodElement getter, 4572 R visitUnresolvedTopLevelSetterCompound(Send node, GetterElement getter,
4579 Element element, AssignmentOperator operator, Node rhs, A arg) { 4573 Element element, AssignmentOperator operator, Node rhs, A arg) {
4580 apply(rhs, arg); 4574 apply(rhs, arg);
4581 return null; 4575 return null;
4582 } 4576 }
4583 4577
4584 @override 4578 @override
4585 R visitStaticMethodCompound(Send node, MethodElement method, 4579 R visitStaticMethodCompound(Send node, MethodElement method,
4586 AssignmentOperator operator, Node rhs, A arg) { 4580 AssignmentOperator operator, Node rhs, A arg) {
4587 apply(rhs, arg); 4581 apply(rhs, arg);
4588 return null; 4582 return null;
4589 } 4583 }
4590 4584
4591 @override 4585 @override
4592 R visitUnresolvedStaticGetterPrefix(Send node, Element element, 4586 R visitUnresolvedStaticGetterPrefix(Send node, Element element,
4593 MethodElement setter, IncDecOperator operator, A arg) { 4587 MethodElement setter, IncDecOperator operator, A arg) {
4594 return null; 4588 return null;
4595 } 4589 }
4596 4590
4597 @override 4591 @override
4598 R visitUnresolvedTopLevelGetterPrefix(Send node, Element element, 4592 R visitUnresolvedTopLevelGetterPrefix(Send node, Element element,
4599 MethodElement setter, IncDecOperator operator, A arg) { 4593 MethodElement setter, IncDecOperator operator, A arg) {
4600 return null; 4594 return null;
4601 } 4595 }
4602 4596
4603 @override 4597 @override
4604 R visitUnresolvedStaticSetterPrefix(Send node, MethodElement getter, 4598 R visitUnresolvedStaticSetterPrefix(Send node, GetterElement getter,
4605 Element element, IncDecOperator operator, A arg) { 4599 Element element, IncDecOperator operator, A arg) {
4606 return null; 4600 return null;
4607 } 4601 }
4608 4602
4609 @override 4603 @override
4610 R visitUnresolvedTopLevelSetterPrefix(Send node, MethodElement getter, 4604 R visitUnresolvedTopLevelSetterPrefix(Send node, GetterElement getter,
4611 Element element, IncDecOperator operator, A arg) { 4605 Element element, IncDecOperator operator, A arg) {
4612 return null; 4606 return null;
4613 } 4607 }
4614 4608
4615 @override 4609 @override
4616 R visitStaticMethodPrefix( 4610 R visitStaticMethodPrefix(
4617 Send node, MethodElement method, IncDecOperator operator, A arg) { 4611 Send node, MethodElement method, IncDecOperator operator, A arg) {
4618 return null; 4612 return null;
4619 } 4613 }
4620 4614
4621 @override 4615 @override
4622 R visitTopLevelMethodPrefix( 4616 R visitTopLevelMethodPrefix(
4623 Send node, MethodElement method, IncDecOperator operator, A arg) { 4617 Send node, MethodElement method, IncDecOperator operator, A arg) {
4624 return null; 4618 return null;
4625 } 4619 }
4626 4620
4627 @override 4621 @override
4628 R visitUnresolvedStaticGetterPostfix(Send node, Element element, 4622 R visitUnresolvedStaticGetterPostfix(Send node, Element element,
4629 MethodElement setter, IncDecOperator operator, A arg) { 4623 MethodElement setter, IncDecOperator operator, A arg) {
4630 return null; 4624 return null;
4631 } 4625 }
4632 4626
4633 @override 4627 @override
4634 R visitUnresolvedTopLevelGetterPostfix(Send node, Element element, 4628 R visitUnresolvedTopLevelGetterPostfix(Send node, Element element,
4635 MethodElement setter, IncDecOperator operator, A arg) { 4629 MethodElement setter, IncDecOperator operator, A arg) {
4636 return null; 4630 return null;
4637 } 4631 }
4638 4632
4639 @override 4633 @override
4640 R visitUnresolvedStaticSetterPostfix(Send node, MethodElement getter, 4634 R visitUnresolvedStaticSetterPostfix(Send node, GetterElement getter,
4641 Element element, IncDecOperator operator, A arg) { 4635 Element element, IncDecOperator operator, A arg) {
4642 return null; 4636 return null;
4643 } 4637 }
4644 4638
4645 @override 4639 @override
4646 R visitUnresolvedTopLevelSetterPostfix(Send node, MethodElement getter, 4640 R visitUnresolvedTopLevelSetterPostfix(Send node, GetterElement getter,
4647 Element element, IncDecOperator operator, A arg) { 4641 Element element, IncDecOperator operator, A arg) {
4648 return null; 4642 return null;
4649 } 4643 }
4650 4644
4651 @override 4645 @override
4652 R visitStaticMethodPostfix( 4646 R visitStaticMethodPostfix(
4653 Send node, MethodElement method, IncDecOperator operator, A arg) { 4647 Send node, MethodElement method, IncDecOperator operator, A arg) {
4654 return null; 4648 return null;
4655 } 4649 }
4656 4650
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
4716 return null; 4710 return null;
4717 } 4711 }
4718 4712
4719 @override 4713 @override
4720 R visitFinalSuperFieldPrefix( 4714 R visitFinalSuperFieldPrefix(
4721 Send node, FieldElement field, IncDecOperator operator, A arg) { 4715 Send node, FieldElement field, IncDecOperator operator, A arg) {
4722 return null; 4716 return null;
4723 } 4717 }
4724 4718
4725 @override 4719 @override
4726 R visitSuperMethodCompound(Send node, FunctionElement method, 4720 R visitSuperMethodCompound(Send node, MethodElement method,
4727 AssignmentOperator operator, Node rhs, A arg) { 4721 AssignmentOperator operator, Node rhs, A arg) {
4728 apply(rhs, arg); 4722 apply(rhs, arg);
4729 return null; 4723 return null;
4730 } 4724 }
4731 4725
4732 @override 4726 @override
4733 R visitSuperMethodPostfix( 4727 R visitSuperMethodPostfix(
4734 Send node, FunctionElement method, IncDecOperator operator, A arg) { 4728 Send node, MethodElement method, IncDecOperator operator, A arg) {
4735 return null; 4729 return null;
4736 } 4730 }
4737 4731
4738 @override 4732 @override
4739 R visitSuperMethodPrefix( 4733 R visitSuperMethodPrefix(
4740 Send node, FunctionElement method, IncDecOperator operator, A arg) { 4734 Send node, MethodElement method, IncDecOperator operator, A arg) {
4741 return null; 4735 return null;
4742 } 4736 }
4743 4737
4744 @override 4738 @override
4745 R visitFinalTopLevelFieldPostfix( 4739 R visitFinalTopLevelFieldPostfix(
4746 Send node, FieldElement field, IncDecOperator operator, A arg) { 4740 Send node, FieldElement field, IncDecOperator operator, A arg) {
4747 return null; 4741 return null;
4748 } 4742 }
4749 4743
4750 @override 4744 @override
4751 R visitFinalTopLevelFieldPrefix( 4745 R visitFinalTopLevelFieldPrefix(
4752 Send node, FieldElement field, IncDecOperator operator, A arg) { 4746 Send node, FieldElement field, IncDecOperator operator, A arg) {
4753 return null; 4747 return null;
4754 } 4748 }
4755 4749
4756 @override 4750 @override
4757 R visitTopLevelMethodCompound(Send node, FunctionElement method, 4751 R visitTopLevelMethodCompound(Send node, MethodElement method,
4758 AssignmentOperator operator, Node rhs, A arg) { 4752 AssignmentOperator operator, Node rhs, A arg) {
4759 apply(rhs, arg); 4753 apply(rhs, arg);
4760 return null; 4754 return null;
4761 } 4755 }
4762 4756
4763 @override 4757 @override
4764 R visitUnresolvedSuperCompound(Send node, Element element, 4758 R visitUnresolvedSuperCompound(Send node, Element element,
4765 AssignmentOperator operator, Node rhs, A arg) { 4759 AssignmentOperator operator, Node rhs, A arg) {
4766 apply(rhs, arg); 4760 apply(rhs, arg);
4767 return null; 4761 return null;
4768 } 4762 }
4769 4763
4770 @override 4764 @override
4771 R visitUnresolvedSuperPostfix( 4765 R visitUnresolvedSuperPostfix(
4772 Send node, Element element, IncDecOperator operator, A arg) { 4766 SendSet node, Element element, IncDecOperator operator, A arg) {
4773 return null; 4767 return null;
4774 } 4768 }
4775 4769
4776 @override 4770 @override
4777 R visitUnresolvedSuperPrefix( 4771 R visitUnresolvedSuperPrefix(
4778 Send node, Element element, IncDecOperator operator, A arg) { 4772 SendSet node, Element element, IncDecOperator operator, A arg) {
4779 return null; 4773 return null;
4780 } 4774 }
4781 4775
4782 @override 4776 @override
4783 R visitUnresolvedSuperGetterCompound(Send node, Element element, 4777 R visitUnresolvedSuperGetterCompound(SendSet node, Element element,
4784 MethodElement setter, AssignmentOperator operator, Node rhs, A arg) { 4778 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
4785 apply(rhs, arg); 4779 apply(rhs, arg);
4786 return null; 4780 return null;
4787 } 4781 }
4788 4782
4789 @override 4783 @override
4790 R visitUnresolvedSuperGetterPostfix(Send node, Element element, 4784 R visitUnresolvedSuperGetterPostfix(SendSet node, Element element,
4791 MethodElement setter, IncDecOperator operator, A arg) { 4785 SetterElement setter, IncDecOperator operator, A arg) {
4792 return null; 4786 return null;
4793 } 4787 }
4794 4788
4795 @override 4789 @override
4796 R visitUnresolvedSuperGetterPrefix(Send node, Element element, 4790 R visitUnresolvedSuperGetterPrefix(SendSet node, Element element,
4797 MethodElement setter, IncDecOperator operator, A arg) { 4791 SetterElement setter, IncDecOperator operator, A arg) {
4798 return null; 4792 return null;
4799 } 4793 }
4800 4794
4801 @override 4795 @override
4802 R visitUnresolvedSuperSetterCompound(Send node, MethodElement getter, 4796 R visitUnresolvedSuperSetterCompound(Send node, GetterElement getter,
4803 Element element, AssignmentOperator operator, Node rhs, A arg) { 4797 Element element, AssignmentOperator operator, Node rhs, A arg) {
4804 apply(rhs, arg); 4798 apply(rhs, arg);
4805 return null; 4799 return null;
4806 } 4800 }
4807 4801
4808 @override 4802 @override
4809 R visitUnresolvedSuperSetterPostfix(Send node, MethodElement getter, 4803 R visitUnresolvedSuperSetterPostfix(SendSet node, GetterElement getter,
4810 Element element, IncDecOperator operator, A arg) { 4804 Element element, IncDecOperator operator, A arg) {
4811 return null; 4805 return null;
4812 } 4806 }
4813 4807
4814 @override 4808 @override
4815 R visitUnresolvedSuperSetterPrefix(Send node, MethodElement getter, 4809 R visitUnresolvedSuperSetterPrefix(SendSet node, GetterElement getter,
4816 Element element, IncDecOperator operator, A arg) { 4810 Element element, IncDecOperator operator, A arg) {
4817 return null; 4811 return null;
4818 } 4812 }
4819 4813
4820 @override 4814 @override
4821 R visitIndexSetIfNull( 4815 R visitIndexSetIfNull(
4822 SendSet node, Node receiver, Node index, Node rhs, A arg) { 4816 SendSet node, Node receiver, Node index, Node rhs, A arg) {
4823 apply(receiver, arg); 4817 apply(receiver, arg);
4824 apply(index, arg); 4818 apply(index, arg);
4825 apply(rhs, arg); 4819 apply(rhs, arg);
4826 return null; 4820 return null;
4827 } 4821 }
4828 4822
4829 @override 4823 @override
4830 R visitSuperIndexSetIfNull(SendSet node, MethodElement getter, 4824 R visitSuperIndexSetIfNull(SendSet node, MethodElement getter,
4831 MethodElement setter, Node index, Node rhs, A arg) { 4825 MethodElement setter, Node index, Node rhs, A arg) {
4832 apply(index, arg); 4826 apply(index, arg);
4833 apply(rhs, arg); 4827 apply(rhs, arg);
4834 return null; 4828 return null;
4835 } 4829 }
4836 4830
4837 @override 4831 @override
4838 R visitUnresolvedSuperGetterIndexSetIfNull(Send node, Element element, 4832 R visitUnresolvedSuperGetterIndexSetIfNull(SendSet node, Element element,
4839 MethodElement setter, Node index, Node rhs, A arg) { 4833 MethodElement setter, Node index, Node rhs, A arg) {
4840 apply(index, arg); 4834 apply(index, arg);
4841 apply(rhs, arg); 4835 apply(rhs, arg);
4842 return null; 4836 return null;
4843 } 4837 }
4844 4838
4845 @override 4839 @override
4846 R visitUnresolvedSuperSetterIndexSetIfNull(Send node, MethodElement getter, 4840 R visitUnresolvedSuperSetterIndexSetIfNull(SendSet node, MethodElement getter,
4847 Element element, Node index, Node rhs, A arg) { 4841 Element element, Node index, Node rhs, A arg) {
4848 apply(index, arg); 4842 apply(index, arg);
4849 apply(rhs, arg); 4843 apply(rhs, arg);
4850 return null; 4844 return null;
4851 } 4845 }
4852 4846
4853 @override 4847 @override
4854 R visitUnresolvedSuperIndexSetIfNull( 4848 R visitUnresolvedSuperIndexSetIfNull(
4855 Send node, Element element, Node index, Node rhs, A arg) { 4849 Send node, Element element, Node index, Node rhs, A arg) {
4856 apply(index, arg); 4850 apply(index, arg);
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
5139 R visitTopLevelFieldDeclaration(VariableDefinitions node, Node definition, 5133 R visitTopLevelFieldDeclaration(VariableDefinitions node, Node definition,
5140 FieldElement field, Node initializer, A arg) { 5134 FieldElement field, Node initializer, A arg) {
5141 if (initializer != null) { 5135 if (initializer != null) {
5142 apply(initializer, arg); 5136 apply(initializer, arg);
5143 } 5137 }
5144 return null; 5138 return null;
5145 } 5139 }
5146 5140
5147 @override 5141 @override
5148 R visitAbstractGetterDeclaration( 5142 R visitAbstractGetterDeclaration(
5149 FunctionExpression node, MethodElement getter, A arg) { 5143 FunctionExpression node, GetterElement getter, A arg) {
5150 return null; 5144 return null;
5151 } 5145 }
5152 5146
5153 @override 5147 @override
5154 R visitAbstractSetterDeclaration(FunctionExpression node, 5148 R visitAbstractSetterDeclaration(FunctionExpression node,
5155 MethodElement setter, NodeList parameters, A arg) { 5149 MethodElement setter, NodeList parameters, A arg) {
5156 applyParameters(parameters, arg); 5150 applyParameters(parameters, arg);
5157 return null; 5151 return null;
5158 } 5152 }
5159 5153
5160 @override 5154 @override
5161 R visitInstanceGetterDeclaration( 5155 R visitInstanceGetterDeclaration(
5162 FunctionExpression node, MethodElement getter, Node body, A arg) { 5156 FunctionExpression node, GetterElement getter, Node body, A arg) {
5163 apply(body, arg); 5157 apply(body, arg);
5164 return null; 5158 return null;
5165 } 5159 }
5166 5160
5167 @override 5161 @override
5168 R visitInstanceSetterDeclaration(FunctionExpression node, 5162 R visitInstanceSetterDeclaration(FunctionExpression node,
5169 MethodElement setter, NodeList parameters, Node body, A arg) { 5163 MethodElement setter, NodeList parameters, Node body, A arg) {
5170 applyParameters(parameters, arg); 5164 applyParameters(parameters, arg);
5171 apply(body, arg); 5165 apply(body, arg);
5172 return null; 5166 return null;
5173 } 5167 }
5174 5168
5175 @override 5169 @override
5176 R visitStaticGetterDeclaration( 5170 R visitStaticGetterDeclaration(
5177 FunctionExpression node, MethodElement getter, Node body, A arg) { 5171 FunctionExpression node, GetterElement getter, Node body, A arg) {
5178 apply(body, arg); 5172 apply(body, arg);
5179 return null; 5173 return null;
5180 } 5174 }
5181 5175
5182 @override 5176 @override
5183 R visitStaticSetterDeclaration(FunctionExpression node, MethodElement setter, 5177 R visitStaticSetterDeclaration(FunctionExpression node, MethodElement setter,
5184 NodeList parameters, Node body, A arg) { 5178 NodeList parameters, Node body, A arg) {
5185 applyParameters(parameters, arg); 5179 applyParameters(parameters, arg);
5186 apply(body, arg); 5180 apply(body, arg);
5187 return null; 5181 return null;
5188 } 5182 }
5189 5183
5190 @override 5184 @override
5191 R visitTopLevelGetterDeclaration( 5185 R visitTopLevelGetterDeclaration(
5192 FunctionExpression node, MethodElement getter, Node body, A arg) { 5186 FunctionExpression node, GetterElement getter, Node body, A arg) {
5193 apply(body, arg); 5187 apply(body, arg);
5194 return null; 5188 return null;
5195 } 5189 }
5196 5190
5197 @override 5191 @override
5198 R visitTopLevelSetterDeclaration(FunctionExpression node, 5192 R visitTopLevelSetterDeclaration(FunctionExpression node,
5199 MethodElement setter, NodeList parameters, Node body, A arg) { 5193 MethodElement setter, NodeList parameters, Node body, A arg) {
5200 applyParameters(parameters, arg); 5194 applyParameters(parameters, arg);
5201 apply(body, arg); 5195 apply(body, arg);
5202 return null; 5196 return null;
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
5261 R handleStaticFieldSet(SendSet node, FieldElement field, Node rhs, A arg); 5255 R handleStaticFieldSet(SendSet node, FieldElement field, Node rhs, A arg);
5262 5256
5263 R handleStaticFunctionGet(Send node, MethodElement function, A arg); 5257 R handleStaticFunctionGet(Send node, MethodElement function, A arg);
5264 5258
5265 R handleStaticFunctionInvoke(Send node, MethodElement function, 5259 R handleStaticFunctionInvoke(Send node, MethodElement function,
5266 NodeList arguments, CallStructure callStructure, A arg); 5260 NodeList arguments, CallStructure callStructure, A arg);
5267 5261
5268 R handleStaticFunctionIncompatibleInvoke(Send node, MethodElement function, 5262 R handleStaticFunctionIncompatibleInvoke(Send node, MethodElement function,
5269 NodeList arguments, CallStructure callStructure, A arg); 5263 NodeList arguments, CallStructure callStructure, A arg);
5270 5264
5271 R handleStaticGetterGet(Send node, FunctionElement getter, A arg); 5265 R handleStaticGetterGet(Send node, GetterElement getter, A arg);
5272 5266
5273 R handleStaticGetterSet(Send node, FunctionElement getter, Node rhs, A arg); 5267 R handleStaticGetterSet(SendSet node, GetterElement getter, Node rhs, A arg);
5274 5268
5275 R handleStaticGetterInvoke(Send node, FunctionElement getter, 5269 R handleStaticGetterInvoke(Send node, GetterElement getter,
5276 NodeList arguments, CallStructure callStructure, A arg); 5270 NodeList arguments, CallStructure callStructure, A arg);
5277 5271
5278 R handleStaticSetterGet(SendSet node, FunctionElement setter, A arg); 5272 R handleStaticSetterGet(SendSet node, SetterElement setter, A arg);
5279 5273
5280 R handleStaticSetterSet( 5274 R handleStaticSetterSet(SendSet node, SetterElement setter, Node rhs, A arg);
5281 SendSet node, FunctionElement setter, Node rhs, A arg);
5282 5275
5283 R handleStaticSetterInvoke(Send node, FunctionElement setter, 5276 R handleStaticSetterInvoke(Send node, SetterElement setter,
5284 NodeList arguments, CallStructure callStructure, A arg); 5277 NodeList arguments, CallStructure callStructure, A arg);
5285 5278
5286 R handleFinalStaticFieldSet( 5279 R handleFinalStaticFieldSet(
5287 SendSet node, FieldElement field, Node rhs, A arg); 5280 SendSet node, FieldElement field, Node rhs, A arg);
5288 5281
5289 R handleStaticFunctionSet( 5282 R handleStaticFunctionSet(
5290 SendSet node, MethodElement function, Node rhs, A arg); 5283 SendSet node, MethodElement function, Node rhs, A arg);
5291 5284
5292 @override 5285 @override
5293 R visitStaticFieldGet(Send node, FieldElement field, A arg) { 5286 R visitStaticFieldGet(Send node, FieldElement field, A arg) {
(...skipping 24 matching lines...) Expand all
5318 } 5311 }
5319 5312
5320 @override 5313 @override
5321 R visitStaticFunctionIncompatibleInvoke(Send node, MethodElement function, 5314 R visitStaticFunctionIncompatibleInvoke(Send node, MethodElement function,
5322 NodeList arguments, CallStructure callStructure, A arg) { 5315 NodeList arguments, CallStructure callStructure, A arg) {
5323 return handleStaticFunctionIncompatibleInvoke( 5316 return handleStaticFunctionIncompatibleInvoke(
5324 node, function, arguments, callStructure, arg); 5317 node, function, arguments, callStructure, arg);
5325 } 5318 }
5326 5319
5327 @override 5320 @override
5328 R visitStaticGetterGet(Send node, FunctionElement getter, A arg) { 5321 R visitStaticGetterGet(Send node, GetterElement getter, A arg) {
5329 return handleStaticGetterGet(node, getter, arg); 5322 return handleStaticGetterGet(node, getter, arg);
5330 } 5323 }
5331 5324
5332 @override 5325 @override
5333 R visitStaticGetterInvoke(Send node, FunctionElement getter, 5326 R visitStaticGetterInvoke(Send node, GetterElement getter, NodeList arguments,
5334 NodeList arguments, CallStructure callStructure, A arg) { 5327 CallStructure callStructure, A arg) {
5335 return handleStaticGetterInvoke( 5328 return handleStaticGetterInvoke(
5336 node, getter, arguments, callStructure, arg); 5329 node, getter, arguments, callStructure, arg);
5337 } 5330 }
5338 5331
5339 @override 5332 @override
5340 R visitStaticSetterSet( 5333 R visitStaticSetterSet(SendSet node, SetterElement setter, Node rhs, A arg) {
5341 SendSet node, FunctionElement setter, Node rhs, A arg) {
5342 return handleStaticSetterSet(node, setter, rhs, arg); 5334 return handleStaticSetterSet(node, setter, rhs, arg);
5343 } 5335 }
5344 5336
5345 @override 5337 @override
5346 R visitTopLevelFieldGet(Send node, FieldElement field, A arg) { 5338 R visitTopLevelFieldGet(Send node, FieldElement field, A arg) {
5347 return handleStaticFieldGet(node, field, arg); 5339 return handleStaticFieldGet(node, field, arg);
5348 } 5340 }
5349 5341
5350 @override 5342 @override
5351 R visitTopLevelFieldInvoke(Send node, FieldElement field, NodeList arguments, 5343 R visitTopLevelFieldInvoke(Send node, FieldElement field, NodeList arguments,
(...skipping 19 matching lines...) Expand all
5371 } 5363 }
5372 5364
5373 @override 5365 @override
5374 R visitTopLevelFunctionIncompatibleInvoke(Send node, MethodElement function, 5366 R visitTopLevelFunctionIncompatibleInvoke(Send node, MethodElement function,
5375 NodeList arguments, CallStructure callStructure, A arg) { 5367 NodeList arguments, CallStructure callStructure, A arg) {
5376 return handleStaticFunctionIncompatibleInvoke( 5368 return handleStaticFunctionIncompatibleInvoke(
5377 node, function, arguments, callStructure, arg); 5369 node, function, arguments, callStructure, arg);
5378 } 5370 }
5379 5371
5380 @override 5372 @override
5381 R visitTopLevelGetterGet(Send node, FunctionElement getter, A arg) { 5373 R visitTopLevelGetterGet(Send node, GetterElement getter, A arg) {
5382 return handleStaticGetterGet(node, getter, arg); 5374 return handleStaticGetterGet(node, getter, arg);
5383 } 5375 }
5384 5376
5385 @override 5377 @override
5386 R visitTopLevelGetterSet( 5378 R visitTopLevelGetterSet(
5387 SendSet node, FunctionElement getter, Node rhs, A arg) { 5379 SendSet node, GetterElement getter, Node rhs, A arg) {
5388 return handleStaticGetterSet(node, getter, rhs, arg); 5380 return handleStaticGetterSet(node, getter, rhs, arg);
5389 } 5381 }
5390 5382
5391 @override 5383 @override
5392 R visitTopLevelGetterInvoke(Send node, FunctionElement getter, 5384 R visitTopLevelGetterInvoke(Send node, GetterElement getter,
5393 NodeList arguments, CallStructure callStructure, A arg) { 5385 NodeList arguments, CallStructure callStructure, A arg) {
5394 return handleStaticGetterInvoke( 5386 return handleStaticGetterInvoke(
5395 node, getter, arguments, callStructure, arg); 5387 node, getter, arguments, callStructure, arg);
5396 } 5388 }
5397 5389
5398 @override 5390 @override
5399 R visitTopLevelSetterSet( 5391 R visitTopLevelSetterSet(
5400 SendSet node, FunctionElement setter, Node rhs, A arg) { 5392 SendSet node, SetterElement setter, Node rhs, A arg) {
5401 return handleStaticSetterSet(node, setter, rhs, arg); 5393 return handleStaticSetterSet(node, setter, rhs, arg);
5402 } 5394 }
5403 5395
5404 @override 5396 @override
5405 R visitStaticSetterInvoke(Send node, FunctionElement setter, 5397 R visitStaticSetterInvoke(Send node, SetterElement setter, NodeList arguments,
5398 CallStructure callStructure, A arg) {
5399 return handleStaticSetterInvoke(
5400 node, setter, arguments, callStructure, arg);
5401 }
5402
5403 @override
5404 R visitTopLevelSetterInvoke(Send node, SetterElement setter,
5406 NodeList arguments, CallStructure callStructure, A arg) { 5405 NodeList arguments, CallStructure callStructure, A arg) {
5407 return handleStaticSetterInvoke( 5406 return handleStaticSetterInvoke(
5408 node, setter, arguments, callStructure, arg); 5407 node, setter, arguments, callStructure, arg);
5409 } 5408 }
5410 5409
5411 @override 5410 @override
5412 R visitTopLevelSetterInvoke(Send node, FunctionElement setter, 5411 R visitStaticSetterGet(Send node, SetterElement setter, A arg) {
5413 NodeList arguments, CallStructure callStructure, A arg) {
5414 return handleStaticSetterInvoke(
5415 node, setter, arguments, callStructure, arg);
5416 }
5417
5418 @override
5419 R visitStaticSetterGet(Send node, FunctionElement setter, A arg) {
5420 return handleStaticSetterGet(node, setter, arg); 5412 return handleStaticSetterGet(node, setter, arg);
5421 } 5413 }
5422 5414
5423 @override 5415 @override
5424 R visitStaticGetterSet( 5416 R visitStaticGetterSet(SendSet node, GetterElement getter, Node rhs, A arg) {
5425 SendSet node, FunctionElement getter, Node rhs, A arg) {
5426 return handleStaticGetterSet(node, getter, rhs, arg); 5417 return handleStaticGetterSet(node, getter, rhs, arg);
5427 } 5418 }
5428 5419
5429 @override 5420 @override
5430 R visitTopLevelSetterGet(Send node, FunctionElement setter, A arg) { 5421 R visitTopLevelSetterGet(Send node, SetterElement setter, A arg) {
5431 return handleStaticSetterGet(node, setter, arg); 5422 return handleStaticSetterGet(node, setter, arg);
5432 } 5423 }
5433 5424
5434 @override 5425 @override
5435 R visitFinalStaticFieldSet( 5426 R visitFinalStaticFieldSet(
5436 SendSet node, FieldElement field, Node rhs, A arg) { 5427 SendSet node, FieldElement field, Node rhs, A arg) {
5437 return handleFinalStaticFieldSet(node, field, rhs, arg); 5428 return handleFinalStaticFieldSet(node, field, rhs, arg);
5438 } 5429 }
5439 5430
5440 @override 5431 @override
5441 R visitFinalTopLevelFieldSet( 5432 R visitFinalTopLevelFieldSet(
5442 SendSet node, FieldElement field, Node rhs, A arg) { 5433 SendSet node, FieldElement field, Node rhs, A arg) {
5443 return handleFinalStaticFieldSet(node, field, rhs, arg); 5434 return handleFinalStaticFieldSet(node, field, rhs, arg);
5444 } 5435 }
5445 5436
5446 @override 5437 @override
5447 R visitStaticFunctionSet(Send node, MethodElement function, Node rhs, A arg) { 5438 R visitStaticFunctionSet(
5439 SendSet node, MethodElement function, Node rhs, A arg) {
5448 return handleStaticFunctionSet(node, function, rhs, arg); 5440 return handleStaticFunctionSet(node, function, rhs, arg);
5449 } 5441 }
5450 5442
5451 @override 5443 @override
5452 R visitTopLevelFunctionSet( 5444 R visitTopLevelFunctionSet(
5453 Send node, MethodElement function, Node rhs, A arg) { 5445 SendSet node, MethodElement function, Node rhs, A arg) {
5454 return handleStaticFunctionSet(node, function, rhs, arg); 5446 return handleStaticFunctionSet(node, function, rhs, arg);
5455 } 5447 }
5456 } 5448 }
5457 5449
5458 /// Mixin that groups all compounds visitors `visitStaticX` and `visitTopLevelX` 5450 /// Mixin that groups all compounds visitors `visitStaticX` and `visitTopLevelX`
5459 /// method by delegating calls to `handleStaticX` methods. 5451 /// method by delegating calls to `handleStaticX` methods.
5460 /// 5452 ///
5461 /// This mixin is useful for the cases where both top level members and static 5453 /// This mixin is useful for the cases where both top level members and static
5462 /// class members are handled uniformly. 5454 /// class members are handled uniformly.
5463 abstract class BaseImplementationOfStaticCompoundsMixin<R, A> 5455 abstract class BaseImplementationOfStaticCompoundsMixin<R, A>
5464 implements SemanticSendVisitor<R, A> { 5456 implements SemanticSendVisitor<R, A> {
5465 R handleStaticFieldCompound(Send node, FieldElement field, 5457 R handleStaticFieldCompound(Send node, FieldElement field,
5466 AssignmentOperator operator, Node rhs, A arg); 5458 AssignmentOperator operator, Node rhs, A arg);
5467 5459
5468 R handleStaticFieldPostfixPrefix( 5460 R handleStaticFieldPostfixPrefix(
5469 Send node, FieldElement field, IncDecOperator operator, A arg, 5461 Send node, FieldElement field, IncDecOperator operator, A arg,
5470 {bool isPrefix}); 5462 {bool isPrefix});
5471 5463
5472 R handleStaticGetterSetterCompound(Send node, FunctionElement getter, 5464 R handleStaticGetterSetterCompound(Send node, GetterElement getter,
5473 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg); 5465 SetterElement setter, AssignmentOperator operator, Node rhs, A arg);
5474 5466
5475 R handleStaticGetterSetterPostfixPrefix(Send node, FunctionElement getter, 5467 R handleStaticGetterSetterPostfixPrefix(Send node, GetterElement getter,
5476 FunctionElement setter, IncDecOperator operator, A arg, 5468 SetterElement setter, IncDecOperator operator, A arg,
5477 {bool isPrefix}); 5469 {bool isPrefix});
5478 5470
5479 R handleStaticMethodSetterCompound(Send node, FunctionElement method, 5471 R handleStaticMethodSetterCompound(Send node, FunctionElement method,
5480 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg); 5472 SetterElement setter, AssignmentOperator operator, Node rhs, A arg);
5481 5473
5482 R handleStaticMethodSetterPostfixPrefix(Send node, FunctionElement getter, 5474 R handleStaticMethodSetterPostfixPrefix(Send node, GetterElement getter,
5483 FunctionElement setter, IncDecOperator operator, A arg, 5475 SetterElement setter, IncDecOperator operator, A arg,
5484 {bool isPrefix}); 5476 {bool isPrefix});
5485 5477
5486 R handleFinalStaticFieldCompound(Send node, FieldElement field, 5478 R handleFinalStaticFieldCompound(Send node, FieldElement field,
5487 AssignmentOperator operator, Node rhs, A arg); 5479 AssignmentOperator operator, Node rhs, A arg);
5488 5480
5489 R handleFinalStaticFieldPostfixPrefix( 5481 R handleFinalStaticFieldPostfixPrefix(
5490 Send node, FieldElement field, IncDecOperator operator, A arg, 5482 Send node, FieldElement field, IncDecOperator operator, A arg,
5491 {bool isPrefix}); 5483 {bool isPrefix});
5492 5484
5493 R handleStaticMethodCompound(Send node, FunctionElement method, 5485 R handleStaticMethodCompound(Send node, FunctionElement method,
5494 AssignmentOperator operator, Node rhs, A arg); 5486 AssignmentOperator operator, Node rhs, A arg);
5495 5487
5496 R handleStaticMethodPostfixPrefix( 5488 R handleStaticMethodPostfixPrefix(
5497 Send node, FunctionElement method, IncDecOperator operator, A arg, 5489 Send node, FunctionElement method, IncDecOperator operator, A arg,
5498 {bool isPrefix}); 5490 {bool isPrefix});
5499 5491
5500 R handleUnresolvedStaticGetterCompound(Send node, Element element, 5492 R handleUnresolvedStaticGetterCompound(Send node, Element element,
5501 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg); 5493 SetterElement setter, AssignmentOperator operator, Node rhs, A arg);
5502 5494
5503 R handleUnresolvedStaticGetterPostfixPrefix(Send node, Element element, 5495 R handleUnresolvedStaticGetterPostfixPrefix(Send node, Element element,
5504 FunctionElement setter, IncDecOperator operator, A arg, 5496 SetterElement setter, IncDecOperator operator, A arg,
5505 {bool isPrefix}); 5497 {bool isPrefix});
5506 5498
5507 R handleUnresolvedStaticSetterCompound(Send node, FunctionElement getter, 5499 R handleUnresolvedStaticSetterCompound(Send node, GetterElement getter,
5508 Element element, AssignmentOperator operator, Node rhs, A arg); 5500 Element element, AssignmentOperator operator, Node rhs, A arg);
5509 5501
5510 R handleUnresolvedStaticSetterPostfixPrefix(Send node, FunctionElement getter, 5502 R handleUnresolvedStaticSetterPostfixPrefix(Send node, GetterElement getter,
5511 Element element, IncDecOperator operator, A arg, 5503 Element element, IncDecOperator operator, A arg,
5512 {bool isPrefix}); 5504 {bool isPrefix});
5513 5505
5514 @override 5506 @override
5515 R visitStaticFieldCompound(Send node, FieldElement field, 5507 R visitStaticFieldCompound(Send node, FieldElement field,
5516 AssignmentOperator operator, Node rhs, A arg) { 5508 AssignmentOperator operator, Node rhs, A arg) {
5517 return handleStaticFieldCompound(node, field, operator, rhs, arg); 5509 return handleStaticFieldCompound(node, field, operator, rhs, arg);
5518 } 5510 }
5519 5511
5520 @override 5512 @override
5521 R visitStaticFieldPostfix( 5513 R visitStaticFieldPostfix(
5522 Send node, FieldElement field, IncDecOperator operator, A arg) { 5514 Send node, FieldElement field, IncDecOperator operator, A arg) {
5523 return handleStaticFieldPostfixPrefix(node, field, operator, arg, 5515 return handleStaticFieldPostfixPrefix(node, field, operator, arg,
5524 isPrefix: false); 5516 isPrefix: false);
5525 } 5517 }
5526 5518
5527 @override 5519 @override
5528 R visitStaticFieldPrefix( 5520 R visitStaticFieldPrefix(
5529 Send node, FieldElement field, IncDecOperator operator, A arg) { 5521 Send node, FieldElement field, IncDecOperator operator, A arg) {
5530 return handleStaticFieldPostfixPrefix(node, field, operator, arg, 5522 return handleStaticFieldPostfixPrefix(node, field, operator, arg,
5531 isPrefix: true); 5523 isPrefix: true);
5532 } 5524 }
5533 5525
5534 @override 5526 @override
5535 R visitStaticGetterSetterCompound(Send node, FunctionElement getter, 5527 R visitStaticGetterSetterCompound(Send node, GetterElement getter,
5536 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 5528 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
5537 return handleStaticGetterSetterCompound( 5529 return handleStaticGetterSetterCompound(
5538 node, getter, setter, operator, rhs, arg); 5530 node, getter, setter, operator, rhs, arg);
5539 } 5531 }
5540 5532
5541 @override 5533 @override
5542 R visitStaticGetterSetterPostfix(Send node, FunctionElement getter, 5534 R visitStaticGetterSetterPostfix(Send node, GetterElement getter,
5543 FunctionElement setter, IncDecOperator operator, A arg) { 5535 SetterElement setter, IncDecOperator operator, A arg) {
5544 return handleStaticGetterSetterPostfixPrefix( 5536 return handleStaticGetterSetterPostfixPrefix(
5545 node, getter, setter, operator, arg, 5537 node, getter, setter, operator, arg,
5546 isPrefix: false); 5538 isPrefix: false);
5547 } 5539 }
5548 5540
5549 @override 5541 @override
5550 R visitStaticGetterSetterPrefix(Send node, FunctionElement getter, 5542 R visitStaticGetterSetterPrefix(Send node, GetterElement getter,
5551 FunctionElement setter, IncDecOperator operator, A arg) { 5543 SetterElement setter, IncDecOperator operator, A arg) {
5552 return handleStaticGetterSetterPostfixPrefix( 5544 return handleStaticGetterSetterPostfixPrefix(
5553 node, getter, setter, operator, arg, 5545 node, getter, setter, operator, arg,
5554 isPrefix: true); 5546 isPrefix: true);
5555 } 5547 }
5556 5548
5557 @override 5549 @override
5558 R visitStaticMethodSetterCompound(Send node, FunctionElement method, 5550 R visitStaticMethodSetterCompound(Send node, FunctionElement method,
5559 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 5551 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
5560 return handleStaticMethodSetterCompound( 5552 return handleStaticMethodSetterCompound(
5561 node, method, setter, operator, rhs, arg); 5553 node, method, setter, operator, rhs, arg);
5562 } 5554 }
5563 5555
5564 @override 5556 @override
5565 R visitStaticMethodSetterPostfix(Send node, FunctionElement getter, 5557 R visitStaticMethodSetterPostfix(Send node, GetterElement getter,
5566 FunctionElement setter, IncDecOperator operator, A arg) { 5558 SetterElement setter, IncDecOperator operator, A arg) {
5567 return handleStaticMethodSetterPostfixPrefix( 5559 return handleStaticMethodSetterPostfixPrefix(
5568 node, getter, setter, operator, arg, 5560 node, getter, setter, operator, arg,
5569 isPrefix: false); 5561 isPrefix: false);
5570 } 5562 }
5571 5563
5572 @override 5564 @override
5573 R visitStaticMethodSetterPrefix(Send node, FunctionElement getter, 5565 R visitStaticMethodSetterPrefix(Send node, GetterElement getter,
5574 FunctionElement setter, IncDecOperator operator, A arg) { 5566 SetterElement setter, IncDecOperator operator, A arg) {
5575 return handleStaticMethodSetterPostfixPrefix( 5567 return handleStaticMethodSetterPostfixPrefix(
5576 node, getter, setter, operator, arg, 5568 node, getter, setter, operator, arg,
5577 isPrefix: true); 5569 isPrefix: true);
5578 } 5570 }
5579 5571
5580 @override 5572 @override
5581 R visitTopLevelFieldCompound(Send node, FieldElement field, 5573 R visitTopLevelFieldCompound(Send node, FieldElement field,
5582 AssignmentOperator operator, Node rhs, A arg) { 5574 AssignmentOperator operator, Node rhs, A arg) {
5583 return handleStaticFieldCompound(node, field, operator, rhs, arg); 5575 return handleStaticFieldCompound(node, field, operator, rhs, arg);
5584 } 5576 }
5585 5577
5586 @override 5578 @override
5587 R visitTopLevelFieldPostfix( 5579 R visitTopLevelFieldPostfix(
5588 Send node, FieldElement field, IncDecOperator operator, A arg) { 5580 Send node, FieldElement field, IncDecOperator operator, A arg) {
5589 return handleStaticFieldPostfixPrefix(node, field, operator, arg, 5581 return handleStaticFieldPostfixPrefix(node, field, operator, arg,
5590 isPrefix: false); 5582 isPrefix: false);
5591 } 5583 }
5592 5584
5593 @override 5585 @override
5594 R visitTopLevelFieldPrefix( 5586 R visitTopLevelFieldPrefix(
5595 Send node, FieldElement field, IncDecOperator operator, A arg) { 5587 Send node, FieldElement field, IncDecOperator operator, A arg) {
5596 return handleStaticFieldPostfixPrefix(node, field, operator, arg, 5588 return handleStaticFieldPostfixPrefix(node, field, operator, arg,
5597 isPrefix: true); 5589 isPrefix: true);
5598 } 5590 }
5599 5591
5600 @override 5592 @override
5601 R visitTopLevelGetterSetterCompound(Send node, FunctionElement getter, 5593 R visitTopLevelGetterSetterCompound(Send node, GetterElement getter,
5602 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 5594 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
5603 return handleStaticGetterSetterCompound( 5595 return handleStaticGetterSetterCompound(
5604 node, getter, setter, operator, rhs, arg); 5596 node, getter, setter, operator, rhs, arg);
5605 } 5597 }
5606 5598
5607 @override 5599 @override
5608 R visitTopLevelGetterSetterPostfix(Send node, FunctionElement getter, 5600 R visitTopLevelGetterSetterPostfix(Send node, GetterElement getter,
5609 FunctionElement setter, IncDecOperator operator, A arg) { 5601 SetterElement setter, IncDecOperator operator, A arg) {
5610 return handleStaticGetterSetterPostfixPrefix( 5602 return handleStaticGetterSetterPostfixPrefix(
5611 node, getter, setter, operator, arg, 5603 node, getter, setter, operator, arg,
5612 isPrefix: false); 5604 isPrefix: false);
5613 } 5605 }
5614 5606
5615 @override 5607 @override
5616 R visitTopLevelGetterSetterPrefix(Send node, FunctionElement getter, 5608 R visitTopLevelGetterSetterPrefix(Send node, GetterElement getter,
5617 FunctionElement setter, IncDecOperator operator, A arg) { 5609 SetterElement setter, IncDecOperator operator, A arg) {
5618 return handleStaticGetterSetterPostfixPrefix( 5610 return handleStaticGetterSetterPostfixPrefix(
5619 node, getter, setter, operator, arg, 5611 node, getter, setter, operator, arg,
5620 isPrefix: true); 5612 isPrefix: true);
5621 } 5613 }
5622 5614
5623 @override 5615 @override
5624 R visitTopLevelMethodSetterCompound(Send node, FunctionElement method, 5616 R visitTopLevelMethodSetterCompound(Send node, FunctionElement method,
5625 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 5617 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
5626 return handleStaticMethodSetterCompound( 5618 return handleStaticMethodSetterCompound(
5627 node, method, setter, operator, rhs, arg); 5619 node, method, setter, operator, rhs, arg);
5628 } 5620 }
5629 5621
5630 @override 5622 @override
5631 R visitTopLevelMethodSetterPostfix(Send node, FunctionElement method, 5623 R visitTopLevelMethodSetterPostfix(Send node, FunctionElement method,
5632 FunctionElement setter, IncDecOperator operator, A arg) { 5624 SetterElement setter, IncDecOperator operator, A arg) {
5633 return handleStaticMethodSetterPostfixPrefix( 5625 return handleStaticMethodSetterPostfixPrefix(
5634 node, method, setter, operator, arg, 5626 node, method, setter, operator, arg,
5635 isPrefix: false); 5627 isPrefix: false);
5636 } 5628 }
5637 5629
5638 @override 5630 @override
5639 R visitTopLevelMethodSetterPrefix(Send node, FunctionElement method, 5631 R visitTopLevelMethodSetterPrefix(Send node, FunctionElement method,
5640 FunctionElement setter, IncDecOperator operator, A arg) { 5632 SetterElement setter, IncDecOperator operator, A arg) {
5641 return handleStaticMethodSetterPostfixPrefix( 5633 return handleStaticMethodSetterPostfixPrefix(
5642 node, method, setter, operator, arg, 5634 node, method, setter, operator, arg,
5643 isPrefix: true); 5635 isPrefix: true);
5644 } 5636 }
5645 5637
5646 @override 5638 @override
5647 R visitFinalStaticFieldCompound(Send node, FieldElement field, 5639 R visitFinalStaticFieldCompound(Send node, FieldElement field,
5648 AssignmentOperator operator, Node rhs, A arg) { 5640 AssignmentOperator operator, Node rhs, A arg) {
5649 return handleFinalStaticFieldCompound(node, field, operator, rhs, arg); 5641 return handleFinalStaticFieldCompound(node, field, operator, rhs, arg);
5650 } 5642 }
(...skipping 27 matching lines...) Expand all
5678 5670
5679 @override 5671 @override
5680 R visitStaticMethodPrefix( 5672 R visitStaticMethodPrefix(
5681 Send node, FunctionElement method, IncDecOperator operator, A arg) { 5673 Send node, FunctionElement method, IncDecOperator operator, A arg) {
5682 return handleStaticMethodPostfixPrefix(node, method, operator, arg, 5674 return handleStaticMethodPostfixPrefix(node, method, operator, arg,
5683 isPrefix: true); 5675 isPrefix: true);
5684 } 5676 }
5685 5677
5686 @override 5678 @override
5687 R visitUnresolvedStaticGetterCompound(Send node, Element element, 5679 R visitUnresolvedStaticGetterCompound(Send node, Element element,
5688 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 5680 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
5689 return handleUnresolvedStaticGetterCompound( 5681 return handleUnresolvedStaticGetterCompound(
5690 node, element, setter, operator, rhs, arg); 5682 node, element, setter, operator, rhs, arg);
5691 } 5683 }
5692 5684
5693 @override 5685 @override
5694 R visitUnresolvedStaticGetterPostfix(Send node, Element element, 5686 R visitUnresolvedStaticGetterPostfix(Send node, Element element,
5695 FunctionElement setter, IncDecOperator operator, A arg) { 5687 SetterElement setter, IncDecOperator operator, A arg) {
5696 return handleUnresolvedStaticGetterPostfixPrefix( 5688 return handleUnresolvedStaticGetterPostfixPrefix(
5697 node, element, setter, operator, arg, 5689 node, element, setter, operator, arg,
5698 isPrefix: false); 5690 isPrefix: false);
5699 } 5691 }
5700 5692
5701 @override 5693 @override
5702 R visitUnresolvedStaticGetterPrefix(Send node, Element element, 5694 R visitUnresolvedStaticGetterPrefix(Send node, Element element,
5703 FunctionElement setter, IncDecOperator operator, A arg) { 5695 SetterElement setter, IncDecOperator operator, A arg) {
5704 return handleUnresolvedStaticGetterPostfixPrefix( 5696 return handleUnresolvedStaticGetterPostfixPrefix(
5705 node, element, setter, operator, arg, 5697 node, element, setter, operator, arg,
5706 isPrefix: true); 5698 isPrefix: true);
5707 } 5699 }
5708 5700
5709 @override 5701 @override
5710 R visitUnresolvedStaticSetterCompound(Send node, FunctionElement getter, 5702 R visitUnresolvedStaticSetterCompound(Send node, GetterElement getter,
5711 Element element, AssignmentOperator operator, Node rhs, A arg) { 5703 Element element, AssignmentOperator operator, Node rhs, A arg) {
5712 return handleUnresolvedStaticSetterCompound( 5704 return handleUnresolvedStaticSetterCompound(
5713 node, getter, element, operator, rhs, arg); 5705 node, getter, element, operator, rhs, arg);
5714 } 5706 }
5715 5707
5716 @override 5708 @override
5717 R visitUnresolvedStaticSetterPostfix(Send node, FunctionElement getter, 5709 R visitUnresolvedStaticSetterPostfix(Send node, GetterElement getter,
5718 Element element, IncDecOperator operator, A arg) { 5710 Element element, IncDecOperator operator, A arg) {
5719 return handleUnresolvedStaticSetterPostfixPrefix( 5711 return handleUnresolvedStaticSetterPostfixPrefix(
5720 node, getter, element, operator, arg, 5712 node, getter, element, operator, arg,
5721 isPrefix: false); 5713 isPrefix: false);
5722 } 5714 }
5723 5715
5724 @override 5716 @override
5725 R visitUnresolvedStaticSetterPrefix(Send node, FunctionElement getter, 5717 R visitUnresolvedStaticSetterPrefix(Send node, GetterElement getter,
5726 Element element, IncDecOperator operator, A arg) { 5718 Element element, IncDecOperator operator, A arg) {
5727 return handleUnresolvedStaticSetterPostfixPrefix( 5719 return handleUnresolvedStaticSetterPostfixPrefix(
5728 node, getter, element, operator, arg, 5720 node, getter, element, operator, arg,
5729 isPrefix: true); 5721 isPrefix: true);
5730 } 5722 }
5731 } 5723 }
5732 5724
5733 /// Mixin that groups all non-compound `visitLocalX` and `visitParameterX` 5725 /// Mixin that groups all non-compound `visitLocalX` and `visitParameterX`
5734 /// methods by delegating calls to `handleLocalX` methods. 5726 /// methods by delegating calls to `handleLocalX` methods.
5735 /// 5727 ///
(...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after
6307 } 6299 }
6308 6300
6309 @override 6301 @override
6310 R visitFinalStaticFieldCompound(Send node, FieldElement field, 6302 R visitFinalStaticFieldCompound(Send node, FieldElement field,
6311 AssignmentOperator operator, Node rhs, A arg) { 6303 AssignmentOperator operator, Node rhs, A arg) {
6312 return handleStaticCompounds(node, field, CompoundGetter.FIELD, null, 6304 return handleStaticCompounds(node, field, CompoundGetter.FIELD, null,
6313 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg); 6305 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg);
6314 } 6306 }
6315 6307
6316 @override 6308 @override
6317 R visitStaticGetterSetterCompound(Send node, FunctionElement getter, 6309 R visitStaticGetterSetterCompound(Send node, GetterElement getter,
6318 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 6310 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
6319 return handleStaticCompounds(node, getter, CompoundGetter.GETTER, setter, 6311 return handleStaticCompounds(node, getter, CompoundGetter.GETTER, setter,
6320 CompoundSetter.SETTER, new AssignmentCompound(operator, rhs), arg); 6312 CompoundSetter.SETTER, new AssignmentCompound(operator, rhs), arg);
6321 } 6313 }
6322 6314
6323 @override 6315 @override
6324 R visitStaticMethodSetterCompound(Send node, FunctionElement method, 6316 R visitStaticMethodSetterCompound(Send node, FunctionElement method,
6325 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 6317 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
6326 return handleStaticCompounds(node, method, CompoundGetter.METHOD, setter, 6318 return handleStaticCompounds(node, method, CompoundGetter.METHOD, setter,
6327 CompoundSetter.SETTER, new AssignmentCompound(operator, rhs), arg); 6319 CompoundSetter.SETTER, new AssignmentCompound(operator, rhs), arg);
6328 } 6320 }
6329 6321
6330 @override 6322 @override
6331 R visitTopLevelFieldCompound(Send node, FieldElement field, 6323 R visitTopLevelFieldCompound(Send node, FieldElement field,
6332 AssignmentOperator operator, Node rhs, A arg) { 6324 AssignmentOperator operator, Node rhs, A arg) {
6333 return handleStaticCompounds(node, field, CompoundGetter.FIELD, field, 6325 return handleStaticCompounds(node, field, CompoundGetter.FIELD, field,
6334 CompoundSetter.FIELD, new AssignmentCompound(operator, rhs), arg); 6326 CompoundSetter.FIELD, new AssignmentCompound(operator, rhs), arg);
6335 } 6327 }
6336 6328
6337 @override 6329 @override
6338 R visitFinalTopLevelFieldCompound(Send node, FieldElement field, 6330 R visitFinalTopLevelFieldCompound(Send node, FieldElement field,
6339 AssignmentOperator operator, Node rhs, A arg) { 6331 AssignmentOperator operator, Node rhs, A arg) {
6340 return handleStaticCompounds(node, field, CompoundGetter.FIELD, null, 6332 return handleStaticCompounds(node, field, CompoundGetter.FIELD, null,
6341 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg); 6333 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg);
6342 } 6334 }
6343 6335
6344 @override 6336 @override
6345 R visitTopLevelGetterSetterCompound(Send node, FunctionElement getter, 6337 R visitTopLevelGetterSetterCompound(Send node, GetterElement getter,
6346 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 6338 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
6347 return handleStaticCompounds(node, getter, CompoundGetter.GETTER, setter, 6339 return handleStaticCompounds(node, getter, CompoundGetter.GETTER, setter,
6348 CompoundSetter.SETTER, new AssignmentCompound(operator, rhs), arg); 6340 CompoundSetter.SETTER, new AssignmentCompound(operator, rhs), arg);
6349 } 6341 }
6350 6342
6351 @override 6343 @override
6352 R visitTopLevelMethodSetterCompound(Send node, FunctionElement method, 6344 R visitTopLevelMethodSetterCompound(Send node, FunctionElement method,
6353 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 6345 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
6354 return handleStaticCompounds(node, method, CompoundGetter.METHOD, setter, 6346 return handleStaticCompounds(node, method, CompoundGetter.METHOD, setter,
6355 CompoundSetter.SETTER, new AssignmentCompound(operator, rhs), arg); 6347 CompoundSetter.SETTER, new AssignmentCompound(operator, rhs), arg);
6356 } 6348 }
6357 6349
6358 @override 6350 @override
6359 R visitSuperFieldCompound(Send node, FieldElement field, 6351 R visitSuperFieldCompound(Send node, FieldElement field,
6360 AssignmentOperator operator, Node rhs, A arg) { 6352 AssignmentOperator operator, Node rhs, A arg) {
6361 return handleSuperCompounds(node, field, CompoundGetter.FIELD, field, 6353 return handleSuperCompounds(node, field, CompoundGetter.FIELD, field,
6362 CompoundSetter.FIELD, new AssignmentCompound(operator, rhs), arg); 6354 CompoundSetter.FIELD, new AssignmentCompound(operator, rhs), arg);
6363 } 6355 }
6364 6356
6365 @override 6357 @override
6366 R visitFinalSuperFieldCompound(Send node, FieldElement field, 6358 R visitFinalSuperFieldCompound(Send node, FieldElement field,
6367 AssignmentOperator operator, Node rhs, A arg) { 6359 AssignmentOperator operator, Node rhs, A arg) {
6368 return handleSuperCompounds(node, field, CompoundGetter.FIELD, field, 6360 return handleSuperCompounds(node, field, CompoundGetter.FIELD, field,
6369 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg); 6361 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg);
6370 } 6362 }
6371 6363
6372 @override 6364 @override
6373 R visitSuperGetterSetterCompound(Send node, FunctionElement getter, 6365 R visitSuperGetterSetterCompound(Send node, GetterElement getter,
6374 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 6366 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
6375 return handleSuperCompounds(node, getter, CompoundGetter.GETTER, setter, 6367 return handleSuperCompounds(node, getter, CompoundGetter.GETTER, setter,
6376 CompoundSetter.SETTER, new AssignmentCompound(operator, rhs), arg); 6368 CompoundSetter.SETTER, new AssignmentCompound(operator, rhs), arg);
6377 } 6369 }
6378 6370
6379 @override 6371 @override
6380 R visitSuperMethodSetterCompound(Send node, FunctionElement method, 6372 R visitSuperMethodSetterCompound(Send node, FunctionElement method,
6381 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 6373 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
6382 return handleSuperCompounds(node, method, CompoundGetter.METHOD, setter, 6374 return handleSuperCompounds(node, method, CompoundGetter.METHOD, setter,
6383 CompoundSetter.SETTER, new AssignmentCompound(operator, rhs), arg); 6375 CompoundSetter.SETTER, new AssignmentCompound(operator, rhs), arg);
6384 } 6376 }
6385 6377
6386 @override 6378 @override
6387 R visitSuperFieldSetterCompound(Send node, FieldElement field, 6379 R visitSuperFieldSetterCompound(Send node, FieldElement field,
6388 FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { 6380 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
6389 return handleSuperCompounds(node, field, CompoundGetter.FIELD, setter, 6381 return handleSuperCompounds(node, field, CompoundGetter.FIELD, setter,
6390 CompoundSetter.SETTER, new AssignmentCompound(operator, rhs), arg); 6382 CompoundSetter.SETTER, new AssignmentCompound(operator, rhs), arg);
6391 } 6383 }
6392 6384
6393 @override 6385 @override
6394 R visitSuperGetterFieldCompound(Send node, FunctionElement getter, 6386 R visitSuperGetterFieldCompound(Send node, GetterElement getter,
6395 FieldElement field, AssignmentOperator operator, Node rhs, A arg) { 6387 FieldElement field, AssignmentOperator operator, Node rhs, A arg) {
6396 return handleSuperCompounds(node, getter, CompoundGetter.GETTER, field, 6388 return handleSuperCompounds(node, getter, CompoundGetter.GETTER, field,
6397 CompoundSetter.FIELD, new AssignmentCompound(operator, rhs), arg); 6389 CompoundSetter.FIELD, new AssignmentCompound(operator, rhs), arg);
6398 } 6390 }
6399 6391
6400 @override 6392 @override
6401 R visitClassTypeLiteralCompound(Send node, ConstantExpression constant, 6393 R visitClassTypeLiteralCompound(Send node, ConstantExpression constant,
6402 AssignmentOperator operator, Node rhs, A arg) { 6394 AssignmentOperator operator, Node rhs, A arg) {
6403 return handleTypeLiteralConstantCompounds( 6395 return handleTypeLiteralConstantCompounds(
6404 node, constant, new AssignmentCompound(operator, rhs), arg); 6396 node, constant, new AssignmentCompound(operator, rhs), arg);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
6474 node, 6466 node,
6475 field, 6467 field,
6476 CompoundGetter.FIELD, 6468 CompoundGetter.FIELD,
6477 field, 6469 field,
6478 CompoundSetter.FIELD, 6470 CompoundSetter.FIELD,
6479 new IncDecCompound(CompoundKind.PREFIX, operator), 6471 new IncDecCompound(CompoundKind.PREFIX, operator),
6480 arg); 6472 arg);
6481 } 6473 }
6482 6474
6483 @override 6475 @override
6484 R visitStaticGetterSetterPrefix(Send node, FunctionElement getter, 6476 R visitStaticGetterSetterPrefix(Send node, GetterElement getter,
6485 FunctionElement setter, IncDecOperator operator, A arg) { 6477 SetterElement setter, IncDecOperator operator, A arg) {
6486 return handleStaticCompounds( 6478 return handleStaticCompounds(
6487 node, 6479 node,
6488 getter, 6480 getter,
6489 CompoundGetter.GETTER, 6481 CompoundGetter.GETTER,
6490 setter, 6482 setter,
6491 CompoundSetter.SETTER, 6483 CompoundSetter.SETTER,
6492 new IncDecCompound(CompoundKind.PREFIX, operator), 6484 new IncDecCompound(CompoundKind.PREFIX, operator),
6493 arg); 6485 arg);
6494 } 6486 }
6495 6487
6496 R visitStaticMethodSetterPrefix(Send node, FunctionElement getter, 6488 R visitStaticMethodSetterPrefix(Send node, GetterElement getter,
6497 FunctionElement setter, IncDecOperator operator, A arg) { 6489 SetterElement setter, IncDecOperator operator, A arg) {
6498 return handleStaticCompounds( 6490 return handleStaticCompounds(
6499 node, 6491 node,
6500 getter, 6492 getter,
6501 CompoundGetter.METHOD, 6493 CompoundGetter.METHOD,
6502 setter, 6494 setter,
6503 CompoundSetter.SETTER, 6495 CompoundSetter.SETTER,
6504 new IncDecCompound(CompoundKind.PREFIX, operator), 6496 new IncDecCompound(CompoundKind.PREFIX, operator),
6505 arg); 6497 arg);
6506 } 6498 }
6507 6499
6508 @override 6500 @override
6509 R visitTopLevelFieldPrefix( 6501 R visitTopLevelFieldPrefix(
6510 Send node, FieldElement field, IncDecOperator operator, A arg) { 6502 Send node, FieldElement field, IncDecOperator operator, A arg) {
6511 return handleStaticCompounds( 6503 return handleStaticCompounds(
6512 node, 6504 node,
6513 field, 6505 field,
6514 CompoundGetter.FIELD, 6506 CompoundGetter.FIELD,
6515 field, 6507 field,
6516 CompoundSetter.FIELD, 6508 CompoundSetter.FIELD,
6517 new IncDecCompound(CompoundKind.PREFIX, operator), 6509 new IncDecCompound(CompoundKind.PREFIX, operator),
6518 arg); 6510 arg);
6519 } 6511 }
6520 6512
6521 @override 6513 @override
6522 R visitTopLevelGetterSetterPrefix(Send node, FunctionElement getter, 6514 R visitTopLevelGetterSetterPrefix(Send node, GetterElement getter,
6523 FunctionElement setter, IncDecOperator operator, A arg) { 6515 SetterElement setter, IncDecOperator operator, A arg) {
6524 return handleStaticCompounds( 6516 return handleStaticCompounds(
6525 node, 6517 node,
6526 getter, 6518 getter,
6527 CompoundGetter.GETTER, 6519 CompoundGetter.GETTER,
6528 setter, 6520 setter,
6529 CompoundSetter.SETTER, 6521 CompoundSetter.SETTER,
6530 new IncDecCompound(CompoundKind.PREFIX, operator), 6522 new IncDecCompound(CompoundKind.PREFIX, operator),
6531 arg); 6523 arg);
6532 } 6524 }
6533 6525
6534 @override 6526 @override
6535 R visitTopLevelMethodSetterPrefix(Send node, FunctionElement method, 6527 R visitTopLevelMethodSetterPrefix(Send node, FunctionElement method,
6536 FunctionElement setter, IncDecOperator operator, A arg) { 6528 SetterElement setter, IncDecOperator operator, A arg) {
6537 return handleStaticCompounds( 6529 return handleStaticCompounds(
6538 node, 6530 node,
6539 method, 6531 method,
6540 CompoundGetter.METHOD, 6532 CompoundGetter.METHOD,
6541 setter, 6533 setter,
6542 CompoundSetter.SETTER, 6534 CompoundSetter.SETTER,
6543 new IncDecCompound(CompoundKind.PREFIX, operator), 6535 new IncDecCompound(CompoundKind.PREFIX, operator),
6544 arg); 6536 arg);
6545 } 6537 }
6546 6538
6547 @override 6539 @override
6548 R visitSuperFieldPrefix( 6540 R visitSuperFieldPrefix(
6549 Send node, FieldElement field, IncDecOperator operator, A arg) { 6541 SendSet node, FieldElement field, IncDecOperator operator, A arg) {
6550 return handleSuperCompounds( 6542 return handleSuperCompounds(
6551 node, 6543 node,
6552 field, 6544 field,
6553 CompoundGetter.FIELD, 6545 CompoundGetter.FIELD,
6554 field, 6546 field,
6555 CompoundSetter.FIELD, 6547 CompoundSetter.FIELD,
6556 new IncDecCompound(CompoundKind.PREFIX, operator), 6548 new IncDecCompound(CompoundKind.PREFIX, operator),
6557 arg); 6549 arg);
6558 } 6550 }
6559 6551
6560 @override 6552 @override
6561 R visitSuperFieldFieldPrefix(Send node, FieldElement readField, 6553 R visitSuperFieldFieldPrefix(SendSet node, FieldElement readField,
6562 FieldElement writtenField, IncDecOperator operator, A arg) { 6554 FieldElement writtenField, IncDecOperator operator, A arg) {
6563 return handleSuperCompounds( 6555 return handleSuperCompounds(
6564 node, 6556 node,
6565 readField, 6557 readField,
6566 CompoundGetter.FIELD, 6558 CompoundGetter.FIELD,
6567 writtenField, 6559 writtenField,
6568 CompoundSetter.FIELD, 6560 CompoundSetter.FIELD,
6569 new IncDecCompound(CompoundKind.PREFIX, operator), 6561 new IncDecCompound(CompoundKind.PREFIX, operator),
6570 arg); 6562 arg);
6571 } 6563 }
6572 6564
6573 @override 6565 @override
6574 R visitSuperFieldSetterPrefix(Send node, FieldElement field, 6566 R visitSuperFieldSetterPrefix(SendSet node, FieldElement field,
6575 FunctionElement setter, IncDecOperator operator, A arg) { 6567 SetterElement setter, IncDecOperator operator, A arg) {
6576 return handleSuperCompounds( 6568 return handleSuperCompounds(
6577 node, 6569 node,
6578 field, 6570 field,
6579 CompoundGetter.FIELD, 6571 CompoundGetter.FIELD,
6580 setter, 6572 setter,
6581 CompoundSetter.SETTER, 6573 CompoundSetter.SETTER,
6582 new IncDecCompound(CompoundKind.PREFIX, operator), 6574 new IncDecCompound(CompoundKind.PREFIX, operator),
6583 arg); 6575 arg);
6584 } 6576 }
6585 6577
6586 @override 6578 @override
6587 R visitSuperGetterSetterPrefix(Send node, FunctionElement getter, 6579 R visitSuperGetterSetterPrefix(SendSet node, GetterElement getter,
6588 FunctionElement setter, IncDecOperator operator, A arg) { 6580 SetterElement setter, IncDecOperator operator, A arg) {
6589 return handleSuperCompounds( 6581 return handleSuperCompounds(
6590 node, 6582 node,
6591 getter, 6583 getter,
6592 CompoundGetter.GETTER, 6584 CompoundGetter.GETTER,
6593 setter, 6585 setter,
6594 CompoundSetter.SETTER, 6586 CompoundSetter.SETTER,
6595 new IncDecCompound(CompoundKind.PREFIX, operator), 6587 new IncDecCompound(CompoundKind.PREFIX, operator),
6596 arg); 6588 arg);
6597 } 6589 }
6598 6590
6599 @override 6591 @override
6600 R visitSuperGetterFieldPrefix(Send node, FunctionElement getter, 6592 R visitSuperGetterFieldPrefix(SendSet node, GetterElement getter,
6601 FieldElement field, IncDecOperator operator, A arg) { 6593 FieldElement field, IncDecOperator operator, A arg) {
6602 return handleSuperCompounds( 6594 return handleSuperCompounds(
6603 node, 6595 node,
6604 getter, 6596 getter,
6605 CompoundGetter.GETTER, 6597 CompoundGetter.GETTER,
6606 field, 6598 field,
6607 CompoundSetter.FIELD, 6599 CompoundSetter.FIELD,
6608 new IncDecCompound(CompoundKind.PREFIX, operator), 6600 new IncDecCompound(CompoundKind.PREFIX, operator),
6609 arg); 6601 arg);
6610 } 6602 }
6611 6603
6612 @override 6604 @override
6613 R visitSuperMethodSetterPrefix(Send node, FunctionElement method, 6605 R visitSuperMethodSetterPrefix(SendSet node, FunctionElement method,
6614 FunctionElement setter, IncDecOperator operator, A arg) { 6606 SetterElement setter, IncDecOperator operator, A arg) {
6615 return handleSuperCompounds( 6607 return handleSuperCompounds(
6616 node, 6608 node,
6617 method, 6609 method,
6618 CompoundGetter.METHOD, 6610 CompoundGetter.METHOD,
6619 setter, 6611 setter,
6620 CompoundSetter.SETTER, 6612 CompoundSetter.SETTER,
6621 new IncDecCompound(CompoundKind.PREFIX, operator), 6613 new IncDecCompound(CompoundKind.PREFIX, operator),
6622 arg); 6614 arg);
6623 } 6615 }
6624 6616
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
6701 node, 6693 node,
6702 field, 6694 field,
6703 CompoundGetter.FIELD, 6695 CompoundGetter.FIELD,
6704 field, 6696 field,
6705 CompoundSetter.FIELD, 6697 CompoundSetter.FIELD,
6706 new IncDecCompound(CompoundKind.POSTFIX, operator), 6698 new IncDecCompound(CompoundKind.POSTFIX, operator),
6707 arg); 6699 arg);
6708 } 6700 }
6709 6701
6710 @override 6702 @override
6711 R visitStaticGetterSetterPostfix(Send node, FunctionElement getter, 6703 R visitStaticGetterSetterPostfix(Send node, GetterElement getter,
6712 FunctionElement setter, IncDecOperator operator, A arg) { 6704 SetterElement setter, IncDecOperator operator, A arg) {
6713 return handleStaticCompounds( 6705 return handleStaticCompounds(
6714 node, 6706 node,
6715 getter, 6707 getter,
6716 CompoundGetter.GETTER, 6708 CompoundGetter.GETTER,
6717 setter, 6709 setter,
6718 CompoundSetter.SETTER, 6710 CompoundSetter.SETTER,
6719 new IncDecCompound(CompoundKind.POSTFIX, operator), 6711 new IncDecCompound(CompoundKind.POSTFIX, operator),
6720 arg); 6712 arg);
6721 } 6713 }
6722 6714
6723 R visitStaticMethodSetterPostfix(Send node, FunctionElement getter, 6715 R visitStaticMethodSetterPostfix(Send node, GetterElement getter,
6724 FunctionElement setter, IncDecOperator operator, A arg) { 6716 SetterElement setter, IncDecOperator operator, A arg) {
6725 return handleStaticCompounds( 6717 return handleStaticCompounds(
6726 node, 6718 node,
6727 getter, 6719 getter,
6728 CompoundGetter.METHOD, 6720 CompoundGetter.METHOD,
6729 setter, 6721 setter,
6730 CompoundSetter.SETTER, 6722 CompoundSetter.SETTER,
6731 new IncDecCompound(CompoundKind.POSTFIX, operator), 6723 new IncDecCompound(CompoundKind.POSTFIX, operator),
6732 arg); 6724 arg);
6733 } 6725 }
6734 6726
6735 @override 6727 @override
6736 R visitTopLevelFieldPostfix( 6728 R visitTopLevelFieldPostfix(
6737 Send node, FieldElement field, IncDecOperator operator, A arg) { 6729 Send node, FieldElement field, IncDecOperator operator, A arg) {
6738 return handleStaticCompounds( 6730 return handleStaticCompounds(
6739 node, 6731 node,
6740 field, 6732 field,
6741 CompoundGetter.FIELD, 6733 CompoundGetter.FIELD,
6742 field, 6734 field,
6743 CompoundSetter.FIELD, 6735 CompoundSetter.FIELD,
6744 new IncDecCompound(CompoundKind.POSTFIX, operator), 6736 new IncDecCompound(CompoundKind.POSTFIX, operator),
6745 arg); 6737 arg);
6746 } 6738 }
6747 6739
6748 @override 6740 @override
6749 R visitTopLevelGetterSetterPostfix(Send node, FunctionElement getter, 6741 R visitTopLevelGetterSetterPostfix(Send node, GetterElement getter,
6750 FunctionElement setter, IncDecOperator operator, A arg) { 6742 SetterElement setter, IncDecOperator operator, A arg) {
6751 return handleStaticCompounds( 6743 return handleStaticCompounds(
6752 node, 6744 node,
6753 getter, 6745 getter,
6754 CompoundGetter.GETTER, 6746 CompoundGetter.GETTER,
6755 setter, 6747 setter,
6756 CompoundSetter.SETTER, 6748 CompoundSetter.SETTER,
6757 new IncDecCompound(CompoundKind.POSTFIX, operator), 6749 new IncDecCompound(CompoundKind.POSTFIX, operator),
6758 arg); 6750 arg);
6759 } 6751 }
6760 6752
6761 @override 6753 @override
6762 R visitTopLevelMethodSetterPostfix(Send node, FunctionElement method, 6754 R visitTopLevelMethodSetterPostfix(Send node, FunctionElement method,
6763 FunctionElement setter, IncDecOperator operator, A arg) { 6755 SetterElement setter, IncDecOperator operator, A arg) {
6764 return handleStaticCompounds( 6756 return handleStaticCompounds(
6765 node, 6757 node,
6766 method, 6758 method,
6767 CompoundGetter.METHOD, 6759 CompoundGetter.METHOD,
6768 setter, 6760 setter,
6769 CompoundSetter.SETTER, 6761 CompoundSetter.SETTER,
6770 new IncDecCompound(CompoundKind.POSTFIX, operator), 6762 new IncDecCompound(CompoundKind.POSTFIX, operator),
6771 arg); 6763 arg);
6772 } 6764 }
6773 6765
6774 @override 6766 @override
6775 R visitSuperFieldPostfix( 6767 R visitSuperFieldPostfix(
6776 Send node, FieldElement field, IncDecOperator operator, A arg) { 6768 SendSet node, FieldElement field, IncDecOperator operator, A arg) {
6777 return handleSuperCompounds( 6769 return handleSuperCompounds(
6778 node, 6770 node,
6779 field, 6771 field,
6780 CompoundGetter.FIELD, 6772 CompoundGetter.FIELD,
6781 field, 6773 field,
6782 CompoundSetter.FIELD, 6774 CompoundSetter.FIELD,
6783 new IncDecCompound(CompoundKind.POSTFIX, operator), 6775 new IncDecCompound(CompoundKind.POSTFIX, operator),
6784 arg); 6776 arg);
6785 } 6777 }
6786 6778
6787 @override 6779 @override
6788 R visitSuperFieldFieldPostfix(Send node, FieldElement readField, 6780 R visitSuperFieldFieldPostfix(SendSet node, FieldElement readField,
6789 FieldElement writtenField, IncDecOperator operator, A arg) { 6781 FieldElement writtenField, IncDecOperator operator, A arg) {
6790 return handleSuperCompounds( 6782 return handleSuperCompounds(
6791 node, 6783 node,
6792 readField, 6784 readField,
6793 CompoundGetter.FIELD, 6785 CompoundGetter.FIELD,
6794 writtenField, 6786 writtenField,
6795 CompoundSetter.FIELD, 6787 CompoundSetter.FIELD,
6796 new IncDecCompound(CompoundKind.POSTFIX, operator), 6788 new IncDecCompound(CompoundKind.POSTFIX, operator),
6797 arg); 6789 arg);
6798 } 6790 }
6799 6791
6800 @override 6792 @override
6801 R visitSuperFieldSetterPostfix(Send node, FieldElement field, 6793 R visitSuperFieldSetterPostfix(SendSet node, FieldElement field,
6802 FunctionElement setter, IncDecOperator operator, A arg) { 6794 SetterElement setter, IncDecOperator operator, A arg) {
6803 return handleSuperCompounds( 6795 return handleSuperCompounds(
6804 node, 6796 node,
6805 field, 6797 field,
6806 CompoundGetter.FIELD, 6798 CompoundGetter.FIELD,
6807 setter, 6799 setter,
6808 CompoundSetter.SETTER, 6800 CompoundSetter.SETTER,
6809 new IncDecCompound(CompoundKind.POSTFIX, operator), 6801 new IncDecCompound(CompoundKind.POSTFIX, operator),
6810 arg); 6802 arg);
6811 } 6803 }
6812 6804
6813 R visitSuperGetterSetterPostfix(Send node, FunctionElement getter, 6805 R visitSuperGetterSetterPostfix(SendSet node, GetterElement getter,
6814 FunctionElement setter, IncDecOperator operator, A arg) { 6806 SetterElement setter, IncDecOperator operator, A arg) {
6815 return handleSuperCompounds( 6807 return handleSuperCompounds(
6816 node, 6808 node,
6817 getter, 6809 getter,
6818 CompoundGetter.GETTER, 6810 CompoundGetter.GETTER,
6819 setter, 6811 setter,
6820 CompoundSetter.SETTER, 6812 CompoundSetter.SETTER,
6821 new IncDecCompound(CompoundKind.POSTFIX, operator), 6813 new IncDecCompound(CompoundKind.POSTFIX, operator),
6822 arg); 6814 arg);
6823 } 6815 }
6824 6816
6825 @override 6817 @override
6826 R visitSuperGetterFieldPostfix(Send node, FunctionElement getter, 6818 R visitSuperGetterFieldPostfix(SendSet node, GetterElement getter,
6827 FieldElement field, IncDecOperator operator, A arg) { 6819 FieldElement field, IncDecOperator operator, A arg) {
6828 return handleSuperCompounds( 6820 return handleSuperCompounds(
6829 node, 6821 node,
6830 getter, 6822 getter,
6831 CompoundGetter.GETTER, 6823 CompoundGetter.GETTER,
6832 field, 6824 field,
6833 CompoundSetter.FIELD, 6825 CompoundSetter.FIELD,
6834 new IncDecCompound(CompoundKind.POSTFIX, operator), 6826 new IncDecCompound(CompoundKind.POSTFIX, operator),
6835 arg); 6827 arg);
6836 } 6828 }
6837 6829
6838 @override 6830 @override
6839 R visitSuperMethodSetterPostfix(Send node, FunctionElement method, 6831 R visitSuperMethodSetterPostfix(SendSet node, FunctionElement method,
6840 FunctionElement setter, IncDecOperator operator, A arg) { 6832 SetterElement setter, IncDecOperator operator, A arg) {
6841 return handleSuperCompounds( 6833 return handleSuperCompounds(
6842 node, 6834 node,
6843 method, 6835 method,
6844 CompoundGetter.METHOD, 6836 CompoundGetter.METHOD,
6845 setter, 6837 setter,
6846 CompoundSetter.SETTER, 6838 CompoundSetter.SETTER,
6847 new IncDecCompound(CompoundKind.POSTFIX, operator), 6839 new IncDecCompound(CompoundKind.POSTFIX, operator),
6848 arg); 6840 arg);
6849 } 6841 }
6850 6842
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
6896 node, 6888 node,
6897 element, 6889 element,
6898 CompoundGetter.UNRESOLVED, 6890 CompoundGetter.UNRESOLVED,
6899 setter, 6891 setter,
6900 CompoundSetter.SETTER, 6892 CompoundSetter.SETTER,
6901 new IncDecCompound(CompoundKind.POSTFIX, operator), 6893 new IncDecCompound(CompoundKind.POSTFIX, operator),
6902 arg); 6894 arg);
6903 } 6895 }
6904 6896
6905 @override 6897 @override
6906 R visitUnresolvedStaticSetterPostfix(Send node, MethodElement getter, 6898 R visitUnresolvedStaticSetterPostfix(Send node, GetterElement getter,
6907 Element element, IncDecOperator operator, A arg) { 6899 Element element, IncDecOperator operator, A arg) {
6908 return handleStaticCompounds( 6900 return handleStaticCompounds(
6909 node, 6901 node,
6910 getter, 6902 getter,
6911 CompoundGetter.GETTER, 6903 CompoundGetter.GETTER,
6912 element, 6904 element,
6913 CompoundSetter.INVALID, 6905 CompoundSetter.INVALID,
6914 new IncDecCompound(CompoundKind.POSTFIX, operator), 6906 new IncDecCompound(CompoundKind.POSTFIX, operator),
6915 arg); 6907 arg);
6916 } 6908 }
6917 6909
6918 @override 6910 @override
6919 R visitUnresolvedTopLevelSetterPostfix(Send node, MethodElement getter, 6911 R visitUnresolvedTopLevelSetterPostfix(Send node, GetterElement getter,
6920 Element element, IncDecOperator operator, A arg) { 6912 Element element, IncDecOperator operator, A arg) {
6921 return handleStaticCompounds( 6913 return handleStaticCompounds(
6922 node, 6914 node,
6923 getter, 6915 getter,
6924 CompoundGetter.GETTER, 6916 CompoundGetter.GETTER,
6925 element, 6917 element,
6926 CompoundSetter.INVALID, 6918 CompoundSetter.INVALID,
6927 new IncDecCompound(CompoundKind.POSTFIX, operator), 6919 new IncDecCompound(CompoundKind.POSTFIX, operator),
6928 arg); 6920 arg);
6929 } 6921 }
(...skipping 19 matching lines...) Expand all
6949 method, 6941 method,
6950 CompoundGetter.METHOD, 6942 CompoundGetter.METHOD,
6951 method, 6943 method,
6952 CompoundSetter.INVALID, 6944 CompoundSetter.INVALID,
6953 new IncDecCompound(CompoundKind.POSTFIX, operator), 6945 new IncDecCompound(CompoundKind.POSTFIX, operator),
6954 arg); 6946 arg);
6955 } 6947 }
6956 6948
6957 @override 6949 @override
6958 R visitUnresolvedPostfix( 6950 R visitUnresolvedPostfix(
6959 Send node, Element element, IncDecOperator operator, A arg) { 6951 Send node, ErroneousElement element, IncDecOperator operator, A arg) {
6960 return handleStaticCompounds( 6952 return handleStaticCompounds(
6961 node, 6953 node,
6962 element, 6954 element,
6963 CompoundGetter.UNRESOLVED, 6955 CompoundGetter.UNRESOLVED,
6964 element, 6956 element,
6965 CompoundSetter.INVALID, 6957 CompoundSetter.INVALID,
6966 new IncDecCompound(CompoundKind.POSTFIX, operator), 6958 new IncDecCompound(CompoundKind.POSTFIX, operator),
6967 arg); 6959 arg);
6968 } 6960 }
6969 6961
(...skipping 17 matching lines...) Expand all
6987 node, 6979 node,
6988 element, 6980 element,
6989 CompoundGetter.UNRESOLVED, 6981 CompoundGetter.UNRESOLVED,
6990 setter, 6982 setter,
6991 CompoundSetter.SETTER, 6983 CompoundSetter.SETTER,
6992 new IncDecCompound(CompoundKind.PREFIX, operator), 6984 new IncDecCompound(CompoundKind.PREFIX, operator),
6993 arg); 6985 arg);
6994 } 6986 }
6995 6987
6996 @override 6988 @override
6997 R visitUnresolvedStaticSetterPrefix(Send node, MethodElement getter, 6989 R visitUnresolvedStaticSetterPrefix(Send node, GetterElement getter,
6998 Element element, IncDecOperator operator, A arg) { 6990 Element element, IncDecOperator operator, A arg) {
6999 return handleStaticCompounds( 6991 return handleStaticCompounds(
7000 node, 6992 node,
7001 getter, 6993 getter,
7002 CompoundGetter.GETTER, 6994 CompoundGetter.GETTER,
7003 element, 6995 element,
7004 CompoundSetter.INVALID, 6996 CompoundSetter.INVALID,
7005 new IncDecCompound(CompoundKind.PREFIX, operator), 6997 new IncDecCompound(CompoundKind.PREFIX, operator),
7006 arg); 6998 arg);
7007 } 6999 }
7008 7000
7009 @override 7001 @override
7010 R visitUnresolvedTopLevelSetterPrefix(Send node, MethodElement getter, 7002 R visitUnresolvedTopLevelSetterPrefix(Send node, GetterElement getter,
7011 Element element, IncDecOperator operator, A arg) { 7003 Element element, IncDecOperator operator, A arg) {
7012 return handleStaticCompounds( 7004 return handleStaticCompounds(
7013 node, 7005 node,
7014 getter, 7006 getter,
7015 CompoundGetter.GETTER, 7007 CompoundGetter.GETTER,
7016 element, 7008 element,
7017 CompoundSetter.INVALID, 7009 CompoundSetter.INVALID,
7018 new IncDecCompound(CompoundKind.PREFIX, operator), 7010 new IncDecCompound(CompoundKind.PREFIX, operator),
7019 arg); 7011 arg);
7020 } 7012 }
(...skipping 19 matching lines...) Expand all
7040 method, 7032 method,
7041 CompoundGetter.METHOD, 7033 CompoundGetter.METHOD,
7042 method, 7034 method,
7043 CompoundSetter.INVALID, 7035 CompoundSetter.INVALID,
7044 new IncDecCompound(CompoundKind.PREFIX, operator), 7036 new IncDecCompound(CompoundKind.PREFIX, operator),
7045 arg); 7037 arg);
7046 } 7038 }
7047 7039
7048 @override 7040 @override
7049 R visitUnresolvedPrefix( 7041 R visitUnresolvedPrefix(
7050 Send node, Element element, IncDecOperator operator, A arg) { 7042 Send node, ErroneousElement element, IncDecOperator operator, A arg) {
7051 return handleStaticCompounds( 7043 return handleStaticCompounds(
7052 node, 7044 node,
7053 element, 7045 element,
7054 CompoundGetter.UNRESOLVED, 7046 CompoundGetter.UNRESOLVED,
7055 element, 7047 element,
7056 CompoundSetter.INVALID, 7048 CompoundSetter.INVALID,
7057 new IncDecCompound(CompoundKind.PREFIX, operator), 7049 new IncDecCompound(CompoundKind.PREFIX, operator),
7058 arg); 7050 arg);
7059 } 7051 }
7060 7052
(...skipping 17 matching lines...) Expand all
7078 node, 7070 node,
7079 element, 7071 element,
7080 CompoundGetter.UNRESOLVED, 7072 CompoundGetter.UNRESOLVED,
7081 setter, 7073 setter,
7082 CompoundSetter.SETTER, 7074 CompoundSetter.SETTER,
7083 new AssignmentCompound(operator, rhs), 7075 new AssignmentCompound(operator, rhs),
7084 arg); 7076 arg);
7085 } 7077 }
7086 7078
7087 @override 7079 @override
7088 R visitUnresolvedStaticSetterCompound(Send node, MethodElement getter, 7080 R visitUnresolvedStaticSetterCompound(Send node, GetterElement getter,
7089 Element element, AssignmentOperator operator, Node rhs, A arg) { 7081 Element element, AssignmentOperator operator, Node rhs, A arg) {
7090 return handleStaticCompounds(node, getter, CompoundGetter.GETTER, element, 7082 return handleStaticCompounds(node, getter, CompoundGetter.GETTER, element,
7091 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg); 7083 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg);
7092 } 7084 }
7093 7085
7094 @override 7086 @override
7095 R visitUnresolvedTopLevelSetterCompound(Send node, MethodElement getter, 7087 R visitUnresolvedTopLevelSetterCompound(Send node, GetterElement getter,
7096 Element element, AssignmentOperator operator, Node rhs, A arg) { 7088 Element element, AssignmentOperator operator, Node rhs, A arg) {
7097 return handleStaticCompounds(node, getter, CompoundGetter.GETTER, element, 7089 return handleStaticCompounds(node, getter, CompoundGetter.GETTER, element,
7098 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg); 7090 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg);
7099 } 7091 }
7100 7092
7101 @override 7093 @override
7102 R visitStaticMethodCompound(Send node, MethodElement method, 7094 R visitStaticMethodCompound(Send node, MethodElement method,
7103 AssignmentOperator operator, Node rhs, A arg) { 7095 AssignmentOperator operator, Node rhs, A arg) {
7104 return handleStaticCompounds(node, method, CompoundGetter.METHOD, method, 7096 return handleStaticCompounds(node, method, CompoundGetter.METHOD, method,
7105 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg); 7097 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg);
7106 } 7098 }
7107 7099
7108 @override 7100 @override
7109 R visitTopLevelMethodCompound(Send node, MethodElement method, 7101 R visitTopLevelMethodCompound(Send node, MethodElement method,
7110 AssignmentOperator operator, Node rhs, A arg) { 7102 AssignmentOperator operator, Node rhs, A arg) {
7111 return handleStaticCompounds(node, method, CompoundGetter.METHOD, method, 7103 return handleStaticCompounds(node, method, CompoundGetter.METHOD, method,
7112 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg); 7104 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg);
7113 } 7105 }
7114 7106
7115 @override 7107 @override
7116 R visitUnresolvedCompound(Send node, Element element, 7108 R visitUnresolvedCompound(Send node, ErroneousElement element,
7117 AssignmentOperator operator, Node rhs, A arg) { 7109 AssignmentOperator operator, Node rhs, A arg) {
7118 return handleStaticCompounds( 7110 return handleStaticCompounds(
7119 node, 7111 node,
7120 element, 7112 element,
7121 CompoundGetter.UNRESOLVED, 7113 CompoundGetter.UNRESOLVED,
7122 element, 7114 element,
7123 CompoundSetter.INVALID, 7115 CompoundSetter.INVALID,
7124 new AssignmentCompound(operator, rhs), 7116 new AssignmentCompound(operator, rhs),
7125 arg); 7117 arg);
7126 } 7118 }
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
7216 node, 7208 node,
7217 field, 7209 field,
7218 CompoundGetter.FIELD, 7210 CompoundGetter.FIELD,
7219 field, 7211 field,
7220 CompoundSetter.INVALID, 7212 CompoundSetter.INVALID,
7221 new IncDecCompound(CompoundKind.PREFIX, operator), 7213 new IncDecCompound(CompoundKind.PREFIX, operator),
7222 arg); 7214 arg);
7223 } 7215 }
7224 7216
7225 @override 7217 @override
7226 R visitSuperMethodCompound(Send node, FunctionElement method, 7218 R visitSuperMethodCompound(Send node, MethodElement method,
7227 AssignmentOperator operator, Node rhs, A arg) { 7219 AssignmentOperator operator, Node rhs, A arg) {
7228 return handleSuperCompounds(node, method, CompoundGetter.METHOD, method, 7220 return handleSuperCompounds(node, method, CompoundGetter.METHOD, method,
7229 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg); 7221 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg);
7230 } 7222 }
7231 7223
7232 @override 7224 @override
7233 R visitSuperMethodPostfix( 7225 R visitSuperMethodPostfix(
7234 Send node, FunctionElement method, IncDecOperator operator, A arg) { 7226 Send node, MethodElement method, IncDecOperator operator, A arg) {
7235 return handleSuperCompounds( 7227 return handleSuperCompounds(
7236 node, 7228 node,
7237 method, 7229 method,
7238 CompoundGetter.METHOD, 7230 CompoundGetter.METHOD,
7239 method, 7231 method,
7240 CompoundSetter.INVALID, 7232 CompoundSetter.INVALID,
7241 new IncDecCompound(CompoundKind.POSTFIX, operator), 7233 new IncDecCompound(CompoundKind.POSTFIX, operator),
7242 arg); 7234 arg);
7243 } 7235 }
7244 7236
7245 @override 7237 @override
7246 R visitSuperMethodPrefix( 7238 R visitSuperMethodPrefix(
7247 Send node, FunctionElement method, IncDecOperator operator, A arg) { 7239 Send node, MethodElement method, IncDecOperator operator, A arg) {
7248 return handleSuperCompounds( 7240 return handleSuperCompounds(
7249 node, 7241 node,
7250 method, 7242 method,
7251 CompoundGetter.METHOD, 7243 CompoundGetter.METHOD,
7252 method, 7244 method,
7253 CompoundSetter.INVALID, 7245 CompoundSetter.INVALID,
7254 new IncDecCompound(CompoundKind.PREFIX, operator), 7246 new IncDecCompound(CompoundKind.PREFIX, operator),
7255 arg); 7247 arg);
7256 } 7248 }
7257 7249
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
7289 element, 7281 element,
7290 CompoundGetter.UNRESOLVED, 7282 CompoundGetter.UNRESOLVED,
7291 element, 7283 element,
7292 CompoundSetter.INVALID, 7284 CompoundSetter.INVALID,
7293 new AssignmentCompound(operator, rhs), 7285 new AssignmentCompound(operator, rhs),
7294 arg); 7286 arg);
7295 } 7287 }
7296 7288
7297 @override 7289 @override
7298 R visitUnresolvedSuperPostfix( 7290 R visitUnresolvedSuperPostfix(
7299 Send node, Element element, IncDecOperator operator, A arg) { 7291 SendSet node, Element element, IncDecOperator operator, A arg) {
7300 return handleSuperCompounds( 7292 return handleSuperCompounds(
7301 node, 7293 node,
7302 element, 7294 element,
7303 CompoundGetter.UNRESOLVED, 7295 CompoundGetter.UNRESOLVED,
7304 element, 7296 element,
7305 CompoundSetter.INVALID, 7297 CompoundSetter.INVALID,
7306 new IncDecCompound(CompoundKind.POSTFIX, operator), 7298 new IncDecCompound(CompoundKind.POSTFIX, operator),
7307 arg); 7299 arg);
7308 } 7300 }
7309 7301
7310 @override 7302 @override
7311 R visitUnresolvedSuperPrefix( 7303 R visitUnresolvedSuperPrefix(
7312 Send node, Element element, IncDecOperator operator, A arg) { 7304 SendSet node, Element element, IncDecOperator operator, A arg) {
7313 return handleSuperCompounds( 7305 return handleSuperCompounds(
7314 node, 7306 node,
7315 element, 7307 element,
7316 CompoundGetter.UNRESOLVED, 7308 CompoundGetter.UNRESOLVED,
7317 element, 7309 element,
7318 CompoundSetter.INVALID, 7310 CompoundSetter.INVALID,
7319 new IncDecCompound(CompoundKind.PREFIX, operator), 7311 new IncDecCompound(CompoundKind.PREFIX, operator),
7320 arg); 7312 arg);
7321 } 7313 }
7322 7314
7323 @override 7315 @override
7324 R visitUnresolvedSuperGetterCompound(Send node, Element element, 7316 R visitUnresolvedSuperGetterCompound(SendSet node, Element element,
7325 MethodElement setter, AssignmentOperator operator, Node rhs, A arg) { 7317 SetterElement setter, AssignmentOperator operator, Node rhs, A arg) {
7326 return handleSuperCompounds( 7318 return handleSuperCompounds(
7327 node, 7319 node,
7328 element, 7320 element,
7329 CompoundGetter.UNRESOLVED, 7321 CompoundGetter.UNRESOLVED,
7330 setter, 7322 setter,
7331 CompoundSetter.SETTER, 7323 CompoundSetter.SETTER,
7332 new AssignmentCompound(operator, rhs), 7324 new AssignmentCompound(operator, rhs),
7333 arg); 7325 arg);
7334 } 7326 }
7335 7327
7336 @override 7328 @override
7337 R visitUnresolvedSuperGetterPostfix(Send node, Element element, 7329 R visitUnresolvedSuperGetterPostfix(SendSet node, Element element,
7338 MethodElement setter, IncDecOperator operator, A arg) { 7330 SetterElement setter, IncDecOperator operator, A arg) {
7339 return handleSuperCompounds( 7331 return handleSuperCompounds(
7340 node, 7332 node,
7341 element, 7333 element,
7342 CompoundGetter.UNRESOLVED, 7334 CompoundGetter.UNRESOLVED,
7343 setter, 7335 setter,
7344 CompoundSetter.SETTER, 7336 CompoundSetter.SETTER,
7345 new IncDecCompound(CompoundKind.POSTFIX, operator), 7337 new IncDecCompound(CompoundKind.POSTFIX, operator),
7346 arg); 7338 arg);
7347 } 7339 }
7348 7340
7349 @override 7341 @override
7350 R visitUnresolvedSuperGetterPrefix(Send node, Element element, 7342 R visitUnresolvedSuperGetterPrefix(SendSet node, Element element,
7351 MethodElement setter, IncDecOperator operator, A arg) { 7343 SetterElement setter, IncDecOperator operator, A arg) {
7352 return handleSuperCompounds( 7344 return handleSuperCompounds(
7353 node, 7345 node,
7354 element, 7346 element,
7355 CompoundGetter.UNRESOLVED, 7347 CompoundGetter.UNRESOLVED,
7356 setter, 7348 setter,
7357 CompoundSetter.SETTER, 7349 CompoundSetter.SETTER,
7358 new IncDecCompound(CompoundKind.PREFIX, operator), 7350 new IncDecCompound(CompoundKind.PREFIX, operator),
7359 arg); 7351 arg);
7360 } 7352 }
7361 7353
7362 @override 7354 @override
7363 R visitUnresolvedSuperSetterCompound(Send node, MethodElement getter, 7355 R visitUnresolvedSuperSetterCompound(Send node, GetterElement getter,
7364 Element element, AssignmentOperator operator, Node rhs, A arg) { 7356 Element element, AssignmentOperator operator, Node rhs, A arg) {
7365 return handleSuperCompounds(node, getter, CompoundGetter.GETTER, element, 7357 return handleSuperCompounds(node, getter, CompoundGetter.GETTER, element,
7366 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg); 7358 CompoundSetter.INVALID, new AssignmentCompound(operator, rhs), arg);
7367 } 7359 }
7368 7360
7369 @override 7361 @override
7370 R visitUnresolvedSuperSetterPostfix(Send node, MethodElement getter, 7362 R visitUnresolvedSuperSetterPostfix(SendSet node, GetterElement getter,
7371 Element element, IncDecOperator operator, A arg) { 7363 Element element, IncDecOperator operator, A arg) {
7372 return handleSuperCompounds( 7364 return handleSuperCompounds(
7373 node, 7365 node,
7374 getter, 7366 getter,
7375 CompoundGetter.GETTER, 7367 CompoundGetter.GETTER,
7376 element, 7368 element,
7377 CompoundSetter.INVALID, 7369 CompoundSetter.INVALID,
7378 new IncDecCompound(CompoundKind.POSTFIX, operator), 7370 new IncDecCompound(CompoundKind.POSTFIX, operator),
7379 arg); 7371 arg);
7380 } 7372 }
7381 7373
7382 @override 7374 @override
7383 R visitUnresolvedSuperSetterPrefix(Send node, MethodElement getter, 7375 R visitUnresolvedSuperSetterPrefix(SendSet node, GetterElement getter,
7384 Element element, IncDecOperator operator, A arg) { 7376 Element element, IncDecOperator operator, A arg) {
7385 return handleSuperCompounds( 7377 return handleSuperCompounds(
7386 node, 7378 node,
7387 getter, 7379 getter,
7388 CompoundGetter.GETTER, 7380 CompoundGetter.GETTER,
7389 element, 7381 element,
7390 CompoundSetter.INVALID, 7382 CompoundSetter.INVALID,
7391 new IncDecCompound(CompoundKind.PREFIX, operator), 7383 new IncDecCompound(CompoundKind.PREFIX, operator),
7392 arg); 7384 arg);
7393 } 7385 }
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
7510 isSetterValid: true); 7502 isSetterValid: true);
7511 } 7503 }
7512 7504
7513 @override 7505 @override
7514 R visitStaticFieldSetIfNull(Send node, FieldElement field, Node rhs, A arg) { 7506 R visitStaticFieldSetIfNull(Send node, FieldElement field, Node rhs, A arg) {
7515 return handleStaticSetIfNulls(node, field, CompoundGetter.FIELD, field, 7507 return handleStaticSetIfNulls(node, field, CompoundGetter.FIELD, field,
7516 CompoundSetter.FIELD, rhs, arg); 7508 CompoundSetter.FIELD, rhs, arg);
7517 } 7509 }
7518 7510
7519 @override 7511 @override
7520 R visitStaticGetterSetterSetIfNull(Send node, FunctionElement getter, 7512 R visitStaticGetterSetterSetIfNull(
7521 FunctionElement setter, Node rhs, A arg) { 7513 Send node, GetterElement getter, SetterElement setter, Node rhs, A arg) {
7522 return handleStaticSetIfNulls(node, getter, CompoundGetter.GETTER, setter, 7514 return handleStaticSetIfNulls(node, getter, CompoundGetter.GETTER, setter,
7523 CompoundSetter.SETTER, rhs, arg); 7515 CompoundSetter.SETTER, rhs, arg);
7524 } 7516 }
7525 7517
7526 @override 7518 @override
7527 R visitStaticMethodSetIfNull( 7519 R visitStaticMethodSetIfNull(
7528 Send node, FunctionElement method, Node rhs, A arg) { 7520 Send node, FunctionElement method, Node rhs, A arg) {
7529 return handleStaticSetIfNulls(node, method, CompoundGetter.METHOD, method, 7521 return handleStaticSetIfNulls(node, method, CompoundGetter.METHOD, method,
7530 CompoundSetter.INVALID, rhs, arg); 7522 CompoundSetter.INVALID, rhs, arg);
7531 } 7523 }
(...skipping 13 matching lines...) Expand all
7545 } 7537 }
7546 7538
7547 @override 7539 @override
7548 R visitSuperFieldSetIfNull(Send node, FieldElement field, Node rhs, A arg) { 7540 R visitSuperFieldSetIfNull(Send node, FieldElement field, Node rhs, A arg) {
7549 return handleSuperSetIfNulls(node, field, CompoundGetter.FIELD, field, 7541 return handleSuperSetIfNulls(node, field, CompoundGetter.FIELD, field,
7550 CompoundSetter.FIELD, rhs, arg); 7542 CompoundSetter.FIELD, rhs, arg);
7551 } 7543 }
7552 7544
7553 @override 7545 @override
7554 R visitSuperFieldSetterSetIfNull( 7546 R visitSuperFieldSetterSetIfNull(
7555 Send node, FieldElement field, FunctionElement setter, Node rhs, A arg) { 7547 Send node, FieldElement field, SetterElement setter, Node rhs, A arg) {
7556 return handleSuperSetIfNulls(node, field, CompoundGetter.FIELD, setter, 7548 return handleSuperSetIfNulls(node, field, CompoundGetter.FIELD, setter,
7557 CompoundSetter.SETTER, rhs, arg); 7549 CompoundSetter.SETTER, rhs, arg);
7558 } 7550 }
7559 7551
7560 @override 7552 @override
7561 R visitSuperGetterFieldSetIfNull( 7553 R visitSuperGetterFieldSetIfNull(
7562 Send node, FunctionElement getter, FieldElement field, Node rhs, A arg) { 7554 Send node, GetterElement getter, FieldElement field, Node rhs, A arg) {
7563 return handleSuperSetIfNulls(node, getter, CompoundGetter.GETTER, field, 7555 return handleSuperSetIfNulls(node, getter, CompoundGetter.GETTER, field,
7564 CompoundSetter.FIELD, rhs, arg); 7556 CompoundSetter.FIELD, rhs, arg);
7565 } 7557 }
7566 7558
7567 @override 7559 @override
7568 R visitSuperGetterSetterSetIfNull(Send node, FunctionElement getter, 7560 R visitSuperGetterSetterSetIfNull(
7569 FunctionElement setter, Node rhs, A arg) { 7561 Send node, GetterElement getter, SetterElement setter, Node rhs, A arg) {
7570 return handleSuperSetIfNulls(node, getter, CompoundGetter.GETTER, setter, 7562 return handleSuperSetIfNulls(node, getter, CompoundGetter.GETTER, setter,
7571 CompoundSetter.SETTER, rhs, arg); 7563 CompoundSetter.SETTER, rhs, arg);
7572 } 7564 }
7573 7565
7574 @override 7566 @override
7575 R visitSuperMethodSetIfNull( 7567 R visitSuperMethodSetIfNull(
7576 Send node, FunctionElement method, Node rhs, A arg) { 7568 Send node, FunctionElement method, Node rhs, A arg) {
7577 return handleSuperSetIfNulls(node, method, CompoundGetter.METHOD, method, 7569 return handleSuperSetIfNulls(node, method, CompoundGetter.METHOD, method,
7578 CompoundSetter.INVALID, rhs, arg); 7570 CompoundSetter.INVALID, rhs, arg);
7579 } 7571 }
7580 7572
7581 @override 7573 @override
7582 R visitSuperMethodSetterSetIfNull(Send node, FunctionElement method, 7574 R visitSuperMethodSetterSetIfNull(Send node, FunctionElement method,
7583 FunctionElement setter, Node rhs, A arg) { 7575 SetterElement setter, Node rhs, A arg) {
7584 return handleSuperSetIfNulls(node, method, CompoundGetter.METHOD, setter, 7576 return handleSuperSetIfNulls(node, method, CompoundGetter.METHOD, setter,
7585 CompoundSetter.SETTER, rhs, arg); 7577 CompoundSetter.SETTER, rhs, arg);
7586 } 7578 }
7587 7579
7588 @override 7580 @override
7589 R visitThisPropertySetIfNull(Send node, Name name, Node rhs, A arg) { 7581 R visitThisPropertySetIfNull(Send node, Name name, Node rhs, A arg) {
7590 return handleDynamicSetIfNulls(node, null, name, rhs, arg); 7582 return handleDynamicSetIfNulls(node, null, name, rhs, arg);
7591 } 7583 }
7592 7584
7593 @override 7585 @override
7594 R visitTopLevelFieldSetIfNull( 7586 R visitTopLevelFieldSetIfNull(
7595 Send node, FieldElement field, Node rhs, A arg) { 7587 Send node, FieldElement field, Node rhs, A arg) {
7596 return handleStaticSetIfNulls(node, field, CompoundGetter.FIELD, field, 7588 return handleStaticSetIfNulls(node, field, CompoundGetter.FIELD, field,
7597 CompoundSetter.FIELD, rhs, arg); 7589 CompoundSetter.FIELD, rhs, arg);
7598 } 7590 }
7599 7591
7600 @override 7592 @override
7601 R visitTopLevelGetterSetterSetIfNull(Send node, FunctionElement getter, 7593 R visitTopLevelGetterSetterSetIfNull(
7602 FunctionElement setter, Node rhs, A arg) { 7594 Send node, GetterElement getter, SetterElement setter, Node rhs, A arg) {
7603 return handleStaticSetIfNulls(node, getter, CompoundGetter.GETTER, setter, 7595 return handleStaticSetIfNulls(node, getter, CompoundGetter.GETTER, setter,
7604 CompoundSetter.SETTER, rhs, arg); 7596 CompoundSetter.SETTER, rhs, arg);
7605 } 7597 }
7606 7598
7607 @override 7599 @override
7608 R visitTopLevelMethodSetIfNull( 7600 R visitTopLevelMethodSetIfNull(
7609 Send node, FunctionElement method, Node rhs, A arg) { 7601 Send node, FunctionElement method, Node rhs, A arg) {
7610 return handleStaticSetIfNulls(node, method, CompoundGetter.METHOD, method, 7602 return handleStaticSetIfNulls(node, method, CompoundGetter.METHOD, method,
7611 CompoundSetter.INVALID, rhs, arg); 7603 CompoundSetter.INVALID, rhs, arg);
7612 } 7604 }
7613 7605
7614 @override 7606 @override
7615 R visitTopLevelMethodSetterSetIfNull(Send node, FunctionElement method, 7607 R visitTopLevelMethodSetterSetIfNull(Send node, FunctionElement method,
7616 FunctionElement setter, Node rhs, A arg) { 7608 SetterElement setter, Node rhs, A arg) {
7617 return handleStaticSetIfNulls(node, method, CompoundGetter.METHOD, setter, 7609 return handleStaticSetIfNulls(node, method, CompoundGetter.METHOD, setter,
7618 CompoundSetter.SETTER, rhs, arg); 7610 CompoundSetter.SETTER, rhs, arg);
7619 } 7611 }
7620 7612
7621 @override 7613 @override
7622 R visitTypedefTypeLiteralSetIfNull( 7614 R visitTypedefTypeLiteralSetIfNull(
7623 Send node, ConstantExpression constant, Node rhs, A arg) { 7615 Send node, ConstantExpression constant, Node rhs, A arg) {
7624 return handleTypeLiteralConstantSetIfNulls(node, constant, rhs, arg); 7616 return handleTypeLiteralConstantSetIfNulls(node, constant, rhs, arg);
7625 } 7617 }
7626 7618
7627 @override 7619 @override
7628 R visitUnresolvedSetIfNull(Send node, Element element, Node rhs, A arg) { 7620 R visitUnresolvedSetIfNull(Send node, Element element, Node rhs, A arg) {
7629 return handleStaticSetIfNulls(node, element, CompoundGetter.UNRESOLVED, 7621 return handleStaticSetIfNulls(node, element, CompoundGetter.UNRESOLVED,
7630 element, CompoundSetter.INVALID, rhs, arg); 7622 element, CompoundSetter.INVALID, rhs, arg);
7631 } 7623 }
7632 7624
7633 @override 7625 @override
7634 R visitUnresolvedStaticGetterSetIfNull( 7626 R visitUnresolvedStaticGetterSetIfNull(
7635 Send node, Element element, MethodElement setter, Node rhs, A arg) { 7627 Send node, Element element, MethodElement setter, Node rhs, A arg) {
7636 return handleStaticSetIfNulls(node, element, CompoundGetter.UNRESOLVED, 7628 return handleStaticSetIfNulls(node, element, CompoundGetter.UNRESOLVED,
7637 setter, CompoundSetter.SETTER, rhs, arg); 7629 setter, CompoundSetter.SETTER, rhs, arg);
7638 } 7630 }
7639 7631
7640 @override 7632 @override
7641 R visitUnresolvedStaticSetterSetIfNull( 7633 R visitUnresolvedStaticSetterSetIfNull(
7642 Send node, MethodElement getter, Element element, Node rhs, A arg) { 7634 Send node, GetterElement getter, Element element, Node rhs, A arg) {
7643 return handleStaticSetIfNulls(node, getter, CompoundGetter.GETTER, element, 7635 return handleStaticSetIfNulls(node, getter, CompoundGetter.GETTER, element,
7644 CompoundSetter.INVALID, rhs, arg); 7636 CompoundSetter.INVALID, rhs, arg);
7645 } 7637 }
7646 7638
7647 @override 7639 @override
7648 R visitUnresolvedSuperGetterSetIfNull( 7640 R visitUnresolvedSuperGetterSetIfNull(
7649 Send node, Element element, MethodElement setter, Node rhs, A arg) { 7641 Send node, Element element, MethodElement setter, Node rhs, A arg) {
7650 return handleSuperSetIfNulls(node, element, CompoundGetter.UNRESOLVED, 7642 return handleSuperSetIfNulls(node, element, CompoundGetter.UNRESOLVED,
7651 setter, CompoundSetter.SETTER, rhs, arg); 7643 setter, CompoundSetter.SETTER, rhs, arg);
7652 } 7644 }
7653 7645
7654 @override 7646 @override
7655 R visitUnresolvedSuperSetIfNull(Send node, Element element, Node rhs, A arg) { 7647 R visitUnresolvedSuperSetIfNull(Send node, Element element, Node rhs, A arg) {
7656 return handleSuperSetIfNulls(node, element, CompoundGetter.UNRESOLVED, 7648 return handleSuperSetIfNulls(node, element, CompoundGetter.UNRESOLVED,
7657 element, CompoundSetter.INVALID, rhs, arg); 7649 element, CompoundSetter.INVALID, rhs, arg);
7658 } 7650 }
7659 7651
7660 @override 7652 @override
7661 R visitUnresolvedSuperSetterSetIfNull( 7653 R visitUnresolvedSuperSetterSetIfNull(
7662 Send node, MethodElement getter, Element element, Node rhs, A arg) { 7654 Send node, GetterElement getter, Element element, Node rhs, A arg) {
7663 return handleSuperSetIfNulls(node, getter, CompoundGetter.GETTER, element, 7655 return handleSuperSetIfNulls(node, getter, CompoundGetter.GETTER, element,
7664 CompoundSetter.INVALID, rhs, arg); 7656 CompoundSetter.INVALID, rhs, arg);
7665 } 7657 }
7666 7658
7667 @override 7659 @override
7668 R visitUnresolvedTopLevelGetterSetIfNull( 7660 R visitUnresolvedTopLevelGetterSetIfNull(
7669 Send node, Element element, MethodElement setter, Node rhs, A arg) { 7661 Send node, Element element, MethodElement setter, Node rhs, A arg) {
7670 return handleStaticSetIfNulls(node, element, CompoundGetter.UNRESOLVED, 7662 return handleStaticSetIfNulls(node, element, CompoundGetter.UNRESOLVED,
7671 setter, CompoundSetter.SETTER, rhs, arg); 7663 setter, CompoundSetter.SETTER, rhs, arg);
7672 } 7664 }
7673 7665
7674 @override 7666 @override
7675 R visitUnresolvedTopLevelSetterSetIfNull( 7667 R visitUnresolvedTopLevelSetterSetIfNull(
7676 Send node, MethodElement getter, Element element, Node rhs, A arg) { 7668 Send node, GetterElement getter, Element element, Node rhs, A arg) {
7677 return handleStaticSetIfNulls(node, getter, CompoundGetter.GETTER, element, 7669 return handleStaticSetIfNulls(node, getter, CompoundGetter.GETTER, element,
7678 CompoundSetter.INVALID, rhs, arg); 7670 CompoundSetter.INVALID, rhs, arg);
7679 } 7671 }
7680 } 7672 }
7681 7673
7682 /// Simplified handling of indexed compound assignments and prefix/postfix 7674 /// Simplified handling of indexed compound assignments and prefix/postfix
7683 /// expressions. 7675 /// expressions.
7684 abstract class BaseImplementationOfIndexCompoundsMixin<R, A> 7676 abstract class BaseImplementationOfIndexCompoundsMixin<R, A>
7685 implements SemanticSendVisitor<R, A> { 7677 implements SemanticSendVisitor<R, A> {
7686 /// Handle a dynamic index compounds, like `receiver[index] += rhs` or 7678 /// Handle a dynamic index compounds, like `receiver[index] += rhs` or
7687 /// `--receiver[index]`. 7679 /// `--receiver[index]`.
7688 R handleIndexCompounds( 7680 R handleIndexCompounds(
7689 SendSet node, Node receiver, Node index, CompoundRhs rhs, A arg); 7681 SendSet node, Node receiver, Node index, CompoundRhs rhs, A arg);
7690 7682
7691 /// Handle a super index compounds, like `super[index] += rhs` or 7683 /// Handle a super index compounds, like `super[index] += rhs` or
7692 /// `--super[index]`. 7684 /// `--super[index]`.
7693 R handleSuperIndexCompounds(SendSet node, Element indexFunction, 7685 R handleSuperIndexCompounds(SendSet node, Element indexFunction,
7694 Element indexSetFunction, Node index, CompoundRhs rhs, A arg, 7686 Element indexSetFunction, Node index, CompoundRhs rhs, A arg,
7695 {bool isGetterValid, bool isSetterValid}); 7687 {bool isGetterValid, bool isSetterValid});
7696 7688
7697 @override 7689 @override
7698 R visitSuperCompoundIndexSet( 7690 R visitSuperCompoundIndexSet(
7699 Send node, 7691 Send node,
7700 FunctionElement indexFunction, 7692 MethodElement indexFunction,
7701 FunctionElement indexSetFunction, 7693 MethodElement indexSetFunction,
7702 Node index, 7694 Node index,
7703 AssignmentOperator operator, 7695 AssignmentOperator operator,
7704 Node rhs, 7696 Node rhs,
7705 A arg) { 7697 A arg) {
7706 return handleSuperIndexCompounds(node, indexFunction, indexSetFunction, 7698 return handleSuperIndexCompounds(node, indexFunction, indexSetFunction,
7707 index, new AssignmentCompound(operator, rhs), arg, 7699 index, new AssignmentCompound(operator, rhs), arg,
7708 isGetterValid: true, isSetterValid: true); 7700 isGetterValid: true, isSetterValid: true);
7709 } 7701 }
7710 7702
7711 @override 7703 @override
7712 R visitSuperIndexPostfix( 7704 R visitSuperIndexPostfix(
7713 Send node, 7705 Send node,
7714 FunctionElement indexFunction, 7706 MethodElement indexFunction,
7715 FunctionElement indexSetFunction, 7707 MethodElement indexSetFunction,
7716 Node index, 7708 Node index,
7717 IncDecOperator operator, 7709 IncDecOperator operator,
7718 A arg) { 7710 A arg) {
7719 return handleSuperIndexCompounds(node, indexFunction, indexSetFunction, 7711 return handleSuperIndexCompounds(node, indexFunction, indexSetFunction,
7720 index, new IncDecCompound(CompoundKind.POSTFIX, operator), arg, 7712 index, new IncDecCompound(CompoundKind.POSTFIX, operator), arg,
7721 isGetterValid: true, isSetterValid: true); 7713 isGetterValid: true, isSetterValid: true);
7722 } 7714 }
7723 7715
7724 @override 7716 @override
7725 R visitSuperIndexPrefix( 7717 R visitSuperIndexPrefix(
7726 Send node, 7718 Send node,
7727 FunctionElement indexFunction, 7719 MethodElement indexFunction,
7728 FunctionElement indexSetFunction, 7720 MethodElement indexSetFunction,
7729 Node index, 7721 Node index,
7730 IncDecOperator operator, 7722 IncDecOperator operator,
7731 A arg) { 7723 A arg) {
7732 return handleSuperIndexCompounds(node, indexFunction, indexSetFunction, 7724 return handleSuperIndexCompounds(node, indexFunction, indexSetFunction,
7733 index, new IncDecCompound(CompoundKind.PREFIX, operator), arg, 7725 index, new IncDecCompound(CompoundKind.PREFIX, operator), arg,
7734 isGetterValid: true, isSetterValid: true); 7726 isGetterValid: true, isSetterValid: true);
7735 } 7727 }
7736 7728
7737 @override 7729 @override
7738 R visitUnresolvedSuperGetterCompoundIndexSet( 7730 R visitUnresolvedSuperGetterCompoundIndexSet(
7739 Send node, 7731 SendSet node,
7740 Element indexFunction, 7732 Element indexFunction,
7741 FunctionElement indexSetFunction, 7733 FunctionElement indexSetFunction,
7742 Node index, 7734 Node index,
7743 AssignmentOperator operator, 7735 AssignmentOperator operator,
7744 Node rhs, 7736 Node rhs,
7745 A arg) { 7737 A arg) {
7746 return handleSuperIndexCompounds(node, indexFunction, indexSetFunction, 7738 return handleSuperIndexCompounds(node, indexFunction, indexSetFunction,
7747 index, new AssignmentCompound(operator, rhs), arg, 7739 index, new AssignmentCompound(operator, rhs), arg,
7748 isGetterValid: false, isSetterValid: true); 7740 isGetterValid: false, isSetterValid: true);
7749 } 7741 }
7750 7742
7751 @override 7743 @override
7752 R visitUnresolvedSuperSetterCompoundIndexSet( 7744 R visitUnresolvedSuperSetterCompoundIndexSet(
7753 Send node, 7745 SendSet node,
7754 FunctionElement indexFunction, 7746 MethodElement indexFunction,
7755 Element indexSetFunction, 7747 Element indexSetFunction,
7756 Node index, 7748 Node index,
7757 AssignmentOperator operator, 7749 AssignmentOperator operator,
7758 Node rhs, 7750 Node rhs,
7759 A arg) { 7751 A arg) {
7760 return handleSuperIndexCompounds(node, indexFunction, indexSetFunction, 7752 return handleSuperIndexCompounds(node, indexFunction, indexSetFunction,
7761 index, new AssignmentCompound(operator, rhs), arg, 7753 index, new AssignmentCompound(operator, rhs), arg,
7762 isGetterValid: true, isSetterValid: false); 7754 isGetterValid: true, isSetterValid: false);
7763 } 7755 }
7764 7756
7765 @override 7757 @override
7766 R visitUnresolvedSuperCompoundIndexSet(Send node, Element element, Node index, 7758 R visitUnresolvedSuperCompoundIndexSet(SendSet node, Element element,
7767 AssignmentOperator operator, Node rhs, A arg) { 7759 Node index, AssignmentOperator operator, Node rhs, A arg) {
7768 return handleSuperIndexCompounds(node, element, element, index, 7760 return handleSuperIndexCompounds(node, element, element, index,
7769 new AssignmentCompound(operator, rhs), arg, 7761 new AssignmentCompound(operator, rhs), arg,
7770 isGetterValid: false, isSetterValid: false); 7762 isGetterValid: false, isSetterValid: false);
7771 } 7763 }
7772 7764
7773 @override 7765 @override
7774 R visitUnresolvedSuperGetterIndexPostfix( 7766 R visitUnresolvedSuperGetterIndexPostfix(
7775 Send node, 7767 SendSet node,
7776 Element element, 7768 Element element,
7777 FunctionElement indexSetFunction, 7769 FunctionElement indexSetFunction,
7778 Node index, 7770 Node index,
7779 IncDecOperator operator, 7771 IncDecOperator operator,
7780 A arg) { 7772 A arg) {
7781 return handleSuperIndexCompounds(node, element, indexSetFunction, index, 7773 return handleSuperIndexCompounds(node, element, indexSetFunction, index,
7782 new IncDecCompound(CompoundKind.POSTFIX, operator), arg, 7774 new IncDecCompound(CompoundKind.POSTFIX, operator), arg,
7783 isGetterValid: false, isSetterValid: true); 7775 isGetterValid: false, isSetterValid: true);
7784 } 7776 }
7785 7777
7786 @override 7778 @override
7787 R visitUnresolvedSuperGetterIndexPrefix( 7779 R visitUnresolvedSuperGetterIndexPrefix(
7788 Send node, 7780 SendSet node,
7789 Element element, 7781 Element element,
7790 FunctionElement indexSetFunction, 7782 FunctionElement indexSetFunction,
7791 Node index, 7783 Node index,
7792 IncDecOperator operator, 7784 IncDecOperator operator,
7793 A arg) { 7785 A arg) {
7794 return handleSuperIndexCompounds(node, element, indexSetFunction, index, 7786 return handleSuperIndexCompounds(node, element, indexSetFunction, index,
7795 new IncDecCompound(CompoundKind.PREFIX, operator), arg, 7787 new IncDecCompound(CompoundKind.PREFIX, operator), arg,
7796 isGetterValid: false, isSetterValid: true); 7788 isGetterValid: false, isSetterValid: true);
7797 } 7789 }
7798 7790
7799 @override 7791 @override
7800 R visitUnresolvedSuperSetterIndexPostfix( 7792 R visitUnresolvedSuperSetterIndexPostfix(
7801 Send node, 7793 SendSet node,
7802 MethodElement indexFunction, 7794 MethodElement indexFunction,
7803 Element element, 7795 Element element,
7804 Node index, 7796 Node index,
7805 IncDecOperator operator, 7797 IncDecOperator operator,
7806 A arg) { 7798 A arg) {
7807 return handleSuperIndexCompounds(node, indexFunction, element, index, 7799 return handleSuperIndexCompounds(node, indexFunction, element, index,
7808 new IncDecCompound(CompoundKind.POSTFIX, operator), arg, 7800 new IncDecCompound(CompoundKind.POSTFIX, operator), arg,
7809 isGetterValid: true, isSetterValid: false); 7801 isGetterValid: true, isSetterValid: false);
7810 } 7802 }
7811 7803
7812 @override 7804 @override
7813 R visitUnresolvedSuperSetterIndexPrefix( 7805 R visitUnresolvedSuperSetterIndexPrefix(
7814 Send node, 7806 SendSet node,
7815 MethodElement indexFunction, 7807 MethodElement indexFunction,
7816 Element element, 7808 Element element,
7817 Node index, 7809 Node index,
7818 IncDecOperator operator, 7810 IncDecOperator operator,
7819 A arg) { 7811 A arg) {
7820 return handleSuperIndexCompounds(node, indexFunction, element, index, 7812 return handleSuperIndexCompounds(node, indexFunction, element, index,
7821 new IncDecCompound(CompoundKind.PREFIX, operator), arg, 7813 new IncDecCompound(CompoundKind.PREFIX, operator), arg,
7822 isGetterValid: true, isSetterValid: false); 7814 isGetterValid: true, isSetterValid: false);
7823 } 7815 }
7824 7816
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
7870 7862
7871 @override 7863 @override
7872 R visitSuperIndexSetIfNull(Send node, FunctionElement indexFunction, 7864 R visitSuperIndexSetIfNull(Send node, FunctionElement indexFunction,
7873 FunctionElement indexSetFunction, Node index, Node rhs, A arg) { 7865 FunctionElement indexSetFunction, Node index, Node rhs, A arg) {
7874 return handleSuperIndexSetIfNull( 7866 return handleSuperIndexSetIfNull(
7875 node, indexFunction, indexSetFunction, index, rhs, arg, 7867 node, indexFunction, indexSetFunction, index, rhs, arg,
7876 isGetterValid: true, isSetterValid: true); 7868 isGetterValid: true, isSetterValid: true);
7877 } 7869 }
7878 7870
7879 @override 7871 @override
7880 R visitUnresolvedSuperGetterIndexSetIfNull(Send node, Element indexFunction, 7872 R visitUnresolvedSuperGetterIndexSetIfNull(
7881 FunctionElement indexSetFunction, Node index, Node rhs, A arg) { 7873 SendSet node,
7874 Element indexFunction,
7875 FunctionElement indexSetFunction,
7876 Node index,
7877 Node rhs,
7878 A arg) {
7882 return handleSuperIndexSetIfNull( 7879 return handleSuperIndexSetIfNull(
7883 node, indexFunction, indexSetFunction, index, rhs, arg, 7880 node, indexFunction, indexSetFunction, index, rhs, arg,
7884 isGetterValid: false, isSetterValid: true); 7881 isGetterValid: false, isSetterValid: true);
7885 } 7882 }
7886 7883
7887 @override 7884 @override
7888 R visitUnresolvedSuperSetterIndexSetIfNull( 7885 R visitUnresolvedSuperSetterIndexSetIfNull(
7889 Send node, 7886 SendSet node,
7890 FunctionElement indexFunction, 7887 MethodElement indexFunction,
7891 Element indexSetFunction, 7888 Element indexSetFunction,
7892 Node index, 7889 Node index,
7893 Node rhs, 7890 Node rhs,
7894 A arg) { 7891 A arg) {
7895 return handleSuperIndexSetIfNull( 7892 return handleSuperIndexSetIfNull(
7896 node, indexFunction, indexSetFunction, index, rhs, arg, 7893 node, indexFunction, indexSetFunction, index, rhs, arg,
7897 isGetterValid: true, isSetterValid: false); 7894 isGetterValid: true, isSetterValid: false);
7898 } 7895 }
7899 7896
7900 @override 7897 @override
7901 R visitUnresolvedSuperIndexSetIfNull( 7898 R visitUnresolvedSuperIndexSetIfNull(
7902 Send node, Element element, Node index, Node rhs, A arg) { 7899 Send node, Element element, Node index, Node rhs, A arg) {
7903 return handleSuperIndexSetIfNull(node, element, element, index, rhs, arg, 7900 return handleSuperIndexSetIfNull(node, element, element, index, rhs, arg,
7904 isGetterValid: false, isSetterValid: false); 7901 isGetterValid: false, isSetterValid: false);
7905 } 7902 }
7906 } 7903 }
7907 7904
7908 /// Mixin that groups all `visitSuperXPrefix`, `visitSuperXPostfix` methods by 7905 /// Mixin that groups all `visitSuperXPrefix`, `visitSuperXPostfix` methods by
7909 /// delegating calls to `handleSuperXPostfixPrefix` methods. 7906 /// delegating calls to `handleSuperXPostfixPrefix` methods.
7910 /// 7907 ///
7911 /// This mixin is useful for the cases where super prefix/postfix expression are 7908 /// This mixin is useful for the cases where super prefix/postfix expression are
7912 /// handled uniformly. 7909 /// handled uniformly.
7913 abstract class BaseImplementationOfSuperIncDecsMixin<R, A> 7910 abstract class BaseImplementationOfSuperIncDecsMixin<R, A>
7914 implements SemanticSendVisitor<R, A> { 7911 implements SemanticSendVisitor<R, A> {
7915 R handleSuperFieldFieldPostfixPrefix(Send node, FieldElement readField, 7912 R handleSuperFieldFieldPostfixPrefix(Send node, FieldElement readField,
7916 FieldElement writtenField, IncDecOperator operator, A arg, 7913 FieldElement writtenField, IncDecOperator operator, A arg,
7917 {bool isPrefix}); 7914 {bool isPrefix});
7918 7915
7919 R handleSuperFieldSetterPostfixPrefix(Send node, FieldElement field, 7916 R handleSuperFieldSetterPostfixPrefix(Send node, FieldElement field,
7920 FunctionElement setter, IncDecOperator operator, A arg, 7917 SetterElement setter, IncDecOperator operator, A arg,
7921 {bool isPrefix}); 7918 {bool isPrefix});
7922 7919
7923 R handleSuperGetterFieldPostfixPrefix(Send node, FunctionElement getter, 7920 R handleSuperGetterFieldPostfixPrefix(Send node, GetterElement getter,
7924 FieldElement field, IncDecOperator operator, A arg, 7921 FieldElement field, IncDecOperator operator, A arg,
7925 {bool isPrefix}); 7922 {bool isPrefix});
7926 7923
7927 R handleSuperGetterSetterPostfixPrefix(Send node, FunctionElement getter, 7924 R handleSuperGetterSetterPostfixPrefix(Send node, GetterElement getter,
7928 FunctionElement setter, IncDecOperator operator, A arg, 7925 SetterElement setter, IncDecOperator operator, A arg,
7929 {bool isPrefix}); 7926 {bool isPrefix});
7930 7927
7931 R handleSuperMethodSetterPostfixPrefix(Send node, FunctionElement method, 7928 R handleSuperMethodSetterPostfixPrefix(Send node, FunctionElement method,
7932 FunctionElement setter, IncDecOperator operator, A arg, 7929 SetterElement setter, IncDecOperator operator, A arg,
7933 {bool isPrefix}); 7930 {bool isPrefix});
7934 7931
7935 R handleSuperIndexPostfixPrefix( 7932 R handleSuperIndexPostfixPrefix(
7936 Send node, 7933 Send node,
7937 FunctionElement indexFunction, 7934 FunctionElement indexFunction,
7938 FunctionElement indexSetFunction, 7935 FunctionElement indexSetFunction,
7939 Node index, 7936 Node index,
7940 IncDecOperator operator, 7937 IncDecOperator operator,
7941 A arg, 7938 A arg,
7942 {bool isPrefix}); 7939 {bool isPrefix});
(...skipping 24 matching lines...) Expand all
7967 {bool isPrefix}); 7964 {bool isPrefix});
7968 7965
7969 R handleUnresolvedSuperPostfixPrefix( 7966 R handleUnresolvedSuperPostfixPrefix(
7970 Send node, Element element, IncDecOperator operator, A arg, 7967 Send node, Element element, IncDecOperator operator, A arg,
7971 {bool isPrefix}); 7968 {bool isPrefix});
7972 7969
7973 R handleUnresolvedSuperGetterPostfixPrefix(Send node, Element element, 7970 R handleUnresolvedSuperGetterPostfixPrefix(Send node, Element element,
7974 MethodElement setter, IncDecOperator operator, A arg, 7971 MethodElement setter, IncDecOperator operator, A arg,
7975 {bool isPrefix}); 7972 {bool isPrefix});
7976 7973
7977 R handleUnresolvedSuperSetterPostfixPrefix(Send node, MethodElement getter, 7974 R handleUnresolvedSuperSetterPostfixPrefix(Send node, GetterElement getter,
7978 Element element, IncDecOperator operator, A arg, 7975 Element element, IncDecOperator operator, A arg,
7979 {bool isPrefix}); 7976 {bool isPrefix});
7980 7977
7981 @override 7978 @override
7982 R visitSuperFieldFieldPostfix(Send node, FieldElement readField, 7979 R visitSuperFieldFieldPostfix(SendSet node, FieldElement readField,
7983 FieldElement writtenField, IncDecOperator operator, A arg) { 7980 FieldElement writtenField, IncDecOperator operator, A arg) {
7984 return handleSuperFieldFieldPostfixPrefix( 7981 return handleSuperFieldFieldPostfixPrefix(
7985 node, readField, writtenField, operator, arg, 7982 node, readField, writtenField, operator, arg,
7986 isPrefix: false); 7983 isPrefix: false);
7987 } 7984 }
7988 7985
7989 @override 7986 @override
7990 R visitSuperFieldFieldPrefix(Send node, FieldElement readField, 7987 R visitSuperFieldFieldPrefix(SendSet node, FieldElement readField,
7991 FieldElement writtenField, IncDecOperator operator, A arg) { 7988 FieldElement writtenField, IncDecOperator operator, A arg) {
7992 return handleSuperFieldFieldPostfixPrefix( 7989 return handleSuperFieldFieldPostfixPrefix(
7993 node, readField, writtenField, operator, arg, 7990 node, readField, writtenField, operator, arg,
7994 isPrefix: true); 7991 isPrefix: true);
7995 } 7992 }
7996 7993
7997 @override 7994 @override
7998 R visitSuperFieldPostfix( 7995 R visitSuperFieldPostfix(
7999 Send node, FieldElement field, IncDecOperator operator, A arg) { 7996 SendSet node, FieldElement field, IncDecOperator operator, A arg) {
8000 return handleSuperFieldFieldPostfixPrefix(node, field, field, operator, arg, 7997 return handleSuperFieldFieldPostfixPrefix(node, field, field, operator, arg,
8001 isPrefix: false); 7998 isPrefix: false);
8002 } 7999 }
8003 8000
8004 @override 8001 @override
8005 R visitSuperFieldPrefix( 8002 R visitSuperFieldPrefix(
8006 Send node, FieldElement field, IncDecOperator operator, A arg) { 8003 SendSet node, FieldElement field, IncDecOperator operator, A arg) {
8007 return handleSuperFieldFieldPostfixPrefix(node, field, field, operator, arg, 8004 return handleSuperFieldFieldPostfixPrefix(node, field, field, operator, arg,
8008 isPrefix: true); 8005 isPrefix: true);
8009 } 8006 }
8010 8007
8011 @override 8008 @override
8012 R visitSuperFieldSetterPostfix(Send node, FieldElement field, 8009 R visitSuperFieldSetterPostfix(SendSet node, FieldElement field,
8013 FunctionElement setter, IncDecOperator operator, A arg) { 8010 SetterElement setter, IncDecOperator operator, A arg) {
8014 return handleSuperFieldSetterPostfixPrefix( 8011 return handleSuperFieldSetterPostfixPrefix(
8015 node, field, setter, operator, arg, 8012 node, field, setter, operator, arg,
8016 isPrefix: false); 8013 isPrefix: false);
8017 } 8014 }
8018 8015
8019 @override 8016 @override
8020 R visitSuperFieldSetterPrefix(Send node, FieldElement field, 8017 R visitSuperFieldSetterPrefix(SendSet node, FieldElement field,
8021 FunctionElement setter, IncDecOperator operator, A arg) { 8018 SetterElement setter, IncDecOperator operator, A arg) {
8022 return handleSuperFieldSetterPostfixPrefix( 8019 return handleSuperFieldSetterPostfixPrefix(
8023 node, field, setter, operator, arg, 8020 node, field, setter, operator, arg,
8024 isPrefix: true); 8021 isPrefix: true);
8025 } 8022 }
8026 8023
8027 @override 8024 @override
8028 R visitSuperGetterFieldPostfix(Send node, FunctionElement getter, 8025 R visitSuperGetterFieldPostfix(SendSet node, GetterElement getter,
8029 FieldElement field, IncDecOperator operator, A arg) { 8026 FieldElement field, IncDecOperator operator, A arg) {
8030 return handleSuperGetterFieldPostfixPrefix( 8027 return handleSuperGetterFieldPostfixPrefix(
8031 node, getter, field, operator, arg, 8028 node, getter, field, operator, arg,
8032 isPrefix: false); 8029 isPrefix: false);
8033 } 8030 }
8034 8031
8035 @override 8032 @override
8036 R visitSuperGetterFieldPrefix(Send node, FunctionElement getter, 8033 R visitSuperGetterFieldPrefix(SendSet node, GetterElement getter,
8037 FieldElement field, IncDecOperator operator, A arg) { 8034 FieldElement field, IncDecOperator operator, A arg) {
8038 return handleSuperGetterFieldPostfixPrefix( 8035 return handleSuperGetterFieldPostfixPrefix(
8039 node, getter, field, operator, arg, 8036 node, getter, field, operator, arg,
8040 isPrefix: true); 8037 isPrefix: true);
8041 } 8038 }
8042 8039
8043 @override 8040 @override
8044 R visitSuperGetterSetterPostfix(Send node, FunctionElement getter, 8041 R visitSuperGetterSetterPostfix(SendSet node, GetterElement getter,
8045 FunctionElement setter, IncDecOperator operator, A arg) { 8042 SetterElement setter, IncDecOperator operator, A arg) {
8046 return handleSuperGetterSetterPostfixPrefix( 8043 return handleSuperGetterSetterPostfixPrefix(
8047 node, getter, setter, operator, arg, 8044 node, getter, setter, operator, arg,
8048 isPrefix: false); 8045 isPrefix: false);
8049 } 8046 }
8050 8047
8051 @override 8048 @override
8052 R visitSuperGetterSetterPrefix(Send node, FunctionElement getter, 8049 R visitSuperGetterSetterPrefix(SendSet node, GetterElement getter,
8053 FunctionElement setter, IncDecOperator operator, A arg) { 8050 SetterElement setter, IncDecOperator operator, A arg) {
8054 return handleSuperGetterSetterPostfixPrefix( 8051 return handleSuperGetterSetterPostfixPrefix(
8055 node, getter, setter, operator, arg, 8052 node, getter, setter, operator, arg,
8056 isPrefix: true); 8053 isPrefix: true);
8057 } 8054 }
8058 8055
8059 @override 8056 @override
8060 R visitSuperMethodSetterPostfix(Send node, FunctionElement method, 8057 R visitSuperMethodSetterPostfix(SendSet node, FunctionElement method,
8061 FunctionElement setter, IncDecOperator operator, A arg) { 8058 SetterElement setter, IncDecOperator operator, A arg) {
8062 return handleSuperMethodSetterPostfixPrefix( 8059 return handleSuperMethodSetterPostfixPrefix(
8063 node, method, setter, operator, arg, 8060 node, method, setter, operator, arg,
8064 isPrefix: false); 8061 isPrefix: false);
8065 } 8062 }
8066 8063
8067 @override 8064 @override
8068 R visitSuperMethodSetterPrefix(Send node, FunctionElement method, 8065 R visitSuperMethodSetterPrefix(SendSet node, FunctionElement method,
8069 FunctionElement setter, IncDecOperator operator, A arg) { 8066 SetterElement setter, IncDecOperator operator, A arg) {
8070 return handleSuperMethodSetterPostfixPrefix( 8067 return handleSuperMethodSetterPostfixPrefix(
8071 node, method, setter, operator, arg, 8068 node, method, setter, operator, arg,
8072 isPrefix: true); 8069 isPrefix: true);
8073 } 8070 }
8074 8071
8075 @override 8072 @override
8076 R visitSuperIndexPostfix( 8073 R visitSuperIndexPostfix(
8077 Send node, 8074 Send node,
8078 FunctionElement indexFunction, 8075 MethodElement indexFunction,
8079 FunctionElement indexSetFunction, 8076 MethodElement indexSetFunction,
8080 Node index, 8077 Node index,
8081 IncDecOperator operator, 8078 IncDecOperator operator,
8082 A arg) { 8079 A arg) {
8083 return handleSuperIndexPostfixPrefix( 8080 return handleSuperIndexPostfixPrefix(
8084 node, indexFunction, indexSetFunction, index, operator, arg, 8081 node, indexFunction, indexSetFunction, index, operator, arg,
8085 isPrefix: false); 8082 isPrefix: false);
8086 } 8083 }
8087 8084
8088 @override 8085 @override
8089 R visitSuperIndexPrefix( 8086 R visitSuperIndexPrefix(
8090 Send node, 8087 Send node,
8091 FunctionElement indexFunction, 8088 MethodElement indexFunction,
8092 FunctionElement indexSetFunction, 8089 MethodElement indexSetFunction,
8093 Node index, 8090 Node index,
8094 IncDecOperator operator, 8091 IncDecOperator operator,
8095 A arg) { 8092 A arg) {
8096 return handleSuperIndexPostfixPrefix( 8093 return handleSuperIndexPostfixPrefix(
8097 node, indexFunction, indexSetFunction, index, operator, arg, 8094 node, indexFunction, indexSetFunction, index, operator, arg,
8098 isPrefix: true); 8095 isPrefix: true);
8099 } 8096 }
8100 8097
8101 @override 8098 @override
8102 R visitUnresolvedSuperGetterIndexPostfix(Send node, Element element, 8099 R visitUnresolvedSuperGetterIndexPostfix(SendSet node, Element element,
8103 MethodElement setter, Node index, IncDecOperator operator, A arg) { 8100 MethodElement setter, Node index, IncDecOperator operator, A arg) {
8104 return handleUnresolvedSuperGetterIndexPostfixPrefix( 8101 return handleUnresolvedSuperGetterIndexPostfixPrefix(
8105 node, element, setter, index, operator, arg, 8102 node, element, setter, index, operator, arg,
8106 isPrefix: false); 8103 isPrefix: false);
8107 } 8104 }
8108 8105
8109 @override 8106 @override
8110 R visitUnresolvedSuperGetterIndexPrefix(Send node, Element element, 8107 R visitUnresolvedSuperGetterIndexPrefix(SendSet node, Element element,
8111 MethodElement setter, Node index, IncDecOperator operator, A arg) { 8108 MethodElement setter, Node index, IncDecOperator operator, A arg) {
8112 return handleUnresolvedSuperGetterIndexPostfixPrefix( 8109 return handleUnresolvedSuperGetterIndexPostfixPrefix(
8113 node, element, setter, index, operator, arg, 8110 node, element, setter, index, operator, arg,
8114 isPrefix: true); 8111 isPrefix: true);
8115 } 8112 }
8116 8113
8117 @override 8114 @override
8118 R visitUnresolvedSuperSetterIndexPostfix( 8115 R visitUnresolvedSuperSetterIndexPostfix(
8119 Send node, 8116 SendSet node,
8120 MethodElement indexFunction, 8117 MethodElement indexFunction,
8121 Element element, 8118 Element element,
8122 Node index, 8119 Node index,
8123 IncDecOperator operator, 8120 IncDecOperator operator,
8124 A arg) { 8121 A arg) {
8125 return handleUnresolvedSuperSetterIndexPostfixPrefix( 8122 return handleUnresolvedSuperSetterIndexPostfixPrefix(
8126 node, indexFunction, element, index, operator, arg, 8123 node, indexFunction, element, index, operator, arg,
8127 isPrefix: false); 8124 isPrefix: false);
8128 } 8125 }
8129 8126
8130 @override 8127 @override
8131 R visitUnresolvedSuperSetterIndexPrefix( 8128 R visitUnresolvedSuperSetterIndexPrefix(
8132 Send node, 8129 SendSet node,
8133 MethodElement indexFunction, 8130 MethodElement indexFunction,
8134 Element element, 8131 Element element,
8135 Node index, 8132 Node index,
8136 IncDecOperator operator, 8133 IncDecOperator operator,
8137 A arg) { 8134 A arg) {
8138 return handleUnresolvedSuperSetterIndexPostfixPrefix( 8135 return handleUnresolvedSuperSetterIndexPostfixPrefix(
8139 node, indexFunction, element, index, operator, arg, 8136 node, indexFunction, element, index, operator, arg,
8140 isPrefix: true); 8137 isPrefix: true);
8141 } 8138 }
8142 8139
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
8179 8176
8180 @override 8177 @override
8181 R visitSuperMethodPrefix( 8178 R visitSuperMethodPrefix(
8182 Send node, MethodElement method, IncDecOperator operator, A arg) { 8179 Send node, MethodElement method, IncDecOperator operator, A arg) {
8183 return handleSuperMethodPostfixPrefix(node, method, operator, arg, 8180 return handleSuperMethodPostfixPrefix(node, method, operator, arg,
8184 isPrefix: true); 8181 isPrefix: true);
8185 } 8182 }
8186 8183
8187 @override 8184 @override
8188 R visitUnresolvedSuperPostfix( 8185 R visitUnresolvedSuperPostfix(
8189 Send node, Element element, IncDecOperator operator, A arg) { 8186 SendSet node, Element element, IncDecOperator operator, A arg) {
8190 return handleUnresolvedSuperPostfixPrefix(node, element, operator, arg, 8187 return handleUnresolvedSuperPostfixPrefix(node, element, operator, arg,
8191 isPrefix: false); 8188 isPrefix: false);
8192 } 8189 }
8193 8190
8194 @override 8191 @override
8195 R visitUnresolvedSuperPrefix( 8192 R visitUnresolvedSuperPrefix(
8196 Send node, Element element, IncDecOperator operator, A arg) { 8193 Send node, Element element, IncDecOperator operator, A arg) {
8197 return handleUnresolvedSuperPostfixPrefix(node, element, operator, arg, 8194 return handleUnresolvedSuperPostfixPrefix(node, element, operator, arg,
8198 isPrefix: true); 8195 isPrefix: true);
8199 } 8196 }
8200 8197
8201 @override 8198 @override
8202 R visitUnresolvedSuperGetterPostfix(Send node, Element element, 8199 R visitUnresolvedSuperGetterPostfix(SendSet node, Element element,
8203 MethodElement setter, IncDecOperator operator, A arg) { 8200 SetterElement setter, IncDecOperator operator, A arg) {
8204 return handleUnresolvedSuperGetterPostfixPrefix( 8201 return handleUnresolvedSuperGetterPostfixPrefix(
8205 node, element, setter, operator, arg, 8202 node, element, setter, operator, arg,
8206 isPrefix: false); 8203 isPrefix: false);
8207 } 8204 }
8208 8205
8209 @override 8206 @override
8210 R visitUnresolvedSuperGetterPrefix(Send node, Element element, 8207 R visitUnresolvedSuperGetterPrefix(SendSet node, Element element,
8211 MethodElement setter, IncDecOperator operator, A arg) { 8208 SetterElement setter, IncDecOperator operator, A arg) {
8212 return handleUnresolvedSuperGetterPostfixPrefix( 8209 return handleUnresolvedSuperGetterPostfixPrefix(
8213 node, element, setter, operator, arg, 8210 node, element, setter, operator, arg,
8214 isPrefix: true); 8211 isPrefix: true);
8215 } 8212 }
8216 8213
8217 @override 8214 @override
8218 R visitUnresolvedSuperSetterPostfix(Send node, MethodElement getter, 8215 R visitUnresolvedSuperSetterPostfix(SendSet node, GetterElement getter,
8219 Element element, IncDecOperator operator, A arg) { 8216 Element element, IncDecOperator operator, A arg) {
8220 return handleUnresolvedSuperSetterPostfixPrefix( 8217 return handleUnresolvedSuperSetterPostfixPrefix(
8221 node, getter, element, operator, arg, 8218 node, getter, element, operator, arg,
8222 isPrefix: false); 8219 isPrefix: false);
8223 } 8220 }
8224 8221
8225 @override 8222 @override
8226 R visitUnresolvedSuperSetterPrefix(Send node, MethodElement getter, 8223 R visitUnresolvedSuperSetterPrefix(SendSet node, GetterElement getter,
8227 Element element, IncDecOperator operator, A arg) { 8224 Element element, IncDecOperator operator, A arg) {
8228 return handleUnresolvedSuperSetterPostfixPrefix( 8225 return handleUnresolvedSuperSetterPostfixPrefix(
8229 node, getter, element, operator, arg, 8226 node, getter, element, operator, arg,
8230 isPrefix: true); 8227 isPrefix: true);
8231 } 8228 }
8232 } 8229 }
8233 8230
8234 /// Mixin that groups the non-constant `visitXConstructorInvoke` methods by 8231 /// Mixin that groups the non-constant `visitXConstructorInvoke` methods by
8235 /// delegating calls to the `handleConstructorInvoke` method. 8232 /// delegating calls to the `handleConstructorInvoke` method.
8236 /// 8233 ///
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
8331 NewExpression node, 8328 NewExpression node,
8332 ConstructorElement constructor, 8329 ConstructorElement constructor,
8333 ResolutionInterfaceType type, 8330 ResolutionInterfaceType type,
8334 NodeList arguments, 8331 NodeList arguments,
8335 CallStructure callStructure, 8332 CallStructure callStructure,
8336 A arg) { 8333 A arg) {
8337 return handleConstructorInvoke( 8334 return handleConstructorInvoke(
8338 node, constructor, type, arguments, callStructure, arg); 8335 node, constructor, type, arguments, callStructure, arg);
8339 } 8336 }
8340 } 8337 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/resolution/semantic_visitor.dart ('k') | pkg/compiler/lib/src/resolution/send_structure.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698