Project: AspectJ
Bug 264869 AspectJ depends on Class files having a dot in their source file name attribute
Reported: 2009-02-13 11:54:48 | Status: resolved fixed

The following code in ShadowMunger$getBinaryFile() (line 169 ff) fails if a class file does not contain a proper source file name: if (binaryFile == null) { String s = getDeclaringType().getBinaryPath(); File f = getDeclaringType().getSourceLocation().getSourceFile(); int i = f.getPath().lastIndexOf('.'); String path = f.getPath().substring(0, i) + ".class"; binaryFile = new File(s + "!" + path); } (there is no '.' in the file name, thus this gives a string index out of bounds error).

Files changed in fix:
org.aspectj.matcher/src/org/aspectj/weaver/ShadowMunger.java