public static List parseSourcePaths()

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;
  }