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

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

Issue 2603263002: Prefix resolution_types with Resolution. (Closed)
Patch Set: Rebased Created 3 years, 11 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) 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 library flatten_test; 5 library flatten_test;
6 6
7 import 'package:expect/expect.dart'; 7 import 'package:expect/expect.dart';
8 import "package:async_helper/async_helper.dart"; 8 import "package:async_helper/async_helper.dart";
9 import 'type_test_helper.dart'; 9 import 'type_test_helper.dart';
10 import 'package:compiler/src/elements/resolution_types.dart'; 10 import 'package:compiler/src/elements/resolution_types.dart';
11 import "package:compiler/src/elements/elements.dart" show Element, ClassElement; 11 import "package:compiler/src/elements/elements.dart" show Element, ClassElement;
12 12
13 void main() { 13 void main() {
14 asyncTest(() => TypeEnvironment.create(r""" 14 asyncTest(() => TypeEnvironment.create(r"""
15 abstract class F<T> implements Future<T> {} 15 abstract class F<T> implements Future<T> {}
16 abstract class G<T> implements Future<G<T>> {} 16 abstract class G<T> implements Future<G<T>> {}
17 abstract class H<T> implements Future<H<H<T>>> {} 17 abstract class H<T> implements Future<H<H<T>>> {}
18 """).then((env) { 18 """).then((env) {
19 void check(DartType T, DartType expectedFlattenedType) { 19 void check(
20 DartType flattenedType = env.flatten(T); 20 ResolutionDartType T, ResolutionDartType expectedFlattenedType) {
21 ResolutionDartType flattenedType = env.flatten(T);
21 Expect.equals( 22 Expect.equals(
22 expectedFlattenedType, 23 expectedFlattenedType,
23 flattenedType, 24 flattenedType,
24 "Unexpected flattening of '$T' = '$flattenedType'," 25 "Unexpected flattening of '$T' = '$flattenedType',"
25 "expected '$expectedFlattenedType'."); 26 "expected '$expectedFlattenedType'.");
26 } 27 }
27 28
28 ClassElement Future_ = env.getElement('Future'); 29 ClassElement Future_ = env.getElement('Future');
29 ClassElement F = env.getElement('F'); 30 ClassElement F = env.getElement('F');
30 ClassElement G = env.getElement('G'); 31 ClassElement G = env.getElement('G');
31 ClassElement H = env.getElement('H'); 32 ClassElement H = env.getElement('H');
32 DartType int_ = env['int']; 33 ResolutionDartType int_ = env['int'];
33 DartType dynamic_ = env['dynamic']; 34 ResolutionDartType dynamic_ = env['dynamic'];
34 DartType Future_int = instantiate(Future_, [int_]); 35 ResolutionDartType Future_int = instantiate(Future_, [int_]);
35 DartType F_int = instantiate(F, [int_]); 36 ResolutionDartType F_int = instantiate(F, [int_]);
36 DartType G_int = instantiate(G, [int_]); 37 ResolutionDartType G_int = instantiate(G, [int_]);
37 DartType H_int = instantiate(H, [int_]); 38 ResolutionDartType H_int = instantiate(H, [int_]);
38 DartType H_H_int = instantiate(H, [H_int]); 39 ResolutionDartType H_H_int = instantiate(H, [H_int]);
39 40
40 // flatten(int) = int 41 // flatten(int) = int
41 check(int_, int_); 42 check(int_, int_);
42 43
43 // flatten(Future) = dynamic 44 // flatten(Future) = dynamic
44 check(Future_.rawType, dynamic_); 45 check(Future_.rawType, dynamic_);
45 46
46 // flatten(Future<int>) = int 47 // flatten(Future<int>) = int
47 check(Future_int, int_); 48 check(Future_int, int_);
48 49
(...skipping 24 matching lines...) Expand all
73 // flatten(Future<F<int>>) = int 74 // flatten(Future<F<int>>) = int
74 check(instantiate(Future_, [F_int]), int_); 75 check(instantiate(Future_, [F_int]), int_);
75 76
76 // flatten(Future<G<int>>) = int 77 // flatten(Future<G<int>>) = int
77 check(instantiate(Future_, [G_int]), G_int); 78 check(instantiate(Future_, [G_int]), G_int);
78 79
79 // flatten(Future<H<int>>) = int 80 // flatten(Future<H<int>>) = int
80 check(instantiate(Future_, [H_int]), H_H_int); 81 check(instantiate(Future_, [H_int]), H_H_int);
81 })); 82 }));
82 } 83 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/analyze_dart2js_helpers_test.dart ('k') | tests/compiler/dart2js/kernel/closed_world_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698