コード例 #1
0
 /** Print class attribute information. */
 public void printClassAttributes() {
   out.println();
   AttrData[] clsattrs = cls.getAttributes();
   for (int i = 0; i < clsattrs.length; i++) {
     String clsattrname = clsattrs[i].getAttrName();
     if (clsattrname.equals("SourceFile")) {
       out.println("  SourceFile: " + cls.getSourceName());
     } else if (clsattrname.equals("InnerClasses")) {
       printInnerClasses();
     } else {
       printAttrData(clsattrs[i]);
     }
   }
 }
コード例 #2
0
  /** Print a description of the class (not members). */
  public void printclassHeader() {
    String srcName = "";
    if ((srcName = cls.getSourceName()) != "null") // requires debug info
    out.println("Compiled from " + javaclassname(srcName));

    if (cls.isInterface()) {
      // The only useful access modifier of an interface is
      // public; interfaces are always marked as abstract and
      // cannot be final.
      out.print(
          (cls.isPublic() ? "public " : "") + "interface " + javaclassname(cls.getClassName()));
    } else if (cls.isClass()) {
      String[] accflags = cls.getAccess();
      printAccess(accflags);
      out.print("class " + javaclassname(cls.getClassName()));

      if (cls.getSuperClassName() != null) {
        out.print(" extends " + javaclassname(cls.getSuperClassName()));
      }
    }

    String[] interfacelist = cls.getSuperInterfaces();
    if (interfacelist.length > 0) {
      if (cls.isClass()) {
        out.print(" implements ");
      } else if (cls.isInterface()) {
        out.print(" extends ");
      }

      for (int j = 0; j < interfacelist.length; j++) {
        out.print(javaclassname(interfacelist[j]));

        if ((j + 1) < interfacelist.length) {
          out.print(",");
        }
      }
    }

    // Print class attribute information.
    if ((env.showallAttr) || (env.showVerbose)) {
      printClassAttributes();
    }
    // Print verbose output.
    if (env.showVerbose) {
      printverbosecls();
    }
    out.println("{");
  }