diff options
author | Robbert Jan Grootjans <grootjans@gmail.com> | 2013-03-22 18:23:44 +0100 |
---|---|---|
committer | Robbert Jan Grootjans <grootjans@gmail.com> | 2013-03-22 18:23:44 +0100 |
commit | 0b100f22071236907142e4c0fb85ffa50102818d (patch) | |
tree | 65a34c1a246a85211bb2d361bd73d4dd16287e63 /src/core/lombok/javac/handlers/HandleSetter.java | |
parent | 4be46113e81292a88cd5fdb3a5ce18fbcffd570d (diff) | |
download | lombok-0b100f22071236907142e4c0fb85ffa50102818d.tar.gz lombok-0b100f22071236907142e4c0fb85ffa50102818d.tar.bz2 lombok-0b100f22071236907142e4c0fb85ffa50102818d.zip |
Refactored out references to TypeTags.
Instead they are retrieved
dynamically, with a pinch of caching during runtime. We already had some
fixes to make sure that compile time constanst were not inlined, but we
need to take into account that a lot of the Integer-based enums have
been replaced with actual enums.
Also, certain TreeMaker methods needed to be invoked dynamically with
reflection.
This needs to be reviewed, and if it turns out that these changes are too
dramatic, we should fork out a larger part of our code for specific JVM
versions.
Diffstat (limited to 'src/core/lombok/javac/handlers/HandleSetter.java')
-rw-r--r-- | src/core/lombok/javac/handlers/HandleSetter.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/core/lombok/javac/handlers/HandleSetter.java b/src/core/lombok/javac/handlers/HandleSetter.java index c1e03c35..2136024e 100644 --- a/src/core/lombok/javac/handlers/HandleSetter.java +++ b/src/core/lombok/javac/handlers/HandleSetter.java @@ -35,6 +35,7 @@ import lombok.Setter; 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.handlers.JavacHandlerUtil.FieldAccess; @@ -253,14 +254,15 @@ public class HandleSetter extends JavacAnnotationHandler<Setter> { } private static class JCNoType extends Type implements NoType { - public JCNoType(int tag) { - super(tag, null); + public JCNoType(Object tag) { + //FIX + super(1, null); } @Override public TypeKind getKind() { - if (tag == CTC_VOID) return TypeKind.VOID; - if (tag == CTC_NONE) return TypeKind.NONE; + if (Javac.compareCTC(tag, CTC_VOID)) return TypeKind.VOID; + if (Javac.compareCTC(tag, CTC_NONE)) return TypeKind.NONE; throw new AssertionError("Unexpected tag: " + tag); } |