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

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

Issue 2577423002: Further reduce use of Compiler.closedWorld. (Closed)
Patch Set: Created 4 years 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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 import 'package:expect/expect.dart'; 5 import 'package:expect/expect.dart';
6 import "package:async_helper/async_helper.dart"; 6 import "package:async_helper/async_helper.dart";
7 import 'compiler_helper.dart'; 7 import 'compiler_helper.dart';
8 import 'type_mask_test_helper.dart'; 8 import 'type_mask_test_helper.dart';
9 9
10 const String TEST = """ 10 const String TEST = """
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 returnIntOrNull(); 112 returnIntOrNull();
113 new A().foo(); 113 new A().foo();
114 } 114 }
115 """; 115 """;
116 116
117 void main() { 117 void main() {
118 Uri uri = new Uri(scheme: 'source'); 118 Uri uri = new Uri(scheme: 'source');
119 var compiler = compilerFor(TEST, uri); 119 var compiler = compilerFor(TEST, uri);
120 asyncTest(() => compiler.run(uri).then((_) { 120 asyncTest(() => compiler.run(uri).then((_) {
121 var typesInferrer = compiler.globalInference.typesInferrerInternal; 121 var typesInferrer = compiler.globalInference.typesInferrerInternal;
122 var closedWorld = typesInferrer.closedWorld;
122 123
123 checkReturn(String name, type) { 124 checkReturn(String name, type) {
124 var element = findElement(compiler, name); 125 var element = findElement(compiler, name);
125 Expect.equals( 126 Expect.equals(
126 type, 127 type,
127 simplify(typesInferrer.getReturnTypeOfElement(element), compiler), 128 simplify(
129 typesInferrer.getReturnTypeOfElement(element), closedWorld),
128 name); 130 name);
129 } 131 }
130 132
131 checkReturn('returnInt1', compiler.closedWorld.commonMasks.uint31Type); 133 checkReturn('returnInt1', closedWorld.commonMasks.uint31Type);
132 checkReturn('returnInt2', compiler.closedWorld.commonMasks.uint31Type); 134 checkReturn('returnInt2', closedWorld.commonMasks.uint31Type);
133 checkReturn('returnInt3', compiler.closedWorld.commonMasks.uint31Type); 135 checkReturn('returnInt3', closedWorld.commonMasks.uint31Type);
134 checkReturn('returnInt4', compiler.closedWorld.commonMasks.uint31Type); 136 checkReturn('returnInt4', closedWorld.commonMasks.uint31Type);
135 checkReturn('returnIntOrNull', 137 checkReturn(
136 compiler.closedWorld.commonMasks.uint31Type.nullable()); 138 'returnIntOrNull', closedWorld.commonMasks.uint31Type.nullable());
137 139
138 checkReturn('returnDyn1', 140 checkReturn(
139 compiler.closedWorld.commonMasks.dynamicType.nonNullable()); 141 'returnDyn1', closedWorld.commonMasks.dynamicType.nonNullable());
140 checkReturn('returnDyn2', 142 checkReturn(
141 compiler.closedWorld.commonMasks.dynamicType.nonNullable()); 143 'returnDyn2', closedWorld.commonMasks.dynamicType.nonNullable());
142 checkReturn('returnDyn3', 144 checkReturn(
143 compiler.closedWorld.commonMasks.dynamicType.nonNullable()); 145 'returnDyn3', closedWorld.commonMasks.dynamicType.nonNullable());
144 checkReturn('returnNum1', compiler.closedWorld.commonMasks.numType); 146 checkReturn('returnNum1', closedWorld.commonMasks.numType);
145 147
146 checkReturnInClass(String className, String methodName, type) { 148 checkReturnInClass(String className, String methodName, type) {
147 var cls = findElement(compiler, className); 149 var cls = findElement(compiler, className);
148 var element = cls.lookupLocalMember(methodName); 150 var element = cls.lookupLocalMember(methodName);
149 Expect.equals( 151 Expect.equals(
150 type, 152 type,
151 simplify( 153 simplify(
152 typesInferrer.getReturnTypeOfElement(element), compiler)); 154 typesInferrer.getReturnTypeOfElement(element), closedWorld));
153 } 155 }
154 156
155 var cls = findElement(compiler, 'A'); 157 var cls = findElement(compiler, 'A');
156 checkReturnInClass( 158 checkReturnInClass(
157 'A', 'foo', new TypeMask.nonNullExact(cls, compiler.closedWorld)); 159 'A', 'foo', new TypeMask.nonNullExact(cls, closedWorld));
158 })); 160 }));
159 } 161 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698