summaryrefslogtreecommitdiffstats
path: root/weaver/src
diff options
context:
space:
mode:
authoraclement <aclement>2006-07-06 07:58:43 +0000
committeraclement <aclement>2006-07-06 07:58:43 +0000
commitd0c299daf6a8ac2e52c33ab4140257fbd60712dd (patch)
treef5ec513efb76b75d58131dd2c2b9fb3b92967cc6 /weaver/src
parentd16403655828b58d1ffbdb8d9ab4457c097bd746 (diff)
downloadaspectj-d0c299daf6a8ac2e52c33ab4140257fbd60712dd.tar.gz
aspectj-d0c299daf6a8ac2e52c33ab4140257fbd60712dd.zip
last patches for 141730
Diffstat (limited to 'weaver/src')
-rw-r--r--weaver/src/org/aspectj/weaver/Advice.java4
-rw-r--r--weaver/src/org/aspectj/weaver/Checker.java4
-rw-r--r--weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java4
-rw-r--r--weaver/src/org/aspectj/weaver/World.java7
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java4
5 files changed, 13 insertions, 10 deletions
diff --git a/weaver/src/org/aspectj/weaver/Advice.java b/weaver/src/org/aspectj/weaver/Advice.java
index 737e0d087..77b03d8b1 100644
--- a/weaver/src/org/aspectj/weaver/Advice.java
+++ b/weaver/src/org/aspectj/weaver/Advice.java
@@ -16,6 +16,7 @@ package org.aspectj.weaver;
import java.util.Collections;
import java.util.List;
+import org.aspectj.asm.AsmManager;
import org.aspectj.bridge.IMessage;
import org.aspectj.bridge.ISourceLocation;
import org.aspectj.weaver.bcel.Utility;
@@ -391,7 +392,8 @@ public abstract class Advice extends ShadowMunger {
return o.kind.equals(kind)
&& ((o.pointcut == null) ? (pointcut == null) : o.pointcut.equals(pointcut))
&& ((o.signature == null) ? (signature == null) : o.signature.equals(signature))
- && (World.compareLocations?((o.getSourceLocation()==null) ? (getSourceLocation()==null): o.getSourceLocation().equals(getSourceLocation())):true) // pr134471 - remove when handles are improved to be independent of location
+ && (AsmManager.getDefault().getHandleProvider().dependsOnLocation()
+ ?((o.getSourceLocation()==null) ? (getSourceLocation()==null): o.getSourceLocation().equals(getSourceLocation())):true) // pr134471 - remove when handles are improved to be independent of location
;
}
diff --git a/weaver/src/org/aspectj/weaver/Checker.java b/weaver/src/org/aspectj/weaver/Checker.java
index 329716106..6dd5fd9b0 100644
--- a/weaver/src/org/aspectj/weaver/Checker.java
+++ b/weaver/src/org/aspectj/weaver/Checker.java
@@ -17,6 +17,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Map;
+import org.aspectj.asm.AsmManager;
import org.aspectj.asm.IRelationship;
import org.aspectj.bridge.IMessage;
import org.aspectj.bridge.ISourceLocation;
@@ -114,7 +115,8 @@ public class Checker extends ShadowMunger {
return
o.isError == isError &&
((o.pointcut == null) ? (pointcut == null) : o.pointcut.equals(pointcut)) &&
- (World.compareLocations?((o.getSourceLocation()==null) ? (getSourceLocation()==null): o.getSourceLocation().equals(getSourceLocation())):true) // pr134471 - remove when handles are improved to be independent of location
+ (AsmManager.getDefault().getHandleProvider().dependsOnLocation()
+ ?((o.getSourceLocation()==null) ? (getSourceLocation()==null): o.getSourceLocation().equals(getSourceLocation())):true) // pr134471 - remove when handles are improved to be independent of location
;
}
diff --git a/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java b/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java
index 4de08b36a..b456c7d9d 100644
--- a/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java
+++ b/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java
@@ -21,6 +21,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.aspectj.asm.AsmManager;
import org.aspectj.weaver.patterns.CflowPointcut;
import org.aspectj.weaver.patterns.DeclareParents;
import org.aspectj.weaver.patterns.IVerificationRequired;
@@ -76,7 +77,8 @@ public class CrosscuttingMembersSet {
CflowPointcut.clearCaches(aspectType);
change = true;
} else {
- if (!World.compareLocations && inWeavingPhase) {
+ if (!AsmManager.getDefault().getHandleProvider().dependsOnLocation()
+ && inWeavingPhase) {
// 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;
diff --git a/weaver/src/org/aspectj/weaver/World.java b/weaver/src/org/aspectj/weaver/World.java
index 5a84cdc6a..0051e3106 100644
--- a/weaver/src/org/aspectj/weaver/World.java
+++ b/weaver/src/org/aspectj/weaver/World.java
@@ -54,12 +54,7 @@ public abstract class World implements Dump.INode {
/** The heart of the world, a map from type signatures to resolved types */
protected TypeMap typeMap = new TypeMap(this); // Signature to ResolvedType
-
- // See pr134471 - we would like to set this false but need for handles in the structure model
- // to be independent of location before we can do that.
- /** Should we take into account source location when comparing mungers - which may trigger full builds */
- public final static boolean compareLocations = true;
-
+
// see pr145963
/** Should we create the hierarchy for binary classes and aspects*/
public static boolean createInjarHierarchy = true;
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java b/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java
index ace4bb570..a802d87c5 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java
@@ -31,6 +31,7 @@ import org.aspectj.apache.bcel.generic.InstructionHandle;
import org.aspectj.apache.bcel.generic.InstructionList;
import org.aspectj.apache.bcel.generic.Type;
import org.aspectj.apache.bcel.generic.annotation.AnnotationGen;
+import org.aspectj.asm.AsmManager;
import org.aspectj.bridge.IMessage;
import org.aspectj.bridge.ISourceLocation;
import org.aspectj.bridge.Message;
@@ -1679,7 +1680,8 @@ public class BcelTypeMunger extends ConcreteTypeMunger {
BcelTypeMunger o = (BcelTypeMunger) other;
return ((o.getMunger() == null) ? (getMunger() == null) : o.getMunger().equals(getMunger()))
&& ((o.getAspectType() == null) ? (getAspectType() == null) : o.getAspectType().equals(getAspectType()))
- && (World.compareLocations?((o.getSourceLocation()==null)? (getSourceLocation()==null): o.getSourceLocation().equals(getSourceLocation())):true); // pr134471 - remove when handles are improved to be independent of location
+ && (AsmManager.getDefault().getHandleProvider().dependsOnLocation()
+ ?((o.getSourceLocation()==null)? (getSourceLocation()==null): o.getSourceLocation().equals(getSourceLocation())):true); // pr134471 - remove when handles are improved to be independent of location
}