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

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

Issue 2488353004: Remove Compiler access from ResolutionEnqueuer (Closed)
Patch Set: Updated cf. comments. Created 4 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
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 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 returnNum1(); 111 returnNum1();
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.typesInferrer; 121 var typesInferrer = compiler.globalInference.typesInferrerInternal;
122 122
123 checkReturn(String name, type) { 123 checkReturn(String name, type) {
124 var element = findElement(compiler, name); 124 var element = findElement(compiler, name);
125 Expect.equals( 125 Expect.equals(
126 type, 126 type,
127 simplify(typesInferrer.getReturnTypeOfElement(element), compiler), 127 simplify(typesInferrer.getReturnTypeOfElement(element), compiler),
128 name); 128 name);
129 } 129 }
130 130
131 checkReturn('returnInt1', compiler.commonMasks.uint31Type); 131 checkReturn('returnInt1', compiler.closedWorld.commonMasks.uint31Type);
132 checkReturn('returnInt2', compiler.commonMasks.uint31Type); 132 checkReturn('returnInt2', compiler.closedWorld.commonMasks.uint31Type);
133 checkReturn('returnInt3', compiler.commonMasks.uint31Type); 133 checkReturn('returnInt3', compiler.closedWorld.commonMasks.uint31Type);
134 checkReturn('returnInt4', compiler.commonMasks.uint31Type); 134 checkReturn('returnInt4', compiler.closedWorld.commonMasks.uint31Type);
135 checkReturn( 135 checkReturn('returnIntOrNull',
136 'returnIntOrNull', compiler.commonMasks.uint31Type.nullable()); 136 compiler.closedWorld.commonMasks.uint31Type.nullable());
137 137
138 checkReturn( 138 checkReturn('returnDyn1',
139 'returnDyn1', compiler.commonMasks.dynamicType.nonNullable()); 139 compiler.closedWorld.commonMasks.dynamicType.nonNullable());
140 checkReturn( 140 checkReturn('returnDyn2',
141 'returnDyn2', compiler.commonMasks.dynamicType.nonNullable()); 141 compiler.closedWorld.commonMasks.dynamicType.nonNullable());
142 checkReturn( 142 checkReturn('returnDyn3',
143 'returnDyn3', compiler.commonMasks.dynamicType.nonNullable()); 143 compiler.closedWorld.commonMasks.dynamicType.nonNullable());
144 checkReturn('returnNum1', compiler.commonMasks.numType); 144 checkReturn('returnNum1', compiler.closedWorld.commonMasks.numType);
145 145
146 checkReturnInClass(String className, String methodName, type) { 146 checkReturnInClass(String className, String methodName, type) {
147 var cls = findElement(compiler, className); 147 var cls = findElement(compiler, className);
148 var element = cls.lookupLocalMember(methodName); 148 var element = cls.lookupLocalMember(methodName);
149 Expect.equals( 149 Expect.equals(
150 type, 150 type,
151 simplify( 151 simplify(
152 typesInferrer.getReturnTypeOfElement(element), compiler)); 152 typesInferrer.getReturnTypeOfElement(element), compiler));
153 } 153 }
154 154
155 var cls = findElement(compiler, 'A'); 155 var cls = findElement(compiler, 'A');
156 checkReturnInClass( 156 checkReturnInClass(
157 'A', 'foo', new TypeMask.nonNullExact(cls, compiler.closedWorld)); 157 'A', 'foo', new TypeMask.nonNullExact(cls, compiler.closedWorld));
158 })); 158 }));
159 } 159 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698