aboutsummaryrefslogtreecommitdiff
path: root/src/lombok/javac
diff options
context:
space:
mode:
authorReinier Zwitserloot <reinier@tipit.to>2009-06-17 20:54:54 +0200
committerReinier Zwitserloot <reinier@tipit.to>2009-06-17 20:54:54 +0200
commit8aae52a9923c041486484d30b9b35ee9b6f2a8ea (patch)
treede2bec8feaa5e851acccb4276b9d433afc2fdbbc /src/lombok/javac
parent5bdfa539f2f4277eda9ab414dab167a4d6d883e9 (diff)
downloadlombok-8aae52a9923c041486484d30b9b35ee9b6f2a8ea.tar.gz
lombok-8aae52a9923c041486484d30b9b35ee9b6f2a8ea.tar.bz2
lombok-8aae52a9923c041486484d30b9b35ee9b6f2a8ea.zip
A useful annotation that prints the AST of any annotated element via the XASTPrinters in each ASTVisitor interface.
Diffstat (limited to 'src/lombok/javac')
-rw-r--r--src/lombok/javac/handlers/HandlePrintAST.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/lombok/javac/handlers/HandlePrintAST.java b/src/lombok/javac/handlers/HandlePrintAST.java
new file mode 100644
index 00000000..23f4c6d6
--- /dev/null
+++ b/src/lombok/javac/handlers/HandlePrintAST.java
@@ -0,0 +1,18 @@
+package lombok.javac.handlers;
+
+import org.mangosdk.spi.ProviderFor;
+
+import com.sun.tools.javac.tree.JCTree.JCAnnotation;
+
+import lombok.core.AnnotationValues;
+import lombok.core.PrintAST;
+import lombok.javac.JavacASTVisitor;
+import lombok.javac.JavacAnnotationHandler;
+import lombok.javac.JavacAST.Node;
+
+@ProviderFor(JavacAnnotationHandler.class)
+public class HandlePrintAST implements JavacAnnotationHandler<PrintAST> {
+ @Override public void handle(AnnotationValues<PrintAST> annotation, JCAnnotation ast, Node annotationNode) {
+ annotationNode.up().traverse(new JavacASTVisitor.JavacASTPrinter());
+ }
+}