diff options
author | Reinier Zwitserloot <reinier@zwitserloot.com> | 2014-01-09 04:46:59 +0100 |
---|---|---|
committer | Reinier Zwitserloot <reinier@zwitserloot.com> | 2014-01-09 04:46:59 +0100 |
commit | 685ddfd52ebba4ca85ff93e08de14f38ecd8714b (patch) | |
tree | 74a1c6d51de69414e57ee7e187865d8841b2d091 /src/core/lombok/javac/handlers | |
parent | 7bbe19f1b8982e21ef0aa94644397b4961a5c470 (diff) | |
download | lombok-685ddfd52ebba4ca85ff93e08de14f38ecd8714b.tar.gz lombok-685ddfd52ebba4ca85ff93e08de14f38ecd8714b.tar.bz2 lombok-685ddfd52ebba4ca85ff93e08de14f38ecd8714b.zip |
Added code to NOT add @SuppressWarnings to things if a @SuppressWarnings is already there. Lombok itself can't ever do that anyway (we don't add @SW except to things we just generated fresh), but some lombok extension builders do, and this helps them.
Diffstat (limited to 'src/core/lombok/javac/handlers')
-rw-r--r-- | src/core/lombok/javac/handlers/JavacHandlerUtil.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/lombok/javac/handlers/JavacHandlerUtil.java b/src/core/lombok/javac/handlers/JavacHandlerUtil.java index 03c2dcff..d6d47b6c 100644 --- a/src/core/lombok/javac/handlers/JavacHandlerUtil.java +++ b/src/core/lombok/javac/handlers/JavacHandlerUtil.java @@ -918,6 +918,14 @@ public class JavacHandlerUtil { private static void addSuppressWarningsAll(JCModifiers mods, JavacNode node, int pos, JCTree source, Context context) { if (!LombokOptionsFactory.getDelombokOptions(context).getFormatPreferences().generateSuppressWarnings()) return; + for (JCAnnotation ann : mods.annotations) { + JCTree annType = ann.getAnnotationType(); + Name lastPart = null; + if (annType instanceof JCIdent) lastPart = ((JCIdent) annType).name; + else if (annType instanceof JCFieldAccess) lastPart = ((JCFieldAccess) annType).name; + + if (lastPart != null && lastPart.contentEquals("SuppressWarnings")) return; + } JavacTreeMaker maker = node.getTreeMaker(); JCExpression suppressWarningsType = genJavaLangTypeRef(node, "SuppressWarnings"); JCLiteral allLiteral = maker.Literal("all"); |