Exemplo n.º 1
0
  /**
   * Print each resources with appropriate count. ie: "2 Adds" or "1 Subtract"
   *
   * @param resources resources report
   */
  private void printResource(Map resources) {
    for (Iterator iter = resources.keySet().iterator(); iter.hasNext(); ) {
      final Class<?> key = (Class<?>) iter.next();
      final Set set = (Set) resources.get(key);
      if (getLimClassName(key) == null) {
      } // must be something we arent interested in reporting
      else {
        writer.print(set.size());
        if (set.size() < 10) writer.print("    ");
        else if (set.size() < 100) writer.print("   ");
        else if (set.size() < 1000) writer.print("  ");
        else writer.print(" ");
        writer.print(getLimClassName(key));
        final Map<Integer, Set<?>> sortedByBitWidth = BitWidthFinder.sortByBitWidth(set);
        String values = "";
        for (Integer width : sortedByBitWidth.keySet()) {
          values += sortedByBitWidth.get(width).size() + "x" + width + " ";
        }
        // writer.println(set.size() > 1 ? "s":"");
        // writer.println("       " + values);
        writer.println((set.size() > 1 ? "s" : "") + " : " + values);

        if (EngineThread.getGenericJob()
            .getUnscopedBooleanOptionValue(OptionRegistry.XDETAILED_REPORT)) {
          writer.inc();
          for (Integer width : sortedByBitWidth.keySet()) {
            Set<?> comps = sortedByBitWidth.get(width);
            for (Object obj : comps) {
              if (obj instanceof Component) writer.println(showComponent((Component) obj));
              else writer.println("???");
            }
          }
          writer.dec();
        }
      }
    }
  }