in util/src/com/intellij/rt/coverage/instrumentation/JSR45Util.java [182:208]
public static List<String> parseSourcePaths(String debug) {
if (!isSmap(debug)) return Collections.emptyList();
String[] fileNameIdx = getFileSectionLines(debug, debug.indexOf(FILE_SECTION), debug.indexOf(LINE_SECTION));
List<String> paths = new ArrayList<String>();
for (int i = 0; i < fileNameIdx.length; i++) {
String fileName = fileNameIdx[i];
String idAndName = fileName;
String path = null;
if (fileName.startsWith("+ ")) {
idAndName = fileName.substring(2);
path = fileNameIdx[++i];
}
int idx = idAndName.indexOf(" ");
String currentClassName = idAndName.substring(idx + 1);
if (path == null) {
path = currentClassName;
} else {
path = processRelative(path);
int lastSlashIdx = path.lastIndexOf("/");
if (lastSlashIdx > 0) {
path = path.substring(0, ++lastSlashIdx) + currentClassName;
}
}
paths.add(path);
}
return paths;
}