Index: tests/compiler/dart2js/simple_inferrer_const_closure4_test.dart |
diff --git a/tests/compiler/dart2js/simple_inferrer_final_field3_test.dart b/tests/compiler/dart2js/simple_inferrer_const_closure4_test.dart |
similarity index 51% |
copy from tests/compiler/dart2js/simple_inferrer_final_field3_test.dart |
copy to tests/compiler/dart2js/simple_inferrer_const_closure4_test.dart |
index 592346bd60b9364839ff8191ca0cdc6408a59a3a..36c988d3a76edc03f4da7140ef2e2d1b1ff66ab1 100644 |
--- a/tests/compiler/dart2js/simple_inferrer_final_field3_test.dart |
+++ b/tests/compiler/dart2js/simple_inferrer_const_closure4_test.dart |
@@ -1,42 +1,46 @@ |
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
-// Test that we are analyzing field parameters correctly. |
- |
import 'package:expect/expect.dart'; |
import "package:async_helper/async_helper.dart"; |
import 'compiler_helper.dart'; |
-import 'parser_helper.dart'; |
const String TEST = """ |
-class A { |
- final dynamicField; |
- A() : dynamicField = 42; |
- A.bar(this.dynamicField); |
+method(a) { // Called via [foo] with integer then double. |
+ return a; |
+} |
+ |
+const foo = method; |
+ |
+returnNum(x) { |
+ return foo(x); |
} |
main() { |
- new A(); |
- new A.bar('foo'); |
+ returnNum(10); |
+ returnNum(10.5); |
} |
"""; |
+ |
void main() { |
Uri uri = new Uri(scheme: 'source'); |
var compiler = compilerFor(TEST, uri); |
asyncTest(() => compiler.runCompiler(uri).then((_) { |
var typesInferrer = compiler.typesTask.typesInferrer; |
- checkFieldTypeInClass(String className, String fieldName, type) { |
- var cls = findElement(compiler, className); |
- var element = cls.lookupLocalMember(fieldName); |
+ checkArgument(String functionName, type) { |
+ var functionElement = findElement(compiler, functionName); |
+ var signature = functionElement.functionSignature; |
+ var element = signature.requiredParameters.first; |
Expect.equals(type, |
- typesInferrer.getTypeOfElement(element).simplify(compiler)); |
+ typesInferrer.getTypeOfElement(element).simplify(compiler), |
+ functionName); |
} |
- checkFieldTypeInClass('A', 'dynamicField', |
- findTypeMask(compiler, 'Interceptor', 'nonNullSubclass')); |
+ checkArgument('method', compiler.typesTask.numType); |
+ checkArgument('returnNum', compiler.typesTask.numType); |
})); |
} |