diff options
author | Reinier Zwitserloot <reinier@zwitserloot.com> | 2010-07-18 01:26:02 +0200 |
---|---|---|
committer | Reinier Zwitserloot <reinier@zwitserloot.com> | 2010-07-18 01:26:02 +0200 |
commit | a5e19958f6ae0f734d0ac28772725be3afd7e27d (patch) | |
tree | bc735cc3fa22d0ccf1944a60ada38f4fd27125cc /src/core/lombok/javac/handlers | |
parent | a1629c55acd5a2eda29e777541885d428e0f5df4 (diff) | |
download | lombok-a5e19958f6ae0f734d0ac28772725be3afd7e27d.tar.gz lombok-a5e19958f6ae0f734d0ac28772725be3afd7e27d.tar.bz2 lombok-a5e19958f6ae0f734d0ac28772725be3afd7e27d.zip |
All generated fields and methods now get a @SuppressWarnings("all").
Implements issue #47.
Diffstat (limited to 'src/core/lombok/javac/handlers')
-rw-r--r-- | src/core/lombok/javac/handlers/JavacHandlerUtil.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/lombok/javac/handlers/JavacHandlerUtil.java b/src/core/lombok/javac/handlers/JavacHandlerUtil.java index 499340bc..ccd5647c 100644 --- a/src/core/lombok/javac/handlers/JavacHandlerUtil.java +++ b/src/core/lombok/javac/handlers/JavacHandlerUtil.java @@ -32,6 +32,8 @@ import lombok.javac.JavacNode; import com.sun.tools.javac.code.Flags; import com.sun.tools.javac.code.TypeTags; import com.sun.tools.javac.tree.JCTree; +import com.sun.tools.javac.tree.JCTree.JCLiteral; +import com.sun.tools.javac.tree.JCTree.JCModifiers; import com.sun.tools.javac.tree.TreeMaker; import com.sun.tools.javac.tree.JCTree.JCAnnotation; import com.sun.tools.javac.tree.JCTree.JCClassDecl; @@ -270,6 +272,7 @@ public class JavacHandlerUtil { public static void injectField(JavacNode typeNode, JCVariableDecl field) { JCClassDecl type = (JCClassDecl) typeNode.get(); + addSuppressWarningsAll(field.mods, typeNode, field.pos); type.defs = type.defs.append(field); typeNode.add(field, Kind.FIELD).recursiveSetHandled(); @@ -300,11 +303,23 @@ public class JavacHandlerUtil { } } + addSuppressWarningsAll(method.mods, typeNode, method.pos); type.defs = type.defs.append(method); typeNode.add(method, Kind.METHOD).recursiveSetHandled(); } + private static void addSuppressWarningsAll(JCModifiers mods, JavacNode node, int pos) { + TreeMaker maker = node.getTreeMaker(); + JCExpression suppressWarningsType = chainDots(maker, node, "java", "lang", "SuppressWarnings"); + JCLiteral allLiteral = maker.Literal("all"); + suppressWarningsType.pos = pos; + allLiteral.pos = pos; + JCAnnotation annotation = maker.Annotation(suppressWarningsType, List.<JCExpression>of(allLiteral)); + annotation.pos = pos; + mods.annotations = mods.annotations.append(annotation); + } + private static List<JCTree> addAllButOne(List<JCTree> defs, int idx) { List<JCTree> out = List.nil(); int i = 0; |