From ac617315a816e78b45da02ce4cc9bc006770aa8f Mon Sep 17 00:00:00 2001 From: aclement Date: Tue, 7 Apr 2009 22:20:27 +0000 Subject: [PATCH] 271201: inpath handles for jars --- .../src/org/aspectj/weaver/ShadowMunger.java | 20 +++++++++++-------- 1 file 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; } -- 2.39.5