From cea08d77998acce659c6ffc712045b9772ad9c65 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Mon, 13 Jun 2011 22:07:30 +0200 Subject: 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. --- src/core/lombok/eclipse/EclipseAST.java | 8 ++++---- src/core/lombok/eclipse/TransformEclipseAST.java | 2 +- src/core/lombok/eclipse/handlers/HandlePrintAST.java | 4 +--- 3 files changed, 6 insertions(+), 8 deletions(-) (limited to 'src/core') 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 { * 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 { @Override public boolean deferUntilPostDiet() { - return false; + return true; } public void handle(AnnotationValues annotation, Annotation ast, EclipseNode annotationNode) { - if (!annotationNode.isCompleteParse()) return; - PrintStream stream = System.out; String fileName = annotation.getInstance().outfile(); if (fileName.length() > 0) try { -- cgit