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

Side by Side Diff: tests/compiler/dart2js/semantic_visitor_test_send_data.dart

Issue 1185483004: Revert "Handle most qualified sends." (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/compiler/dart2js/semantic_visitor_test.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of dart2js.semantics_visitor_test; 5 part of dart2js.semantics_visitor_test;
6 6
7 const Map<String, List<Test>> SEND_TESTS = const { 7 const Map<String, List<Test>> SEND_TESTS = const {
8 'Parameters': const [ 8 'Parameters': const [
9 // Parameters 9 // Parameters
10 const Test('m(o) => o;', 10 const Test('m(o) => o;',
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 ''' 102 '''
103 class C { 103 class C {
104 static var o; 104 static var o;
105 } 105 }
106 ''', 106 ''',
107 'm() => p.C.o;', 107 'm() => p.C.o;',
108 const Visit(VisitKind.VISIT_STATIC_FIELD_GET, 108 const Visit(VisitKind.VISIT_STATIC_FIELD_GET,
109 element: 'field(C#o)')), 109 element: 'field(C#o)')),
110 const Test( 110 const Test(
111 ''' 111 '''
112 class C {
113 var o;
114 }
115 m() => C.o;
116 ''',
117 const Visit(VisitKind.VISIT_UNRESOLVED_GET,
118 name: 'o')),
119 const Test(
120 '''
121 class C {
122 C.o();
123 }
124 m() => C.o;
125 ''',
126 const Visit(VisitKind.VISIT_UNRESOLVED_GET,
127 name: 'o')),
128 const Test(
129 '''
130 class C {}
131 m() => C.this;
132 ''',
133 null),
134 const Test(
135 '''
136 class C { static var o; } 112 class C { static var o; }
137 m() { C.o = 42; } 113 m() { C.o = 42; }
138 ''', 114 ''',
139 const Visit(VisitKind.VISIT_STATIC_FIELD_SET, 115 const Visit(VisitKind.VISIT_STATIC_FIELD_SET,
140 element: 'field(C#o)', 116 element: 'field(C#o)',
141 rhs: '42')), 117 rhs: '42')),
142 const Test.clazz( 118 const Test.clazz(
143 ''' 119 '''
144 class C { 120 class C {
145 static var o; 121 static var o;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 const Test.prefix( 176 const Test.prefix(
201 ''' 177 '''
202 class C { 178 class C {
203 static var o; 179 static var o;
204 } 180 }
205 ''', 181 ''',
206 'm() { p.C.o(null, 42); }', 182 'm() { p.C.o(null, 42); }',
207 const Visit(VisitKind.VISIT_STATIC_FIELD_INVOKE, 183 const Visit(VisitKind.VISIT_STATIC_FIELD_INVOKE,
208 element: 'field(C#o)', 184 element: 'field(C#o)',
209 arguments: '(null,42)')), 185 arguments: '(null,42)')),
210 const Test(
211 '''
212 class C {}
213 m() => C.this(null, 42);
214 ''',
215 const Visit(VisitKind.VISIT_UNRESOLVED_INVOKE,
216 name: 'this', arguments: '(null,42)')),
217 // TODO(johnniwinther): Expect [VISIT_FINAL_STATIC_FIELD_SET] instead. 186 // TODO(johnniwinther): Expect [VISIT_FINAL_STATIC_FIELD_SET] instead.
218 const Test( 187 const Test(
219 ''' 188 '''
220 class C { static final o = 0; } 189 class C { static final o = 0; }
221 m() { C.o = 42; } 190 m() { C.o = 42; }
222 ''', 191 ''',
223 const Visit(VisitKind.VISIT_UNRESOLVED_SET, 192 const Visit(VisitKind.VISIT_UNRESOLVED_SET,
224 name: 'o', 193 name: 'o',
225 rhs: '42')), 194 rhs: '42')),
226 const Test.clazz( 195 const Test.clazz(
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 const Test.prefix( 331 const Test.prefix(
363 ''' 332 '''
364 class C { 333 class C {
365 static get o => 42; 334 static get o => 42;
366 } 335 }
367 ''', 336 ''',
368 'm() { p.C.o = 42; }', 337 'm() { p.C.o = 42; }',
369 const Visit(VisitKind.VISIT_UNRESOLVED_SET, 338 const Visit(VisitKind.VISIT_UNRESOLVED_SET,
370 name: 'o', 339 name: 'o',
371 rhs: '42')), 340 rhs: '42')),
341 // TODO(johnniwinther): Expected [VISIT_STATIC_SETTER_GET] instead.
372 const Test( 342 const Test(
373 ''' 343 '''
374 class C { 344 class C {
375 static set o(_) {} 345 static set o(_) {}
376 } 346 }
377 m() => C.o; 347 m() => C.o;
378 ''', 348 ''',
379 const Visit(VisitKind.VISIT_STATIC_SETTER_GET, 349 const Visit(VisitKind.VISIT_UNRESOLVED_GET,
380 element: 'setter(C#o)')), 350 name: 'o')),
381 const Test.clazz( 351 const Test.clazz(
382 ''' 352 '''
383 class C { 353 class C {
384 static set o(_) {} 354 static set o(_) {}
385 m() => o; 355 m() => o;
386 } 356 }
387 ''', 357 ''',
388 const Visit(VisitKind.VISIT_STATIC_SETTER_GET, 358 const Visit(VisitKind.VISIT_STATIC_SETTER_GET,
389 element: 'setter(C#o)')), 359 element: 'setter(C#o)')),
390 360
391 const Test.clazz( 361 const Test.clazz(
392 ''' 362 '''
393 class C { 363 class C {
394 static set o(_) {} 364 static set o(_) {}
395 m() => C.o; 365 m() => C.o;
396 } 366 }
397 ''', 367 ''',
398 const Visit(VisitKind.VISIT_STATIC_SETTER_GET, 368 const Visit(VisitKind.VISIT_UNRESOLVED_GET,
399 element: 'setter(C#o)')), 369 name: 'o')),
400 const Test.prefix( 370 const Test.prefix(
401 ''' 371 '''
402 class C { 372 class C {
403 static set o(_) {} 373 static set o(_) {}
404 } 374 }
405 ''', 375 ''',
406 'm() => p.C.o;', 376 'm() => p.C.o;',
407 const Visit(VisitKind.VISIT_STATIC_SETTER_GET, 377 const Visit(VisitKind.VISIT_UNRESOLVED_GET,
408 element: 'setter(C#o)')), 378 name: 'o')),
409 const Test( 379 const Test(
410 ''' 380 '''
411 class C { static set o(_) {} } 381 class C { static set o(_) {} }
412 m() { C.o = 42; } 382 m() { C.o = 42; }
413 ''', 383 ''',
414 const Visit(VisitKind.VISIT_STATIC_SETTER_SET, 384 const Visit(VisitKind.VISIT_STATIC_SETTER_SET,
415 element: 'setter(C#o)', 385 element: 'setter(C#o)',
416 rhs: '42')), 386 rhs: '42')),
417 const Test.clazz( 387 const Test.clazz(
418 ''' 388 '''
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 const Test.prefix( 445 const Test.prefix(
476 ''' 446 '''
477 class C { 447 class C {
478 static get o => null; 448 static get o => null;
479 } 449 }
480 ''', 450 ''',
481 'm() { p.C.o(null, 42); }', 451 'm() { p.C.o(null, 42); }',
482 const Visit(VisitKind.VISIT_STATIC_GETTER_INVOKE, 452 const Visit(VisitKind.VISIT_STATIC_GETTER_INVOKE,
483 element: 'getter(C#o)', 453 element: 'getter(C#o)',
484 arguments: '(null,42)')), 454 arguments: '(null,42)')),
455 // TODO(johnniwinther): Expect [VISIT_STATIC_SETTER_INVOKE] instead.
485 const Test( 456 const Test(
486 ''' 457 '''
487 class C { static set o(_) {} } 458 class C { static set o(_) {} }
488 m() => C.o(null, 42); 459 m() => C.o(null, 42);
489 ''', 460 ''',
490 const Visit(VisitKind.VISIT_STATIC_SETTER_INVOKE, 461 const Visit(VisitKind.VISIT_UNRESOLVED_INVOKE,
491 element: 'setter(C#o)', 462 name: 'o',
492 arguments: '(null,42)')), 463 arguments: '(null,42)')),
493 const Test.clazz( 464 const Test.clazz(
494 ''' 465 '''
495 class C { 466 class C {
496 static set o(_) {} 467 static set o(_) {}
497 m() { o(null, 42); } 468 m() { o(null, 42); }
498 } 469 }
499 ''', 470 ''',
500 const Visit(VisitKind.VISIT_STATIC_SETTER_INVOKE, 471 const Visit(VisitKind.VISIT_STATIC_SETTER_INVOKE,
501 element: 'setter(C#o)', 472 element: 'setter(C#o)',
502 arguments: '(null,42)')), 473 arguments: '(null,42)')),
503 const Test.clazz( 474 const Test.clazz(
504 ''' 475 '''
505 class C { 476 class C {
506 static set o(_) {} 477 static set o(_) {}
507 m() { C.o(null, 42); } 478 m() { C.o(null, 42); }
508 } 479 }
509 ''', 480 ''',
510 const Visit(VisitKind.VISIT_STATIC_SETTER_INVOKE, 481 const Visit(VisitKind.VISIT_UNRESOLVED_INVOKE,
511 element: 'setter(C#o)', 482 name: 'o',
512 arguments: '(null,42)')), 483 arguments: '(null,42)')),
513 const Test.prefix( 484 const Test.prefix(
514 ''' 485 '''
515 class C { 486 class C {
516 static set o(_) {} 487 static set o(_) {}
517 } 488 }
518 ''', 489 ''',
519 'm() { p.C.o(null, 42); }', 490 'm() { p.C.o(null, 42); }',
520 const Visit(VisitKind.VISIT_STATIC_SETTER_INVOKE, 491 const Visit(VisitKind.VISIT_UNRESOLVED_INVOKE,
521 element: 'setter(C#o)', 492 name: 'o',
522 arguments: '(null,42)')), 493 arguments: '(null,42)')),
523 ], 494 ],
524 'Static functions': const [ 495 'Static functions': const [
525 // Static functions 496 // Static functions
526 const Test( 497 const Test(
527 ''' 498 '''
528 class C { static o(a, b) {} } 499 class C { static o(a, b) {} }
529 m() => C.o; 500 m() => C.o;
530 ''', 501 ''',
531 const Visit(VisitKind.VISIT_STATIC_FUNCTION_GET, 502 const Visit(VisitKind.VISIT_STATIC_FUNCTION_GET,
(...skipping 733 matching lines...) Expand 10 before | Expand all | Expand 10 after
1265 ''' 1236 '''
1266 class C {} 1237 class C {}
1267 m() => C--; 1238 m() => C--;
1268 ''', 1239 ''',
1269 const Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_POSTFIX, 1240 const Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_POSTFIX,
1270 constant: 'C', 1241 constant: 'C',
1271 operator: '--')), 1242 operator: '--')),
1272 const Test( 1243 const Test(
1273 ''' 1244 '''
1274 class C {} 1245 class C {}
1275 m() => (C).hashCode; 1246 m() => C;
1276 ''', 1247 ''',
1277 const [ 1248 const Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_GET,
1278 const Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_GET, 1249 constant: 'C')),
1279 receiver: '(C)', name: 'hashCode'),
1280 const Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_GET,
1281 constant: 'C'),
1282 ]),
1283 ], 1250 ],
1284 'Typedef type literals': const [ 1251 'Typedef type literals': const [
1285 // Typedef type literals 1252 // Typedef type literals
1286 const Test( 1253 const Test(
1287 ''' 1254 '''
1288 typedef F(); 1255 typedef F();
1289 m() => F; 1256 m() => F;
1290 ''', 1257 ''',
1291 const Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_GET, 1258 const Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_GET,
1292 constant: 'F')), 1259 constant: 'F')),
(...skipping 2152 matching lines...) Expand 10 before | Expand all | Expand 10 after
3445 const Visit( 3412 const Visit(
3446 VisitKind.VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_GET, 3413 VisitKind.VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_GET,
3447 receiver: 'a', 3414 receiver: 'a',
3448 name: 'b'), 3415 name: 'b'),
3449 const Visit( 3416 const Visit(
3450 VisitKind.VISIT_PARAMETER_GET, 3417 VisitKind.VISIT_PARAMETER_GET,
3451 element: 'parameter(m#a)'), 3418 element: 'parameter(m#a)'),
3452 ]), 3419 ]),
3453 const Test( 3420 const Test(
3454 ''' 3421 '''
3455 class C {
3456 static var b;
3457 }
3458 m(a) => C?.b;
3459 ''',
3460 const [
3461 const Visit(
3462 VisitKind.VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_GET,
3463 receiver: 'C',
3464 name: 'b'),
3465 const Visit(
3466 VisitKind.VISIT_CLASS_TYPE_LITERAL_GET,
3467 constant: 'C'),
3468 ]),
3469 const Test(
3470 '''
3471 m(a) => a?.b = 42; 3422 m(a) => a?.b = 42;
3472 ''', 3423 ''',
3473 const [ 3424 const [
3474 const Visit( 3425 const Visit(
3475 VisitKind.VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_SET, 3426 VisitKind.VISIT_IF_NOT_NULL_DYNAMIC_PROPERTY_SET,
3476 receiver: 'a', 3427 receiver: 'a',
3477 name: 'b', 3428 name: 'b',
3478 rhs: '42'), 3429 rhs: '42'),
3479 const Visit( 3430 const Visit(
3480 VisitKind.VISIT_PARAMETER_GET, 3431 VisitKind.VISIT_PARAMETER_GET,
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
3558 ''' 3509 '''
3559 m(a) => a ??= 42; 3510 m(a) => a ??= 42;
3560 ''', 3511 ''',
3561 const Visit( 3512 const Visit(
3562 VisitKind.VISIT_PARAMETER_COMPOUND, 3513 VisitKind.VISIT_PARAMETER_COMPOUND,
3563 element: 'parameter(m#a)', 3514 element: 'parameter(m#a)',
3564 operator: '??=', 3515 operator: '??=',
3565 rhs: '42')), 3516 rhs: '42')),
3566 ], 3517 ],
3567 }; 3518 };
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/semantic_visitor_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698