aboutsummaryrefslogtreecommitdiff
path: root/src/core/lombok/javac/handlers
diff options
context:
space:
mode:
authorReinier Zwitserloot <reinier@zwitserloot.com>2013-07-28 03:10:34 +0200
committerReinier Zwitserloot <reinier@zwitserloot.com>2013-07-28 03:10:34 +0200
commit4dbe3802fda3b317bb82bca80d7c69f58b239cfd (patch)
tree03ee93afc636ae82ed922a9150b6438dead0ee5b /src/core/lombok/javac/handlers
parente2af5ed0c7786e01bec861f21f2e5ec3bc5ea33f (diff)
downloadlombok-4dbe3802fda3b317bb82bca80d7c69f58b239cfd.tar.gz
lombok-4dbe3802fda3b317bb82bca80d7c69f58b239cfd.tar.bz2
lombok-4dbe3802fda3b317bb82bca80d7c69f58b239cfd.zip
more progress. This one is less JDK8 compatible, but
it has major refactorings to make JDK6-8 support possibly with much prettier code.
Diffstat (limited to 'src/core/lombok/javac/handlers')
-rw-r--r--src/core/lombok/javac/handlers/HandleBuilder.java6
-rw-r--r--src/core/lombok/javac/handlers/HandleGetter.java9
-rw-r--r--src/core/lombok/javac/handlers/JavacHandlerUtil.java24
-rw-r--r--src/core/lombok/javac/handlers/NonNullHandler.java7
4 files changed, 25 insertions, 21 deletions
diff --git a/src/core/lombok/javac/handlers/HandleBuilder.java b/src/core/lombok/javac/handlers/HandleBuilder.java
index 1c0f2ec0..4f48b69f 100644
--- a/src/core/lombok/javac/handlers/HandleBuilder.java
+++ b/src/core/lombok/javac/handlers/HandleBuilder.java
@@ -41,7 +41,6 @@ import com.sun.tools.javac.tree.JCTree.JCStatement;
import com.sun.tools.javac.tree.JCTree.JCTypeApply;
import com.sun.tools.javac.tree.JCTree.JCTypeParameter;
import com.sun.tools.javac.tree.JCTree.JCVariableDecl;
-import com.sun.tools.javac.tree.TreeMaker;
import com.sun.tools.javac.util.List;
import com.sun.tools.javac.util.ListBuffer;
import com.sun.tools.javac.util.Name;
@@ -53,13 +52,14 @@ import lombok.core.HandlerPriority;
import lombok.core.TransformationsUtil;
import lombok.experimental.Builder;
import lombok.experimental.NonFinal;
-import lombok.javac.Javac;
import lombok.javac.JavacAnnotationHandler;
import lombok.javac.JavacNode;
import lombok.javac.JavacTreeMaker;
import lombok.javac.handlers.HandleConstructor.SkipIfConstructorExists;
import static lombok.core.handlers.HandlerUtil.*;
import static lombok.javac.handlers.JavacHandlerUtil.*;
+import static lombok.javac.Javac.*;
+import static lombok.javac.JavacTreeMaker.TypeTag.*;
@ProviderFor(JavacAnnotationHandler.class)
@HandlerPriority(-1024) //-2^10; to ensure we've picked up @FieldDefault's changes (-2048) but @Value hasn't removed itself yet (-512), so that we can error on presence of it on the builder classes.
@@ -240,7 +240,7 @@ public class HandleBuilder extends JavacAnnotationHandler<Builder> {
JCExpression fn = maker.Select(maker.Ident(((JCClassDecl) type.up().get()).name), staticName);
call = maker.Apply(typeParams.toList(), fn, args.toList());
- if (returnType instanceof JCPrimitiveTypeTree && compareCTC(Javac.getTypeTag((JCPrimitiveTypeTree) returnType), CTC_VOID)) {
+ if (returnType instanceof JCPrimitiveTypeTree && CTC_VOID.equals(typeTag(returnType))) {
statement = maker.Exec(call);
} else {
statement = maker.Return(call);
diff --git a/src/core/lombok/javac/handlers/HandleGetter.java b/src/core/lombok/javac/handlers/HandleGetter.java
index f5bf2b6c..f6c14add 100644
--- a/src/core/lombok/javac/handlers/HandleGetter.java
+++ b/src/core/lombok/javac/handlers/HandleGetter.java
@@ -22,6 +22,7 @@
package lombok.javac.handlers;
import static lombok.javac.Javac.*;
+import static lombok.javac.JavacTreeMaker.TypeTag.*;
import static lombok.javac.handlers.JavacHandlerUtil.*;
import java.util.Collection;
@@ -35,10 +36,10 @@ import lombok.Getter;
import lombok.core.AST.Kind;
import lombok.core.AnnotationValues;
import lombok.core.TransformationsUtil;
-import lombok.javac.Javac;
import lombok.javac.JavacAnnotationHandler;
import lombok.javac.JavacNode;
import lombok.javac.JavacTreeMaker;
+import lombok.javac.JavacTreeMaker.TypeTag;
import lombok.javac.handlers.JavacHandlerUtil.FieldAccess;
import org.mangosdk.spi.ProviderFor;
@@ -289,9 +290,9 @@ public class HandleGetter extends JavacAnnotationHandler<Getter> {
private static final String JLO = "java.lang.Object";
private static final List<JCExpression> NIL_EXPRESSION = List.nil();
- private static final java.util.Map<Object, String> TYPE_MAP;
+ private static final java.util.Map<TypeTag, String> TYPE_MAP;
static {
- Map<Object, String> m = new HashMap<Object, String>();
+ Map<TypeTag, String> m = new HashMap<TypeTag, String>();
m.put(CTC_INT, "java.lang.Integer");
m.put(CTC_DOUBLE, "java.lang.Double");
m.put(CTC_FLOAT, "java.lang.Float");
@@ -335,7 +336,7 @@ public class HandleGetter extends JavacAnnotationHandler<Getter> {
field.type = null;
boolean isPrimitive = false;
if (field.vartype instanceof JCPrimitiveTypeTree) {
- String boxed = TYPE_MAP.get(((JCPrimitiveTypeTree)field.vartype).typetag);
+ String boxed = TYPE_MAP.get(typeTag(field.vartype));
if (boxed != null) {
isPrimitive = true;
field.vartype = chainDotsString(fieldNode, boxed);
diff --git a/src/core/lombok/javac/handlers/JavacHandlerUtil.java b/src/core/lombok/javac/handlers/JavacHandlerUtil.java
index 630cc31a..d0673c57 100644
--- a/src/core/lombok/javac/handlers/JavacHandlerUtil.java
+++ b/src/core/lombok/javac/handlers/JavacHandlerUtil.java
@@ -1277,17 +1277,17 @@ public class JavacHandlerUtil {
*/
public static void copyJavadoc(JavacNode from, JCTree to, CopyJavadoc copyMode) {
if (copyMode == null) copyMode = CopyJavadoc.VERBATIM;
-// try {
-// JCCompilationUnit cu = ((JCCompilationUnit) from.top().get());
-// if (cu.docComments != null) {
-// String javadoc = cu.docComments.get(from.get());
-//
-// if (javadoc != null) {
-// String[] filtered = copyMode.split(javadoc);
-// cu.docComments.put(to, filtered[0]);
-// cu.docComments.put(from.get(), filtered[1]);
-// }
-// }
-// } catch (Exception ignore) {}
+ try {
+ JCCompilationUnit cu = ((JCCompilationUnit) from.top().get());
+ if (cu.docComments != null) {
+ String javadoc = cu.docComments.get(from.get());
+
+ if (javadoc != null) {
+ String[] filtered = copyMode.split(javadoc);
+ cu.docComments.put(to, filtered[0]);
+ cu.docComments.put(from.get(), filtered[1]);
+ }
+ }
+ } catch (Exception ignore) {}
}
}
diff --git a/src/core/lombok/javac/handlers/NonNullHandler.java b/src/core/lombok/javac/handlers/NonNullHandler.java
index d74fb55d..3cf76f26 100644
--- a/src/core/lombok/javac/handlers/NonNullHandler.java
+++ b/src/core/lombok/javac/handlers/NonNullHandler.java
@@ -46,6 +46,9 @@ import lombok.core.AST.Kind;
import lombok.javac.JavacAnnotationHandler;
import lombok.javac.JavacNode;
+import static lombok.javac.JavacTreeMaker.TypeTag.*;
+import static lombok.javac.JavacTreeMaker.TreeTag.*;
+
@ProviderFor(JavacAnnotationHandler.class)
public class NonNullHandler extends JavacAnnotationHandler<NonNull> {
@Override public void handle(AnnotationValues<NonNull> annotation, JCAnnotation ast, JavacNode annotationNode) {
@@ -138,10 +141,10 @@ public class NonNullHandler extends JavacAnnotationHandler<NonNull> {
while (cond instanceof JCParens) cond = ((JCParens) cond).expr;
if (!(cond instanceof JCBinary)) return null;
JCBinary bin = (JCBinary) cond;
- if (compareCTC(getTag(bin), CTC_EQUAL)) return null;
+ if (!CTC_EQUAL.equals(treeTag(bin))) return null;
if (!(bin.lhs instanceof JCIdent)) return null;
if (!(bin.rhs instanceof JCLiteral)) return null;
- if (compareCTC(getTypeTag((JCLiteral) bin.rhs), CTC_BOT)) return null;
+ if (!CTC_BOT.equals(typeTag(bin.rhs))) return null;
return ((JCIdent) bin.lhs).name.toString();
}
}