}
if (!(ba.getSignature() instanceof BcelMethod)
- || !Utility.isSuppressing((AnnotationX[])ba.getSignature().getAnnotations(),"adviceDidNotMatch")) {
+ || !Utility.isSuppressing(ba.getSignature(),"adviceDidNotMatch")) {
world.getLint().adviceDidNotMatch.signal(ba.getDeclaringAspect().toString(),
new SourceLocation(element.getSourceLocation().getSourceFile(),element.getSourceLocation().getLine()));//element.getSourceLocation());
}
return ((ii&Constants.PUSH_INST)!=0 && (ii&Constants.CONSTANT_INST)!=0);
}
+ /**
+ * Checks for suppression specified on the member or on the declaring type of that member
+ */
+ public static boolean isSuppressing(Member member,String lintkey) {
+ boolean isSuppressing = Utility.isSuppressing(member.getAnnotations(), lintkey);
+ if (isSuppressing) return true;
+ UnresolvedType type = member.getDeclaringType();
+ if (type instanceof ResolvedType) {
+ return Utility.isSuppressing(((ResolvedType)type).getAnnotations(),lintkey);
+ }
+ return false;
+ }
+
/**
* Check if the annotations contain a SuppressAjWarnings annotation and
* if that annotation specifies that the given lint message (identified