| Index: sdk/lib/_internal/compiler/implementation/types/simple_types_inferrer.dart
|
| ===================================================================
|
| --- sdk/lib/_internal/compiler/implementation/types/simple_types_inferrer.dart (revision 19484)
|
| +++ sdk/lib/_internal/compiler/implementation/types/simple_types_inferrer.dart (working copy)
|
| @@ -271,7 +271,10 @@
|
| compiler.enqueuer.resolution.seenClasses.forEach((ClassElement cls) {
|
| int constructorCount = 0;
|
| cls.forEachMember((_, member) {
|
| - if (member.isGenerativeConstructor()) constructorCount++;
|
| + if (member.isGenerativeConstructor()
|
| + && compiler.enqueuer.resolution.isProcessed(member)) {
|
| + constructorCount++;
|
| + }
|
| });
|
| classInfoForFinalFields[cls.implementation] =
|
| new ClassInfoForFinalFields(constructorCount);
|
| @@ -755,7 +758,7 @@
|
| // We don't track argument types yet, so just set the fields
|
| // and parameters as dynamic.
|
| if (element.kind == ElementKind.FIELD_PARAMETER
|
| - && element.modifiers.isFinal()) {
|
| + && element.fieldElement.modifiers.isFinal()) {
|
| inferrer.recordFinalFieldType(
|
| analyzedElement, element.fieldElement, compiler.dynamicClass);
|
| } else {
|
|
|