public Type.Class getType() { return thisType; }
public int getFlags() { return flags; }
- String debugToString() { return debugToString(new StringBuffer(4096)).toString(); }
- StringBuffer debugToString(StringBuffer sb) {
+ public String toString() { return toString(new StringBuffer(4096)).toString(); }
+ StringBuffer toString(StringBuffer sb) {
sb.append(flagsToString(flags,true));
sb.append((flags & INTERFACE) != 0 ? "interface " : "class ");
- sb.append(thisType.debugToString());
- if (superType != null) sb.append(" extends " + superType.debugToString());
+ sb.append(thisType.toString());
+ if (superType != null) sb.append(" extends " + superType.toString());
if (interfaces != null && interfaces.length > 0) sb.append(" implements");
- for(int i=0; i<interfaces.length; i++) sb.append((i==0?" ":", ")+interfaces[i].debugToString());
+ for(int i=0; i<interfaces.length; i++) sb.append((i==0?" ":", ")+interfaces[i].toString());
sb.append(" {");
sb.append(" // v"+major+"."+minor);
ConstantPool.Utf8Key sourceFile = (ConstantPool.Utf8Key) attrs.get("SourceFile");
sb.append("\n");
for(int i=0; i<fields.size(); i++) {
sb.append(" ");
- ((FieldGen)fields.elementAt(i)).debugToString(sb);
+ ((FieldGen)fields.elementAt(i)).toString(sb);
sb.append("\n");
}
for(int i=0; i<methods.size(); i++) {
- ((MethodGen)methods.elementAt(i)).debugToString(sb,thisType.getShortName());
+ ((MethodGen)methods.elementAt(i)).toString(sb,thisType.getShortName());
sb.append("\n");
}
sb.append("}");
}
else if (args.length==1) {
if (args[0].endsWith(".class")) {
- System.out.println(new ClassFile(new DataInputStream(new FileInputStream(args[0]))).debugToString());
+ System.out.println(new ClassFile(new DataInputStream(new FileInputStream(args[0]))).toString());
} else {
InputStream is = Class.forName(args[0]).getClassLoader().getResourceAsStream(args[0].replace('.', '/')+".class");
- System.out.println(new ClassFile(new DataInputStream(is)).debugToString());
+ System.out.println(new ClassFile(new DataInputStream(is)).toString());
}
} else {
/*
Object key;
Ent(int tag) { this.tag = tag; }
void dump(DataOutput o) throws IOException { o.writeByte(tag); }
- String debugToString() { return toString(); } // so we can remove this method when not debugging
abstract Object _key();
final Object key() { return key == null ? (key = _key()) : key; }
int slots() { return 1; } // number of slots this ent takes up
String s;
Utf8Ent() { super(CONSTANT_UTF8); }
Utf8Ent(String s) { this(); this.s = s; }
- String debugToString() { return s; }
+ public String toString() { return s; }
void dump(DataOutput o) throws IOException { super.dump(o); o.writeUTF(s); }
Object _key() { return new Utf8Key(s); }
}
Type.Class getTypeClass() { return (Type.Class) key(); }
Object _key() { return Type.Class.instance(utf8.s); }
void unref() { utf8.unref(); super.unref(); }
- String debugToString() { return "[Class: " + utf8.s + "]"; }
+ public String toString() { return "[Class: " + utf8.s + "]"; }
}
class NameAndTypeEnt extends Ent {
String getUtf8KeyByIndex(int index) {
Ent e = getByIndex(index);
- if(!(e instanceof Utf8Ent)) throw new IllegalArgumentException("that isn't a utf8 (" + e.debugToString() + ")");
+ if(!(e instanceof Utf8Ent)) throw new IllegalArgumentException("that isn't a utf8 (" + e.toString() + ")");
return ((Utf8Ent)e).s;
}
Sort.sort(ents, compareFunc);
o.writeShort(usedSlots);
for(int i=0;i<ents.length;i++) {
- //System.err.println("" + ents[i].n + ": " + ents[i].debugToString());
+ //System.err.println("" + ents[i].n + ": " + ents[i].toString());
ents[i].dump(o);
}
}
@see ClassFile#addField */
public class FieldGen extends Type.Class.Field.Body {
- StringBuffer debugToString(StringBuffer sb) {
+ StringBuffer toString(StringBuffer sb) {
sb.append(ClassFile.flagsToString(flags, false));
- sb.append(getField().getType().debugToString());
+ sb.append(getField().getType().toString());
sb.append(" ");
sb.append(getField().getName());
if (attrs.contains("ConstantValue")) sb.append(" = \"").append(attrs.get("ConstantValue")).append("\"");
public static void main(String[] args) throws Exception {
InputStream is = Class.forName(args[0]).getClassLoader().getResourceAsStream(args[0].replace('.', '/')+".class");
- System.out.println(new ClassFile(new DataInputStream(is), true).debugToString());
+ System.out.println(new ClassFile(new DataInputStream(is), true).toString());
}
}
sb.append(i).append(": ");
sb.append(OP_NAMES[op[i]&0xff]);
String s = null;
- if (arg[i] instanceof Type) s = ((Type)arg[i]).debugToString();
- else if (arg[i] instanceof Type.Class.Member) s = ((Type.Class.Member)arg[i]).debugToString();
+ if (arg[i] instanceof Type) s = ((Type)arg[i]).toString();
+ else if (arg[i] instanceof Type.Class.Member) s = ((Type.Class.Member)arg[i]).toString();
else if (arg[i] instanceof String) s = "\"" + s + "\"";
else if (arg[i] != null) s = arg[i].toString();
if (s != null) sb.append(" ").append(s);
return new Type.Class(d);
}
- public final String toString() { return super.toString(); }
- public abstract String debugToString();
-
public final String getDescriptor() { return descriptor; }
public Type.Array makeArray() { return (Type.Array)Type.fromDescriptor("["+descriptor); }
super(descriptor);
this.humanReadable = humanReadable;
}
- public String debugToString() { return humanReadable; }
+ public String toString() { return humanReadable; }
public boolean isPrimitive() { return true; }
}
public abstract static class Ref extends Type {
protected Ref(String descriptor) { super(descriptor); }
- public abstract String debugToString();
+ public abstract String toString();
public Type.Ref asRef() { return this; }
public boolean isRef() { return true; }
}
protected Array(Type t) { super("[" + t.getDescriptor()); base = t; }
public Type.Array asArray() { return this; }
public boolean isArray() { return true; }
- public String debugToString() { return base.debugToString() + "[]"; }
+ public String toString() { return base.toString() + "[]"; }
public Type getElementType() { return Type.fromDescriptor(getDescriptor().substring(0, getDescriptor().length()-1)); }
}
return cf.superType.extendsOrImplements(c, cx);
}
String internalForm() { return descriptor.substring(1, descriptor.length()-1); }
- public String debugToString() { return internalForm().replace('/','.'); }
+ public String toString() { return internalForm().replace('/','.'); }
public String getName() { return internalForm().replace('/','.'); }
public String getShortName() {
int p = descriptor.lastIndexOf('/');
public Type.Class getDeclaringClass() { return Type.Class.this; }
public String getName() { return name; }
public abstract String getTypeDescriptor();
- public abstract String debugToString();
+ public abstract String toString();
}
public class Field extends Member {
private Field(String name, Type t) { super(name); this.type = t; }
public String getTypeDescriptor() { return type.getDescriptor(); }
public Type getType() { return type; }
- public String debugToString() { return getDeclaringClass().debugToString()+"."+name+"["+type.debugToString()+"]"; }
+ public String toString() { return getDeclaringClass().toString()+"."+name+"["+type.toString()+"]"; }
public class Body extends HasAttributes {
public Field getField() { return Field.this; }
public Body(int flags, ClassFile.AttrGen attrs) {
}
public boolean isConstructor() { return getName().equals("<init>"); }
public boolean isClassInitializer() { return getName().equals("<clinit>"); }
- public String debugToString() {
+ public String toString() {
StringBuffer sb = new StringBuffer();
if (name.equals("<clinit>")) sb.append("static ");
else {
if (name.equals("<init>"))
sb.append(Class.this.getShortName());
else
- sb.append(returnType.debugToString()).append(".").append(name);
+ sb.append(returnType.toString()).append(".").append(name);
sb.append("(");
for(int i=0; i<argTypes.length; i++)
- sb.append((i==0?"":", ")+argTypes[i].debugToString());
+ sb.append((i==0?"":", ")+argTypes[i].toString());
sb.append(") ");
}
return sb.toString();
super(flags, attrs);
if ((flags & ~VALID_METHOD_FLAGS) != 0) throw new IllegalArgumentException("invalid flags");
}
- public void debugToString(StringBuffer sb, String constructorName) {
+ public void toString(StringBuffer sb, String constructorName) {
int flags = getFlags();
sb.append(" ").append(ClassFile.flagsToString(flags,false));
- sb.append(Method.this.debugToString());
+ sb.append(Method.this.toString());
java.util.Hashtable thrownExceptions = getThrownExceptions();
if (thrownExceptions.size() > 0) {
sb.append("throws");
for(java.util.Enumeration e = thrownExceptions.keys();e.hasMoreElements();)
- sb.append(" ").append(((Type.Class)e.nextElement()).debugToString()).append(",");
+ sb.append(" ").append(((Type.Class)e.nextElement()).toString()).append(",");
sb.setLength(sb.length()-1);
sb.append(" ");
}