OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 part of dart2js.semantics_visitor_test; | 5 part of dart2js.semantics_visitor_test; |
6 | 6 |
7 class SemanticSendTestVisitor extends SemanticTestVisitor { | 7 class SemanticSendTestVisitor extends SemanticTestVisitor { |
8 | 8 |
9 SemanticSendTestVisitor(TreeElements elements) : super(elements); | 9 SemanticSendTestVisitor(TreeElements elements) : super(elements); |
10 | 10 |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 Send node, | 98 Send node, |
99 ErroneousElement error, | 99 ErroneousElement error, |
100 Node rhs, | 100 Node rhs, |
101 arg) { | 101 arg) { |
102 visits.add(new Visit(VisitKind.ERROR_INVALID_SET, | 102 visits.add(new Visit(VisitKind.ERROR_INVALID_SET, |
103 error: error.messageKind, rhs: rhs)); | 103 error: error.messageKind, rhs: rhs)); |
104 super.errorInvalidSet(node, error, rhs, arg); | 104 super.errorInvalidSet(node, error, rhs, arg); |
105 } | 105 } |
106 | 106 |
107 @override | 107 @override |
| 108 errorInvalidSetIfNull( |
| 109 Send node, |
| 110 ErroneousElement error, |
| 111 Node rhs, |
| 112 arg) { |
| 113 visits.add(new Visit(VisitKind.ERROR_INVALID_SET_IF_NULL, |
| 114 error: error.messageKind, rhs: rhs)); |
| 115 super.errorInvalidSetIfNull(node, error, rhs, arg); |
| 116 } |
| 117 |
| 118 @override |
108 errorInvalidUnary( | 119 errorInvalidUnary( |
109 Send node, | 120 Send node, |
110 UnaryOperator operator, | 121 UnaryOperator operator, |
111 ErroneousElement error, | 122 ErroneousElement error, |
112 arg) { | 123 arg) { |
113 visits.add(new Visit(VisitKind.ERROR_INVALID_UNARY, | 124 visits.add(new Visit(VisitKind.ERROR_INVALID_UNARY, |
114 error: error.messageKind, operator: operator)); | 125 error: error.messageKind, operator: operator)); |
115 super.errorInvalidUnary(node, operator, error, arg); | 126 super.errorInvalidUnary(node, operator, error, arg); |
116 } | 127 } |
117 | 128 |
(...skipping 2980 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3098 super.visitConstantInvoke(node, constant, arguments, callStructure, arg); | 3109 super.visitConstantInvoke(node, constant, arguments, callStructure, arg); |
3099 } | 3110 } |
3100 | 3111 |
3101 @override | 3112 @override |
3102 previsitDeferredAccess( | 3113 previsitDeferredAccess( |
3103 Send node, | 3114 Send node, |
3104 PrefixElement prefix, | 3115 PrefixElement prefix, |
3105 arg) { | 3116 arg) { |
3106 visits.add(new Visit(VisitKind.PREVISIT_DEFERRED_ACCESS, element: prefix)); | 3117 visits.add(new Visit(VisitKind.PREVISIT_DEFERRED_ACCESS, element: prefix)); |
3107 } | 3118 } |
| 3119 |
| 3120 @override |
| 3121 visitClassTypeLiteralSetIfNull( |
| 3122 Send node, |
| 3123 ConstantExpression constant, |
| 3124 Node rhs, |
| 3125 arg) { |
| 3126 visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_SET_IF_NULL, |
| 3127 constant: constant.getText(), rhs: rhs)); |
| 3128 super.visitClassTypeLiteralSetIfNull(node, constant, rhs, arg); |
| 3129 } |
| 3130 |
| 3131 @override |
| 3132 visitDynamicPropertySetIfNull( |
| 3133 Send node, |
| 3134 Node receiver, |
| 3135 Name name, |
| 3136 Node rhs, |
| 3137 arg) { |
| 3138 visits.add(new Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_SET_IF_NULL, |
| 3139 receiver: receiver, name: name, rhs: rhs)); |
| 3140 super.visitDynamicPropertySetIfNull(node, receiver, name, rhs, arg); |
| 3141 } |
| 3142 |
| 3143 @override |
| 3144 visitDynamicTypeLiteralSetIfNull( |
| 3145 Send node, |
| 3146 ConstantExpression constant, |
| 3147 Node rhs, |
| 3148 arg) { |
| 3149 visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_SET_IF_NULL, |
| 3150 constant: constant.getText(), rhs: rhs)); |
| 3151 super.visitDynamicTypeLiteralSetIfNull(node, constant, rhs, arg); |
| 3152 } |
| 3153 |
| 3154 @override |
| 3155 visitFinalLocalVariableSetIfNull( |
| 3156 Send node, |
| 3157 LocalVariableElement variable, |
| 3158 Node rhs, |
| 3159 arg) { |
| 3160 visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_SET_IF_NULL, |
| 3161 element: variable, rhs: rhs)); |
| 3162 super.visitFinalLocalVariableSetIfNull(node, variable, rhs, arg); |
| 3163 } |
| 3164 |
| 3165 @override |
| 3166 visitFinalParameterSetIfNull( |
| 3167 Send node, |
| 3168 ParameterElement parameter, |
| 3169 Node rhs, |
| 3170 arg) { |
| 3171 visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_SET_IF_NULL, |
| 3172 element: parameter, rhs: rhs)); |
| 3173 super.visitFinalParameterSetIfNull(node, parameter, rhs, arg); |
| 3174 } |
| 3175 |
| 3176 @override |
| 3177 visitFinalStaticFieldSetIfNull( |
| 3178 Send node, |
| 3179 FieldElement field, |
| 3180 Node rhs, |
| 3181 arg) { |
| 3182 visits.add(new Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_SET_IF_NULL, |
| 3183 element: field, rhs: rhs)); |
| 3184 super.visitFinalStaticFieldSetIfNull(node, field, rhs, arg); |
| 3185 } |
| 3186 |
| 3187 @override |
| 3188 visitFinalSuperFieldSetIfNull( |
| 3189 Send node, |
| 3190 FieldElement field, |
| 3191 Node rhs, |
| 3192 arg) { |
| 3193 visits.add(new Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_SET_IF_NULL, |
| 3194 element: field, rhs: rhs)); |
| 3195 super.visitFinalSuperFieldSetIfNull(node, field, rhs, arg); |
| 3196 } |
| 3197 |
| 3198 @override |
| 3199 visitFinalTopLevelFieldSetIfNull( |
| 3200 Send node, |
| 3201 FieldElement field, |
| 3202 Node rhs, |
| 3203 arg) { |
| 3204 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_SET_IF_NULL, |
| 3205 element: field, rhs: rhs)); |
| 3206 super.visitFinalTopLevelFieldSetIfNull(node, field, rhs, arg); |
| 3207 } |
| 3208 |
| 3209 @override |
| 3210 visitIfNotNullDynamicPropertySetIfNull( |
| 3211 Send node, |
| 3212 Node receiver, |
| 3213 Name name, |
| 3214 Node rhs, |
| 3215 arg) { |
| 3216 visits.add(new Visit( |
| 3217 VisitKind.VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_SET_IF_NULL, |
| 3218 receiver: receiver, name: name, rhs: rhs)); |
| 3219 super.visitIfNotNullDynamicPropertySetIfNull( |
| 3220 node, receiver, name, rhs, arg); |
| 3221 } |
| 3222 |
| 3223 @override |
| 3224 visitLocalFunctionSetIfNull( |
| 3225 Send node, |
| 3226 LocalFunctionElement function, |
| 3227 Node rhs, |
| 3228 arg) { |
| 3229 visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_SET_IF_NULL, |
| 3230 element: function, rhs: rhs)); |
| 3231 super.visitLocalFunctionSetIfNull(node, function, rhs, arg); |
| 3232 } |
| 3233 |
| 3234 @override |
| 3235 visitLocalVariableSetIfNull( |
| 3236 Send node, |
| 3237 LocalVariableElement variable, |
| 3238 Node rhs, |
| 3239 arg) { |
| 3240 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_SET_IF_NULL, |
| 3241 element: variable, rhs: rhs)); |
| 3242 super.visitLocalVariableSetIfNull(node, variable, rhs, arg); |
| 3243 } |
| 3244 |
| 3245 @override |
| 3246 visitParameterSetIfNull( |
| 3247 Send node, |
| 3248 ParameterElement parameter, |
| 3249 Node rhs, |
| 3250 arg) { |
| 3251 visits.add(new Visit(VisitKind.VISIT_PARAMETER_SET_IF_NULL, |
| 3252 element: parameter, rhs: rhs)); |
| 3253 super.visitParameterSetIfNull(node, parameter, rhs, arg); |
| 3254 } |
| 3255 |
| 3256 @override |
| 3257 visitStaticFieldSetIfNull( |
| 3258 Send node, |
| 3259 FieldElement field, |
| 3260 Node rhs, |
| 3261 arg) { |
| 3262 visits.add(new Visit(VisitKind.VISIT_STATIC_FIELD_SET_IF_NULL, |
| 3263 element: field, rhs: rhs)); |
| 3264 super.visitStaticFieldSetIfNull(node, field, rhs, arg); |
| 3265 } |
| 3266 |
| 3267 @override |
| 3268 visitStaticGetterSetterSetIfNull( |
| 3269 Send node, |
| 3270 FunctionElement getter, |
| 3271 FunctionElement setter, |
| 3272 Node rhs, |
| 3273 arg) { |
| 3274 visits.add(new Visit(VisitKind.VISIT_STATIC_GETTER_SETTER_SET_IF_NULL, |
| 3275 getter: getter, setter: setter, rhs: rhs)); |
| 3276 super.visitStaticGetterSetterSetIfNull(node, getter, setter, rhs, arg); |
| 3277 } |
| 3278 |
| 3279 @override |
| 3280 visitStaticMethodSetIfNull( |
| 3281 Send node, |
| 3282 FunctionElement method, |
| 3283 Node rhs, |
| 3284 arg) { |
| 3285 visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_SET_IF_NULL, |
| 3286 element: method, rhs: rhs)); |
| 3287 super.visitStaticMethodSetIfNull(node, method, rhs, arg); |
| 3288 } |
| 3289 |
| 3290 @override |
| 3291 visitStaticMethodSetterSetIfNull( |
| 3292 Send node, |
| 3293 MethodElement method, |
| 3294 MethodElement setter, |
| 3295 Node rhs, |
| 3296 arg) { |
| 3297 visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_SETTER_SET_IF_NULL, |
| 3298 getter: method, setter: setter, rhs: rhs)); |
| 3299 super.visitStaticMethodSetterSetIfNull(node, method, setter, rhs, arg); |
| 3300 } |
| 3301 |
| 3302 @override |
| 3303 visitSuperFieldFieldSetIfNull( |
| 3304 Send node, |
| 3305 FieldElement readField, |
| 3306 FieldElement writtenField, |
| 3307 Node rhs, |
| 3308 arg) { |
| 3309 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_SET_IF_NULL, |
| 3310 getter: readField, setter: writtenField, rhs: rhs)); |
| 3311 super.visitSuperFieldFieldSetIfNull( |
| 3312 node, readField, writtenField, rhs, arg); |
| 3313 } |
| 3314 |
| 3315 @override |
| 3316 visitSuperFieldSetIfNull( |
| 3317 Send node, |
| 3318 FieldElement field, |
| 3319 Node rhs, |
| 3320 arg) { |
| 3321 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SET_IF_NULL, |
| 3322 element: field, rhs: rhs)); |
| 3323 super.visitSuperFieldSetIfNull(node, field, rhs, arg); |
| 3324 } |
| 3325 |
| 3326 @override |
| 3327 visitSuperFieldSetterSetIfNull( |
| 3328 Send node, |
| 3329 FieldElement field, |
| 3330 FunctionElement setter, |
| 3331 Node rhs, |
| 3332 arg) { |
| 3333 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_SET_IF_NULL, |
| 3334 getter: field, setter: setter, rhs: rhs)); |
| 3335 super.visitSuperFieldSetterSetIfNull(node, field, setter, rhs, arg); |
| 3336 } |
| 3337 |
| 3338 @override |
| 3339 visitSuperGetterFieldSetIfNull( |
| 3340 Send node, |
| 3341 FunctionElement getter, |
| 3342 FieldElement field, |
| 3343 Node rhs, |
| 3344 arg) { |
| 3345 visits.add(new Visit(VisitKind.VISIT_SUPER_GETTER_FIELD_SET_IF_NULL, |
| 3346 getter: getter, setter: field, rhs: rhs)); |
| 3347 super.visitSuperGetterFieldSetIfNull(node, getter, field, rhs, arg); |
| 3348 } |
| 3349 |
| 3350 @override |
| 3351 visitSuperGetterSetterSetIfNull( |
| 3352 Send node, |
| 3353 FunctionElement getter, |
| 3354 FunctionElement setter, |
| 3355 Node rhs, |
| 3356 arg) { |
| 3357 visits.add(new Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_SET_IF_NULL, |
| 3358 getter: getter, setter: setter, rhs: rhs)); |
| 3359 super.visitSuperGetterSetterSetIfNull(node, getter, setter, rhs, arg); |
| 3360 } |
| 3361 |
| 3362 @override |
| 3363 visitSuperMethodSetIfNull( |
| 3364 Send node, |
| 3365 FunctionElement method, |
| 3366 Node rhs, |
| 3367 arg) { |
| 3368 visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SET_IF_NULL, |
| 3369 element: method, rhs: rhs)); |
| 3370 super.visitSuperMethodSetIfNull(node, method, rhs, arg); |
| 3371 } |
| 3372 |
| 3373 @override |
| 3374 visitSuperMethodSetterSetIfNull( |
| 3375 Send node, |
| 3376 FunctionElement method, |
| 3377 FunctionElement setter, |
| 3378 Node rhs, |
| 3379 arg) { |
| 3380 visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SETTER_SET_IF_NULL, |
| 3381 getter: method, setter: setter, rhs: rhs)); |
| 3382 super.visitSuperMethodSetterSetIfNull(node, method, setter, rhs, arg); |
| 3383 } |
| 3384 |
| 3385 @override |
| 3386 visitThisPropertySetIfNull( |
| 3387 Send node, |
| 3388 Name name, |
| 3389 Node rhs, |
| 3390 arg) { |
| 3391 visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_SET_IF_NULL, |
| 3392 name: name, rhs: rhs)); |
| 3393 super.visitThisPropertySetIfNull(node, name, rhs, arg); |
| 3394 } |
| 3395 |
| 3396 @override |
| 3397 visitTopLevelFieldSetIfNull( |
| 3398 Send node, |
| 3399 FieldElement field, |
| 3400 Node rhs, |
| 3401 arg) { |
| 3402 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_SET_IF_NULL, |
| 3403 element: field, rhs: rhs)); |
| 3404 super.visitTopLevelFieldSetIfNull(node, field, rhs, arg); |
| 3405 } |
| 3406 |
| 3407 @override |
| 3408 visitTopLevelGetterSetterSetIfNull( |
| 3409 Send node, |
| 3410 FunctionElement getter, |
| 3411 FunctionElement setter, |
| 3412 Node rhs, |
| 3413 arg) { |
| 3414 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_SETTER_SET_IF_NULL, |
| 3415 getter: getter, setter: setter, rhs: rhs)); |
| 3416 super.visitTopLevelGetterSetterSetIfNull(node, getter, setter, rhs, arg); |
| 3417 } |
| 3418 |
| 3419 @override |
| 3420 visitTopLevelMethodSetIfNull( |
| 3421 Send node, |
| 3422 FunctionElement method, |
| 3423 Node rhs, |
| 3424 arg) { |
| 3425 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SET_IF_NULL, |
| 3426 element: method, rhs: rhs)); |
| 3427 super.visitTopLevelMethodSetIfNull(node, method, rhs, arg); |
| 3428 } |
| 3429 |
| 3430 @override |
| 3431 visitTopLevelMethodSetterSetIfNull( |
| 3432 Send node, |
| 3433 FunctionElement method, |
| 3434 FunctionElement setter, |
| 3435 Node rhs, |
| 3436 arg) { |
| 3437 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_SET_IF_NULL, |
| 3438 getter: method, setter: setter, rhs: rhs)); |
| 3439 super.visitTopLevelMethodSetterSetIfNull(node, method, setter, rhs, arg); |
| 3440 } |
| 3441 |
| 3442 @override |
| 3443 visitTypeVariableTypeLiteralSetIfNull( |
| 3444 Send node, |
| 3445 TypeVariableElement element, |
| 3446 Node rhs, |
| 3447 arg) { |
| 3448 visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_SET_IF_NULL, |
| 3449 element: element, rhs: rhs)); |
| 3450 super.visitTypeVariableTypeLiteralSetIfNull(node, element, rhs, arg); |
| 3451 } |
| 3452 |
| 3453 @override |
| 3454 visitTypedefTypeLiteralSetIfNull( |
| 3455 Send node, |
| 3456 ConstantExpression constant, |
| 3457 Node rhs, |
| 3458 arg) { |
| 3459 visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_SET_IF_NULL, |
| 3460 constant: constant.getText(), rhs: rhs)); |
| 3461 super.visitTypedefTypeLiteralSetIfNull(node, constant, rhs, arg); |
| 3462 } |
| 3463 |
| 3464 @override |
| 3465 visitUnresolvedSetIfNull( |
| 3466 Send node, |
| 3467 Element element, |
| 3468 Node rhs, |
| 3469 arg) { |
| 3470 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SET_IF_NULL, |
| 3471 name: element.name, rhs: rhs)); |
| 3472 super.visitUnresolvedSetIfNull(node, element, rhs, arg); |
| 3473 } |
| 3474 |
| 3475 @override |
| 3476 visitUnresolvedStaticGetterSetIfNull( |
| 3477 Send node, |
| 3478 Element element, |
| 3479 MethodElement setter, |
| 3480 Node rhs, |
| 3481 arg) { |
| 3482 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_SET_IF_NULL, |
| 3483 setter: setter, rhs: rhs)); |
| 3484 super.visitUnresolvedStaticGetterSetIfNull(node, element, setter, rhs, arg); |
| 3485 } |
| 3486 |
| 3487 @override |
| 3488 visitUnresolvedStaticSetterSetIfNull( |
| 3489 Send node, |
| 3490 MethodElement getter, |
| 3491 Element element, |
| 3492 Node rhs, |
| 3493 arg) { |
| 3494 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_SET_IF_NULL, |
| 3495 getter: getter, rhs: rhs)); |
| 3496 super.visitUnresolvedStaticSetterSetIfNull(node, getter, element, rhs, arg); |
| 3497 } |
| 3498 |
| 3499 @override |
| 3500 visitUnresolvedSuperGetterSetIfNull( |
| 3501 Send node, |
| 3502 Element element, |
| 3503 MethodElement setter, |
| 3504 Node rhs, |
| 3505 arg) { |
| 3506 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_SET_IF_NULL, |
| 3507 setter: setter, rhs: rhs)); |
| 3508 super.visitUnresolvedSuperGetterSetIfNull(node, element, setter, rhs, arg); |
| 3509 } |
| 3510 |
| 3511 @override |
| 3512 visitUnresolvedSuperSetIfNull( |
| 3513 Send node, |
| 3514 Element element, |
| 3515 Node rhs, |
| 3516 arg) { |
| 3517 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SET_IF_NULL, |
| 3518 name: element.name, rhs: rhs)); |
| 3519 super.visitUnresolvedSuperSetIfNull(node, element, rhs, arg); |
| 3520 } |
| 3521 |
| 3522 @override |
| 3523 visitUnresolvedSuperSetterSetIfNull( |
| 3524 Send node, |
| 3525 MethodElement getter, |
| 3526 Element element, |
| 3527 Node rhs, |
| 3528 arg) { |
| 3529 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_SET_IF_NULL, |
| 3530 getter: getter, rhs: rhs)); |
| 3531 super.visitUnresolvedSuperSetterSetIfNull(node, getter, element, rhs, arg); |
| 3532 } |
| 3533 |
| 3534 @override |
| 3535 visitUnresolvedTopLevelGetterSetIfNull( |
| 3536 Send node, |
| 3537 Element element, |
| 3538 MethodElement setter, |
| 3539 Node rhs, |
| 3540 arg) { |
| 3541 visits.add(new Visit( |
| 3542 VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_SET_IF_NULL, |
| 3543 setter: setter, rhs: rhs)); |
| 3544 super.visitUnresolvedTopLevelGetterSetIfNull( |
| 3545 node, element, setter, rhs, arg); |
| 3546 } |
| 3547 |
| 3548 @override |
| 3549 visitUnresolvedTopLevelSetterSetIfNull( |
| 3550 Send node, |
| 3551 MethodElement getter, |
| 3552 Element element, |
| 3553 Node rhs, |
| 3554 arg) { |
| 3555 visits.add(new Visit( |
| 3556 VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_SET_IF_NULL, |
| 3557 getter: getter, rhs: rhs)); |
| 3558 super.visitUnresolvedTopLevelSetterSetIfNull( |
| 3559 node, getter, element, rhs, arg); |
| 3560 } |
3108 } | 3561 } |
OLD | NEW |