| Index: compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| diff --git a/compiler/java/com/google/dart/compiler/resolver/Resolver.java b/compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| index a7360f25456b561142c12c23ada99636e83d5d38..7df44654da231f1fc7fbfd6e4828e8f42e0c1dda 100644
|
| --- a/compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| +++ b/compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| @@ -628,6 +628,19 @@ public class Resolver {
|
| DartFunction functionNode = node.getFunction();
|
| List<DartParameter> parameters = functionNode.getParameters();
|
| Set<FieldElement> initializedFields = Sets.newHashSet();
|
| +
|
| + // remember field with initializers
|
| + if (previousEnclosingElement instanceof ClassElement) {
|
| + ClassElement classElement = (ClassElement) previousEnclosingElement;
|
| + for (Element classMember : classElement.getMembers()) {
|
| + if (ElementKind.of(classMember) == ElementKind.FIELD) {
|
| + FieldElement fieldMember = (FieldElement) classMember;
|
| + if (fieldMember.getModifiers().isFinal() && fieldMember.getModifiers().isInitialized()) {
|
| + initializedFields.add(fieldMember);
|
| + }
|
| + }
|
| + }
|
| + }
|
|
|
| // First declare all normal parameters in the scope, putting them in the
|
| // scope of the default expressions so we can report better errors.
|
|
|