aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorpeichhorn <peichhor@web.de>2011-05-30 21:17:46 +0200
committerpeichhorn <peichhor@web.de>2011-05-30 21:26:45 +0200
commitdaf84dd00ed5059710acf9f40b4663ba7fed06e0 (patch)
tree3e4bdcebd2f78aab9a5305160d60e9846e74241e /src
parent1e7c6b98caec18a1f3747a7e0303df88b42ffac2 (diff)
downloadlombok-daf84dd00ed5059710acf9f40b4663ba7fed06e0.tar.gz
lombok-daf84dd00ed5059710acf9f40b4663ba7fed06e0.tar.bz2
lombok-daf84dd00ed5059710acf9f40b4663ba7fed06e0.zip
HandleDelegate did not remove the annotation @Delegate from javac's AST, so HandleDelegate was called multiple times for the same field resulting in an error saying the delegate method was already defined.
Also added a test for @Delegate that uncovered this issue.
Diffstat (limited to 'src')
-rw-r--r--src/core/lombok/javac/handlers/HandleDelegate.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/lombok/javac/handlers/HandleDelegate.java b/src/core/lombok/javac/handlers/HandleDelegate.java
index 071aa3e4..e333daa3 100644
--- a/src/core/lombok/javac/handlers/HandleDelegate.java
+++ b/src/core/lombok/javac/handlers/HandleDelegate.java
@@ -21,6 +21,8 @@
*/
package lombok.javac.handlers;
+import static lombok.javac.handlers.JavacHandlerUtil.markAnnotationAsProcessed;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -90,6 +92,7 @@ public class HandleDelegate implements JavacAnnotationHandler<Delegate> {
"finalize()"));
@Override public boolean handle(AnnotationValues<Delegate> annotation, JCAnnotation ast, JavacNode annotationNode) {
+ markAnnotationAsProcessed(annotationNode, Delegate.class);
if (annotationNode.up().getKind() != Kind.FIELD) {
// As the annotation is legal on fields only, javac itself will take care of printing an error message for this.
return false;