diff options
-rw-r--r-- | src/core/lombok/core/AST.java | 2 | ||||
-rw-r--r-- | src/core/lombok/javac/handlers/HandleVal.java | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/core/lombok/core/AST.java b/src/core/lombok/core/AST.java index 7e71b248..8ea554a1 100644 --- a/src/core/lombok/core/AST.java +++ b/src/core/lombok/core/AST.java @@ -65,7 +65,7 @@ public abstract class AST<A extends AST<A, L, N>, L extends LombokNode<A, L, N>, this.imports = Collections.unmodifiableCollection(new ArrayList<String>(imports)); } - protected void setChanged() { + public void setChanged() { this.changed = true; } diff --git a/src/core/lombok/javac/handlers/HandleVal.java b/src/core/lombok/javac/handlers/HandleVal.java index f806ae6c..7161a7c3 100644 --- a/src/core/lombok/javac/handlers/HandleVal.java +++ b/src/core/lombok/javac/handlers/HandleVal.java @@ -94,7 +94,10 @@ public class HandleVal extends JavacASTAdapter { // TODO: Fix enhanced for loops - then uncomment a bunch of lines in test/transform/resource/*/ValInFor.java } replacement = JavacResolution.typeToJCTree(type, localNode.getTreeMaker(), localNode.getAst()); - if (replacement != null) local.vartype = replacement; + if (replacement != null) { + local.vartype = replacement; + localNode.getAst().setChanged(); + } else local.vartype = oldVarType; } catch (JavacResolution.TypeNotConvertibleException e) { localNode.addError("Cannot use 'val' here because initializer expression does not have a representable type: " + e.getMessage()); |