diff options
author | Reinier Zwitserloot <reinier@zwitserloot.com> | 2011-06-13 22:07:30 +0200 |
---|---|---|
committer | Reinier Zwitserloot <reinier@zwitserloot.com> | 2011-06-13 22:07:30 +0200 |
commit | cea08d77998acce659c6ffc712045b9772ad9c65 (patch) | |
tree | 80cad21e63d376509c16566745b498fcb093e887 /src/core/lombok/eclipse | |
parent | 274d5de571f76b04aa140ea9c04dfc23353dd9f6 (diff) | |
download | lombok-cea08d77998acce659c6ffc712045b9772ad9c65.tar.gz lombok-cea08d77998acce659c6ffc712045b9772ad9c65.tar.bz2 lombok-cea08d77998acce659c6ffc712045b9772ad9c65.zip |
Fixed PrintAST, and separately SneakyThrows/Synchronized which failed because the 'isFullParse' boolean was erronously set on a full rebuild, forced by HandleDelegate.
HandleDelegate has also been updated to not do so much work if there's no @Delegate in a source file.
Diffstat (limited to 'src/core/lombok/eclipse')
-rw-r--r-- | src/core/lombok/eclipse/EclipseAST.java | 8 | ||||
-rw-r--r-- | src/core/lombok/eclipse/TransformEclipseAST.java | 2 | ||||
-rw-r--r-- | src/core/lombok/eclipse/handlers/HandlePrintAST.java | 4 |
3 files changed, 6 insertions, 8 deletions
diff --git a/src/core/lombok/eclipse/EclipseAST.java b/src/core/lombok/eclipse/EclipseAST.java index 7c816c50..91db0baa 100644 --- a/src/core/lombok/eclipse/EclipseAST.java +++ b/src/core/lombok/eclipse/EclipseAST.java @@ -197,16 +197,16 @@ public class EclipseAST extends AST<EclipseAST, EclipseNode, ASTNode> { * with filled in method bodies and such. Also propagates problems and errors, which in diet parse * mode can't be reliably added to the problems/warnings view. */ - public void reparse(boolean forceRebuild) { + public void rebuild(boolean force) { propagateProblems(); - if (completeParse && !forceRebuild) return; + if (completeParse && !force) return; boolean changed = isChanged(); boolean newCompleteParse = isComplete(compilationUnitDeclaration); - if (!newCompleteParse && !forceRebuild) return; + if (!newCompleteParse && !force) return; top().rebuild(); - this.completeParse = true; + this.completeParse = newCompleteParse; if (!changed) clearChanged(); } diff --git a/src/core/lombok/eclipse/TransformEclipseAST.java b/src/core/lombok/eclipse/TransformEclipseAST.java index e260604b..7ef06fca 100644 --- a/src/core/lombok/eclipse/TransformEclipseAST.java +++ b/src/core/lombok/eclipse/TransformEclipseAST.java @@ -101,7 +101,7 @@ public class TransformEclipseAST { } catch (Exception ignore) { } } else { - existing.reparse(forceRebuild); + existing.rebuild(forceRebuild); } return existing; diff --git a/src/core/lombok/eclipse/handlers/HandlePrintAST.java b/src/core/lombok/eclipse/handlers/HandlePrintAST.java index 24a3f687..6fa7b938 100644 --- a/src/core/lombok/eclipse/handlers/HandlePrintAST.java +++ b/src/core/lombok/eclipse/handlers/HandlePrintAST.java @@ -41,12 +41,10 @@ import lombok.eclipse.EclipseNode; @ProviderFor(EclipseAnnotationHandler.class) public class HandlePrintAST implements EclipseAnnotationHandler<PrintAST> { @Override public boolean deferUntilPostDiet() { - return false; + return true; } public void handle(AnnotationValues<PrintAST> annotation, Annotation ast, EclipseNode annotationNode) { - if (!annotationNode.isCompleteParse()) return; - PrintStream stream = System.out; String fileName = annotation.getInstance().outfile(); if (fileName.length() > 0) try { |