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

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

Issue 2308983002: Revert "Refactor how we read global-type-inference data from ssa" (Closed)
Patch Set: Created 4 years, 3 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 constant folding on numbers. 4 // Test constant folding on numbers.
5 5
6 import 'dart:async'; 6 import 'dart:async';
7 import 'package:async_helper/async_helper.dart'; 7 import 'package:async_helper/async_helper.dart';
8 import 'compiler_helper.dart'; 8 import 'compiler_helper.dart';
9 9
10 const String INT_PLUS_ZERO = """ 10 const String INT_PLUS_ZERO = """
11 int foo(x) => x; 11 int foo(x) => x;
12 void main() { 12 void main() {
13 var x = foo(0); 13 var x = foo(0);
14 return (x & 1) + 0; 14 return (x & 1) + 0;
15 } 15 }
16 """; 16 """;
17 17
18 const String ZERO_PLUS_INT = """ 18 const String ZERO_PLUS_INT = """
19 int foo(x) => x; 19 int foo(x) => x;
20 void main() { 20 void main() {
21 var x = foo(0); 21 var x = foo(0);
22 return 0 + (x & 1); 22 return 0 + (x & 1);
23 } 23 }
24 """; 24 """;
25 25
26 // TODO(johnniwinther): Find out why this doesn't work without the `as num`
27 // cast.
28 const String NUM_PLUS_ZERO = """ 26 const String NUM_PLUS_ZERO = """
29 int foo(x) => x; 27 int foo(x) => x;
30 void main() { 28 void main() {
31 var x = foo(0) as num; 29 var x = foo(0);
32 return x + 0; 30 return x + 0;
33 } 31 }
34 """; 32 """;
35 33
36 const String ZERO_PLUS_NUM = """ 34 const String ZERO_PLUS_NUM = """
37 int foo(x) => x; 35 int foo(x) => x;
38 void main() { 36 void main() {
39 var x = foo(0); 37 var x = foo(0);
40 return 0 + x; 38 return 0 + x;
41 } 39 }
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 74
77 main() { 75 main() {
78 var plusZero = new RegExp(r"\+ 0"); 76 var plusZero = new RegExp(r"\+ 0");
79 var zeroPlus = new RegExp(r"0 \+"); 77 var zeroPlus = new RegExp(r"0 \+");
80 var timesOne = new RegExp(r"\* 1"); 78 var timesOne = new RegExp(r"\* 1");
81 var oneTimes = new RegExp(r"1 \*"); 79 var oneTimes = new RegExp(r"1 \*");
82 80
83 asyncTest(() => Future.wait([ 81 asyncTest(() => Future.wait([
84 compileAndDoNotMatch(INT_PLUS_ZERO, 'main', plusZero), 82 compileAndDoNotMatch(INT_PLUS_ZERO, 'main', plusZero),
85 compileAndDoNotMatch(ZERO_PLUS_INT, 'main', zeroPlus), 83 compileAndDoNotMatch(ZERO_PLUS_INT, 'main', zeroPlus),
86 compileAndMatch(NUM_PLUS_ZERO, 'main', plusZero), 84 // TODO(johnniwinther): Find out why this doesn't work without [useMock].
85 compileAndMatch(NUM_PLUS_ZERO, 'main', plusZero, useMock: true),
87 compileAndMatch(ZERO_PLUS_NUM, 'main', zeroPlus), 86 compileAndMatch(ZERO_PLUS_NUM, 'main', zeroPlus),
88 compileAndDoNotMatch(INT_TIMES_ONE, 'main', timesOne), 87 compileAndDoNotMatch(INT_TIMES_ONE, 'main', timesOne),
89 compileAndDoNotMatch(ONE_TIMES_INT, 'main', oneTimes), 88 compileAndDoNotMatch(ONE_TIMES_INT, 'main', oneTimes),
90 compileAndDoNotMatch(NUM_TIMES_ONE, 'main', timesOne), 89 compileAndDoNotMatch(NUM_TIMES_ONE, 'main', timesOne),
91 compileAndDoNotMatch(ONE_TIMES_NUM, 'main', oneTimes), 90 compileAndDoNotMatch(ONE_TIMES_NUM, 'main', oneTimes),
92 ])); 91 ]));
93 } 92 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/types/types.dart ('k') | tests/compiler/dart2js/concrete_type_inference_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698