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

Side by Side Diff: tests/compiler/dart2js/simple_inferrer_no_such_method_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 6
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 import 'package:compiler/src/types/types.dart'; 9 import 'package:compiler/src/types/types.dart';
10 import 'type_mask_test_helper.dart'; 10 import 'type_mask_test_helper.dart';
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 main() { 153 main() {
154 test1(); 154 test1();
155 test2(); 155 test2();
156 test3(); 156 test3();
157 test4(); 157 test4();
158 test5(); 158 test5();
159 test6(); 159 test6();
160 } 160 }
161 """; 161 """;
162 162
163 checkReturn(MockCompiler compiler, String name, type) {
164 var typesInferrer = compiler.globalInference.typesInferrerInternal;
165 var element = findElement(compiler, name);
166 Expect.equals(
167 type,
168 simplify(typesInferrer.getReturnTypeOfElement(element),
169 typesInferrer.closedWorld),
170 name);
171 }
172
173 test1() async {
174 Uri uri = new Uri(scheme: 'source');
175 var compiler = compilerFor(TEST1, uri);
176 await compiler.run(uri);
177 var closedWorld = compiler.closedWorld;
178 checkReturn(compiler, 'test1', closedWorld.commonMasks.uint31Type);
179 checkReturn(
180 compiler, 'test2', closedWorld.commonMasks.dynamicType.nonNullable());
181 checkReturn(compiler, 'test3', closedWorld.commonMasks.uint31Type);
182 checkReturn(compiler, 'test4', closedWorld.commonMasks.mapType);
183 checkReturn(
184 compiler, 'test5', closedWorld.commonMasks.dynamicType.nonNullable());
185 checkReturn(
186 compiler, 'test6', closedWorld.commonMasks.dynamicType.nonNullable());
187 }
188
189 test2() async {
190 Uri uri = new Uri(scheme: 'source');
191 var compiler = compilerFor(TEST2, uri);
192 await compiler.run(uri);
193 var closedWorld = compiler.closedWorld;
194 checkReturn(compiler, 'test1', closedWorld.commonMasks.mapType.nonNullable());
195 checkReturn(compiler, 'test2', closedWorld.commonMasks.mapType);
196 checkReturn(compiler, 'test3', closedWorld.commonMasks.mapType);
197 checkReturn(compiler, 'test4', closedWorld.commonMasks.mapType);
198 checkReturn(compiler, 'test5', closedWorld.commonMasks.mapType);
199
200 checkReturn(compiler, 'test6', closedWorld.commonMasks.numType);
201 checkReturn(compiler, 'test7', closedWorld.commonMasks.uint31Type);
202 checkReturn(compiler, 'test8', closedWorld.commonMasks.uint31Type);
203 checkReturn(compiler, 'test9', closedWorld.commonMasks.uint31Type);
204 checkReturn(compiler, 'test10', closedWorld.commonMasks.numType);
205 checkReturn(compiler, 'test11', closedWorld.commonMasks.doubleType);
206 }
207
208 test3() async {
209 Uri uri = new Uri(scheme: 'source');
210 var compiler = compilerFor(TEST3, uri);
211 await compiler.run(uri);
212 var closedWorld = compiler.closedWorld;
213 checkReturn(compiler, 'test1', const TypeMask.nonNullEmpty());
214 checkReturn(compiler, 'test2', closedWorld.commonMasks.mapType);
215 checkReturn(compiler, 'test3', closedWorld.commonMasks.mapType);
216 checkReturn(compiler, 'test4', closedWorld.commonMasks.mapType);
217 checkReturn(compiler, 'test5', closedWorld.commonMasks.mapType);
218 checkReturn(compiler, 'test6', closedWorld.commonMasks.mapType);
219 }
220
221 test4() async {
222 Uri uri = new Uri(scheme: 'source');
223 var compiler = compilerFor(TEST4, uri);
224 await compiler.run(uri);
225 var closedWorld = compiler.closedWorld;
226 checkReturn(compiler, 'test1', const TypeMask.nonNullEmpty());
227 checkReturn(compiler, 'test2', closedWorld.commonMasks.mapType);
228 checkReturn(compiler, 'test3', closedWorld.commonMasks.mapType);
229 checkReturn(compiler, 'test4', closedWorld.commonMasks.mapType);
230 checkReturn(compiler, 'test5', closedWorld.commonMasks.mapType);
231 checkReturn(compiler, 'test6', closedWorld.commonMasks.mapType);
232 }
233
163 main() { 234 main() {
164 Uri uri = new Uri(scheme: 'source'); 235 asyncTest(() async {
165 236 await test1();
166 checkReturn(MockCompiler compiler, String name, type) { 237 await test2();
167 var typesInferrer = compiler.globalInference.typesInferrerInternal; 238 await test3();
168 var element = findElement(compiler, name); 239 await test4();
169 Expect.equals( 240 });
170 type,
171 simplify(typesInferrer.getReturnTypeOfElement(element), compiler),
172 name);
173 }
174
175 var compiler1 = compilerFor(TEST1, uri);
176 asyncTest(() => compiler1.run(uri).then((_) {
177 checkReturn(
178 compiler1, 'test1', compiler1.closedWorld.commonMasks.uint31Type);
179 checkReturn(compiler1, 'test2',
180 compiler1.closedWorld.commonMasks.dynamicType.nonNullable());
181 checkReturn(
182 compiler1, 'test3', compiler1.closedWorld.commonMasks.uint31Type);
183 checkReturn(
184 compiler1, 'test4', compiler1.closedWorld.commonMasks.mapType);
185 checkReturn(compiler1, 'test5',
186 compiler1.closedWorld.commonMasks.dynamicType.nonNullable());
187 checkReturn(compiler1, 'test6',
188 compiler1.closedWorld.commonMasks.dynamicType.nonNullable());
189 }));
190
191 var compiler2 = compilerFor(TEST2, uri);
192 asyncTest(() => compiler2.run(uri).then((_) {
193 checkReturn(compiler2, 'test1',
194 compiler2.closedWorld.commonMasks.mapType.nonNullable());
195 checkReturn(
196 compiler2, 'test2', compiler2.closedWorld.commonMasks.mapType);
197 checkReturn(
198 compiler2, 'test3', compiler2.closedWorld.commonMasks.mapType);
199 checkReturn(
200 compiler2, 'test4', compiler2.closedWorld.commonMasks.mapType);
201 checkReturn(
202 compiler2, 'test5', compiler2.closedWorld.commonMasks.mapType);
203
204 checkReturn(
205 compiler2, 'test6', compiler2.closedWorld.commonMasks.numType);
206 checkReturn(
207 compiler2, 'test7', compiler2.closedWorld.commonMasks.uint31Type);
208 checkReturn(
209 compiler2, 'test8', compiler2.closedWorld.commonMasks.uint31Type);
210 checkReturn(
211 compiler2, 'test9', compiler2.closedWorld.commonMasks.uint31Type);
212 checkReturn(
213 compiler2, 'test10', compiler2.closedWorld.commonMasks.numType);
214 checkReturn(
215 compiler2, 'test11', compiler2.closedWorld.commonMasks.doubleType);
216 }));
217
218 var compiler3 = compilerFor(TEST3, uri);
219 asyncTest(() => compiler3.run(uri).then((_) {
220 checkReturn(compiler3, 'test1', const TypeMask.nonNullEmpty());
221 checkReturn(
222 compiler3, 'test2', compiler3.closedWorld.commonMasks.mapType);
223 checkReturn(
224 compiler3, 'test3', compiler3.closedWorld.commonMasks.mapType);
225 checkReturn(
226 compiler3, 'test4', compiler3.closedWorld.commonMasks.mapType);
227 checkReturn(
228 compiler3, 'test5', compiler3.closedWorld.commonMasks.mapType);
229 checkReturn(
230 compiler3, 'test6', compiler3.closedWorld.commonMasks.mapType);
231 }));
232
233 var compiler4 = compilerFor(TEST4, uri);
234 asyncTest(() => compiler4.run(uri).then((_) {
235 checkReturn(compiler4, 'test1', const TypeMask.nonNullEmpty());
236 checkReturn(
237 compiler4, 'test2', compiler4.closedWorld.commonMasks.mapType);
238 checkReturn(
239 compiler4, 'test3', compiler4.closedWorld.commonMasks.mapType);
240 checkReturn(
241 compiler4, 'test4', compiler4.closedWorld.commonMasks.mapType);
242 checkReturn(
243 compiler4, 'test5', compiler4.closedWorld.commonMasks.mapType);
244 checkReturn(
245 compiler4, 'test6', compiler4.closedWorld.commonMasks.mapType);
246 }));
247 } 241 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698