diff options
author | Reinier Zwitserloot <reinier@tipit.to> | 2009-06-17 21:57:54 +0200 |
---|---|---|
committer | Reinier Zwitserloot <reinier@tipit.to> | 2009-06-17 21:57:54 +0200 |
commit | eca3cd7ccc6e8c5736f5a70c3b1c095bd949689d (patch) | |
tree | 872695cfa92999e0ad1bd8843d08f9760aaebad6 /src/lombok/eclipse/handlers/HandleGetter.java | |
parent | 8fa50054449d88380ce45ba91881df6655737f20 (diff) | |
download | lombok-eca3cd7ccc6e8c5736f5a70c3b1c095bd949689d.tar.gz lombok-eca3cd7ccc6e8c5736f5a70c3b1c095bd949689d.tar.bz2 lombok-eca3cd7ccc6e8c5736f5a70c3b1c095bd949689d.zip |
AnnotationHandlers can now return a boolean to set if they actually handled the annotation or not (previously, the presumption was they always handled the annotation).
This is very useful for PrintAST on eclipse, because before this change, you'd never see method contents (as the initial dietParse would come first). Now Eclipse PrintASTHandler
will skip any non-full runs, and only print non-diet. It then returns true only if it printed.
Diffstat (limited to 'src/lombok/eclipse/handlers/HandleGetter.java')
-rw-r--r-- | src/lombok/eclipse/handlers/HandleGetter.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lombok/eclipse/handlers/HandleGetter.java b/src/lombok/eclipse/handlers/HandleGetter.java index bf1aa9b0..6be978c6 100644 --- a/src/lombok/eclipse/handlers/HandleGetter.java +++ b/src/lombok/eclipse/handlers/HandleGetter.java @@ -29,8 +29,8 @@ public class HandleGetter implements EclipseAnnotationHandler<Getter> { annotationNode.addWarning(String.format("Not generating %s(): A method with that name already exists", methodName)); } - @Override public void handle(AnnotationValues<Getter> annotation, Annotation ast, Node annotationNode) { - if ( !(annotationNode.up().get() instanceof FieldDeclaration) ) return; + @Override public boolean handle(AnnotationValues<Getter> annotation, Annotation ast, Node annotationNode) { + if ( !(annotationNode.up().get() instanceof FieldDeclaration) ) return false; FieldDeclaration field = (FieldDeclaration) annotationNode.up().get(); TypeReference fieldType = field.type; String getterName = TransformationsUtil.toGetterName( @@ -40,7 +40,7 @@ public class HandleGetter implements EclipseAnnotationHandler<Getter> { if ( parent.methods != null ) for ( AbstractMethodDeclaration method : parent.methods ) { if ( method.selector != null && new String(method.selector).equals(getterName) ) { generateDuplicateGetterWarning(annotationNode, getterName); - return; + return false; } } @@ -69,6 +69,8 @@ public class HandleGetter implements EclipseAnnotationHandler<Getter> { newArray[parent.methods.length] = method; parent.methods = newArray; } + + return true; } private int toModifier(AccessLevel value) { |