updated toString to make it sort off javap-ish

This commit is contained in:
Sander Hautvast 2020-11-10 21:12:35 +01:00
parent 78cfcd411f
commit 04b71c4e5b
17 changed files with 72 additions and 61 deletions

View file

@ -17,9 +17,7 @@ public class ClassEntry extends ConstantPoolEntry {
@Override @Override
public String toString() { public String toString() {
return "ClassEntry{" + return "Class\t\t#" + getNameIndex() + "\t\t// " + name.getUtf8();
"nameIndex=" + getNameIndex() +
'}';
} }
@Override @Override
@ -39,4 +37,8 @@ public class ClassEntry extends ConstantPoolEntry {
public int hashCode() { public int hashCode() {
return Objects.hash(name); return Objects.hash(name);
} }
public String getName() {
return name.getUtf8();
}
} }

View file

@ -29,4 +29,9 @@ public class DoubleEntry extends LeafEntry {
public int hashCode() { public int hashCode() {
return Objects.hash(doubleVal); return Objects.hash(doubleVal);
} }
@Override
public String toString() {
return "Double\t\t" +doubleVal;
}
} }

View file

@ -8,6 +8,7 @@ public class DynamicEntry extends ConstantPoolEntry {
private final NameAndTypeEntry nameAndType; private final NameAndTypeEntry nameAndType;
public DynamicEntry(int bootstrapMethodIndex, NameAndTypeEntry nameAndType) { public DynamicEntry(int bootstrapMethodIndex, NameAndTypeEntry nameAndType) {
super(nameAndType); // TODO
this.bootstrapMethodIndex = bootstrapMethodIndex; this.bootstrapMethodIndex = bootstrapMethodIndex;
this.nameAndType = nameAndType; this.nameAndType = nameAndType;
} }
@ -34,4 +35,12 @@ public class DynamicEntry extends ConstantPoolEntry {
// public int hashCode() { // public int hashCode() {
// return Objects.hash(bootstrapMethodIndex, nameAndType); // return Objects.hash(bootstrapMethodIndex, nameAndType);
// } // }
@Override
public String toString() {
return "DynamicEntry{" +
"bootstrapMethodIndex=" + bootstrapMethodIndex +
", nameAndType=" + nameAndType +
'}';
}
} }

View file

