summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2005-03-11 17:30:45 +0000
committeraclement <aclement>2005-03-11 17:30:45 +0000
commit79129daa01f6fc8036a4bf7e58ffc8aa8e363ccb (patch)
tree924b2d86f4752a241462be784bc63b612dda3928 /weaver
parent3938f0e5d501382517653964f4ed175288ca5cce (diff)
downloadaspectj-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.java5
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