Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 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 | |
| 3 // BSD-style license that can be found in the LICENSE file. | |
| 4 | |
| 5 part of dart2js.semantics_visitor; | |
| 6 | |
| 7 /// Mixin that implements all `errorX` methods of [SemanticSendVisitor] by | |
| 8 /// delegating to a bulk handler. | |
| 9 /// | |
| 10 /// Use this mixin to provide a trivial implementation for all `errorX` methods. | |
| 11 abstract class ErrorBulkMixin<R, A> implements SemanticSendVisitor<R, A> { | |
| 12 R bulkHandleNode(Node node, String message); | |
| 13 | |
| 14 R bulkHandleError(Send node) { | |
| 15 return bulkHandleNode(node, "Error expression `$node` unhandled."); | |
| 16 } | |
| 17 | |
| 18 @override | |
| 19 R errorInvalidAssert(Send node, NodeList arguments, A arg) { | |
| 20 bulkHandleError(node); | |
| 21 } | |
| 22 | |
| 23 @override | |
| 24 R errorClassTypeLiteralSet( | |
| 25 SendSet node, | |
| 26 TypeConstantExpression constant, | |
| 27 Node rhs, | |
| 28 A arg) { | |
| 29 return bulkHandleError(node); | |
| 30 } | |
| 31 | |
| 32 @override | |
| 33 R errorDynamicTypeLiteralSet( | |
| 34 SendSet node, TypeConstantExpression constant, Node rhs, A arg) { | |
| 35 return bulkHandleError(node); | |
| 36 } | |
| 37 | |
| 38 @override | |
| 39 R errorFinalLocalVariableCompound( | |
| 40 Send node, LocalVariableElement variable, AssignmentOperator operator, Nod e rhs, A arg) { | |
|
Johnni Winther
2015/03/04 11:59:39
Will cleanup long lines while you review.
Johnni Winther
2015/03/11 09:14:47
Done.
| |
| 41 return bulkHandleError(node); | |
| 42 } | |
| 43 | |
| 44 @override | |
| 45 R errorFinalLocalVariableSet( | |
| 46 SendSet node, LocalVariableElement variable, Node rhs, A arg) { | |
| 47 return bulkHandleError(node); | |
| 48 } | |
| 49 | |
| 50 @override | |
| 51 R errorFinalParameterCompound( | |
| 52 Send node, ParameterElement parameter, AssignmentOperator operator, Node r hs, A arg) { | |
| 53 return bulkHandleError(node); | |
| 54 } | |
| 55 | |
| 56 @override | |
| 57 R errorFinalParameterSet( | |
| 58 SendSet node, ParameterElement parameter, Node rhs, A arg) { | |
| 59 return bulkHandleError(node); | |
| 60 } | |
| 61 | |
| 62 @override | |
| 63 R errorFinalStaticFieldCompound( | |
| 64 Send node, FieldElement field, AssignmentOperator operator, Node rhs, A ar g) { | |
| 65 return bulkHandleError(node); | |
| 66 } | |
| 67 | |
| 68 @override | |
| 69 R errorFinalStaticFieldSet( | |
| 70 SendSet node, FieldElement field, Node rhs, A arg) { | |
| 71 return bulkHandleError(node); | |
| 72 } | |
| 73 | |
| 74 @override | |
| 75 R errorFinalSuperFieldCompound( | |
| 76 Send node, FieldElement field, AssignmentOperator operator, Node rhs, A ar g) { | |
| 77 return bulkHandleError(node); | |
| 78 } | |
| 79 | |
| 80 @override | |
| 81 R errorFinalSuperFieldSet( | |
| 82 SendSet node, FieldElement field, Node rhs, A arg) { | |
| 83 return bulkHandleError(node); | |
| 84 } | |
| 85 | |
| 86 @override | |
| 87 R errorFinalTopLevelFieldCompound( | |
| 88 Send node, FieldElement field, AssignmentOperator operator, Node rhs, A ar g) { | |
| 89 return bulkHandleError(node); | |
| 90 } | |
| 91 | |
| 92 @override | |
| 93 R errorFinalTopLevelFieldSet( | |
| 94 SendSet node, FieldElement field, Node rhs, A arg) { | |
| 95 return bulkHandleError(node); | |
| 96 } | |
| 97 | |
| 98 @override | |
| 99 R errorLocalFunctionCompound(Send node, LocalFunctionElement function, Assignm entOperator operator, Node rhs, A arg) { | |
| 100 return bulkHandleError(node); | |
| 101 } | |
| 102 | |
| 103 @override | |
| 104 R errorLocalFunctionPostfix(Send node, LocalFunctionElement function, IncDecOp erator operator, A arg) { | |
| 105 return bulkHandleError(node); | |
| 106 } | |
| 107 | |
| 108 @override | |
| 109 R errorLocalFunctionPrefix(Send node, LocalFunctionElement function, IncDecOpe rator operator, A arg) { | |
| 110 return bulkHandleError(node); | |
| 111 } | |
| 112 | |
| 113 @override | |
| 114 R errorLocalFunctionSet(SendSet node, LocalFunctionElement function, Node rhs, A arg) { | |
| 115 return bulkHandleError(node); | |
| 116 } | |
| 117 | |
| 118 @override | |
| 119 R errorStaticFunctionSet(Send node, MethodElement function, Node rhs, A arg) { | |
| 120 return bulkHandleError(node); | |
| 121 } | |
| 122 | |
| 123 @override | |
| 124 R errorStaticGetterSet(SendSet node, FunctionElement getter, Node rhs, A arg) { | |
| 125 return bulkHandleError(node); | |
| 126 } | |
| 127 | |
| 128 @override | |
| 129 R errorStaticSetterGet(Send node, FunctionElement setter, A arg) { | |
| 130 return bulkHandleError(node); | |
| 131 } | |
| 132 | |
| 133 @override | |
| 134 R errorStaticSetterInvoke(Send node, FunctionElement setter, NodeList argument s, Selector selector, A arg) { | |
| 135 return bulkHandleError(node); | |
| 136 } | |
| 137 | |
| 138 @override | |
| 139 R errorSuperGetterSet(SendSet node, FunctionElement getter, Node rhs, A arg) { | |
| 140 return bulkHandleError(node); | |
| 141 } | |
| 142 | |
| 143 @override | |
| 144 R errorSuperMethodSet(Send node, MethodElement method, Node rhs, A arg) { | |
| 145 return bulkHandleError(node); | |
| 146 } | |
| 147 | |
| 148 @override | |
| 149 R errorSuperSetterGet(Send node, FunctionElement setter, A arg) { | |
| 150 return bulkHandleError(node); | |
| 151 } | |
| 152 | |
| 153 @override | |
| 154 R errorSuperSetterInvoke(Send node, FunctionElement setter, NodeList arguments , Selector selector, A arg) { | |
| 155 return bulkHandleError(node); | |
| 156 } | |
| 157 | |
| 158 @override | |
| 159 R errorTopLevelFunctionSet(Send node, MethodElement function, Node rhs, A arg) { | |
| 160 return bulkHandleError(node); | |
| 161 } | |
| 162 | |
| 163 @override | |
| 164 R errorTopLevelGetterSet(SendSet node, FunctionElement getter, Node rhs, A arg ) { | |
| 165 return bulkHandleError(node); | |
| 166 } | |
| 167 | |
| 168 @override | |
| 169 R errorTopLevelSetterGet(Send node, FunctionElement setter, A arg) { | |
| 170 return bulkHandleError(node); | |
| 171 } | |
| 172 | |
| 173 @override | |
| 174 R errorTopLevelSetterInvoke(Send node, FunctionElement setter, NodeList argume nts, Selector selector, A arg) { | |
| 175 return bulkHandleError(node); | |
| 176 } | |
| 177 | |
| 178 @override | |
| 179 R errorTypeVariableTypeLiteralSet(SendSet node, TypeVariableElement element, N ode rhs, A arg) { | |
| 180 return bulkHandleError(node); | |
| 181 } | |
| 182 | |
| 183 @override | |
| 184 R errorTypedefTypeLiteralSet(SendSet node, TypeConstantExpression constant, No de rhs, A arg) { | |
| 185 return bulkHandleError(node); | |
| 186 } | |
| 187 | |
| 188 @override | |
| 189 R errorUnresolvedCompound(Send node, Element element, AssignmentOperator opera tor, Node rhs, A arg) { | |
| 190 return bulkHandleError(node); | |
| 191 } | |
| 192 | |
| 193 @override | |
| 194 R errorUnresolvedGet(Send node, Element element, A arg) { | |
| 195 return bulkHandleError(node); | |
| 196 } | |
| 197 | |
| 198 @override | |
| 199 R errorUnresolvedInvoke(Send node, Element element, NodeList arguments, Select or selector, A arg) { | |
| 200 return bulkHandleError(node); | |
| 201 } | |
| 202 | |
| 203 @override | |
| 204 R errorUnresolvedPostfix(Send node, Element element, IncDecOperator operator, A arg) { | |
| 205 return bulkHandleError(node); | |
| 206 } | |
| 207 | |
| 208 @override | |
| 209 R errorUnresolvedPrefix(Send node, Element element, IncDecOperator operator, A arg) { | |
| 210 return bulkHandleError(node); | |
| 211 } | |
| 212 | |
| 213 @override | |
| 214 R errorUnresolvedSet(Send node, Element element, Node rhs, A arg) { | |
| 215 return bulkHandleError(node); | |
| 216 } | |
| 217 | |
| 218 @override | |
| 219 R errorUnresolvedSuperCompoundIndexSet(Send node, Element element, Node index, AssignmentOperator operator, Node rhs, A arg) { | |
| 220 return bulkHandleError(node); | |
| 221 } | |
| 222 | |
| 223 @override | |
| 224 R errorUnresolvedSuperIndexSet(Send node, Element element, Node index, Node rh s, A arg) { | |
| 225 return bulkHandleError(node); | |
| 226 } | |
| 227 | |
| 228 @override | |
| 229 R errorUnresolvedSuperBinary(Send node, Element element, BinaryOperator operat or, Node argument, A arg) { | |
| 230 return bulkHandleError(node); | |
| 231 } | |
| 232 | |
| 233 @override | |
| 234 R errorUnresolvedSuperUnary(Send node, UnaryOperator operator, Element element , A arg) { | |
| 235 return bulkHandleError(node); | |
| 236 } | |
| 237 | |
| 238 @override | |
| 239 R errorUndefinedBinaryExpression(Send node, Node left, Operator operator, Node right, A arg) { | |
| 240 return bulkHandleError(node); | |
| 241 } | |
| 242 | |
| 243 @override | |
| 244 R errorUndefinedUnaryExpression(Send node, Operator operator, Node expression, A arg) { | |
| 245 return bulkHandleError(node); | |
| 246 } | |
| 247 } | |
| 248 | |
| 249 /// Mixin that implements all `visitXPrefix` methods of [SemanticSendVisitor] by | |
| 250 /// delegating to a bulk handler. | |
| 251 /// | |
| 252 /// Use this mixin to provide a trivial implementation for all `visitXPrefix` | |
| 253 /// methods. | |
| 254 abstract class PrefixBulkMixin<R, A> implements SemanticSendVisitor<R, A> { | |
| 255 R bulkHandleNode(Node node, String message); | |
| 256 | |
| 257 R bulkHandlePrefix(Send node) { | |
| 258 return bulkHandleNode(node, "Prefix expression `$node` unhandled."); | |
| 259 } | |
| 260 | |
| 261 @override | |
| 262 R visitClassTypeLiteralPrefix(Send node, TypeConstantExpression constant, IncD ecOperator operator, A arg) { | |
| 263 return bulkHandlePrefix(node); | |
| 264 } | |
| 265 | |
| 266 @override | |
| 267 R visitDynamicPropertyPrefix(Send node, Node receiver, IncDecOperator operator , Selector getterSelector, Selector setterSelector, A arg) { | |
| 268 return bulkHandlePrefix(node); | |
| 269 } | |
| 270 | |
| 271 @override | |
| 272 R visitDynamicTypeLiteralPrefix(Send node, TypeConstantExpression constant, In cDecOperator operator, A arg) { | |
| 273 return bulkHandlePrefix(node); | |
| 274 } | |
| 275 | |
| 276 @override | |
| 277 R visitLocalVariablePrefix(Send node, LocalVariableElement variable, IncDecOpe rator operator, A arg) { | |
| 278 return bulkHandlePrefix(node); | |
| 279 } | |
| 280 | |
| 281 @override | |
| 282 R visitParameterPrefix(Send node, ParameterElement parameter, IncDecOperator o perator, A arg) { | |
| 283 return bulkHandlePrefix(node); | |
| 284 } | |
| 285 | |
| 286 @override | |
| 287 R visitStaticFieldPrefix(Send node, FieldElement field, IncDecOperator operato r, A arg) { | |
| 288 return bulkHandlePrefix(node); | |
| 289 } | |
| 290 | |
| 291 @override | |
| 292 R visitStaticGetterSetterPrefix(Send node, FunctionElement getter, FunctionEle ment setter, IncDecOperator operator, A arg) { | |
| 293 return bulkHandlePrefix(node); | |
| 294 } | |
| 295 | |
| 296 @override | |
| 297 R visitStaticMethodSetterPrefix(Send node, FunctionElement getter, FunctionEle ment setter, IncDecOperator operator, A arg) { | |
| 298 return bulkHandlePrefix(node); | |
| 299 } | |
| 300 | |
| 301 @override | |
| 302 R visitSuperFieldFieldPrefix(Send node, FieldElement readField, FieldElement w rittenField, IncDecOperator operator, A arg) { | |
| 303 return bulkHandlePrefix(node); | |
| 304 } | |
| 305 | |
| 306 @override | |
| 307 R visitSuperFieldPrefix(Send node, FieldElement field, IncDecOperator operator , A arg) { | |
| 308 return bulkHandlePrefix(node); | |
| 309 } | |
| 310 | |
| 311 @override | |
| 312 R visitSuperFieldSetterPrefix(Send node, FieldElement field, FunctionElement s etter, IncDecOperator operator, A arg) { | |
| 313 return bulkHandlePrefix(node); | |
| 314 } | |
| 315 | |
| 316 @override | |
| 317 R visitSuperGetterFieldPrefix(Send node, FunctionElement getter, FieldElement field, IncDecOperator operator, A arg) { | |
| 318 return bulkHandlePrefix(node); | |
| 319 } | |
| 320 | |
| 321 @override | |
| 322 R visitSuperGetterSetterPrefix(Send node, FunctionElement getter, FunctionElem ent setter, IncDecOperator operator, A arg) { | |
| 323 return bulkHandlePrefix(node); | |
| 324 } | |
| 325 | |
| 326 @override | |
| 327 R visitSuperMethodSetterPrefix(Send node, FunctionElement method, FunctionElem ent setter, IncDecOperator operator, A arg) { | |
| 328 return bulkHandlePrefix(node); | |
| 329 } | |
| 330 | |
| 331 @override | |
| 332 R visitThisPropertyPrefix(Send node, IncDecOperator operator, Selector getterS elector, Selector setterSelector, A arg) { | |
| 333 return bulkHandlePrefix(node); | |
| 334 } | |
| 335 | |
| 336 @override | |
| 337 R visitTopLevelFieldPrefix(Send node, FieldElement field, IncDecOperator opera tor, A arg) { | |
| 338 return bulkHandlePrefix(node); | |
| 339 } | |
| 340 | |
| 341 @override | |
| 342 R visitTopLevelGetterSetterPrefix(Send node, FunctionElement getter, FunctionE lement setter, IncDecOperator operator, A arg) { | |
| 343 return bulkHandlePrefix(node); | |
| 344 } | |
| 345 | |
| 346 @override | |
| 347 R visitTopLevelMethodSetterPrefix(Send node, FunctionElement method, FunctionE lement setter, IncDecOperator operator, A arg) { | |
| 348 return bulkHandlePrefix(node); | |
| 349 } | |
| 350 | |
| 351 @override | |
| 352 R visitTypeVariableTypeLiteralPrefix(Send node, TypeVariableElement element, I ncDecOperator operator, A arg) { | |
| 353 return bulkHandlePrefix(node); | |
| 354 } | |
| 355 | |
| 356 @override | |
| 357 R visitTypedefTypeLiteralPrefix(Send node, TypeConstantExpression constant, In cDecOperator operator, A arg) { | |
| 358 return bulkHandlePrefix(node); | |
| 359 } | |
| 360 } | |
| 361 | |
| 362 /// Mixin that implements all `visitXPostfix` methods of [SemanticSendVisitor] | |
| 363 /// by delegating to a bulk handler. | |
| 364 /// | |
| 365 /// Use this mixin to provide a trivial implementation for all `visitXPostfix` | |
| 366 /// methods. | |
| 367 abstract class PostfixBulkMixin<R, A> implements SemanticSendVisitor<R, A> { | |
| 368 R bulkHandleNode(Node node, String message); | |
| 369 | |
| 370 R bulkHandlePostfix(Send node) { | |
| 371 return bulkHandleNode(node, "Postfix expression `$node` unhandled."); | |
| 372 } | |
| 373 | |
| 374 @override | |
| 375 R visitClassTypeLiteralPostfix(Send node, TypeConstantExpression constant, | |
| 376 IncDecOperator operator, A arg) { | |
| 377 return bulkHandlePostfix(node); | |
| 378 } | |
| 379 | |
| 380 @override | |
| 381 R visitDynamicPropertyPostfix(Send node, Node receiver, | |
| 382 IncDecOperator operator, | |
| 383 Selector getterSelector, | |
| 384 Selector setterSelector, A arg) { | |
| 385 return bulkHandlePostfix(node); | |
| 386 } | |
| 387 | |
| 388 @override | |
| 389 R visitDynamicTypeLiteralPostfix(Send node, | |
| 390 TypeConstantExpression constant, | |
| 391 IncDecOperator operator, A arg) { | |
| 392 return bulkHandlePostfix(node); | |
| 393 } | |
| 394 | |
| 395 @override | |
| 396 R visitLocalVariablePostfix(Send node, LocalVariableElement variable, IncDecOp erator operator, A arg) { | |
| 397 return bulkHandlePostfix(node); | |
| 398 } | |
| 399 | |
| 400 @override | |
| 401 R visitParameterPostfix(Send node, ParameterElement parameter, IncDecOperator operator, A arg) { | |
| 402 return bulkHandlePostfix(node); | |
| 403 } | |
| 404 | |
| 405 @override | |
| 406 R visitStaticFieldPostfix(Send node, FieldElement field, IncDecOperator operat or, A arg) { | |
| 407 return bulkHandlePostfix(node); | |
| 408 } | |
| 409 | |
| 410 @override | |
| 411 R visitStaticGetterSetterPostfix(Send node, FunctionElement getter, FunctionEl ement setter, IncDecOperator operator, A arg) { | |
| 412 return bulkHandlePostfix(node); | |
| 413 } | |
| 414 | |
| 415 @override | |
| 416 R visitStaticMethodSetterPostfix(Send node, FunctionElement getter, FunctionEl ement setter, IncDecOperator operator, A arg) { | |
| 417 return bulkHandlePostfix(node); | |
| 418 } | |
| 419 | |
| 420 @override | |
| 421 R visitSuperFieldFieldPostfix(Send node, FieldElement readField, FieldElement writtenField, IncDecOperator operator, A arg) { | |
| 422 return bulkHandlePostfix(node); | |
| 423 } | |
| 424 | |
| 425 @override | |
| 426 R visitSuperFieldPostfix(Send node, FieldElement field, IncDecOperator operato r, A arg) { | |
| 427 return bulkHandlePostfix(node); | |
| 428 } | |
| 429 | |
| 430 @override | |
| 431 R visitSuperFieldSetterPostfix(Send node, FieldElement field, FunctionElement setter, IncDecOperator operator, A arg) { | |
| 432 return bulkHandlePostfix(node); | |
| 433 } | |
| 434 | |
| 435 @override | |
| 436 R visitSuperGetterFieldPostfix(Send node, FunctionElement getter, FieldElement field, IncDecOperator operator, A arg) { | |
| 437 return bulkHandlePostfix(node); | |
| 438 } | |
| 439 | |
| 440 @override | |
| 441 R visitSuperGetterSetterPostfix(Send node, FunctionElement getter, FunctionEle ment setter, IncDecOperator operator, A arg) { | |
| 442 return bulkHandlePostfix(node); | |
| 443 } | |
| 444 | |
| 445 @override | |
| 446 R visitSuperMethodSetterPostfix(Send node, FunctionElement method, FunctionEle ment setter, IncDecOperator operator, A arg) { | |
| 447 return bulkHandlePostfix(node); | |
| 448 } | |
| 449 | |
| 450 @override | |
| 451 R visitThisPropertyPostfix(Send node, IncDecOperator operator, Selector getter Selector, Selector setterSelector, A arg) { | |
| 452 return bulkHandlePostfix(node); | |
| 453 } | |
| 454 | |
| 455 @override | |
| 456 R visitTopLevelFieldPostfix(Send node, FieldElement field, IncDecOperator oper ator, A arg) { | |
| 457 return bulkHandlePostfix(node); | |
| 458 } | |
| 459 | |
| 460 @override | |
| 461 R visitTopLevelGetterSetterPostfix(Send node, FunctionElement getter, Function Element setter, IncDecOperator operator, A arg) { | |
| 462 return bulkHandlePostfix(node); | |
| 463 } | |
| 464 | |
| 465 @override | |
| 466 R visitTopLevelMethodSetterPostfix(Send node, FunctionElement method, Function Element setter, IncDecOperator operator, A arg) { | |
| 467 return bulkHandlePostfix(node); | |
| 468 } | |
| 469 | |
| 470 @override | |
| 471 R visitTypeVariableTypeLiteralPostfix(Send node, TypeVariableElement element, IncDecOperator operator, A arg) { | |
| 472 return bulkHandlePostfix(node); | |
| 473 } | |
| 474 | |
| 475 @override | |
| 476 R visitTypedefTypeLiteralPostfix(Send node, TypeConstantExpression constant, I ncDecOperator operator, A arg) { | |
| 477 return bulkHandlePostfix(node); | |
| 478 } | |
| 479 } | |
| 480 | |
| 481 /// Mixin that implements all `visitXCompound` methods of [SemanticSendVisitor] | |
| 482 /// by delegating to a bulk handler. | |
| 483 /// | |
| 484 /// Use this mixin to provide a trivial implementation for all `xCompound` | |
| 485 /// methods. | |
| 486 abstract class CompoundBulkMixin<R, A> implements SemanticSendVisitor<R, A> { | |
| 487 R bulkHandleNode(Node node, String message); | |
| 488 | |
| 489 R bulkHandleCompound(Send node) { | |
| 490 return bulkHandleNode(node, "Compound assignment `$node` unhandled."); | |
| 491 } | |
| 492 | |
| 493 @override | |
| 494 R visitClassTypeLiteralCompound(Send node, TypeConstantExpression constant, As signmentOperator operator, Node rhs, A arg) { | |
| 495 return bulkHandleCompound(node); | |
| 496 } | |
| 497 | |
| 498 @override | |
| 499 R visitDynamicPropertyCompound(Send node, Node receiver, AssignmentOperator op erator, Node rhs, Selector getterSelector, Selector setterSelector, A arg) { | |
| 500 return bulkHandleCompound(node); | |
| 501 } | |
| 502 | |
| 503 @override | |
| 504 R visitDynamicTypeLiteralCompound(Send node, TypeConstantExpression constant, AssignmentOperator operator, Node rhs, A arg) { | |
| 505 return bulkHandleCompound(node); | |
| 506 } | |
| 507 | |
| 508 @override | |
| 509 R visitLocalVariableCompound(Send node, LocalVariableElement variable, Assignm entOperator operator, Node rhs, A arg) { | |
| 510 return bulkHandleCompound(node); | |
| 511 } | |
| 512 | |
| 513 @override | |
| 514 R visitParameterCompound(Send node, ParameterElement parameter, AssignmentOper ator operator, Node rhs, A arg) { | |
| 515 return bulkHandleCompound(node); | |
| 516 } | |
| 517 | |
| 518 @override | |
| 519 R visitStaticFieldCompound(Send node, FieldElement field, AssignmentOperator o perator, Node rhs, A arg) { | |
| 520 return bulkHandleCompound(node); | |
| 521 } | |
| 522 | |
| 523 @override | |
| 524 R visitStaticGetterSetterCompound(Send node, FunctionElement getter, FunctionE lement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 525 return bulkHandleCompound(node); | |
| 526 } | |
| 527 | |
| 528 @override | |
| 529 R visitStaticMethodSetterCompound(Send node, FunctionElement method, FunctionE lement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 530 return bulkHandleCompound(node); | |
| 531 } | |
| 532 | |
| 533 @override | |
| 534 R visitSuperFieldCompound(Send node, FieldElement field, AssignmentOperator op erator, Node rhs, A arg) { | |
| 535 return bulkHandleCompound(node); | |
| 536 } | |
| 537 | |
| 538 @override | |
| 539 R visitSuperFieldSetterCompound(Send node, FieldElement field, FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 540 return bulkHandleCompound(node); | |
| 541 } | |
| 542 | |
| 543 @override | |
| 544 R visitSuperGetterFieldCompound(Send node, FunctionElement getter, FieldElemen t field, AssignmentOperator operator, Node rhs, A arg) { | |
| 545 return bulkHandleCompound(node); | |
| 546 } | |
| 547 | |
| 548 @override | |
| 549 R visitSuperGetterSetterCompound(Send node, FunctionElement getter, FunctionEl ement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 550 return bulkHandleCompound(node); | |
| 551 } | |
| 552 | |
| 553 @override | |
| 554 R visitSuperMethodSetterCompound(Send node, FunctionElement method, FunctionEl ement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 555 return bulkHandleCompound(node); | |
| 556 } | |
| 557 | |
| 558 @override | |
| 559 R visitThisPropertyCompound(Send node, AssignmentOperator operator, Node rhs, Selector getterSelector, Selector setterSelector, A arg) { | |
| 560 return bulkHandleCompound(node); | |
| 561 } | |
| 562 | |
| 563 @override | |
| 564 R visitTopLevelFieldCompound(Send node, FieldElement field, AssignmentOperator operator, Node rhs, A arg) { | |
| 565 return bulkHandleCompound(node); | |
| 566 } | |
| 567 | |
| 568 @override | |
| 569 R visitTopLevelGetterSetterCompound(Send node, FunctionElement getter, Functio nElement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 570 return bulkHandleCompound(node); | |
| 571 } | |
| 572 | |
| 573 @override | |
| 574 R visitTopLevelMethodSetterCompound(Send node, FunctionElement method, Functio nElement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 575 return bulkHandleCompound(node); | |
| 576 } | |
| 577 | |
| 578 @override | |
| 579 R visitTypeVariableTypeLiteralCompound(Send node, TypeVariableElement element, AssignmentOperator operator, Node rhs, A arg) { | |
| 580 return bulkHandleCompound(node); | |
| 581 } | |
| 582 | |
| 583 @override | |
| 584 R visitTypedefTypeLiteralCompound(Send node, TypeConstantExpression constant, AssignmentOperator operator, Node rhs, A arg) { | |
| 585 return bulkHandleCompound(node); | |
| 586 } | |
| 587 } | |
| 588 | |
| 589 /// Mixin that implements all `visitXInvoke` methods of [SemanticSendVisitor] by | |
| 590 /// delegating to a bulk handler. | |
| 591 /// | |
| 592 /// Use this mixin to provide a trivial implementation for all `visitXInvoke` | |
| 593 /// methods. | |
| 594 abstract class InvokeBulkMixin<R, A> implements SemanticSendVisitor<R, A> { | |
| 595 R bulkHandleNode(Node node, String message); | |
| 596 | |
| 597 R bulkHandleInvoke(Send node) { | |
| 598 return bulkHandleNode(node, "Invocation `$node` unhandled."); | |
| 599 } | |
| 600 | |
| 601 @override | |
| 602 R visitClassTypeLiteralInvoke(Send node, TypeConstantExpression constant, Node List arguments, Selector selector, A arg) { | |
| 603 return bulkHandleInvoke(node); | |
| 604 } | |
| 605 | |
| 606 @override | |
| 607 R visitDynamicPropertyInvoke(Send node, Node receiver, NodeList arguments, Sel ector selector, A arg) { | |
| 608 return bulkHandleInvoke(node); | |
| 609 } | |
| 610 | |
| 611 @override | |
| 612 R visitDynamicTypeLiteralInvoke(Send node, TypeConstantExpression constant, No deList arguments, Selector selector, A arg) { | |
| 613 return bulkHandleInvoke(node); | |
| 614 } | |
| 615 | |
| 616 @override | |
| 617 R visitExpressionInvoke(Send node, Node expression, NodeList arguments, Select or selector, A arg) { | |
| 618 return bulkHandleInvoke(node); | |
| 619 } | |
| 620 | |
| 621 @override | |
| 622 R visitLocalFunctionInvoke(Send node, LocalFunctionElement function, NodeList arguments, Selector selector, A arg) { | |
| 623 return bulkHandleInvoke(node); | |
| 624 } | |
| 625 | |
| 626 @override | |
| 627 R visitLocalVariableInvoke(Send node, LocalVariableElement variable, NodeList arguments, Selector selector, A arg) { | |
| 628 return bulkHandleInvoke(node); | |
| 629 } | |
| 630 | |
| 631 @override | |
| 632 R visitParameterInvoke(Send node, ParameterElement parameter, NodeList argumen ts, Selector selector, A arg) { | |
| 633 return bulkHandleInvoke(node); | |
| 634 } | |
| 635 | |
| 636 @override | |
| 637 R visitStaticFieldInvoke(Send node, FieldElement field, NodeList arguments, Se lector selector, A arg) { | |
| 638 return bulkHandleInvoke(node); | |
| 639 } | |
| 640 | |
| 641 @override | |
| 642 R visitStaticFunctionInvoke(Send node, MethodElement function, NodeList argume nts, Selector selector, A arg) { | |
| 643 return bulkHandleInvoke(node); | |
| 644 } | |
| 645 | |
| 646 @override | |
| 647 R visitStaticGetterInvoke(Send node, FunctionElement getter, NodeList argument s, Selector selector, A arg) { | |
| 648 return bulkHandleInvoke(node); | |
| 649 } | |
| 650 | |
| 651 @override | |
| 652 R visitSuperFieldInvoke(Send node, FieldElement field, NodeList arguments, Sel ector selector, A arg) { | |
| 653 return bulkHandleInvoke(node); | |
| 654 } | |
| 655 | |
| 656 @override | |
| 657 R visitSuperGetterInvoke(Send node, FunctionElement getter, NodeList arguments , Selector selector, A arg) { | |
| 658 return bulkHandleInvoke(node); | |
| 659 } | |
| 660 | |
| 661 @override | |
| 662 R visitSuperMethodInvoke(Send node, MethodElement method, NodeList arguments, Selector selector, A arg) { | |
| 663 return bulkHandleInvoke(node); | |
| 664 } | |
| 665 | |
| 666 @override | |
| 667 R visitThisInvoke(Send node, NodeList arguments, Selector selector, A arg) { | |
| 668 return bulkHandleInvoke(node); | |
| 669 } | |
| 670 | |
| 671 @override | |
| 672 R visitThisPropertyInvoke(Send node, NodeList arguments, Selector selector, A arg) { | |
| 673 return bulkHandleInvoke(node); | |
| 674 } | |
| 675 | |
| 676 @override | |
| 677 R visitTopLevelFieldInvoke(Send node, FieldElement field, NodeList arguments, Selector selector, A arg) { | |
| 678 return bulkHandleInvoke(node); | |
| 679 } | |
| 680 | |
| 681 @override | |
| 682 R visitTopLevelFunctionInvoke(Send node, MethodElement function, NodeList argu ments, Selector selector, A arg) { | |
| 683 return bulkHandleInvoke(node); | |
| 684 } | |
| 685 | |
| 686 @override | |
| 687 R visitTopLevelGetterInvoke(Send node, FunctionElement getter, NodeList argume nts, Selector selector, A arg) { | |
| 688 return bulkHandleInvoke(node); | |
| 689 } | |
| 690 | |
| 691 @override | |
| 692 R visitTypeVariableTypeLiteralInvoke(Send node, TypeVariableElement element, N odeList arguments, Selector selector, A arg) { | |
| 693 return bulkHandleInvoke(node); | |
| 694 } | |
| 695 | |
| 696 @override | |
| 697 R visitTypedefTypeLiteralInvoke(Send node, TypeConstantExpression constant, No deList arguments, Selector selector, A arg) { | |
| 698 return bulkHandleInvoke(node); | |
| 699 } | |
| 700 | |
| 701 @override | |
| 702 R visitConstantInvoke( | |
| 703 Send node, | |
| 704 ConstantExpression constant, | |
| 705 NodeList arguments, | |
| 706 Selector selector, | |
| 707 A arg) { | |
| 708 return bulkHandleInvoke(node); | |
| 709 } | |
| 710 } | |
| 711 | |
| 712 /// Mixin that implements all `visitXGet` methods of [SemanticSendVisitor] by | |
| 713 /// delegating to a bulk handler. | |
| 714 /// | |
| 715 /// Use this mixin to provide a trivial implementation for all `visitXGet` | |
| 716 /// methods. | |
| 717 abstract class GetBulkMixin<R, A> implements SemanticSendVisitor<R, A> { | |
| 718 R bulkHandleNode(Node node, String message); | |
| 719 | |
| 720 R bulkHandleGet(Node node) { | |
| 721 return bulkHandleNode(node, "Read `$node` unhandled."); | |
| 722 } | |
| 723 | |
| 724 @override | |
| 725 R visitClassTypeLiteralGet(Send node, TypeConstantExpression constant, A arg) { | |
| 726 return bulkHandleGet(node); | |
| 727 } | |
| 728 | |
| 729 @override | |
| 730 R visitDynamicPropertyGet(Send node, Node receiver, Selector selector, A arg) { | |
| 731 return bulkHandleGet(node); | |
| 732 } | |
| 733 | |
| 734 @override | |
| 735 R visitDynamicTypeLiteralGet(Send node, TypeConstantExpression constant, A arg ) { | |
| 736 return bulkHandleGet(node); | |
| 737 } | |
| 738 | |
| 739 @override | |
| 740 R visitLocalFunctionGet(Send node, LocalFunctionElement function, A arg) { | |
| 741 return bulkHandleGet(node); | |
| 742 } | |
| 743 | |
| 744 @override | |
| 745 R visitLocalVariableGet(Send node, LocalVariableElement variable, A arg) { | |
| 746 return bulkHandleGet(node); | |
| 747 } | |
| 748 | |
| 749 @override | |
| 750 R visitParameterGet(Send node, ParameterElement parameter, A arg) { | |
| 751 return bulkHandleGet(node); | |
| 752 } | |
| 753 | |
| 754 @override | |
| 755 R visitStaticFieldGet(Send node, FieldElement field, A arg) { | |
| 756 return bulkHandleGet(node); | |
| 757 } | |
| 758 | |
| 759 @override | |
| 760 R visitStaticFunctionGet(Send node, MethodElement function, A arg) { | |
| 761 return bulkHandleGet(node); | |
| 762 } | |
| 763 | |
| 764 @override | |
| 765 R visitStaticGetterGet(Send node, FunctionElement getter, A arg) { | |
| 766 return bulkHandleGet(node); | |
| 767 } | |
| 768 | |
| 769 @override | |
| 770 R visitSuperFieldGet(Send node, FieldElement field, A arg) { | |
| 771 return bulkHandleGet(node); | |
| 772 } | |
| 773 | |
| 774 @override | |
| 775 R visitSuperGetterGet(Send node, FunctionElement getter, A arg) { | |
| 776 return bulkHandleGet(node); | |
| 777 } | |
| 778 | |
| 779 @override | |
| 780 R visitSuperMethodGet(Send node, MethodElement method, A arg) { | |
| 781 return bulkHandleGet(node); | |
| 782 } | |
| 783 | |
| 784 @override | |
| 785 R visitThisGet(Identifier node, A arg) { | |
| 786 return bulkHandleGet(node); | |
| 787 } | |
| 788 | |
| 789 @override | |
| 790 R visitThisPropertyGet(Send node, Selector selector, A arg) { | |
| 791 return bulkHandleGet(node); | |
| 792 } | |
| 793 | |
| 794 @override | |
| 795 R visitTopLevelFieldGet(Send node, FieldElement field, A arg) { | |
| 796 return bulkHandleGet(node); | |
| 797 } | |
| 798 | |
| 799 @override | |
| 800 R visitTopLevelFunctionGet(Send node, MethodElement function, A arg) { | |
| 801 return bulkHandleGet(node); | |
| 802 } | |
| 803 | |
| 804 @override | |
| 805 R visitTopLevelGetterGet(Send node, FunctionElement getter, A arg) { | |
| 806 return bulkHandleGet(node); | |
| 807 } | |
| 808 | |
| 809 @override | |
| 810 R visitTypeVariableTypeLiteralGet(Send node, TypeVariableElement element, A ar g) { | |
| 811 return bulkHandleGet(node); | |
| 812 } | |
| 813 | |
| 814 @override | |
| 815 R visitTypedefTypeLiteralGet(Send node, TypeConstantExpression constant, A arg ) { | |
| 816 return bulkHandleGet(node); | |
| 817 } | |
| 818 | |
| 819 @override | |
| 820 R visitConstantGet( | |
| 821 Send node, | |
| 822 TypeConstantExpression constant, | |
| 823 A arg) { | |
| 824 return bulkHandleGet(node); | |
| 825 } | |
| 826 } | |
| 827 | |
| 828 /// Mixin that implements all `visitXSet` methods of [SemanticSendVisitor] by | |
| 829 /// delegating to a bulk handler. | |
| 830 /// | |
| 831 /// Use this mixin to provide a trivial implementation for all `visitXSet` | |
| 832 /// methods. | |
| 833 abstract class SetBulkMixin<R, A> implements SemanticSendVisitor<R, A> { | |
| 834 R bulkHandleNode(Node node, String message); | |
| 835 | |
| 836 R bulkHandleSet(Send node) { | |
| 837 return bulkHandleNode(node, "Assignment `$node` unhandled."); | |
| 838 } | |
| 839 | |
| 840 @override | |
| 841 R visitDynamicPropertySet(SendSet node, Node receiver, Selector selector, Node rhs, A arg) { | |
| 842 return bulkHandleSet(node); | |
| 843 } | |
| 844 | |
| 845 @override | |
| 846 R visitLocalVariableSet(SendSet node, LocalVariableElement variable, Node rhs, A arg) { | |
| 847 return bulkHandleSet(node); | |
| 848 } | |
| 849 | |
| 850 @override | |
| 851 R visitParameterSet(SendSet node, ParameterElement parameter, Node rhs, A arg) { | |
| 852 return bulkHandleSet(node); | |
| 853 } | |
| 854 | |
| 855 @override | |
| 856 R visitStaticFieldSet(SendSet node, FieldElement field, Node rhs, A arg) { | |
| 857 return bulkHandleSet(node); | |
| 858 } | |
| 859 | |
| 860 @override | |
| 861 R visitStaticSetterSet(SendSet node, FunctionElement setter, Node rhs, A arg) { | |
| 862 return bulkHandleSet(node); | |
| 863 } | |
| 864 | |
| 865 @override | |
| 866 R visitSuperFieldSet(SendSet node, FieldElement field, Node rhs, A arg) { | |
| 867 return bulkHandleSet(node); | |
| 868 } | |
| 869 | |
| 870 @override | |
| 871 R visitSuperSetterSet(SendSet node, FunctionElement setter, Node rhs, A arg) { | |
| 872 return bulkHandleSet(node); | |
| 873 } | |
| 874 | |
| 875 @override | |
| 876 R visitThisPropertySet(SendSet node, Selector selector, Node rhs, A arg) { | |
| 877 return bulkHandleSet(node); | |
| 878 } | |
| 879 | |
| 880 @override | |
| 881 R visitTopLevelFieldSet(SendSet node, FieldElement field, Node rhs, A arg) { | |
| 882 return bulkHandleSet(node); | |
| 883 } | |
| 884 | |
| 885 @override | |
| 886 R visitTopLevelSetterSet(SendSet node, FunctionElement setter, Node rhs, A arg ) { | |
| 887 return bulkHandleSet(node); | |
| 888 } | |
| 889 } | |
| 890 | |
| 891 /// Mixin that implements all `visitXIndexSet` methods of [SemanticSendVisitor] by | |
| 892 /// delegating to a bulk handler. | |
| 893 /// | |
| 894 /// Use this mixin to provide a trivial implementation for all `visitXIndexSet` | |
| 895 /// methods. | |
| 896 abstract class IndexSetBulkMixin<R, A> implements SemanticSendVisitor<R, A> { | |
| 897 R bulkHandleNode(Node node, String message); | |
| 898 | |
| 899 R bulkHandleIndexSet(Send node) { | |
| 900 return bulkHandleNode(node, "Index set expression `$node` unhandled."); | |
| 901 } | |
| 902 | |
| 903 @override | |
| 904 R visitCompoundIndexSet(Send node, Node receiver, Node index, AssignmentOperat or operator, Node rhs, A arg) { | |
| 905 return bulkHandleIndexSet(node); | |
| 906 } | |
| 907 | |
| 908 @override | |
| 909 R visitIndexSet(Send node, Node receiver, Node index, Node rhs, A arg) { | |
| 910 return bulkHandleIndexSet(node); | |
| 911 } | |
| 912 | |
| 913 @override | |
| 914 R visitSuperCompoundIndexSet(Send node, FunctionElement getter, FunctionElemen t setter, Node index, AssignmentOperator operator, Node rhs, A arg) { | |
| 915 return bulkHandleIndexSet(node); | |
| 916 } | |
| 917 | |
| 918 @override | |
| 919 R visitSuperIndexSet(Send node, FunctionElement function, Node index, Node rhs , A arg) { | |
| 920 return bulkHandleIndexSet(node); | |
| 921 } | |
| 922 } | |
| 923 | |
| 924 /// Mixin that implements all binary visitor methods in [SemanticSendVisitor] by | |
| 925 /// delegating to a bulk handler. | |
| 926 /// | |
| 927 /// Use this mixin to provide a trivial implementation for all binary visitor | |
| 928 /// methods. | |
| 929 abstract class BinaryBulkMixin<R, A> implements SemanticSendVisitor<R, A> { | |
| 930 R bulkHandleNode(Node node, String message); | |
| 931 | |
| 932 R bulkHandleBinary(Send node) { | |
| 933 return bulkHandleNode(node, "Binary expression `$node` unhandled."); | |
| 934 } | |
| 935 | |
| 936 @override | |
| 937 R visitBinary(Send node, Node left, BinaryOperator operator, Node right, A arg ) { | |
| 938 return bulkHandleBinary(node); | |
| 939 } | |
| 940 | |
| 941 @override | |
| 942 R visitEquals(Send node, Node left, Node right, A arg) { | |
| 943 return bulkHandleBinary(node); | |
| 944 } | |
| 945 | |
| 946 @override | |
| 947 R visitNotEquals(Send node, Node left, Node right, A arg) { | |
| 948 return bulkHandleBinary(node); | |
| 949 } | |
| 950 | |
| 951 @override | |
| 952 R visitSuperBinary(Send node, FunctionElement function, BinaryOperator operato r, Node argument, A arg) { | |
| 953 return bulkHandleBinary(node); | |
| 954 } | |
| 955 | |
| 956 @override | |
| 957 R visitSuperEquals(Send node, FunctionElement function, Node argument, A arg) { | |
| 958 return bulkHandleBinary(node); | |
| 959 } | |
| 960 | |
| 961 @override | |
| 962 R visitSuperNotEquals(Send node, FunctionElement function, Node argument, A ar g) { | |
| 963 return bulkHandleBinary(node); | |
| 964 } | |
| 965 } | |
| 966 | |
| 967 /// Mixin that implements all unary visitor methods in [SemanticSendVisitor] by | |
| 968 /// delegating to a bulk handler. | |
| 969 /// | |
| 970 /// Use this mixin to provide a trivial implementation for all unary visitor | |
| 971 /// methods. | |
| 972 abstract class UnaryBulkMixin<R, A> implements SemanticSendVisitor<R, A> { | |
| 973 R bulkHandleNode(Node node, String message); | |
| 974 | |
| 975 R bulkHandleUnary(Send node) { | |
| 976 return bulkHandleNode(node, "Unary expression `$node` unhandled."); | |
| 977 } | |
| 978 | |
| 979 @override | |
| 980 R visitNot(Send node, Node expression, A arg) { | |
| 981 return bulkHandleUnary(node); | |
| 982 } | |
| 983 | |
| 984 @override | |
| 985 R visitSuperUnary(Send node, UnaryOperator operator, | |
| 986 FunctionElement function, A arg) { | |
| 987 return bulkHandleUnary(node); | |
| 988 } | |
| 989 | |
| 990 @override | |
| 991 R visitUnary(Send node, UnaryOperator operator, Node expression, A arg) { | |
| 992 return bulkHandleUnary(node); | |
| 993 } | |
| 994 } | |
| 995 | |
| 996 /// Mixin that implements all purely structural visitor methods in | |
| 997 /// [SemanticSendVisitor] by delegating to a bulk handler. | |
| 998 /// | |
| 999 /// Use this mixin to provide a trivial implementation for all purely structural | |
| 1000 /// visitor methods. | |
| 1001 abstract class BaseBulkMixin<R, A> implements SemanticSendVisitor<R, A> { | |
| 1002 R bulkHandleNode(Node node, String message); | |
| 1003 | |
| 1004 @override | |
| 1005 R visitAs(Send node, Node expression, DartType type, A arg) { | |
| 1006 return bulkHandleNode(node, 'As cast `$node` unhandled.'); | |
| 1007 } | |
| 1008 | |
| 1009 @override | |
| 1010 R visitAssert(Send node, Node expression, A arg) { | |
| 1011 return bulkHandleNode(node, 'Assert `$node` unhandled.'); | |
| 1012 } | |
| 1013 | |
| 1014 @override | |
| 1015 R visitIs(Send node, Node expression, DartType type, A arg) { | |
| 1016 return bulkHandleNode(node, 'Is test `$node` unhandled.'); | |
| 1017 } | |
| 1018 | |
| 1019 @override | |
| 1020 R visitIsNot(Send node, Node expression, DartType type, A arg) { | |
| 1021 return bulkHandleNode(node, 'Is not test `$node` unhandled.'); | |
| 1022 } | |
| 1023 | |
| 1024 @override | |
| 1025 R visitLogicalAnd(Send node, Node left, Node right, A arg) { | |
| 1026 return bulkHandleNode(node, 'Lazy and `$node` unhandled.'); | |
| 1027 } | |
| 1028 | |
| 1029 @override | |
| 1030 R visitLogicalOr(Send node, Node left, Node right, A arg) { | |
| 1031 return bulkHandleNode(node, 'Lazy or `$node` unhandled.'); | |
| 1032 } | |
| 1033 } | |
| 1034 | |
| 1035 /// Mixin that implements all visitor methods for `super` calls in | |
| 1036 /// [SemanticSendVisitor] by delegating to a bulk handler. | |
| 1037 /// | |
| 1038 /// Use this mixin to provide a trivial implementation for `super` calls | |
| 1039 /// visitor methods. | |
| 1040 abstract class SuperBulkMixin<R, A> implements SemanticSendVisitor<R, A> { | |
| 1041 R bulkHandleNode(Node node, String message); | |
| 1042 | |
| 1043 R bulkHandleSuper(Send node) { | |
| 1044 return bulkHandleNode(node, "Super call `$node` unhandled."); | |
| 1045 } | |
| 1046 | |
| 1047 @override | |
| 1048 R visitSuperBinary(Send node, FunctionElement function, BinaryOperator operato r, Node argument, A arg) { | |
| 1049 return bulkHandleSuper(node); | |
| 1050 } | |
| 1051 | |
| 1052 @override | |
| 1053 R visitSuperCompoundIndexSet(Send node, FunctionElement getter, FunctionElemen t setter, Node index, AssignmentOperator operator, Node rhs, A arg) { | |
| 1054 return bulkHandleSuper(node); | |
| 1055 } | |
| 1056 | |
| 1057 @override | |
| 1058 R visitSuperEquals(Send node, FunctionElement function, Node argument, A arg) { | |
| 1059 return bulkHandleSuper(node); | |
| 1060 } | |
| 1061 | |
| 1062 @override | |
| 1063 R visitSuperFieldCompound(Send node, FieldElement field, AssignmentOperator op erator, Node rhs, A arg) { | |
| 1064 return bulkHandleSuper(node); | |
| 1065 } | |
| 1066 | |
| 1067 @override | |
| 1068 R visitSuperFieldFieldPostfix(Send node, FieldElement readField, FieldElement writtenField, IncDecOperator operator, A arg) { | |
| 1069 return bulkHandleSuper(node); | |
| 1070 } | |
| 1071 | |
| 1072 @override | |
| 1073 R visitSuperFieldFieldPrefix(Send node, FieldElement readField, FieldElement w rittenField, IncDecOperator operator, A arg) { | |
| 1074 return bulkHandleSuper(node); | |
| 1075 } | |
| 1076 | |
| 1077 @override | |
| 1078 R visitSuperFieldGet(Send node, FieldElement field, A arg) { | |
| 1079 return bulkHandleSuper(node); | |
| 1080 } | |
| 1081 | |
| 1082 @override | |
| 1083 R visitSuperFieldInvoke(Send node, FieldElement field, NodeList arguments, Sel ector selector, A arg) { | |
| 1084 return bulkHandleSuper(node); | |
| 1085 } | |
| 1086 | |
| 1087 @override | |
| 1088 R visitSuperFieldPostfix(Send node, FieldElement field, IncDecOperator operato r, A arg) { | |
| 1089 return bulkHandleSuper(node); | |
| 1090 } | |
| 1091 | |
| 1092 @override | |
| 1093 R visitSuperFieldPrefix(Send node, FieldElement field, IncDecOperator operator , A arg) { | |
| 1094 return bulkHandleSuper(node); | |
| 1095 } | |
| 1096 | |
| 1097 @override | |
| 1098 R visitSuperFieldSet(SendSet node, FieldElement field, Node rhs, A arg) { | |
| 1099 return bulkHandleSuper(node); | |
| 1100 } | |
| 1101 | |
| 1102 @override | |
| 1103 R visitSuperFieldSetterCompound(Send node, FieldElement field, FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 1104 return bulkHandleSuper(node); | |
| 1105 } | |
| 1106 | |
| 1107 @override | |
| 1108 R visitSuperFieldSetterPostfix(Send node, FieldElement field, FunctionElement setter, IncDecOperator operator, A arg) { | |
| 1109 return bulkHandleSuper(node); | |
| 1110 } | |
| 1111 | |
| 1112 @override | |
| 1113 R visitSuperFieldSetterPrefix(Send node, FieldElement field, FunctionElement s etter, IncDecOperator operator, A arg) { | |
| 1114 return bulkHandleSuper(node); | |
| 1115 } | |
| 1116 | |
| 1117 @override | |
| 1118 R visitSuperGetterFieldCompound(Send node, FunctionElement getter, FieldElemen t field, AssignmentOperator operator, Node rhs, A arg) { | |
| 1119 return bulkHandleSuper(node); | |
| 1120 } | |
| 1121 | |
| 1122 @override | |
| 1123 R visitSuperGetterFieldPostfix(Send node, FunctionElement getter, FieldElement field, IncDecOperator operator, A arg) { | |
| 1124 return bulkHandleSuper(node); | |
| 1125 } | |
| 1126 | |
| 1127 @override | |
| 1128 R visitSuperGetterFieldPrefix(Send node, FunctionElement getter, FieldElement field, IncDecOperator operator, A arg) { | |
| 1129 return bulkHandleSuper(node); | |
| 1130 } | |
| 1131 | |
| 1132 @override | |
| 1133 R visitSuperGetterGet(Send node, FunctionElement getter, A arg) { | |
| 1134 return bulkHandleSuper(node); | |
| 1135 } | |
| 1136 | |
| 1137 @override | |
| 1138 R visitSuperGetterInvoke(Send node, FunctionElement getter, NodeList arguments , Selector selector, A arg) { | |
| 1139 return bulkHandleSuper(node); | |
| 1140 } | |
| 1141 | |
| 1142 @override | |
| 1143 R visitSuperGetterSetterCompound(Send node, FunctionElement getter, FunctionEl ement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 1144 return bulkHandleSuper(node); | |
| 1145 } | |
| 1146 | |
| 1147 @override | |
| 1148 R visitSuperGetterSetterPostfix(Send node, FunctionElement getter, FunctionEle ment setter, IncDecOperator operator, A arg) { | |
| 1149 return bulkHandleSuper(node); | |
| 1150 } | |
| 1151 | |
| 1152 @override | |
| 1153 R visitSuperGetterSetterPrefix(Send node, FunctionElement getter, FunctionElem ent setter, IncDecOperator operator, A arg) { | |
| 1154 return bulkHandleSuper(node); | |
| 1155 } | |
| 1156 | |
| 1157 @override | |
| 1158 R visitSuperIndexSet(Send node, FunctionElement function, Node index, Node rhs , A arg) { | |
| 1159 return bulkHandleSuper(node); | |
| 1160 } | |
| 1161 | |
| 1162 @override | |
| 1163 R visitSuperMethodGet(Send node, MethodElement method, A arg) { | |
| 1164 return bulkHandleSuper(node); | |
| 1165 } | |
| 1166 | |
| 1167 @override | |
| 1168 R visitSuperMethodInvoke(Send node, MethodElement method, NodeList arguments, Selector selector, A arg) { | |
| 1169 return bulkHandleSuper(node); | |
| 1170 } | |
| 1171 | |
| 1172 @override | |
| 1173 R visitSuperMethodSetterCompound(Send node, FunctionElement method, FunctionEl ement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 1174 return bulkHandleSuper(node); | |
| 1175 } | |
| 1176 | |
| 1177 @override | |
| 1178 R visitSuperMethodSetterPostfix(Send node, FunctionElement method, FunctionEle ment setter, IncDecOperator operator, A arg) { | |
| 1179 return bulkHandleSuper(node); | |
| 1180 } | |
| 1181 | |
| 1182 @override | |
| 1183 R visitSuperMethodSetterPrefix(Send node, FunctionElement method, FunctionElem ent setter, IncDecOperator operator, A arg) { | |
| 1184 return bulkHandleSuper(node); | |
| 1185 } | |
| 1186 | |
| 1187 @override | |
| 1188 R visitSuperNotEquals(Send node, FunctionElement function, Node argument, A ar g) { | |
| 1189 return bulkHandleSuper(node); | |
| 1190 } | |
| 1191 | |
| 1192 @override | |
| 1193 R visitSuperSetterSet(SendSet node, FunctionElement setter, Node rhs, A arg) { | |
| 1194 return bulkHandleSuper(node); | |
| 1195 } | |
| 1196 | |
| 1197 @override | |
| 1198 R visitSuperUnary(Send node, UnaryOperator operator, FunctionElement function, A arg) { | |
| 1199 return bulkHandleSuper(node); | |
| 1200 } | |
| 1201 } | |
| 1202 | |
| 1203 /// Visitor that implements [SemanticSendVisitor] by the use of `BulkX` mixins. | |
| 1204 /// | |
| 1205 /// This class is useful in itself, but shows how to use the `BulkX` mixins and | |
| 1206 /// tests that the union of the `BulkX` mixins implement all `visit` and `error` | |
| 1207 /// methods of [SemanticSendVisitor]. | |
| 1208 class BulkVisitor<R, A> extends SemanticSendVisitor<R, A> | |
| 1209 with GetBulkMixin<R, A>, | |
| 1210 SetBulkMixin<R, A>, | |
| 1211 ErrorBulkMixin<R, A>, | |
| 1212 InvokeBulkMixin<R, A>, | |
| 1213 IndexSetBulkMixin<R, A>, | |
| 1214 CompoundBulkMixin<R, A>, | |
| 1215 UnaryBulkMixin<R, A>, | |
| 1216 BaseBulkMixin<R, A>, | |
| 1217 BinaryBulkMixin<R, A>, | |
| 1218 PrefixBulkMixin<R, A>, | |
| 1219 PostfixBulkMixin<R, A> { | |
| 1220 | |
| 1221 @override | |
| 1222 R apply(Node node, A arg) { | |
| 1223 throw new UnimplementedError("BulkVisitor.apply unimplemented"); | |
| 1224 } | |
| 1225 | |
| 1226 @override | |
| 1227 R bulkHandleNode(Node node, String message) { | |
| 1228 throw new UnimplementedError("BulkVisitor.bulkHandleNode unimplemented"); | |
| 1229 } | |
| 1230 } | |
| 1231 | |
| 1232 /// [SemanticSendVisitor] that visits subnodes. | |
| 1233 class TraversalMixin<R, A> implements SemanticSendVisitor<R, A> { | |
| 1234 @override | |
| 1235 R apply(Node node, A arg) { | |
| 1236 throw new UnimplementedError("TraversalMixin.apply unimplemented"); | |
| 1237 } | |
| 1238 | |
| 1239 @override | |
| 1240 R errorInvalidAssert(Send node, NodeList arguments, A arg) { | |
| 1241 apply(arguments, arg); | |
| 1242 return null; | |
| 1243 } | |
| 1244 | |
| 1245 @override | |
| 1246 R errorClassTypeLiteralSet(SendSet node, TypeConstantExpression constant, Node rhs, A arg) { | |
| 1247 apply(rhs, arg); | |
| 1248 return null; | |
| 1249 } | |
| 1250 | |
| 1251 @override | |
| 1252 R errorDynamicTypeLiteralSet(SendSet node, TypeConstantExpression constant, No de rhs, A arg) { | |
| 1253 apply(rhs, arg); | |
| 1254 return null; | |
| 1255 } | |
| 1256 | |
| 1257 @override | |
| 1258 R errorFinalLocalVariableCompound(Send node, LocalVariableElement variable, As signmentOperator operator, Node rhs, A arg) { | |
| 1259 apply(rhs, arg); | |
| 1260 return null; | |
| 1261 } | |
| 1262 | |
| 1263 @override | |
| 1264 R errorFinalLocalVariableSet(SendSet node, LocalVariableElement variable, Node rhs, A arg) { | |
| 1265 apply(rhs, arg); | |
| 1266 return null; | |
| 1267 } | |
| 1268 | |
| 1269 @override | |
| 1270 R errorFinalParameterCompound(Send node, ParameterElement parameter, Assignmen tOperator operator, Node rhs, A arg) { | |
| 1271 apply(rhs, arg); | |
| 1272 return null; | |
| 1273 } | |
| 1274 | |
| 1275 @override | |
| 1276 R errorFinalParameterSet(SendSet node, ParameterElement parameter, Node rhs, A arg) { | |
| 1277 apply(rhs, arg); | |
| 1278 return null; | |
| 1279 } | |
| 1280 | |
| 1281 @override | |
| 1282 R errorFinalStaticFieldCompound(Send node, FieldElement field, AssignmentOpera tor operator, Node rhs, A arg) { | |
| 1283 apply(rhs, arg); | |
| 1284 return null; | |
| 1285 } | |
| 1286 | |
| 1287 @override | |
| 1288 R errorFinalStaticFieldSet(SendSet node, FieldElement field, Node rhs, A arg) { | |
| 1289 apply(rhs, arg); | |
| 1290 return null; | |
| 1291 } | |
| 1292 | |
| 1293 @override | |
| 1294 R errorFinalSuperFieldCompound(Send node, FieldElement field, AssignmentOperat or operator, Node rhs, A arg) { | |
| 1295 apply(rhs, arg); | |
| 1296 return null; | |
| 1297 } | |
| 1298 | |
| 1299 @override | |
| 1300 R errorFinalSuperFieldSet(SendSet node, FieldElement field, Node rhs, A arg) { | |
| 1301 apply(rhs, arg); | |
| 1302 return null; | |
| 1303 } | |
| 1304 | |
| 1305 @override | |
| 1306 R errorFinalTopLevelFieldCompound(Send node, FieldElement field, AssignmentOpe rator operator, Node rhs, A arg) { | |
| 1307 apply(rhs, arg); | |
| 1308 return null; | |
| 1309 } | |
| 1310 | |
| 1311 @override | |
| 1312 R errorFinalTopLevelFieldSet(SendSet node, FieldElement field, Node rhs, A arg ) { | |
| 1313 apply(rhs, arg); | |
| 1314 return null; | |
| 1315 } | |
| 1316 | |
| 1317 @override | |
| 1318 R errorLocalFunctionCompound(Send node, LocalFunctionElement function, Assignm entOperator operator, Node rhs, A arg) { | |
| 1319 apply(rhs, arg); | |
| 1320 return null; | |
| 1321 } | |
| 1322 | |
| 1323 @override | |
| 1324 R errorLocalFunctionPostfix(Send node, LocalFunctionElement function, IncDecOp erator operator, A arg) { | |
| 1325 return null; | |
| 1326 } | |
| 1327 | |
| 1328 @override | |
| 1329 R errorLocalFunctionPrefix(Send node, LocalFunctionElement function, IncDecOpe rator operator, A arg) { | |
| 1330 return null; | |
| 1331 } | |
| 1332 | |
| 1333 @override | |
| 1334 R errorLocalFunctionSet(SendSet node, LocalFunctionElement function, Node rhs, A arg) { | |
| 1335 apply(rhs, arg); | |
| 1336 return null; | |
| 1337 } | |
| 1338 | |
| 1339 @override | |
| 1340 R errorStaticFunctionSet(Send node, MethodElement function, Node rhs, A arg) { | |
| 1341 apply(rhs, arg); | |
| 1342 return null; | |
| 1343 } | |
| 1344 | |
| 1345 @override | |
| 1346 R errorStaticGetterSet(SendSet node, FunctionElement getter, Node rhs, A arg) { | |
| 1347 apply(rhs, arg); | |
| 1348 return null; | |
| 1349 } | |
| 1350 | |
| 1351 @override | |
| 1352 R errorStaticSetterGet(Send node, FunctionElement setter, A arg) { | |
| 1353 return null; | |
| 1354 } | |
| 1355 | |
| 1356 @override | |
| 1357 R errorStaticSetterInvoke(Send node, FunctionElement setter, NodeList argument s, Selector selector, A arg) { | |
| 1358 apply(arguments, arg); | |
| 1359 return null; | |
| 1360 } | |
| 1361 | |
| 1362 @override | |
| 1363 R errorSuperGetterSet(SendSet node, FunctionElement getter, Node rhs, A arg) { | |
| 1364 apply(rhs, arg); | |
| 1365 return null; | |
| 1366 } | |
| 1367 | |
| 1368 @override | |
| 1369 R errorSuperMethodSet(Send node, MethodElement method, Node rhs, A arg) { | |
| 1370 apply(rhs, arg); | |
| 1371 return null; | |
| 1372 } | |
| 1373 | |
| 1374 @override | |
| 1375 R errorSuperSetterGet(Send node, FunctionElement setter, A arg) { | |
| 1376 return null; | |
| 1377 } | |
| 1378 | |
| 1379 @override | |
| 1380 R errorSuperSetterInvoke(Send node, FunctionElement setter, NodeList arguments , Selector selector, A arg) { | |
| 1381 apply(arguments, arg); | |
| 1382 return null; | |
| 1383 } | |
| 1384 | |
| 1385 @override | |
| 1386 R errorTopLevelFunctionSet(Send node, MethodElement function, Node rhs, A arg) { | |
| 1387 apply(rhs, arg); | |
| 1388 return null; | |
| 1389 } | |
| 1390 | |
| 1391 @override | |
| 1392 R errorTopLevelGetterSet(SendSet node, FunctionElement getter, Node rhs, A arg ) { | |
| 1393 apply(rhs, arg); | |
| 1394 return null; | |
| 1395 } | |
| 1396 | |
| 1397 @override | |
| 1398 R errorTopLevelSetterGet(Send node, FunctionElement setter, A arg) { | |
| 1399 return null; | |
| 1400 } | |
| 1401 | |
| 1402 @override | |
| 1403 R errorTopLevelSetterInvoke(Send node, FunctionElement setter, NodeList argume nts, Selector selector, A arg) { | |
| 1404 apply(arguments, arg); | |
| 1405 return null; | |
| 1406 } | |
| 1407 | |
| 1408 @override | |
| 1409 R errorTypeVariableTypeLiteralSet(SendSet node, TypeVariableElement element, N ode rhs, A arg) { | |
| 1410 apply(rhs, arg); | |
| 1411 return null; | |
| 1412 } | |
| 1413 | |
| 1414 @override | |
| 1415 R errorTypedefTypeLiteralSet(SendSet node, TypeConstantExpression constant, No de rhs, A arg) { | |
| 1416 apply(rhs, arg); | |
| 1417 return null; | |
| 1418 } | |
| 1419 | |
| 1420 @override | |
| 1421 R visitAs(Send node, Node expression, DartType type, A arg) { | |
| 1422 apply(expression, arg); | |
| 1423 return null; | |
| 1424 } | |
| 1425 | |
| 1426 @override | |
| 1427 R visitAssert(Send node, Node expression, A arg) { | |
| 1428 apply(expression, arg); | |
| 1429 return null; | |
| 1430 } | |
| 1431 | |
| 1432 @override | |
| 1433 R visitBinary(Send node, Node left, BinaryOperator operator, Node right, A arg ) { | |
| 1434 apply(left, arg); | |
| 1435 apply(right, arg); | |
| 1436 return null; | |
| 1437 } | |
| 1438 | |
| 1439 @override | |
| 1440 R visitClassTypeLiteralCompound(Send node, TypeConstantExpression constant, As signmentOperator operator, Node rhs, A arg) { | |
| 1441 apply(rhs, arg); | |
| 1442 return null; | |
| 1443 } | |
| 1444 | |
| 1445 @override | |
| 1446 R visitClassTypeLiteralGet(Send node, TypeConstantExpression constant, A arg) { | |
| 1447 return null; | |
| 1448 } | |
| 1449 | |
| 1450 @override | |
| 1451 R visitClassTypeLiteralInvoke(Send node, TypeConstantExpression constant, Node List arguments, Selector selector, A arg) { | |
| 1452 apply(arguments, arg); | |
| 1453 return null; | |
| 1454 } | |
| 1455 | |
| 1456 @override | |
| 1457 R visitClassTypeLiteralPostfix(Send node, TypeConstantExpression constant, Inc DecOperator operator, A arg) { | |
| 1458 return null; | |
| 1459 } | |
| 1460 | |
| 1461 @override | |
| 1462 R visitClassTypeLiteralPrefix(Send node, TypeConstantExpression constant, IncD ecOperator operator, A arg) { | |
| 1463 return null; | |
| 1464 } | |
| 1465 | |
| 1466 @override | |
| 1467 R visitCompoundIndexSet(Send node, Node receiver, Node index, AssignmentOperat or operator, Node rhs, A arg) { | |
| 1468 apply(receiver, arg); | |
| 1469 apply(index, arg); | |
| 1470 apply(rhs, arg); | |
| 1471 return null; | |
| 1472 } | |
| 1473 | |
| 1474 @override | |
| 1475 R visitConstantGet(Send node, ConstantExpression constant, A arg) { | |
| 1476 return null; | |
| 1477 } | |
| 1478 | |
| 1479 @override | |
| 1480 R visitConstantInvoke(Send node, ConstantExpression constant, NodeList argumen ts, Selector selector, A arg) { | |
| 1481 apply(arguments, arg); | |
| 1482 return null; | |
| 1483 } | |
| 1484 | |
| 1485 @override | |
| 1486 R visitDynamicPropertyCompound(Send node, Node receiver, AssignmentOperator op erator, Node rhs, Selector getterSelector, Selector setterSelector, A arg) { | |
| 1487 apply(receiver, arg); | |
| 1488 apply(rhs, arg); | |
| 1489 return null; | |
| 1490 } | |
| 1491 | |
| 1492 @override | |
| 1493 R visitDynamicPropertyGet(Send node, Node receiver, Selector selector, A arg) { | |
| 1494 apply(receiver, arg); | |
| 1495 return null; | |
| 1496 } | |
| 1497 | |
| 1498 @override | |
| 1499 R visitDynamicPropertyInvoke(Send node, Node receiver, NodeList arguments, Sel ector selector, A arg) { | |
| 1500 apply(receiver, arg); | |
| 1501 apply(arguments, arg); | |
| 1502 return null; | |
| 1503 } | |
| 1504 | |
| 1505 @override | |
| 1506 R visitDynamicPropertyPostfix(Send node, Node receiver, IncDecOperator operato r, Selector getterSelector, Selector setterSelector, A arg) { | |
| 1507 apply(receiver, arg); | |
| 1508 return null; | |
| 1509 } | |
| 1510 | |
| 1511 @override | |
| 1512 R visitDynamicPropertyPrefix(Send node, Node receiver, IncDecOperator operator , Selector getterSelector, Selector setterSelector, A arg) { | |
| 1513 apply(receiver, arg); | |
| 1514 return null; | |
| 1515 } | |
| 1516 | |
| 1517 @override | |
| 1518 R visitDynamicPropertySet(SendSet node, Node receiver, Selector selector, Node rhs, A arg) { | |
| 1519 apply(rhs, arg); | |
| 1520 return null; | |
| 1521 } | |
| 1522 | |
| 1523 @override | |
| 1524 R visitDynamicTypeLiteralCompound(Send node, TypeConstantExpression constant, AssignmentOperator operator, Node rhs, A arg) { | |
| 1525 apply(rhs, arg); | |
| 1526 return null; | |
| 1527 } | |
| 1528 | |
| 1529 @override | |
| 1530 R visitDynamicTypeLiteralGet(Send node, TypeConstantExpression constant, A arg ) { | |
| 1531 return null; | |
| 1532 } | |
| 1533 | |
| 1534 @override | |
| 1535 R visitDynamicTypeLiteralInvoke(Send node, TypeConstantExpression constant, No deList arguments, Selector selector, A arg) { | |
| 1536 apply(arguments, arg); | |
| 1537 return null; | |
| 1538 } | |
| 1539 | |
| 1540 @override | |
| 1541 R visitDynamicTypeLiteralPostfix(Send node, TypeConstantExpression constant, I ncDecOperator operator, A arg) { | |
| 1542 return null; | |
| 1543 } | |
| 1544 | |
| 1545 @override | |
| 1546 R visitDynamicTypeLiteralPrefix(Send node, TypeConstantExpression constant, In cDecOperator operator, A arg) { | |
| 1547 return null; | |
| 1548 } | |
| 1549 | |
| 1550 @override | |
| 1551 R visitEquals(Send node, Node left, Node right, A arg) { | |
| 1552 apply(left, arg); | |
| 1553 apply(right, arg); | |
| 1554 return null; | |
| 1555 } | |
| 1556 | |
| 1557 @override | |
| 1558 R visitExpressionInvoke(Send node, Node expression, NodeList arguments, Select or selector, A arg) { | |
| 1559 apply(expression, arg); | |
| 1560 apply(arguments, arg); | |
| 1561 return null; | |
| 1562 } | |
| 1563 | |
| 1564 @override | |
| 1565 R visitIndexSet(Send node, Node receiver, Node index, Node rhs, A arg) { | |
| 1566 apply(receiver, arg); | |
| 1567 apply(index, arg); | |
| 1568 apply(rhs, arg); | |
| 1569 return null; | |
| 1570 } | |
| 1571 | |
| 1572 @override | |
| 1573 R visitIs(Send node, Node expression, DartType type, A arg) { | |
| 1574 apply(expression, arg); | |
| 1575 return null; | |
| 1576 } | |
| 1577 | |
| 1578 @override | |
| 1579 R visitIsNot(Send node, Node expression, DartType type, A arg) { | |
| 1580 apply(expression, arg); | |
| 1581 return null; | |
| 1582 } | |
| 1583 | |
| 1584 @override | |
| 1585 R visitLocalFunctionGet(Send node, LocalFunctionElement function, A arg) { | |
| 1586 return null; | |
| 1587 } | |
| 1588 | |
| 1589 @override | |
| 1590 R visitLocalFunctionInvoke(Send node, LocalFunctionElement function, NodeList arguments, Selector selector, A arg) { | |
| 1591 apply(arguments, arg); | |
| 1592 return null; | |
| 1593 } | |
| 1594 | |
| 1595 @override | |
| 1596 R visitLocalVariableCompound(Send node, LocalVariableElement variable, Assignm entOperator operator, Node rhs, A arg) { | |
| 1597 apply(rhs, arg); | |
| 1598 return null; | |
| 1599 } | |
| 1600 | |
| 1601 @override | |
| 1602 R visitLocalVariableGet(Send node, LocalVariableElement variable, A arg) { | |
| 1603 return null; | |
| 1604 } | |
| 1605 | |
| 1606 @override | |
| 1607 R visitLocalVariableInvoke(Send node, LocalVariableElement variable, NodeList arguments, Selector selector, A arg) { | |
| 1608 apply(arguments, arg); | |
| 1609 return null; | |
| 1610 } | |
| 1611 | |
| 1612 @override | |
| 1613 R visitLocalVariablePostfix(Send node, LocalVariableElement variable, IncDecOp erator operator, A arg) { | |
| 1614 return null; | |
| 1615 } | |
| 1616 | |
| 1617 @override | |
| 1618 R visitLocalVariablePrefix(Send node, LocalVariableElement variable, IncDecOpe rator operator, A arg) { | |
| 1619 return null; | |
| 1620 } | |
| 1621 | |
| 1622 @override | |
| 1623 R visitLocalVariableSet(SendSet node, LocalVariableElement variable, Node rhs, A arg) { | |
| 1624 apply(rhs, arg); | |
| 1625 return null; | |
| 1626 } | |
| 1627 | |
| 1628 @override | |
| 1629 R visitLogicalAnd(Send node, Node left, Node right, A arg) { | |
| 1630 apply(left, arg); | |
| 1631 apply(right, arg); | |
| 1632 return null; | |
| 1633 } | |
| 1634 | |
| 1635 @override | |
| 1636 R visitLogicalOr(Send node, Node left, Node right, A arg) { | |
| 1637 apply(left, arg); | |
| 1638 apply(right, arg); | |
| 1639 return null; | |
| 1640 } | |
| 1641 | |
| 1642 @override | |
| 1643 R visitNot(Send node, Node expression, A arg) { | |
| 1644 apply(expression, arg); | |
| 1645 return null; | |
| 1646 } | |
| 1647 | |
| 1648 @override | |
| 1649 R visitNotEquals(Send node, Node left, Node right, A arg) { | |
| 1650 apply(left, arg); | |
| 1651 apply(right, arg); | |
| 1652 return null; | |
| 1653 } | |
| 1654 | |
| 1655 @override | |
| 1656 R visitParameterCompound(Send node, ParameterElement parameter, AssignmentOper ator operator, Node rhs, A arg) { | |
| 1657 apply(rhs, arg); | |
| 1658 return null; | |
| 1659 } | |
| 1660 | |
| 1661 @override | |
| 1662 R visitParameterGet(Send node, ParameterElement parameter, A arg) { | |
| 1663 return null; | |
| 1664 } | |
| 1665 | |
| 1666 @override | |
| 1667 R visitParameterInvoke(Send node, ParameterElement parameter, NodeList argumen ts, Selector selector, A arg) { | |
| 1668 apply(arguments, arg); | |
| 1669 return null; | |
| 1670 } | |
| 1671 | |
| 1672 @override | |
| 1673 R visitParameterPostfix(Send node, ParameterElement parameter, IncDecOperator operator, A arg) { | |
| 1674 return null; | |
| 1675 } | |
| 1676 | |
| 1677 @override | |
| 1678 R visitParameterPrefix(Send node, ParameterElement parameter, IncDecOperator o perator, A arg) { | |
| 1679 return null; | |
| 1680 } | |
| 1681 | |
| 1682 @override | |
| 1683 R visitParameterSet(SendSet node, ParameterElement parameter, Node rhs, A arg) { | |
| 1684 apply(rhs, arg); | |
| 1685 return null; | |
| 1686 } | |
| 1687 | |
| 1688 @override | |
| 1689 R visitStaticFieldCompound(Send node, FieldElement field, AssignmentOperator o perator, Node rhs, A arg) { | |
| 1690 apply(rhs, arg); | |
| 1691 return null; | |
| 1692 } | |
| 1693 | |
| 1694 @override | |
| 1695 R visitStaticFieldGet(Send node, FieldElement field, A arg) { | |
| 1696 return null; | |
| 1697 } | |
| 1698 | |
| 1699 @override | |
| 1700 R visitStaticFieldInvoke(Send node, FieldElement field, NodeList arguments, Se lector selector, A arg) { | |
| 1701 apply(arguments, arg); | |
| 1702 return null; | |
| 1703 } | |
| 1704 | |
| 1705 @override | |
| 1706 R visitStaticFieldPostfix(Send node, FieldElement field, IncDecOperator operat or, A arg) { | |
| 1707 return null; | |
| 1708 } | |
| 1709 | |
| 1710 @override | |
| 1711 R visitStaticFieldPrefix(Send node, FieldElement field, IncDecOperator operato r, A arg) { | |
| 1712 return null; | |
| 1713 } | |
| 1714 | |
| 1715 @override | |
| 1716 R visitStaticFieldSet(SendSet node, FieldElement field, Node rhs, A arg) { | |
| 1717 apply(rhs, arg); | |
| 1718 return null; | |
| 1719 } | |
| 1720 | |
| 1721 @override | |
| 1722 R visitStaticFunctionGet(Send node, MethodElement function, A arg) { | |
| 1723 return null; | |
| 1724 } | |
| 1725 | |
| 1726 @override | |
| 1727 R visitStaticFunctionInvoke(Send node, MethodElement function, NodeList argume nts, Selector selector, A arg) { | |
| 1728 apply(arguments, arg); | |
| 1729 return null; | |
| 1730 } | |
| 1731 | |
| 1732 @override | |
| 1733 R visitStaticGetterGet(Send node, FunctionElement getter, A arg) { | |
| 1734 return null; | |
| 1735 } | |
| 1736 | |
| 1737 @override | |
| 1738 R visitStaticGetterInvoke(Send node, FunctionElement getter, NodeList argument s, Selector selector, A arg) { | |
| 1739 apply(arguments, arg); | |
| 1740 return null; | |
| 1741 } | |
| 1742 | |
| 1743 @override | |
| 1744 R visitStaticGetterSetterCompound(Send node, FunctionElement getter, FunctionE lement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 1745 apply(rhs, arg); | |
| 1746 return null; | |
| 1747 } | |
| 1748 | |
| 1749 @override | |
| 1750 R visitStaticGetterSetterPostfix(Send node, FunctionElement getter, FunctionEl ement setter, IncDecOperator operator, A arg) { | |
| 1751 return null; | |
| 1752 } | |
| 1753 | |
| 1754 @override | |
| 1755 R visitStaticGetterSetterPrefix(Send node, FunctionElement getter, FunctionEle ment setter, IncDecOperator operator, A arg) { | |
| 1756 return null; | |
| 1757 } | |
| 1758 | |
| 1759 @override | |
| 1760 R visitStaticMethodSetterCompound(Send node, FunctionElement method, FunctionE lement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 1761 apply(rhs, arg); | |
| 1762 return null; | |
| 1763 } | |
| 1764 | |
| 1765 @override | |
| 1766 R visitStaticMethodSetterPostfix(Send node, FunctionElement getter, FunctionEl ement setter, IncDecOperator operator, A arg) { | |
| 1767 return null; | |
| 1768 } | |
| 1769 | |
| 1770 @override | |
| 1771 R visitStaticMethodSetterPrefix(Send node, FunctionElement getter, FunctionEle ment setter, IncDecOperator operator, A arg) { | |
| 1772 return null; | |
| 1773 } | |
| 1774 | |
| 1775 @override | |
| 1776 R visitStaticSetterSet(SendSet node, FunctionElement setter, Node rhs, A arg) { | |
| 1777 apply(rhs, arg); | |
| 1778 return null; | |
| 1779 } | |
| 1780 | |
| 1781 @override | |
| 1782 R visitSuperBinary(Send node, FunctionElement function, BinaryOperator operato r, Node argument, A arg) { | |
| 1783 apply(argument, arg); | |
| 1784 return null; | |
| 1785 } | |
| 1786 | |
| 1787 @override | |
| 1788 R visitSuperCompoundIndexSet(Send node, FunctionElement getter, FunctionElemen t setter, Node index, AssignmentOperator operator, Node rhs, A arg) { | |
| 1789 apply(rhs, arg); | |
| 1790 return null; | |
| 1791 } | |
| 1792 | |
| 1793 @override | |
| 1794 R visitSuperEquals(Send node, FunctionElement function, Node argument, A arg) { | |
| 1795 apply(argument, arg); | |
| 1796 return null; | |
| 1797 } | |
| 1798 | |
| 1799 @override | |
| 1800 R visitSuperFieldCompound(Send node, FieldElement field, AssignmentOperator op erator, Node rhs, A arg) { | |
| 1801 apply(rhs, arg); | |
| 1802 return null; | |
| 1803 } | |
| 1804 | |
| 1805 @override | |
| 1806 R visitSuperFieldFieldPostfix(Send node, FieldElement readField, FieldElement writtenField, IncDecOperator operator, A arg) { | |
| 1807 return null; | |
| 1808 } | |
| 1809 | |
| 1810 @override | |
| 1811 R visitSuperFieldFieldPrefix(Send node, FieldElement readField, FieldElement w rittenField, IncDecOperator operator, A arg) { | |
| 1812 return null; | |
| 1813 } | |
| 1814 | |
| 1815 @override | |
| 1816 R visitSuperFieldGet(Send node, FieldElement field, A arg) { | |
| 1817 return null; | |
| 1818 } | |
| 1819 | |
| 1820 @override | |
| 1821 R visitSuperFieldInvoke(Send node, FieldElement field, NodeList arguments, Sel ector selector, A arg) { | |
| 1822 apply(arguments, arg); | |
| 1823 return null; | |
| 1824 } | |
| 1825 | |
| 1826 @override | |
| 1827 R visitSuperFieldPostfix(Send node, FieldElement field, IncDecOperator operato r, A arg) { | |
| 1828 return null; | |
| 1829 } | |
| 1830 | |
| 1831 @override | |
| 1832 R visitSuperFieldPrefix(Send node, FieldElement field, IncDecOperator operator , A arg) { | |
| 1833 return null; | |
| 1834 } | |
| 1835 | |
| 1836 @override | |
| 1837 R visitSuperFieldSet(SendSet node, FieldElement field, Node rhs, A arg) { | |
| 1838 apply(rhs, arg); | |
| 1839 return null; | |
| 1840 } | |
| 1841 | |
| 1842 @override | |
| 1843 R visitSuperFieldSetterCompound(Send node, FieldElement field, FunctionElement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 1844 apply(rhs, arg); | |
| 1845 return null; | |
| 1846 } | |
| 1847 | |
| 1848 @override | |
| 1849 R visitSuperFieldSetterPostfix(Send node, FieldElement field, FunctionElement setter, IncDecOperator operator, A arg) { | |
| 1850 return null; | |
| 1851 } | |
| 1852 | |
| 1853 @override | |
| 1854 R visitSuperFieldSetterPrefix(Send node, FieldElement field, FunctionElement s etter, IncDecOperator operator, A arg) { | |
| 1855 return null; | |
| 1856 } | |
| 1857 | |
| 1858 @override | |
| 1859 R visitSuperGetterFieldCompound(Send node, FunctionElement getter, FieldElemen t field, AssignmentOperator operator, Node rhs, A arg) { | |
| 1860 apply(rhs, arg); | |
| 1861 return null; | |
| 1862 } | |
| 1863 | |
| 1864 @override | |
| 1865 R visitSuperGetterFieldPostfix(Send node, FunctionElement getter, FieldElement field, IncDecOperator operator, A arg) { | |
| 1866 return null; | |
| 1867 } | |
| 1868 | |
| 1869 @override | |
| 1870 R visitSuperGetterFieldPrefix(Send node, FunctionElement getter, FieldElement field, IncDecOperator operator, A arg) { | |
| 1871 return null; | |
| 1872 } | |
| 1873 | |
| 1874 @override | |
| 1875 R visitSuperGetterGet(Send node, FunctionElement getter, A arg) { | |
| 1876 return null; | |
| 1877 } | |
| 1878 | |
| 1879 @override | |
| 1880 R visitSuperGetterInvoke(Send node, FunctionElement getter, NodeList arguments , Selector selector, A arg) { | |
| 1881 apply(arguments, arg); | |
| 1882 return null; | |
| 1883 } | |
| 1884 | |
| 1885 @override | |
| 1886 R visitSuperGetterSetterCompound(Send node, FunctionElement getter, FunctionEl ement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 1887 apply(rhs, arg); | |
| 1888 return null; | |
| 1889 } | |
| 1890 | |
| 1891 @override | |
| 1892 R visitSuperGetterSetterPostfix(Send node, FunctionElement getter, FunctionEle ment setter, IncDecOperator operator, A arg) { | |
| 1893 return null; | |
| 1894 } | |
| 1895 | |
| 1896 @override | |
| 1897 R visitSuperGetterSetterPrefix(Send node, FunctionElement getter, FunctionElem ent setter, IncDecOperator operator, A arg) { | |
| 1898 return null; | |
| 1899 } | |
| 1900 | |
| 1901 @override | |
| 1902 R visitSuperIndexSet(Send node, FunctionElement function, Node index, Node rhs , A arg) { | |
| 1903 apply(index, arg); | |
| 1904 apply(rhs, arg); | |
| 1905 return null; | |
| 1906 } | |
| 1907 | |
| 1908 @override | |
| 1909 R visitSuperMethodGet(Send node, MethodElement method, A arg) { | |
| 1910 return null; | |
| 1911 } | |
| 1912 | |
| 1913 @override | |
| 1914 R visitSuperMethodInvoke(Send node, MethodElement method, NodeList arguments, Selector selector, A arg) { | |
| 1915 apply(arguments, arg); | |
| 1916 return null; | |
| 1917 } | |
| 1918 | |
| 1919 @override | |
| 1920 R visitSuperMethodSetterCompound(Send node, FunctionElement method, FunctionEl ement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 1921 apply(rhs, arg); | |
| 1922 return null; | |
| 1923 } | |
| 1924 | |
| 1925 @override | |
| 1926 R visitSuperMethodSetterPostfix(Send node, FunctionElement method, FunctionEle ment setter, IncDecOperator operator, A arg) { | |
| 1927 return null; | |
| 1928 } | |
| 1929 | |
| 1930 @override | |
| 1931 R visitSuperMethodSetterPrefix(Send node, FunctionElement method, FunctionElem ent setter, IncDecOperator operator, A arg) { | |
| 1932 return null; | |
| 1933 } | |
| 1934 | |
| 1935 @override | |
| 1936 R visitSuperNotEquals(Send node, FunctionElement function, Node argument, A ar g) { | |
| 1937 apply(argument, arg); | |
| 1938 return null; | |
| 1939 } | |
| 1940 | |
| 1941 @override | |
| 1942 R visitSuperSetterSet(SendSet node, FunctionElement setter, Node rhs, A arg) { | |
| 1943 apply(rhs, arg); | |
| 1944 return null; | |
| 1945 } | |
| 1946 | |
| 1947 @override | |
| 1948 R visitSuperUnary(Send node, UnaryOperator operator, FunctionElement function, A arg) { | |
| 1949 return null; | |
| 1950 } | |
| 1951 | |
| 1952 @override | |
| 1953 R visitThisGet(Identifier node, A arg) { | |
| 1954 return null; | |
| 1955 } | |
| 1956 | |
| 1957 @override | |
| 1958 R visitThisInvoke(Send node, NodeList arguments, Selector selector, A arg) { | |
| 1959 apply(arguments, arg); | |
| 1960 return null; | |
| 1961 } | |
| 1962 | |
| 1963 @override | |
| 1964 R visitThisPropertyCompound(Send node, AssignmentOperator operator, Node rhs, Selector getterSelector, Selector setterSelector, A arg) { | |
| 1965 apply(rhs, arg); | |
| 1966 return null; | |
| 1967 } | |
| 1968 | |
| 1969 @override | |
| 1970 R visitThisPropertyGet(Send node, Selector selector, A arg) { | |
| 1971 return null; | |
| 1972 } | |
| 1973 | |
| 1974 @override | |
| 1975 R visitThisPropertyInvoke(Send node, NodeList arguments, Selector selector, A arg) { | |
| 1976 apply(arguments, arg); | |
| 1977 return null; | |
| 1978 } | |
| 1979 | |
| 1980 @override | |
| 1981 R visitThisPropertyPostfix(Send node, IncDecOperator operator, Selector getter Selector, Selector setterSelector, A arg) { | |
| 1982 return null; | |
| 1983 } | |
| 1984 | |
| 1985 @override | |
| 1986 R visitThisPropertyPrefix(Send node, IncDecOperator operator, Selector getterS elector, Selector setterSelector, A arg) { | |
| 1987 return null; | |
| 1988 } | |
| 1989 | |
| 1990 @override | |
| 1991 R visitThisPropertySet(SendSet node, Selector selector, Node rhs, A arg) { | |
| 1992 apply(rhs, arg); | |
| 1993 return null; | |
| 1994 } | |
| 1995 | |
| 1996 @override | |
| 1997 R visitTopLevelFieldCompound(Send node, FieldElement field, AssignmentOperator operator, Node rhs, A arg) { | |
| 1998 apply(rhs, arg); | |
| 1999 return null; | |
| 2000 } | |
| 2001 | |
| 2002 @override | |
| 2003 R visitTopLevelFieldGet(Send node, FieldElement field, A arg) { | |
| 2004 return null; | |
| 2005 } | |
| 2006 | |
| 2007 @override | |
| 2008 R visitTopLevelFieldInvoke(Send node, FieldElement field, NodeList arguments, Selector selector, A arg) { | |
| 2009 apply(arguments, arg); | |
| 2010 return null; | |
| 2011 } | |
| 2012 | |
| 2013 @override | |
| 2014 R visitTopLevelFieldPostfix(Send node, FieldElement field, IncDecOperator oper ator, A arg) { | |
| 2015 return null; | |
| 2016 } | |
| 2017 | |
| 2018 @override | |
| 2019 R visitTopLevelFieldPrefix(Send node, FieldElement field, IncDecOperator opera tor, A arg) { | |
| 2020 return null; | |
| 2021 } | |
| 2022 | |
| 2023 @override | |
| 2024 R visitTopLevelFieldSet(SendSet node, FieldElement field, Node rhs, A arg) { | |
| 2025 apply(rhs, arg); | |
| 2026 return null; | |
| 2027 } | |
| 2028 | |
| 2029 @override | |
| 2030 R visitTopLevelFunctionGet(Send node, MethodElement function, A arg) { | |
| 2031 return null; | |
| 2032 } | |
| 2033 | |
| 2034 @override | |
| 2035 R visitTopLevelFunctionInvoke(Send node, MethodElement function, NodeList argu ments, Selector selector, A arg) { | |
| 2036 apply(arguments, arg); | |
| 2037 return null; | |
| 2038 } | |
| 2039 | |
| 2040 @override | |
| 2041 R visitTopLevelGetterGet(Send node, FunctionElement getter, A arg) { | |
| 2042 return null; | |
| 2043 } | |
| 2044 | |
| 2045 @override | |
| 2046 R visitTopLevelGetterInvoke(Send node, FunctionElement getter, NodeList argume nts, Selector selector, A arg) { | |
| 2047 apply(arguments, arg); | |
| 2048 return null; | |
| 2049 } | |
| 2050 | |
| 2051 @override | |
| 2052 R visitTopLevelGetterSetterCompound(Send node, FunctionElement getter, Functio nElement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 2053 apply(rhs, arg); | |
| 2054 return null; | |
| 2055 } | |
| 2056 | |
| 2057 @override | |
| 2058 R visitTopLevelGetterSetterPostfix(Send node, FunctionElement getter, Function Element setter, IncDecOperator operator, A arg) { | |
| 2059 return null; | |
| 2060 } | |
| 2061 | |
| 2062 @override | |
| 2063 R visitTopLevelGetterSetterPrefix(Send node, FunctionElement getter, FunctionE lement setter, IncDecOperator operator, A arg) { | |
| 2064 return null; | |
| 2065 } | |
| 2066 | |
| 2067 @override | |
| 2068 R visitTopLevelMethodSetterCompound(Send node, FunctionElement method, Functio nElement setter, AssignmentOperator operator, Node rhs, A arg) { | |
| 2069 apply(rhs, arg); | |
| 2070 return null; | |
| 2071 } | |
| 2072 | |
| 2073 @override | |
| 2074 R visitTopLevelMethodSetterPostfix(Send node, FunctionElement method, Function Element setter, IncDecOperator operator, A arg) { | |
| 2075 return null; | |
| 2076 } | |
| 2077 | |
| 2078 @override | |
| 2079 R visitTopLevelMethodSetterPrefix(Send node, FunctionElement method, FunctionE lement setter, IncDecOperator operator, A arg) { | |
| 2080 return null; | |
| 2081 } | |
| 2082 | |
| 2083 @override | |
| 2084 R visitTopLevelSetterSet(SendSet node, FunctionElement setter, Node rhs, A arg ) { | |
| 2085 apply(rhs, arg); | |
| 2086 return null; | |
| 2087 } | |
| 2088 | |
| 2089 @override | |
| 2090 R visitTypeVariableTypeLiteralCompound(Send node, TypeVariableElement element, AssignmentOperator operator, Node rhs, A arg) { | |
| 2091 apply(rhs, arg); | |
| 2092 return null; | |
| 2093 } | |
| 2094 | |
| 2095 @override | |
| 2096 R visitTypeVariableTypeLiteralGet(Send node, TypeVariableElement element, A ar g) { | |
| 2097 return null; | |
| 2098 } | |
| 2099 | |
| 2100 @override | |
| 2101 R visitTypeVariableTypeLiteralInvoke(Send node, TypeVariableElement element, N odeList arguments, Selector selector, A arg) { | |
| 2102 apply(arguments, arg); | |
| 2103 return null; | |
| 2104 } | |
| 2105 | |
| 2106 @override | |
| 2107 R visitTypeVariableTypeLiteralPostfix(Send node, TypeVariableElement element, IncDecOperator operator, A arg) { | |
| 2108 return null; | |
| 2109 } | |
| 2110 | |
| 2111 @override | |
| 2112 R visitTypeVariableTypeLiteralPrefix(Send node, TypeVariableElement element, I ncDecOperator operator, A arg) { | |
| 2113 return null; | |
| 2114 } | |
| 2115 | |
| 2116 @override | |
| 2117 R visitTypedefTypeLiteralCompound(Send node, TypeConstantExpression constant, AssignmentOperator operator, Node rhs, A arg) { | |
| 2118 apply(rhs, arg); | |
| 2119 return null; | |
| 2120 } | |
| 2121 | |
| 2122 @override | |
| 2123 R visitTypedefTypeLiteralGet(Send node, TypeConstantExpression constant, A arg ) { | |
| 2124 return null; | |
| 2125 } | |
| 2126 | |
| 2127 @override | |
| 2128 R visitTypedefTypeLiteralInvoke(Send node, TypeConstantExpression constant, No deList arguments, Selector selector, A arg) { | |
| 2129 apply(arguments, arg); | |
| 2130 return null; | |
| 2131 } | |
| 2132 | |
| 2133 @override | |
| 2134 R visitTypedefTypeLiteralPostfix(Send node, TypeConstantExpression constant, I ncDecOperator operator, A arg) { | |
| 2135 return null; | |
| 2136 } | |
| 2137 | |
| 2138 @override | |
| 2139 R visitTypedefTypeLiteralPrefix(Send node, TypeConstantExpression constant, In cDecOperator operator, A arg) { | |
| 2140 return null; | |
| 2141 } | |
| 2142 | |
| 2143 @override | |
| 2144 R visitUnary(Send node, UnaryOperator operator, Node expression, A arg) { | |
| 2145 apply(expression, arg); | |
| 2146 return null; | |
| 2147 } | |
| 2148 | |
| 2149 @override | |
| 2150 R errorUnresolvedCompound(Send node, Element element, AssignmentOperator opera tor, Node rhs, A arg) { | |
| 2151 apply(rhs, arg); | |
| 2152 return null; | |
| 2153 } | |
| 2154 | |
| 2155 @override | |
| 2156 R errorUnresolvedGet(Send node, Element element, A arg) { | |
| 2157 return null; | |
| 2158 } | |
| 2159 | |
| 2160 @override | |
| 2161 R errorUnresolvedInvoke(Send node, Element element, NodeList arguments, Select or selector, A arg) { | |
| 2162 apply(arguments, arg); | |
| 2163 return null; | |
| 2164 } | |
| 2165 | |
| 2166 @override | |
| 2167 R errorUnresolvedPostfix(Send node, Element element, IncDecOperator operator, A arg) { | |
| 2168 return null; | |
| 2169 } | |
| 2170 | |
| 2171 @override | |
| 2172 R errorUnresolvedPrefix(Send node, Element element, IncDecOperator operator, A arg) { | |
| 2173 return null; | |
| 2174 } | |
| 2175 | |
| 2176 @override | |
| 2177 R errorUnresolvedSet(Send node, Element element, Node rhs, A arg) { | |
| 2178 apply(rhs, arg); | |
| 2179 return null; | |
| 2180 } | |
| 2181 | |
| 2182 @override | |
| 2183 R errorUndefinedBinaryExpression(Send node, Node left, Operator operator, Node right, A arg) { | |
| 2184 apply(left, arg); | |
| 2185 apply(right, arg); | |
| 2186 return null; | |
| 2187 } | |
| 2188 | |
| 2189 @override | |
| 2190 R errorUndefinedUnaryExpression(Send node, Operator operator, Node expression, A arg) { | |
| 2191 apply(expression, arg); | |
| 2192 return null; | |
| 2193 } | |
| 2194 | |
| 2195 @override | |
| 2196 R errorUnresolvedSuperIndexSet(Send node, Element element, Node index, Node rh s, A arg) { | |
| 2197 apply(index, arg); | |
| 2198 apply(rhs, arg); | |
| 2199 return null; | |
| 2200 } | |
| 2201 | |
| 2202 @override | |
| 2203 R errorUnresolvedSuperCompoundIndexSet(Send node, Element element, Node index, AssignmentOperator operator, Node rhs, A arg) { | |
| 2204 apply(index, arg); | |
| 2205 apply(rhs, arg); | |
| 2206 return null; | |
| 2207 } | |
| 2208 | |
| 2209 @override | |
| 2210 R errorUnresolvedSuperBinary(Send node, Element element, BinaryOperator operat or, Node argument, A arg) { | |
| 2211 apply(argument, arg); | |
| 2212 return null; | |
| 2213 } | |
| 2214 | |
| 2215 @override | |
| 2216 R errorUnresolvedSuperUnary(Send node, UnaryOperator operator, Element element , A arg) { | |
| 2217 return null; | |
| 2218 } | |
| 2219 } | |
| 2220 | |
| 2221 /// AST visitor that visits all normal [Send] and [SendSet] nodes using the | |
| 2222 /// [SemanticVisitor]. | |
| 2223 class TraversalVisitor<R, A> extends SemanticVisitor<R, A> | |
| 2224 with TraversalMixin<R, A> { | |
| 2225 TraversalVisitor(TreeElements elements) : super(elements); | |
| 2226 | |
| 2227 SemanticSendVisitor<R, A> get sendVisitor => this; | |
| 2228 | |
| 2229 R apply(Node node, A arg) { | |
| 2230 node.accept(this); | |
| 2231 return null; | |
| 2232 } | |
| 2233 | |
| 2234 @override | |
| 2235 internalError(Spannable spannable, String message) { | |
| 2236 throw new SpannableAssertionFailure(spannable, message); | |
| 2237 } | |
| 2238 | |
| 2239 @override | |
| 2240 R visitNode(Node node) { | |
| 2241 node.visitChildren(this); | |
| 2242 return null; | |
| 2243 } | |
| 2244 | |
| 2245 @override | |
| 2246 R visitNewExpression(NewExpression node) { | |
| 2247 // Bypass the [Send] holding the class/constructor name. | |
| 2248 return apply(node.send.argumentsNode, null); | |
| 2249 } | |
| 2250 | |
| 2251 void visitParameters(NodeList parameters) { | |
| 2252 | |
| 2253 } | |
| 2254 | |
| 2255 void visitInitializers(NodeList initializers) { | |
| 2256 // TODO(johnniwinther): Visit subnodes of initializers. | |
| 2257 } | |
| 2258 | |
| 2259 @override | |
| 2260 R visitFunctionExpression(FunctionExpression node) { | |
| 2261 if (node.parameters != null) { | |
| 2262 visitParameters(node.parameters); | |
| 2263 } | |
| 2264 if (node.initializers != null) { | |
| 2265 visitInitializers(node.initializers); | |
| 2266 } | |
| 2267 if (node.body != null) { | |
| 2268 apply(node.body, null); | |
| 2269 } | |
| 2270 return null; | |
| 2271 } | |
| 2272 } | |
| OLD | NEW |