From: aclement Date: Tue, 7 Apr 2009 22:20:27 +0000 (+0000) Subject: 271201: inpath handles for jars X-Git-Tag: V1_6_5~76 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ac617315a816e78b45da02ce4cc9bc006770aa8f;p=aspectj.git 271201: inpath handles for jars --- 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; }