diff options
author | aclement <aclement> | 2008-06-11 21:43:38 +0000 |
---|---|---|
committer | aclement <aclement> | 2008-06-11 21:43:38 +0000 |
commit | 0ed0600a2bb9c08b530120ffbf9b18dad613a108 (patch) | |
tree | 25b428f2d08b772a59250f02f845d7362e1f43ea | |
parent | be5fb95ac63fc225b7e2a17380052bb147af3b21 (diff) | |
download | aspectj-0ed0600a2bb9c08b530120ffbf9b18dad613a108.tar.gz aspectj-0ed0600a2bb9c08b530120ffbf9b18dad613a108.zip |
234933: test and partial fix, just for adviceDidNotMatch so far.
-rw-r--r-- | weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java | 2 | ||||
-rw-r--r-- | weaver/src/org/aspectj/weaver/bcel/Utility.java | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java b/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java index 0b7880fed..68a32374c 100644 --- a/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java +++ b/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java @@ -1284,7 +1284,7 @@ public class BcelWeaver { } 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()); } diff --git a/weaver/src/org/aspectj/weaver/bcel/Utility.java b/weaver/src/org/aspectj/weaver/bcel/Utility.java index 68193a060..6d2a98f71 100644 --- a/weaver/src/org/aspectj/weaver/bcel/Utility.java +++ b/weaver/src/org/aspectj/weaver/bcel/Utility.java @@ -728,6 +728,19 @@ public class Utility { } /** + * 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 * by its key) should be ignored. |