From 0951ea38fe11189cdc4c2778fdad9e9e3ad6a6ae Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Tue, 9 Nov 2010 20:35:34 +0100 Subject: Experiment to try and make java 'self referential' by deleting the Enter and MemberEnter state. So far it doesn't work yet. --- src/core/lombok/javac/JavacResolution.java | 1 + 1 file changed, 1 insertion(+) (limited to 'src/core/lombok/javac/JavacResolution.java') diff --git a/src/core/lombok/javac/JavacResolution.java b/src/core/lombok/javac/JavacResolution.java index e0eb436d..26ff34d0 100644 --- a/src/core/lombok/javac/JavacResolution.java +++ b/src/core/lombok/javac/JavacResolution.java @@ -11,6 +11,7 @@ import javax.lang.model.type.TypeKind; import javax.tools.DiagnosticListener; import com.sun.tools.javac.code.BoundKind; +import com.sun.tools.javac.code.Symbol; import com.sun.tools.javac.code.Symbol.TypeSymbol; import com.sun.tools.javac.code.Symtab; import com.sun.tools.javac.code.Type.ArrayType; -- cgit From 63519f9ae601e00430c5fd542bedf79beb688db3 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Wed, 10 Nov 2010 00:24:10 +0100 Subject: Undone something that'll never work anyway --- src/core/lombok/javac/JavacResolution.java | 1 - src/core/lombok/javac/JavacTransformer.java | 6 ------ 2 files changed, 7 deletions(-) (limited to 'src/core/lombok/javac/JavacResolution.java') diff --git a/src/core/lombok/javac/JavacResolution.java b/src/core/lombok/javac/JavacResolution.java index 26ff34d0..e0eb436d 100644 --- a/src/core/lombok/javac/JavacResolution.java +++ b/src/core/lombok/javac/JavacResolution.java @@ -11,7 +11,6 @@ import javax.lang.model.type.TypeKind; import javax.tools.DiagnosticListener; import com.sun.tools.javac.code.BoundKind; -import com.sun.tools.javac.code.Symbol; import com.sun.tools.javac.code.Symbol.TypeSymbol; import com.sun.tools.javac.code.Symtab; import com.sun.tools.javac.code.Type.ArrayType; diff --git a/src/core/lombok/javac/JavacTransformer.java b/src/core/lombok/javac/JavacTransformer.java index c703b1c7..5d1e79af 100644 --- a/src/core/lombok/javac/JavacTransformer.java +++ b/src/core/lombok/javac/JavacTransformer.java @@ -25,8 +25,6 @@ import java.util.ArrayList; import javax.annotation.processing.Messager; -import com.sun.tools.javac.comp.Enter; -import com.sun.tools.javac.comp.MemberEnter; import com.sun.tools.javac.tree.JCTree.JCAnnotation; import com.sun.tools.javac.tree.JCTree.JCClassDecl; import com.sun.tools.javac.tree.JCTree.JCCompilationUnit; @@ -65,10 +63,6 @@ public class JavacTransformer { handlers.callASTVisitors(ast); } - context.put(Enter.class, (Enter) null); - context.put(MemberEnter.class, (MemberEnter) null); - Enter.instance(context).main(compilationUnits); - handlers.setPostResolutionPhase(); for (JavacAST ast : asts) { ast.traverse(new AnnotationVisitor()); -- cgit From 5b5a3713e2436706f80e782ed26479b066205ab4 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Wed, 10 Nov 2010 22:18:07 +0100 Subject: Fix for javac: 'val x = null;' is now valid, and results in x being of type Object. --- src/core/lombok/javac/JavacResolution.java | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/core/lombok/javac/JavacResolution.java') diff --git a/src/core/lombok/javac/JavacResolution.java b/src/core/lombok/javac/JavacResolution.java index e0eb436d..2845328d 100644 --- a/src/core/lombok/javac/JavacResolution.java +++ b/src/core/lombok/javac/JavacResolution.java @@ -325,6 +325,8 @@ public class JavacResolution { // NB: There's such a thing as maker.Type(type), but this doesn't work very well; it screws up anonymous classes, captures, and adds an extra prefix dot for some reason too. // -- so we write our own take on that here. + if (type.tag == TypeTags.BOT) return createJavaLangObject(maker, ast); + if (type.isPrimitive()) return primitiveToJCTree(type.getKind(), maker); if (type.isErroneous()) throw new TypeNotConvertibleException("Type cannot be resolved"); -- cgit