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, L extends LombokNode, this.imports = Collections.unmodifiableCollection(new ArrayList(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());