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

View file

@ -29,4 +29,9 @@ public class DoubleEntry extends LeafEntry {
public int hashCode() {
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;
public DynamicEntry(int bootstrapMethodIndex, NameAndTypeEntry nameAndType) {
super(nameAndType); // TODO
this.bootstrapMethodIndex = bootstrapMethodIndex;
this.nameAndType = nameAndType;
}
@ -34,4 +35,12 @@ public class DynamicEntry extends ConstantPoolEntry {
// public int hashCode() {
// 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
public String toString() {
return "FieldRefEntry{" +
"classIndex=" + getClassIndex() +
", nameAndTypeIndex=" + getNameAndTypeIndex() +
'}';
return "FieldRef\t#" + getClassIndex() +
".#=" + getNameAndTypeIndex() +"\t// "+classEntry.getName()+'.'+nameAndTypeEntry.toString();
}
@Override

View file

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

View file

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

View file

@ -41,4 +41,11 @@ public class InterfaceMethodRefEntry extends ConstantPoolEntry {
public int hashCode() {
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;
public InvokeDynamicEntry(int bootstrapMethodAttrIndex, NameAndTypeEntry nameAndTypeEntry) {
super( nameAndTypeEntry); //TODO /* bootstrapMethodAttrIndex */,
this.bootstrapMethodAttrIndex = bootstrapMethodAttrIndex;
this.nameAndTypeEntry = nameAndTypeEntry;
}
@ -14,10 +15,8 @@ public class InvokeDynamicEntry extends ConstantPoolEntry {
@Override
public String toString() {
return "InvokeDynamicEntry{" +
"bootstrapMethodAttrIndex=" + bootstrapMethodAttrIndex +
", nameAndTypeIndex=" + nameAndTypeEntry.getIndex() +
'}';
return "InvokeDynamic\tbootstrapMethodAttrIndex=" + bootstrapMethodAttrIndex +
", nameAndTypeIndex=" + nameAndTypeEntry.getIndex();
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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