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

Unified Diff: tests/compiler/dart2js/simple_inferrer_test.dart

Issue 17759007: First pass at asynchronous input loading in dart2js. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: tests/compiler/dart2js/simple_inferrer_test.dart
diff --git a/tests/compiler/dart2js/simple_inferrer_test.dart b/tests/compiler/dart2js/simple_inferrer_test.dart
index 000bcd28cacb1fae46da3884f08a821a6ca981ef..499f1546bb1c3606a81bf11c75e6743cef8a5477 100644
--- a/tests/compiler/dart2js/simple_inferrer_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_test.dart
@@ -484,107 +484,109 @@ main() {
void main() {
Uri uri = new Uri(scheme: 'source');
var compiler = compilerFor(TEST, uri);
- compiler.runCompiler(uri);
- var typesInferrer = compiler.typesTask.typesInferrer;
-
- checkReturn(String name, type) {
- var element = findElement(compiler, name);
- Expect.equals(
- type,
- typesInferrer.internal.returnTypeOf[element].simplify(compiler),
- name);
- }
- var interceptorType =
- findTypeMask(compiler, 'Interceptor', 'nonNullSubclass');
-
- checkReturn('returnNum1', typesInferrer.numType);
- checkReturn('returnNum2', typesInferrer.numType);
- checkReturn('returnInt1', typesInferrer.intType);
- checkReturn('returnInt2', typesInferrer.intType);
- checkReturn('returnDouble', typesInferrer.doubleType);
- checkReturn('returnGiveUp', interceptorType);
- checkReturn('returnInt5', typesInferrer.intType);
- checkReturn('returnInt6', typesInferrer.intType);
- checkReturn('returnIntOrNull', typesInferrer.intType.nullable());
- checkReturn('returnInt3', typesInferrer.intType);
- checkReturn('returnDynamic', typesInferrer.dynamicType);
- checkReturn('returnInt4', typesInferrer.intType);
- checkReturn('returnInt7', typesInferrer.intType);
- checkReturn('returnInt8', typesInferrer.intType);
- checkReturn('returnDynamic1', typesInferrer.dynamicType);
- checkReturn('returnDynamic2', typesInferrer.dynamicType);
- TypeMask intType = new TypeMask.nonNullSubtype(compiler.intClass.rawType);
- checkReturn('testIsCheck1', intType);
- checkReturn('testIsCheck2', intType);
- checkReturn('testIsCheck3', intType.nullable());
- checkReturn('testIsCheck4', intType);
- checkReturn('testIsCheck5', intType);
- checkReturn('testIsCheck6', typesInferrer.dynamicType);
- checkReturn('testIsCheck7', intType);
- checkReturn('testIsCheck8', typesInferrer.dynamicType);
- checkReturn('testIsCheck9', intType);
- checkReturn('testIsCheck10', typesInferrer.dynamicType);
- checkReturn('testIsCheck11', intType);
- checkReturn('testIsCheck12', typesInferrer.dynamicType);
- checkReturn('testIsCheck13', intType);
- checkReturn('testIsCheck14', typesInferrer.dynamicType);
- checkReturn('testIsCheck15', intType);
- checkReturn('testIsCheck16', typesInferrer.dynamicType);
- checkReturn('testIsCheck17', intType);
- checkReturn('testIsCheck18', typesInferrer.dynamicType);
- checkReturn('testIsCheck19', typesInferrer.dynamicType);
- checkReturn('testIsCheck20', typesInferrer.dynamicType.nonNullable());
- checkReturn('returnAsString',
- new TypeMask.subtype(compiler.stringClass.computeType(compiler)));
- checkReturn('returnIntAsNum', typesInferrer.intType);
- checkReturn('returnAsTypedef', typesInferrer.functionType.nullable());
- checkReturn('returnTopLevelGetter', typesInferrer.intType);
- checkReturn('testDeadCode', typesInferrer.intType);
- checkReturn('testLabeledIf', typesInferrer.intType.nullable());
- checkReturn('testSwitch1', typesInferrer.intType
- .union(typesInferrer.doubleType, compiler).nullable().simplify(compiler));
- checkReturn('testSwitch2', typesInferrer.intType);
- checkReturn('testSwitch3', interceptorType.nullable());
- checkReturn('testSwitch4', typesInferrer.intType);
- checkReturn('testContinue1', interceptorType.nullable());
- checkReturn('testBreak1', interceptorType.nullable());
- checkReturn('testContinue2', interceptorType.nullable());
- checkReturn('testBreak2', typesInferrer.intType.nullable());
- checkReturn('testReturnElementOfConstList1', typesInferrer.intType);
- checkReturn('testReturnElementOfConstList2', typesInferrer.intType);
- checkReturn('testReturnItselfOrInt', typesInferrer.intType);
- checkReturn('testReturnInvokeDynamicGetter', typesInferrer.dynamicType);
-
- checkReturnInClass(String className, String methodName, type) {
- var cls = findElement(compiler, className);
- var element = cls.lookupLocalMember(buildSourceString(methodName));
- Expect.equals(type,
- typesInferrer.internal.returnTypeOf[element].simplify(compiler));
- }
+ compiler.runCompiler(uri).then((_) {
+ var typesInferrer = compiler.typesTask.typesInferrer;
+
+ checkReturn(String name, type) {
+ var element = findElement(compiler, name);
+ Expect.equals(
+ type,
+ typesInferrer.internal.returnTypeOf[element].simplify(compiler),
+ name);
+ }
+ var interceptorType =
+ findTypeMask(compiler, 'Interceptor', 'nonNullSubclass');
+
+ checkReturn('returnNum1', typesInferrer.numType);
+ checkReturn('returnNum2', typesInferrer.numType);
+ checkReturn('returnInt1', typesInferrer.intType);
+ checkReturn('returnInt2', typesInferrer.intType);
+ checkReturn('returnDouble', typesInferrer.doubleType);
+ checkReturn('returnGiveUp', interceptorType);
+ checkReturn('returnInt5', typesInferrer.intType);
+ checkReturn('returnInt6', typesInferrer.intType);
+ checkReturn('returnIntOrNull', typesInferrer.intType.nullable());
+ checkReturn('returnInt3', typesInferrer.intType);
+ checkReturn('returnDynamic', typesInferrer.dynamicType);
+ checkReturn('returnInt4', typesInferrer.intType);
+ checkReturn('returnInt7', typesInferrer.intType);
+ checkReturn('returnInt8', typesInferrer.intType);
+ checkReturn('returnDynamic1', typesInferrer.dynamicType);
+ checkReturn('returnDynamic2', typesInferrer.dynamicType);
+ TypeMask intType = new TypeMask.nonNullSubtype(compiler.intClass.rawType);
+ checkReturn('testIsCheck1', intType);
+ checkReturn('testIsCheck2', intType);
+ checkReturn('testIsCheck3', intType.nullable());
+ checkReturn('testIsCheck4', intType);
+ checkReturn('testIsCheck5', intType);
+ checkReturn('testIsCheck6', typesInferrer.dynamicType);
+ checkReturn('testIsCheck7', intType);
+ checkReturn('testIsCheck8', typesInferrer.dynamicType);
+ checkReturn('testIsCheck9', intType);
+ checkReturn('testIsCheck10', typesInferrer.dynamicType);
+ checkReturn('testIsCheck11', intType);
+ checkReturn('testIsCheck12', typesInferrer.dynamicType);
+ checkReturn('testIsCheck13', intType);
+ checkReturn('testIsCheck14', typesInferrer.dynamicType);
+ checkReturn('testIsCheck15', intType);
+ checkReturn('testIsCheck16', typesInferrer.dynamicType);
+ checkReturn('testIsCheck17', intType);
+ checkReturn('testIsCheck18', typesInferrer.dynamicType);
+ checkReturn('testIsCheck19', typesInferrer.dynamicType);
+ checkReturn('testIsCheck20', typesInferrer.dynamicType.nonNullable());
+ checkReturn('returnAsString',
+ new TypeMask.subtype(compiler.stringClass.computeType(compiler)));
+ checkReturn('returnIntAsNum', typesInferrer.intType);
+ checkReturn('returnAsTypedef', typesInferrer.functionType.nullable());
+ checkReturn('returnTopLevelGetter', typesInferrer.intType);
+ checkReturn('testDeadCode', typesInferrer.intType);
+ checkReturn('testLabeledIf', typesInferrer.intType.nullable());
+ checkReturn('testSwitch1', typesInferrer.intType
+ .union(typesInferrer.doubleType, compiler)
+ .nullable().simplify(compiler));
+ checkReturn('testSwitch2', typesInferrer.intType);
+ checkReturn('testSwitch3', interceptorType.nullable());
+ checkReturn('testSwitch4', typesInferrer.intType);
+ checkReturn('testContinue1', interceptorType.nullable());
+ checkReturn('testBreak1', interceptorType.nullable());
+ checkReturn('testContinue2', interceptorType.nullable());
+ checkReturn('testBreak2', typesInferrer.intType.nullable());
+ checkReturn('testReturnElementOfConstList1', typesInferrer.intType);
+ checkReturn('testReturnElementOfConstList2', typesInferrer.intType);
+ checkReturn('testReturnItselfOrInt', typesInferrer.intType);
+ checkReturn('testReturnInvokeDynamicGetter', typesInferrer.dynamicType);
+
+ checkReturnInClass(String className, String methodName, type) {
+ var cls = findElement(compiler, className);
+ var element = cls.lookupLocalMember(buildSourceString(methodName));
+ Expect.equals(type,
+ typesInferrer.internal.returnTypeOf[element].simplify(compiler));
+ }
- checkReturnInClass('A', 'returnInt1', typesInferrer.intType);
- checkReturnInClass('A', 'returnInt2', typesInferrer.intType);
- checkReturnInClass('A', 'returnInt3', typesInferrer.intType);
- checkReturnInClass('A', 'returnInt4', typesInferrer.intType);
- checkReturnInClass('A', 'returnInt5', typesInferrer.intType);
- checkReturnInClass('A', 'returnInt6', typesInferrer.intType);
- checkReturnInClass('A', '==', interceptorType);
-
- checkReturnInClass('B', 'returnInt1', typesInferrer.intType);
- checkReturnInClass('B', 'returnInt2', typesInferrer.intType);
- checkReturnInClass('B', 'returnInt3', typesInferrer.intType);
- checkReturnInClass('B', 'returnInt4', typesInferrer.intType);
- checkReturnInClass('B', 'returnInt5', typesInferrer.intType);
- checkReturnInClass('B', 'returnInt6', typesInferrer.intType);
- checkReturnInClass('B', 'returnInt7', typesInferrer.intType);
- checkReturnInClass('B', 'returnInt8', typesInferrer.intType);
- checkReturnInClass('B', 'returnInt9', typesInferrer.intType);
-
- checkFactoryConstructor(String className) {
- var cls = findElement(compiler, className);
- var element = cls.localLookup(buildSourceString(className));
- Expect.equals(new TypeMask.nonNullExact(cls.rawType),
- typesInferrer.internal.returnTypeOf[element]);
- }
- checkFactoryConstructor('A');
+ checkReturnInClass('A', 'returnInt1', typesInferrer.intType);
+ checkReturnInClass('A', 'returnInt2', typesInferrer.intType);
+ checkReturnInClass('A', 'returnInt3', typesInferrer.intType);
+ checkReturnInClass('A', 'returnInt4', typesInferrer.intType);
+ checkReturnInClass('A', 'returnInt5', typesInferrer.intType);
+ checkReturnInClass('A', 'returnInt6', typesInferrer.intType);
+ checkReturnInClass('A', '==', interceptorType);
+
+ checkReturnInClass('B', 'returnInt1', typesInferrer.intType);
+ checkReturnInClass('B', 'returnInt2', typesInferrer.intType);
+ checkReturnInClass('B', 'returnInt3', typesInferrer.intType);
+ checkReturnInClass('B', 'returnInt4', typesInferrer.intType);
+ checkReturnInClass('B', 'returnInt5', typesInferrer.intType);
+ checkReturnInClass('B', 'returnInt6', typesInferrer.intType);
+ checkReturnInClass('B', 'returnInt7', typesInferrer.intType);
+ checkReturnInClass('B', 'returnInt8', typesInferrer.intType);
+ checkReturnInClass('B', 'returnInt9', typesInferrer.intType);
+
+ checkFactoryConstructor(String className) {
+ var cls = findElement(compiler, className);
+ var element = cls.localLookup(buildSourceString(className));
+ Expect.equals(new TypeMask.nonNullExact(cls.rawType),
+ typesInferrer.internal.returnTypeOf[element]);
+ }
+ checkFactoryConstructor('A');
+ });
}

Powered by Google App Engine
This is Rietveld 408576698