diff options
author | aclement <aclement> | 2005-03-11 17:30:45 +0000 |
---|---|---|
committer | aclement <aclement> | 2005-03-11 17:30:45 +0000 |
commit | 79129daa01f6fc8036a4bf7e58ffc8aa8e363ccb (patch) | |
tree | 924b2d86f4752a241462be784bc63b612dda3928 /weaver | |
parent | 3938f0e5d501382517653964f4ed175288ca5cce (diff) | |
download | aspectj-79129daa01f6fc8036a4bf7e58ffc8aa8e363ccb.tar.gz aspectj-79129daa01f6fc8036a4bf7e58ffc8aa8e363ccb.zip |
temporary fix to ensure we see relationships for dec @type when incrementally compiling
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java | 5 |
1 files changed, 5 insertions, 0 deletions
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 |