| Index: tests/compiler/dart2js/simple_inferrer_const_closure3_test.dart
|
| diff --git a/tests/compiler/dart2js/simple_inferrer_final_field3_test.dart b/tests/compiler/dart2js/simple_inferrer_const_closure3_test.dart
|
| similarity index 52%
|
| copy from tests/compiler/dart2js/simple_inferrer_final_field3_test.dart
|
| copy to tests/compiler/dart2js/simple_inferrer_const_closure3_test.dart
|
| index 592346bd60b9364839ff8191ca0cdc6408a59a3a..184229ae767dfb70c5616e52f1e9fb5d914a9ed7 100644
|
| --- a/tests/compiler/dart2js/simple_inferrer_final_field3_test.dart
|
| +++ b/tests/compiler/dart2js/simple_inferrer_const_closure3_test.dart
|
| @@ -1,42 +1,44 @@
|
| -// 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 only via [foo2] with a small integer.
|
| + return a;
|
| +}
|
| +
|
| +const foo = method;
|
| +
|
| +returnInt() {
|
| + return foo(54);
|
| }
|
|
|
| main() {
|
| - new A();
|
| - new A.bar('foo');
|
| + returnInt();
|
| }
|
| """;
|
|
|
| +
|
| 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.uint31Type);
|
| }));
|
| }
|
|
|