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());