/** 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]); } } }
/** 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("{"); }