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

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

Issue 1413613010: Normalize type masks to use the least upper instantiated subclass/type. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Fix try/poi Created 5 years, 1 month 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
« no previous file with comments | « tests/compiler/dart2js/type_mask2_test.dart ('k') | tests/try/poi/forget_element_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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:async_helper/async_helper.dart"; 5 import "package:async_helper/async_helper.dart";
6 import "package:expect/expect.dart"; 6 import "package:expect/expect.dart";
7 import "package:compiler/src/types/types.dart"; 7 import "package:compiler/src/types/types.dart";
8 8 import "package:compiler/src/world.dart";
9 import "compiler_helper.dart"; 9 import 'type_test_helper.dart';
10 10
11 main() { 11 main() {
12 MockCompiler compiler = new MockCompiler.internal(analyzeOnly: true); 12
13 asyncTest(() => compiler.run(null, """ 13 asyncTest(() async {
14 TypeEnvironment env = await TypeEnvironment.create(r"""
15 class A {}
16 class B {}
17 """,
18 mainSource: r"""
14 main() { 19 main() {
15 print(2); print("Hello"); 20 new A();
21 new B();
16 } 22 }
17 """).then((_) { 23 """,
18 FlatTypeMask mask1 = 24 useMockCompiler: false);
19 new FlatTypeMask.exact(compiler.coreClasses.intClass); 25 World world = env.compiler.world;
20 FlatTypeMask mask2 = 26 world.populate();
21 new FlatTypeMask.exact(compiler.coreClasses.stringClass); 27 FlatTypeMask mask1 = new FlatTypeMask.exact(env.getElement('A'));
22 UnionTypeMask union1 = mask1.nonNullable().union(mask2, compiler.world); 28 FlatTypeMask mask2 = new FlatTypeMask.exact(env.getElement('B'));
23 UnionTypeMask union2 = mask2.nonNullable().union(mask1, compiler.world); 29 UnionTypeMask union1 = mask1.nonNullable().union(mask2, world);
30 UnionTypeMask union2 = mask2.nonNullable().union(mask1, world);
24 Expect.equals(union1, union2); 31 Expect.equals(union1, union2);
25 })); 32 });
26 } 33 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/type_mask2_test.dart ('k') | tests/try/poi/forget_element_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698