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

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

Issue 1303503002: Refactor updates of locals. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of dart2js.semantics_visitor_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;',
11 const Visit(VisitKind.VISIT_PARAMETER_GET, 11 const Visit(VisitKind.VISIT_PARAMETER_GET,
12 element: 'parameter(m#o)')), 12 element: 'parameter(m#o)')),
13 const Test('m(o) { o = 42; }', 13 const Test('m(o) { o = 42; }',
14 const Visit(VisitKind.VISIT_PARAMETER_SET, 14 const Visit(VisitKind.VISIT_PARAMETER_SET,
15 element: 'parameter(m#o)', 15 element: 'parameter(m#o)',
16 rhs:'42')), 16 rhs:'42')),
17 const Test('m(o) { o(null, 42); }', 17 const Test('m(o) { o(null, 42); }',
18 const Visit(VisitKind.VISIT_PARAMETER_INVOKE, 18 const Visit(VisitKind.VISIT_PARAMETER_INVOKE,
19 element: 'parameter(m#o)', 19 element: 'parameter(m#o)',
20 arguments: '(null,42)', 20 arguments: '(null,42)',
21 selector: 'CallStructure(arity=2)')), 21 selector: 'CallStructure(arity=2)')),
22 // TODO(johnniwinther): Expect [VISIT_FINAL_PARAMETER_SET] instead.
23 const Test('m(final o) { o = 42; }', 22 const Test('m(final o) { o = 42; }',
24 const Visit(VisitKind.VISIT_UNRESOLVED_SET, 23 const Visit(VisitKind.VISIT_FINAL_PARAMETER_SET,
25 name: 'o', 24 element: 'parameter(m#o)',
26 rhs:'42')), 25 rhs:'42')),
27 ], 26 ],
28 'Local variables': const [ 27 'Local variables': const [
29 // Local variables 28 // Local variables
30 const Test('m() { var o; return o; }', 29 const Test('m() { var o; return o; }',
31 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_GET, 30 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_GET,
32 element: 'variable(m#o)')), 31 element: 'variable(m#o)')),
33 const Test('m() { var o; o = 42; }', 32 const Test('m() { var o; o = 42; }',
34 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_SET, 33 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_SET,
35 element: 'variable(m#o)', 34 element: 'variable(m#o)',
36 rhs:'42')), 35 rhs:'42')),
37 const Test('m() { var o; o(null, 42); }', 36 const Test('m() { var o; o(null, 42); }',
38 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_INVOKE, 37 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_INVOKE,
39 element: 'variable(m#o)', 38 element: 'variable(m#o)',
40 arguments: '(null,42)', 39 arguments: '(null,42)',
41 selector: 'CallStructure(arity=2)')), 40 selector: 'CallStructure(arity=2)')),
42 // TODO(johnniwinther): Expect [VISIT_FINAL_LOCAL_VARIABLE_SET] instead.
43 const Test('m() { final o = 0; o = 42; }', 41 const Test('m() { final o = 0; o = 42; }',
44 const Visit(VisitKind.VISIT_UNRESOLVED_SET, 42 const Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_SET,
45 name: 'o', 43 element: 'variable(m#o)',
46 rhs:'42')), 44 rhs:'42')),
47 // TODO(johnniwinther): Expect [VISIT_FINAL_LOCAL_VARIABLE_SET] instead.
48 const Test('m() { const o = 0; o = 42; }', 45 const Test('m() { const o = 0; o = 42; }',
49 const Visit(VisitKind.VISIT_UNRESOLVED_SET, 46 const Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_SET,
50 name: 'o', 47 element: 'variable(m#o)',
51 rhs:'42')), 48 rhs:'42')),
52 ], 49 ],
53 'Local functions': const [ 50 'Local functions': const [
54 // Local functions 51 // Local functions
55 const Test('m() { o(a, b) {}; return o; }', 52 const Test('m() { o(a, b) {}; return o; }',
56 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_GET, 53 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_GET,
57 element: 'function(m#o)')), 54 element: 'function(m#o)')),
58 const Test('m() { o(a, b) {}; o(null, 42); }', 55 const Test('m() { o(a, b) {}; o(null, 42); }',
59 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_INVOKE, 56 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_INVOKE,
60 element: 'function(m#o)', 57 element: 'function(m#o)',
61 arguments: '(null,42)', 58 arguments: '(null,42)',
62 selector: 'CallStructure(arity=2)')), 59 selector: 'CallStructure(arity=2)')),
63 const Test('m() { o(a) {}; o(null, 42); }', 60 const Test('m() { o(a) {}; o(null, 42); }',
64 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_INCOMPATIBLE_INVOKE, 61 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_INCOMPATIBLE_INVOKE,
65 element: 'function(m#o)', 62 element: 'function(m#o)',
66 arguments: '(null,42)', 63 arguments: '(null,42)',
67 selector: 'CallStructure(arity=2)')), 64 selector: 'CallStructure(arity=2)')),
68 // TODO(johnniwinther): Expect [VISIT_LOCAL_FUNCTION_SET] instead.
69 const Test('m() { o(a, b) {}; o = 42; }', 65 const Test('m() { o(a, b) {}; o = 42; }',
70 const Visit(VisitKind.VISIT_UNRESOLVED_SET, 66 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_SET,
71 name: 'o', 67 element: 'function(m#o)',
72 rhs: '42')), 68 rhs: '42')),
73 ], 69 ],
74 'Static fields': const [ 70 'Static fields': const [
75 // Static fields 71 // Static fields
76 const Test( 72 const Test(
77 ''' 73 '''
78 class C { static var o; } 74 class C { static var o; }
79 m() => C.o; 75 m() => C.o;
80 ''', 76 ''',
81 const Visit(VisitKind.VISIT_STATIC_FIELD_GET, 77 const Visit(VisitKind.VISIT_STATIC_FIELD_GET,
(...skipping 1330 matching lines...) Expand 10 before | Expand all | Expand 10 after
1412 ''' 1408 '''
1413 class C {} 1409 class C {}
1414 m() => C(null, 42); 1410 m() => C(null, 42);
1415 ''', 1411 ''',
1416 const Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_INVOKE, 1412 const Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_INVOKE,
1417 constant: 'C', 1413 constant: 'C',
1418 arguments: '(null,42)')), 1414 arguments: '(null,42)')),
1419 const Test( 1415 const Test(
1420 ''' 1416 '''
1421 class C {} 1417 class C {}
1418 m() => C = 42;
1419 ''',
1420 const Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_SET,
1421 constant: 'C',
1422 rhs: '42')),
1423 const Test(
1424 '''
1425 class C {}
1422 m() => C += 42; 1426 m() => C += 42;
1423 ''', 1427 ''',
1424 const Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_COMPOUND, 1428 const Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_COMPOUND,
1425 constant: 'C', 1429 constant: 'C',
1426 operator: '+=', 1430 operator: '+=',
1427 rhs: '42')), 1431 rhs: '42')),
1428 const Test( 1432 const Test(
1429 ''' 1433 '''
1430 class C {} 1434 class C {}
1431 m() => ++C; 1435 m() => ++C;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1466 ''' 1470 '''
1467 typedef F(); 1471 typedef F();
1468 m() => F(null, 42); 1472 m() => F(null, 42);
1469 ''', 1473 ''',
1470 const Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_INVOKE, 1474 const Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_INVOKE,
1471 constant: 'F', 1475 constant: 'F',
1472 arguments: '(null,42)')), 1476 arguments: '(null,42)')),
1473 const Test( 1477 const Test(
1474 ''' 1478 '''
1475 typedef F(); 1479 typedef F();
1480 m() => F = 42;
1481 ''',
1482 const Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_SET,
1483 constant: 'F',
1484 rhs: '42')),
1485 const Test(
1486 '''
1487 typedef F();
1476 m() => F += 42; 1488 m() => F += 42;
1477 ''', 1489 ''',
1478 const Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_COMPOUND, 1490 const Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_COMPOUND,
1479 constant: 'F', 1491 constant: 'F',
1480 operator: '+=', 1492 operator: '+=',
1481 rhs: '42')), 1493 rhs: '42')),
1482 const Test( 1494 const Test(
1483 ''' 1495 '''
1484 typedef F(); 1496 typedef F();
1485 m() => ++F; 1497 m() => ++F;
(...skipping 25 matching lines...) Expand all
1511 class C<T> { 1523 class C<T> {
1512 m() => T(null, 42); 1524 m() => T(null, 42);
1513 } 1525 }
1514 ''', 1526 ''',
1515 const Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_INVOKE, 1527 const Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_INVOKE,
1516 element: 'type_variable(C#T)', 1528 element: 'type_variable(C#T)',
1517 arguments: '(null,42)')), 1529 arguments: '(null,42)')),
1518 const Test.clazz( 1530 const Test.clazz(
1519 ''' 1531 '''
1520 class C<T> { 1532 class C<T> {
1533 m() => T = 42;
1534 }
1535 ''',
1536 const Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_SET,
1537 element: 'type_variable(C#T)',
1538 rhs: '42')),
1539 const Test.clazz(
1540 '''
1541 class C<T> {
1521 m() => T += 42; 1542 m() => T += 42;
1522 } 1543 }
1523 ''', 1544 ''',
1524 const Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND, 1545 const Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND,
1525 element: 'type_variable(C#T)', 1546 element: 'type_variable(C#T)',
1526 operator: '+=', 1547 operator: '+=',
1527 rhs: '42')), 1548 rhs: '42')),
1528 const Test.clazz( 1549 const Test.clazz(
1529 ''' 1550 '''
1530 class C<T> { 1551 class C<T> {
(...skipping 2395 matching lines...) Expand 10 before | Expand all | Expand 10 after
3926 rhs: '42')), 3947 rhs: '42')),
3927 const Test.prefix( 3948 const Test.prefix(
3928 ''' 3949 '''
3929 var o; 3950 var o;
3930 ''', 3951 ''',
3931 'm() => p?.o;', 3952 'm() => p?.o;',
3932 const Visit(VisitKind.ERROR_INVALID_GET, 3953 const Visit(VisitKind.ERROR_INVALID_GET,
3933 error: MessageKind.PREFIX_AS_EXPRESSION)), 3954 error: MessageKind.PREFIX_AS_EXPRESSION)),
3934 ], 3955 ],
3935 }; 3956 };
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/semantic_visitor_test.dart ('k') | tests/compiler/dart2js/semantic_visitor_test_send_visitor.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698