コード例 #1
0
ファイル: SFNode.java プロジェクト: rsvoboda/mjprof
  public String toStringMulti(int lvl, HashSet<Integer> brkPts, int countall) {

    String a = "";
    if (sf != null) { // we do not want to print the root node
      for (int i = 0; i < lvl; i++) {
        if (brkPts.contains(i)) {

          a += GREEN() + "|" + NC();
        } else a += " ";
      }
      String ch = "\\";
      if (children.size() > 1) {
        ch = "X";
        brkPts.add(lvl);
      }
      if (children.size() == 0) {
        ch = "V";
      }
      String bb = String.format("[%d/%d]", count, countall);
      a =
          String.format("%6.2f%%%10s", 100f * (float) count / countall, bb)
              + a
              + GREEN()
              + ch
              + NC()
              + " "
              + sf;
      a += "\n";
    }
    int t = 0;
    for (SFNode n : children.values()) {
      if (t == children.size() - 1) {
        brkPts.remove(lvl);
      }
      t++;
      a += n.toStringMulti(lvl + 1, brkPts, countall);
    }

    return a;
  }