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

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

Issue 14986002: Make static tear-off closures a class, like instance tear-off closures. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 // Test that parameters keep their names in the output. 4 // Test that parameters keep their names in the output.
5 5
6 import "package:expect/expect.dart"; 6 import "package:expect/expect.dart";
7 import 'compiler_helper.dart'; 7 import 'compiler_helper.dart';
8 8
9 const String FOO = r""" 9 const String FOO = r"""
10 void foo(var a, var b) { 10 void foo(var a, var b) {
11 } 11 }
12 """; 12 """;
13 13
14 const String BAR = r""" 14 const String BAR = r"""
15 void bar(var eval, var $eval) { 15 void bar(var eval, var $eval) {
16 } 16 }
17 """; 17 """;
18 18
19 const String PARAMETER_AND_TEMP = r""" 19 const String PARAMETER_AND_TEMP = r"""
20 void bar(var t0, var b) { 20 void bar(var t0, var b) {
21 { 21 {
22 var t0 = 2; 22 var t0 = 2;
23 if (b) { 23 if (b) {
24 bar(1, 2);
24 t0 = 4; 25 t0 = 4;
25 } else { 26 } else {
26 t0 = 3; 27 t0 = 3;
27 } 28 }
28 print(t0); 29 print(t0);
29 } 30 }
30 print(t0); 31 print(t0);
31 } 32 }
32 """; 33 """;
33 34
(...skipping 21 matching lines...) Expand all
55 print(a); 56 print(a);
56 } 57 }
57 print(a); 58 print(a);
58 } 59 }
59 """; 60 """;
60 61
61 const String PARAMETER_INIT = r""" 62 const String PARAMETER_INIT = r"""
62 int foo(var start, bool test) { 63 int foo(var start, bool test) {
63 var result = start; 64 var result = start;
64 if (test) { 65 if (test) {
66 foo(1, 2);
65 result = 42; 67 result = 42;
66 } 68 }
67 print(result); 69 print(result);
68 } 70 }
69 """; 71 """;
70 72
71 main() { 73 main() {
72 String generated = compile(FOO, entry: 'foo'); 74 String generated = compile(FOO, entry: 'foo');
73 Expect.isTrue(generated.contains(r"function(a, b) {")); 75 Expect.isTrue(generated.contains(r"function(a, b) {"));
74 76
75 generated = compile(BAR, entry: 'bar'); 77 generated = compile(BAR, entry: 'bar');
76 Expect.isTrue(generated.contains(r"function($eval, $$eval) {")); 78 Expect.isTrue(generated.contains(r"function($eval, $$eval) {"));
77 79
78 generated = compile(PARAMETER_AND_TEMP, entry: 'bar'); 80 generated = compile(PARAMETER_AND_TEMP, entry: 'bar');
79 Expect.isTrue(generated.contains(r"print(t00)")); 81 Expect.isTrue(generated.contains(r"print(t00)"));
80 // Check that the second 't0' got another name. 82 // Check that the second 't0' got another name.
81 Expect.isTrue(generated.contains(r"print(t01)")); 83 Expect.isTrue(generated.contains(r"print(t01)"));
82 84
83 generated = compile(MULTIPLE_PHIS_ONE_LOCAL, entry: 'foo'); 85 generated = compile(MULTIPLE_PHIS_ONE_LOCAL, entry: 'foo');
84 Expect.isTrue(generated.contains("var a;")); 86 Expect.isTrue(generated.contains("var a;"));
85 // Check that there is only one var declaration. 87 // Check that there is only one var declaration.
86 checkNumberOfMatches(new RegExp("var").allMatches(generated).iterator, 1); 88 checkNumberOfMatches(new RegExp("var").allMatches(generated).iterator, 1);
87 89
88 generated = compile(NO_LOCAL, entry: 'foo'); 90 generated = compile(NO_LOCAL, entry: 'foo');
89 Expect.isFalse(generated.contains('var')); 91 Expect.isFalse(generated.contains('var'));
90 92
91 generated = compile(PARAMETER_INIT, entry: 'foo'); 93 generated = compile(PARAMETER_INIT, entry: 'foo');
92 Expect.isTrue(generated.contains('var result = test === true ? 42 : start'));
93 // Check that there is only one var declaration. 94 // Check that there is only one var declaration.
94 checkNumberOfMatches(new RegExp("var").allMatches(generated).iterator, 1); 95 checkNumberOfMatches(new RegExp("var").allMatches(generated).iterator, 1);
95 } 96 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698