@ -24,10 +24,9 @@ public class FieldRefEntry extends ConstantPoolEntry {
@Override @Override
public String toString() { public String toString() {
return "FieldRefEntry{" + return "FieldRef\t#" + getClassIndex() +
"classIndex=" + getClassIndex() + ".#=" + getNameAndTypeIndex() +"\t// "+classEntry.getName()+'.'+nameAndTypeEntry.toString();
", nameAndTypeIndex=" + getNameAndTypeIndex() +
'}';
} }
@Override @Override

View file

@ -13,9 +13,7 @@ public class FloatEntry extends LeafEntry {
@Override @Override
public String toString() { public String toString() {
return "FloatEntry{" + return "Float\t\t" +floatVal;
"floatVal=" + floatVal +
'}';
} }
@Override @Override

View file

@ -13,9 +13,7 @@ public class IntegerEntry extends LeafEntry {
@Override @Override
public String toString() { public String toString() {
return "IntEntry{" + return "Integer\t\t"+intVal;
"intVal=" + intVal +
'}';
} }
@Override @Override

View file

@ -41,4 +41,11 @@ public class InterfaceMethodRefEntry extends ConstantPoolEntry {
public int hashCode() { public int hashCode() {
return Objects.hash(classEntry, nameAndTypeEntry); return Objects.hash(classEntry, nameAndTypeEntry);
} }
@Override
public String toString() {
return "InterfaceMethodRef\t#" + getClassIndex()
+".#" + getNameAndTypeIndex() +"\t// "+classEntry.getName()+"."+nameAndTypeEntry.getName()+":"+nameAndTypeEntry.getType();
}
} }

View file

@ -7,6 +7,7 @@ public class InvokeDynamicEntry extends ConstantPoolEntry {
private final NameAndTypeEntry nameAndTypeEntry; private final NameAndTypeEntry nameAndTypeEntry;
public InvokeDynamicEntry(int bootstrapMethodAttrIndex, NameAndTypeEntry nameAndTypeEntry) { public InvokeDynamicEntry(int bootstrapMethodAttrIndex, NameAndTypeEntry nameAndTypeEntry) {
super( nameAndTypeEntry); //TODO /* bootstrapMethodAttrIndex */,
this.bootstrapMethodAttrIndex = bootstrapMethodAttrIndex; this.bootstrapMethodAttrIndex = bootstrapMethodAttrIndex;
this.nameAndTypeEntry = nameAndTypeEntry; this.nameAndTypeEntry = nameAndTypeEntry;
} }
@ -14,10 +15,8 @@ public class InvokeDynamicEntry extends ConstantPoolEntry {
@Override @Override
public String toString() { public String toString() {
return "InvokeDynamicEntry{" + return "InvokeDynamic\tbootstrapMethodAttrIndex=" + bootstrapMethodAttrIndex +
"bootstrapMethodAttrIndex=" + bootstrapMethodAttrIndex + ", nameAndTypeIndex=" + nameAndTypeEntry.getIndex();
", nameAndTypeIndex=" + nameAndTypeEntry.getIndex() +
'}';
} }

View file

@ -13,9 +13,7 @@ public class LongEntry extends LeafEntry {
@Override @Override
public String toString() { public String toString() {
return "LongEntry{" + return "Long\t\t" + longVal;
"longVal=" + longVal +
'}';
} }
@Override @Override

View file

@ -12,15 +12,13 @@ public class MethodHandleEntry extends ConstantPoolEntry {
private InterfaceMethodRefEntry interfaceMethodRefEntry; private InterfaceMethodRefEntry interfaceMethodRefEntry;
public MethodHandleEntry(int referenceKind) { public MethodHandleEntry(int referenceKind) {
// super() TODO
this.referenceKind = referenceKind; this.referenceKind = referenceKind;
} }
@Override @Override
public String toString() { public String toString() {
return "MethodHandleEntry{" + return "MethodHandle \treferenceKind=" + referenceKind + ", #" + getReferenceIndex() ;//TODO
"referenceKind=" + referenceKind +
", referenceIndex=" + getReferenceIndex() +
'}';
} }
private int getReferenceIndex() { private int getReferenceIndex() {

View file

@ -43,10 +43,8 @@ public class MethodRefEntry extends ConstantPoolEntry {
@Override @Override
public String toString() { public String toString() {
return "MethodRefEntry{" + return "MethodRef \t#" + getClassIndex() + ".#" + getNameAndTypeIndex() +
"classIndex=" + getClassIndex() + "\t// " + classRef.getName() + '.' + nameAndType.getName() + ':' + nameAndType.getType();
", nameAndTypeIndex=" + getNameAndTypeIndex() +
'}';
} }

View file

@ -8,9 +8,14 @@ public class MethodTypeEntry extends ConstantPoolEntry {
private final Utf8Entry methodDescriptor; private final Utf8Entry methodDescriptor;
public MethodTypeEntry(Utf8Entry methodDescriptor) { public MethodTypeEntry(Utf8Entry methodDescriptor) {
super(methodDescriptor);
this.methodDescriptor = methodDescriptor; this.methodDescriptor = methodDescriptor;
} }
public int getMethodDescriptorIndex() {
return methodDescriptor.getIndex();
}
public byte[] getBytes() { public byte[] getBytes() {
return new byte[]{TAG}; return new byte[]{TAG};
} }
@ -30,8 +35,6 @@ public class MethodTypeEntry extends ConstantPoolEntry {
@Override @Override
public String toString() { public String toString() {
return "MethodTypeEntry{" + return "MethodType\t#" + getMethodDescriptorIndex() + "\t\t// "+methodDescriptor.getUtf8();
"methodDescriptor=" + methodDescriptor +
'}';
} }
} }

View file

@ -36,8 +36,6 @@ public class ModuleEntry extends ConstantPoolEntry {
@Override @Override
public String toString() { public String toString() {
return "ModuleEntry{" + return "Module\t\t#" + getNameIndex() +"\t\t // "+ nameEntry.getUtf8();
"nameEntryIndex" + getNameIndex() +
'}';
} }
} }

View file

@ -13,11 +13,18 @@ public final class NameAndTypeEntry extends ConstantPoolEntry {
this.descriptor = descriptor; this.descriptor = descriptor;
} }
public int getNameIndex() { public int getNameIndex() {
return name.getIndex(); return name.getIndex();
} }
public String getName() {
return name.getUtf8();
}
public String getType(){
return descriptor.getUtf8();
}
public int getDescriptorIndex() { public int getDescriptorIndex() {
return descriptor.getIndex(); return descriptor.getIndex();
} }
@ -42,10 +49,7 @@ public final class NameAndTypeEntry extends ConstantPoolEntry {
@Override @Override
public String toString() { public String toString() {
return "NameAndTypeEntry{" + return "NameAndType\t#" + getNameIndex() + ":#" + getDescriptorIndex() +"\t// "+getName()+":"+getType();
"nameIndex=" + getNameIndex() +
", typeIndex=" + getDescriptorIndex() +
'}';
} }
} }

View file

@ -4,15 +4,15 @@ import java.util.Objects;
public final class PackageEntry extends ConstantPoolEntry { public final class PackageEntry extends ConstantPoolEntry {
private static final byte TAG = 20; private static final byte TAG = 20;
private final Utf8Entry name; private final Utf8Entry nameEntry;
public PackageEntry(Utf8Entry name) { public PackageEntry(Utf8Entry nameEntry) {
super(name); super(nameEntry);
this.name = name; this.nameEntry = nameEntry;
} }
public int getNameIndex() { public int getNameIndex() {
return name.getIndex(); return nameEntry.getIndex();
} }
public byte[] getBytes() { public byte[] getBytes() {
@ -24,18 +24,16 @@ public final class PackageEntry extends ConstantPoolEntry {
if (this == o) return true; if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false; if (o == null || getClass() != o.getClass()) return false;
PackageEntry that = (PackageEntry) o; PackageEntry that = (PackageEntry) o;
return name.equals(that.name); return nameEntry.equals(that.nameEntry);
} }
@Override @Override
public int hashCode() { public int hashCode() {
return Objects.hash(name); return Objects.hash(nameEntry);
} }
@Override @Override
public String toString() { public String toString() {
return "PackageEntry{" + return "Package\t\t#" + getNameIndex() + "\t\t // " + nameEntry.getUtf8();
"nameIndex=" + getNameIndex() +
'}';
} }
} }

View file

@ -4,14 +4,15 @@ import java.util.Objects;
public final class StringEntry extends ConstantPoolEntry { public final class StringEntry extends ConstantPoolEntry {
private static final byte TAG = 8; private static final byte TAG = 8;
private final Utf8Entry utf8; private final Utf8Entry utf8Entry;
public StringEntry(Utf8Entry utf8) { public StringEntry(Utf8Entry utf8Entry) {
this.utf8 = utf8; super(utf8Entry);
this.utf8Entry = utf8Entry;
} }
public int getUtf8Index() { public int getUtf8Index() {
return utf8.getIndex(); return utf8Entry.getIndex();
} }
public byte[] getBytes() { public byte[] getBytes() {
@ -23,18 +24,16 @@ public final class StringEntry extends ConstantPoolEntry {
if (this == o) return true; if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false; if (o == null || getClass() != o.getClass()) return false;
StringEntry that = (StringEntry) o; StringEntry that = (StringEntry) o;
return utf8.equals(that.utf8); return utf8Entry.equals(that.utf8Entry);
} }
@Override @Override
public int hashCode() { public int hashCode() {
return Objects.hash(utf8); return Objects.hash(utf8Entry);
} }
@Override @Override
public String toString() { public String toString() {
return "StringEntry{" + return "String\t\t#" + getUtf8Index() +"\t\t // "+ utf8Entry.getUtf8();
"utf8Index=" + getUtf8Index() +
'}';
} }
} }

View file

@ -40,8 +40,6 @@ public final class Utf8Entry extends LeafEntry {
@Override @Override
public String toString() { public String toString() {
return "Utf8Entry{" + return "Utf8\t\t\t" + value;
"value='" + value + '\'' +
'}';
} }
} }