summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2006-04-06 10:44:14 +0000
committeraclement <aclement>2006-04-06 10:44:14 +0000
commit94d8b82fbf3cb18a14d77508b3adad6d50434080 (patch)
treedac613095340016c49cb1427cd8079318329a62c /weaver
parentfdd4e869b979f9c5d75d339e898830a27650c1b3 (diff)
downloadaspectj-94d8b82fbf3cb18a14d77508b3adad6d50434080.tar.gz
aspectj-94d8b82fbf3cb18a14d77508b3adad6d50434080.zip
test and fix for 134541
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/CrosscuttingMembers.java6
-rw-r--r--weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java5
2 files changed, 10 insertions, 1 deletions
diff --git a/weaver/src/org/aspectj/weaver/CrosscuttingMembers.java b/weaver/src/org/aspectj/weaver/CrosscuttingMembers.java
index fcbd967cf..46b6ada85 100644
--- a/weaver/src/org/aspectj/weaver/CrosscuttingMembers.java
+++ b/weaver/src/org/aspectj/weaver/CrosscuttingMembers.java
@@ -238,8 +238,12 @@ public class CrosscuttingMembers {
}
if (!theseShadowMungers.equals(otherShadowMungers)) {
changed = true;
- shadowMungers = other.shadowMungers;
}
+ // replace the existing list of shadowmungers with the
+ // new ones in case anything like the sourcelocation has
+ // changed, however, don't want this flagged as a change
+ // which will force a full build - bug 134541
+ shadowMungers = other.shadowMungers;
}
// bug 129163: use set equality rather than list equality and
diff --git a/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java b/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java
index b4efd2c87..a065aa14f 100644
--- a/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java
+++ b/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java
@@ -76,6 +76,11 @@ public class CrosscuttingMembersSet {
CflowPointcut.clearCaches(aspectType);
change = true;
} else {
+ if (careAboutShadowMungers) {
+ // bug 134541 - even though we haven't changed we may have updated the
+ // sourcelocation for the shadowMunger which we need to pick up
+ shadowMungers = null;
+ }
change = false;
}
}