| Index: editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/PropertySemanticProcessor.java
|
| diff --git a/editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/PropertySemanticProcessor.java b/editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/PropertySemanticProcessor.java
|
| index 0a21a09be4381f41d566113e58d5296bbdfb2f9a..ba470b8a2dfafc55cedc7dff8f6377b3577e0f3b 100644
|
| --- a/editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/PropertySemanticProcessor.java
|
| +++ b/editor/util/plugins/com.google.dart.java2dart/src/com/google/dart/java2dart/processor/PropertySemanticProcessor.java
|
| @@ -36,6 +36,7 @@ import com.google.dart.engine.ast.ThisExpression;
|
| import com.google.dart.engine.ast.TypeName;
|
| import com.google.dart.engine.ast.VariableDeclaration;
|
| import com.google.dart.engine.ast.visitor.GeneralizingASTVisitor;
|
| +import com.google.dart.engine.ast.visitor.RecursiveASTVisitor;
|
| import com.google.dart.engine.scanner.Keyword;
|
| import com.google.dart.engine.scanner.TokenType;
|
| import com.google.dart.java2dart.Context;
|
| @@ -182,7 +183,7 @@ public class PropertySemanticProcessor extends SemanticProcessor {
|
| });
|
| // remember all overridden and overriding methods
|
| final Set<IMethodBinding> ignoredMethods = Sets.newHashSet();
|
| - unit.accept(new GeneralizingASTVisitor<Void>() {
|
| + unit.accept(new RecursiveASTVisitor<Void>() {
|
| @Override
|
| public Void visitMethodDeclaration(MethodDeclaration node) {
|
| IMethodBinding binding = (IMethodBinding) context.getNodeBinding(node);
|
| @@ -234,7 +235,7 @@ public class PropertySemanticProcessor extends SemanticProcessor {
|
| boolean readOnly = true;
|
| List<SimpleIdentifier> references = context.getReferences(fieldName);
|
| for (SimpleIdentifier reference : references) {
|
| - readOnly &= reference.inGetterContext();
|
| + readOnly &= !reference.inSetterContext();
|
| }
|
| if (readOnly) {
|
| fieldDeclaration.getFields().setKeyword(token(Keyword.FINAL));
|
|
|