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

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

Issue 12425006: Fix two bugs in the simple types inferrer: (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 9 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 | Annotate | Revision Log
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 // Test that a non-used generative constructor does not prevent
6 // infering types for fields.
7
8 import 'compiler_helper.dart';
9 import 'parser_helper.dart';
10
11 const String TEST = """
12
13 class A {
14 final intField;
15 final stringField;
16 A() : intField = 42, stringField = 'foo';
17 A.bar() : intField = 54, stringField = 42;
18 }
19
20 main() {
21 new A();
22 }
23 """;
24
25 void main() {
26 Uri uri = new Uri.fromComponents(scheme: 'source');
27 var compiler = compilerFor(TEST, uri);
28 compiler.runCompiler(uri);
29 var typesInferrer = compiler.typesTask.typesInferrer;
30
31 checkFieldTypeInClass(String className, String fieldName, type) {
32 var cls = findElement(compiler, className);
33 var element = cls.lookupLocalMember(buildSourceString(fieldName));
34 Expect.equals(type, typesInferrer.typeOf[element]);
35 }
36
37 checkFieldTypeInClass('A', 'intField', compiler.intClass);
38 checkFieldTypeInClass('A', 'stringField', compiler.stringClass);
39
40 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698