From cdefebbb41b0e30a304bbe1be468b2aa461e5d2d Mon Sep 17 00:00:00 2001 From: acolyer Date: Wed, 17 Aug 2005 08:39:22 +0000 Subject: [PATCH] support for @SuppressAjWarnings --- weaver/src/org/aspectj/weaver/Lint.java | 32 ++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/weaver/src/org/aspectj/weaver/Lint.java b/weaver/src/org/aspectj/weaver/Lint.java index e92593fce..c6795407f 100644 --- a/weaver/src/org/aspectj/weaver/Lint.java +++ b/weaver/src/org/aspectj/weaver/Lint.java @@ -18,6 +18,7 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.text.MessageFormat; +import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -151,6 +152,30 @@ public class Lint { } } } + + public Collection allKinds() { + return kinds.values(); + } + + public Kind getLintKind(String name) { + return (Kind) kinds.get(name); + } + + // temporarily suppress the given lint messages + public void suppressKinds(Collection lintKind) { + for (Iterator iter = lintKind.iterator(); iter.hasNext();) { + Kind k = (Kind) iter.next(); + k.setSuppressed(true); + } + } + + // remove any suppression of lint warnings in place + public void clearSuppressions() { + for (Iterator iter = kinds.values().iterator(); iter.hasNext();) { + Kind k = (Kind) iter.next(); + k.setSuppressed(false); + } + } private IMessage.Kind getMessageKind(String v) { if (v.equals("ignore")) return null; @@ -168,14 +193,19 @@ public class Lint { private String name; private String message; private IMessage.Kind kind = IMessage.WARNING; + private boolean isSupressed = false; // by SuppressAjWarnings public Kind(String name, String message) { this.name = name; this.message = message; kinds.put(this.name, this); } + public void setSuppressed(boolean shouldBeSuppressed) { + this.isSupressed = shouldBeSuppressed; + } + public boolean isEnabled() { - return kind != null; + return (kind != null) && !isSupressed; } public String getName() { -- 2.39.5