aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2009-04-07 22:20:27 +0000
committeraclement <aclement>2009-04-07 22:20:27 +0000
commitac617315a816e78b45da02ce4cc9bc006770aa8f (patch)
treefc4ec1f7317be30bafa6b06c3032eaa117413708
parentfc60b23c788601d1d44ac01dd20fa9f2eded51d6 (diff)
downloadaspectj-ac617315a816e78b45da02ce4cc9bc006770aa8f.tar.gz
aspectj-ac617315a816e78b45da02ce4cc9bc006770aa8f.zip
271201: inpath handles for jars
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/ShadowMunger.java20
1 files changed, 12 insertions, 8 deletions
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/ShadowMunger.java b/org.aspectj.matcher/src/org/aspectj/weaver/ShadowMunger.java
index 0500d6f09..39cac57c3 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/ShadowMunger.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/ShadowMunger.java
@@ -178,16 +178,20 @@ public abstract class ShadowMunger implements PartialOrder.PartialComparable, IH
private File getBinaryFile() {
if (binaryFile == null) {
String s = getDeclaringType().getBinaryPath();
- File f = getDeclaringType().getSourceLocation().getSourceFile();
- // Replace the source file suffix with .class
- int i = f.getPath().lastIndexOf('.');
- String path = null;
- if (i != -1) {
- path = f.getPath().substring(0, i) + ".class";
+ if (s.indexOf("!")==-1) {
+ File f = getDeclaringType().getSourceLocation().getSourceFile();
+ // Replace the source file suffix with .class
+ int i = f.getPath().lastIndexOf('.');
+ String path = null;
+ if (i != -1) {
+ path = f.getPath().substring(0, i) + ".class";
+ } else {
+ path = f.getPath() + ".class";
+ }
+ binaryFile = new File(s + "!" + path);
} else {
- path = f.getPath() + ".class";
+ binaryFile = new File(s);
}
- binaryFile = new File(s + "!" + path);
}
return binaryFile;
}