From 249566813149f8e6984561d9d2ba4e348974dc1a Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Wed, 10 Nov 2010 22:19:26 +0100 Subject: Delombok has been fixed to work more like a true javac run now. As a result, its now compatible with resolution again (i.e. resolution based transformers are applied correctly when delomboking). --- src/core/lombok/javac/JavacTransformer.java | 9 ++++----- src/core/lombok/javac/TrackChangedAsts.java | 10 ++++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 src/core/lombok/javac/TrackChangedAsts.java (limited to 'src/core') diff --git a/src/core/lombok/javac/JavacTransformer.java b/src/core/lombok/javac/JavacTransformer.java index e90f780b..f9757894 100644 --- a/src/core/lombok/javac/JavacTransformer.java +++ b/src/core/lombok/javac/JavacTransformer.java @@ -42,7 +42,7 @@ public class JavacTransformer { this.handlers = HandlerLibrary.load(messager); } - public boolean transform(boolean postResolution, Context context, java.util.List compilationUnitsRaw) { + public void transform(boolean postResolution, Context context, java.util.List compilationUnitsRaw) { List compilationUnits; if (compilationUnitsRaw instanceof List) { compilationUnits = (List)compilationUnitsRaw; @@ -78,11 +78,10 @@ public class JavacTransformer { } } - for (JavacAST ast : asts) { - if (ast.isChanged()) return true; + TrackChangedAsts changes = context.get(TrackChangedAsts.class); + if (changes != null) for (JavacAST ast : asts) { + if (ast.isChanged()) changes.changed.add((JCCompilationUnit) ast.top().get()); } - - return false; } private class AnnotationVisitor extends JavacASTAdapter { diff --git a/src/core/lombok/javac/TrackChangedAsts.java b/src/core/lombok/javac/TrackChangedAsts.java new file mode 100644 index 00000000..fa6c0f18 --- /dev/null +++ b/src/core/lombok/javac/TrackChangedAsts.java @@ -0,0 +1,10 @@ +package lombok.javac; + +import java.util.HashSet; +import java.util.Set; + +import com.sun.tools.javac.tree.JCTree.JCCompilationUnit; + +public class TrackChangedAsts { + public final Set changed = new HashSet(); +} \ No newline at end of file -- cgit