From: aclement Date: Fri, 11 Mar 2005 17:30:45 +0000 (+0000) Subject: temporary fix to ensure we see relationships for dec @type when incrementally compiling X-Git-Tag: V1_5_0M2~38 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=79129daa01f6fc8036a4bf7e58ffc8aa8e363ccb;p=aspectj.git temporary fix to ensure we see relationships for dec @type when incrementally compiling --- diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java b/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java index 67cce4ce7..1caa54574 100644 --- a/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java +++ b/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java @@ -55,6 +55,7 @@ import org.aspectj.util.FuzzyBoolean; import org.aspectj.weaver.Advice; import org.aspectj.weaver.AnnotationOnTypeMunger; import org.aspectj.weaver.AnnotationX; +import org.aspectj.weaver.AsmRelationshipProvider; import org.aspectj.weaver.ConcreteTypeMunger; import org.aspectj.weaver.CrosscuttingMembersSet; import org.aspectj.weaver.IClassFileProvider; @@ -1107,6 +1108,10 @@ public class BcelWeaver implements IWeaver { private boolean applyDeclareAtType(DeclareAnnotation decA, ResolvedTypeX onType,boolean reportProblems) { boolean didSomething = false; if (decA.matches(onType)) { + + //FIXME asc CRITICAL this should be guarded by the 'already has annotation' check below but isn't since the compiler is producing classfiles with deca affected things in... + AsmRelationshipProvider.getDefault().addDeclareAnnotationRelationship(decA.getSourceLocation(),onType.getSourceLocation()); + if (onType.hasAnnotation(decA.getAnnotationX().getSignature())) { // FIXME asc Could put out a lint here for an already annotated type - the problem is that it may have // picked up the annotation during 'source weaving' in which case the message is misleading. Leaving it