コード例 #1
0
  /** Print InnerClass attribute information. */
  public void printInnerClasses() { // throws ioexception

    InnerClassData[] innerClasses = cls.getInnerClasses();
    if (innerClasses != null) {
      if (innerClasses.length > 0) {
        out.print("  ");
        out.println("InnerClass: ");
        for (int i = 0; i < innerClasses.length; i++) {
          out.print("   ");
          // access
          String[] accflags = innerClasses[i].getAccess();
          if (checkAccess(accflags)) {
            printAccess(accflags);
            if (innerClasses[i].inner_name_index != 0) {
              out.print("#" + innerClasses[i].inner_name_index + "= ");
            }
            out.print("#" + innerClasses[i].inner_class_info_index);
            if (innerClasses[i].outer_class_info_index != 0) {
              out.print(" of #" + innerClasses[i].outer_class_info_index);
            }
            out.print("; //");
            if (innerClasses[i].inner_name_index != 0) {
              out.print(cls.getName(innerClasses[i].inner_name_index) + "=");
            }
            PrintConstant(innerClasses[i].inner_class_info_index);
            if (innerClasses[i].outer_class_info_index != 0) {
              out.print(" of ");
              PrintConstant(innerClasses[i].outer_class_info_index);
            }
            out.println();
          }
        }
      }
    }
  }