Skip to content
This repository was archived by the owner on Feb 17, 2022. It is now read-only.

Commit b1190e3

Browse files
committed
More constructors
1 parent c147b06 commit b1190e3

File tree

6 files changed

+53
-4
lines changed

6 files changed

+53
-4
lines changed

src/main/java/io/github/seggan/javaclasslib/constantpool/ClassEntry.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@ public ClassEntry(List<ConstantPoolEntry> constantPool, UTF8Entry name) {
1414
this.name = name;
1515
}
1616

17-
/**
18-
* Creates the {@link UTF8Entry} for the user
19-
*/
2017
public ClassEntry(List<ConstantPoolEntry> constantPool, String name) {
2118
this(constantPool, new UTF8Entry(constantPool, name));
2219
}

src/main/java/io/github/seggan/javaclasslib/constantpool/NameAndTypeEntry.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ public NameAndTypeEntry(List<ConstantPoolEntry> constantPool, UTF8Entry name, UT
1616
this.descriptor = descriptor;
1717
}
1818

19+
public NameAndTypeEntry(List<ConstantPoolEntry> constantPool, String name, String descriptor) {
20+
this(constantPool, new UTF8Entry(constantPool, name), new UTF8Entry(constantPool, descriptor));
21+
}
22+
1923
@Nonnull
2024
@Override
2125
public byte[] getBytes() {

src/main/java/io/github/seggan/javaclasslib/constantpool/classmembers/ClassMemberEntry.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,24 @@ abstract class ClassMemberEntry extends ConstantPoolEntry {
1414
private final ClassEntry clazz;
1515
private final NameAndTypeEntry nameAndType;
1616

17-
public ClassMemberEntry(List<ConstantPoolEntry> constantPool, ConstantPoolTag key, ClassEntry clazz, NameAndTypeEntry nameAndType) {
17+
protected ClassMemberEntry(List<ConstantPoolEntry> constantPool, ConstantPoolTag key, ClassEntry clazz, NameAndTypeEntry nameAndType) {
1818
super(constantPool, key);
1919
this.clazz = clazz;
2020
this.nameAndType = nameAndType;
2121
}
2222

23+
protected ClassMemberEntry(List<ConstantPoolEntry> constantPool, ConstantPoolTag key, ClassEntry clazz, String name, String descriptor) {
24+
this(constantPool, key, clazz, new NameAndTypeEntry(constantPool, name, descriptor));
25+
}
26+
27+
protected ClassMemberEntry(List<ConstantPoolEntry> constantPool, ConstantPoolTag key, String clazz, NameAndTypeEntry nameAndType) {
28+
this(constantPool, key, new ClassEntry(constantPool, clazz), nameAndType);
29+
}
30+
31+
protected ClassMemberEntry(List<ConstantPoolEntry> constantPool, ConstantPoolTag key, String clazz, String name, String descriptor) {
32+
this(constantPool, key, new ClassEntry(constantPool, clazz), new NameAndTypeEntry(constantPool, name, descriptor));
33+
}
34+
2335
@Nonnull
2436
@Override
2537
public final byte[] getBytes() {

src/main/java/io/github/seggan/javaclasslib/constantpool/classmembers/FieldrefEntry.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,16 @@ public final class FieldrefEntry extends ClassMemberEntry {
1212
public FieldrefEntry(List<ConstantPoolEntry> constantPool, ClassEntry clazz, NameAndTypeEntry nameAndType) {
1313
super(constantPool, ConstantPoolTag.FIELDREF, clazz, nameAndType);
1414
}
15+
16+
public FieldrefEntry(List<ConstantPoolEntry> constantPool, ClassEntry clazz, String name, String descriptor) {
17+
super(constantPool, ConstantPoolTag.FIELDREF, clazz, name, descriptor);
18+
}
19+
20+
public FieldrefEntry(List<ConstantPoolEntry> constantPool, String clazz, NameAndTypeEntry nameAndType) {
21+
super(constantPool, ConstantPoolTag.FIELDREF, clazz, nameAndType);
22+
}
23+
24+
public FieldrefEntry(List<ConstantPoolEntry> constantPool, String clazz, String name, String descriptor) {
25+
super(constantPool, ConstantPoolTag.FIELDREF, clazz, name, descriptor);
26+
}
1527
}

src/main/java/io/github/seggan/javaclasslib/constantpool/classmembers/InterfaceMethodrefEntry.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,16 @@ public final class InterfaceMethodrefEntry extends ClassMemberEntry {
1212
public InterfaceMethodrefEntry(List<ConstantPoolEntry> constantPool, ClassEntry clazz, NameAndTypeEntry nameAndType) {
1313
super(constantPool, ConstantPoolTag.INTERFACE_METHODREF, clazz, nameAndType);
1414
}
15+
16+
public InterfaceMethodrefEntry(List<ConstantPoolEntry> constantPool, ClassEntry clazz, String name, String descriptor) {
17+
super(constantPool, ConstantPoolTag.INTERFACE_METHODREF, clazz, name, descriptor);
18+
}
19+
20+
public InterfaceMethodrefEntry(List<ConstantPoolEntry> constantPool, String clazz, NameAndTypeEntry nameAndType) {
21+
super(constantPool, ConstantPoolTag.INTERFACE_METHODREF, clazz, nameAndType);
22+
}
23+
24+
public InterfaceMethodrefEntry(List<ConstantPoolEntry> constantPool, String clazz, String name, String descriptor) {
25+
super(constantPool, ConstantPoolTag.INTERFACE_METHODREF, clazz, name, descriptor);
26+
}
1527
}

src/main/java/io/github/seggan/javaclasslib/constantpool/classmembers/MethodrefEntry.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,16 @@ public final class MethodrefEntry extends ClassMemberEntry {
1212
public MethodrefEntry(List<ConstantPoolEntry> constantPool, ClassEntry clazz, NameAndTypeEntry nameAndType) {
1313
super(constantPool, ConstantPoolTag.METHODREF, clazz, nameAndType);
1414
}
15+
16+
public MethodrefEntry(List<ConstantPoolEntry> constantPool, ClassEntry clazz, String name, String descriptor) {
17+
super(constantPool, ConstantPoolTag.METHODREF, clazz, name, descriptor);
18+
}
19+
20+
public MethodrefEntry(List<ConstantPoolEntry> constantPool, String clazz, NameAndTypeEntry nameAndType) {
21+
super(constantPool, ConstantPoolTag.METHODREF, clazz, nameAndType);
22+
}
23+
24+
public MethodrefEntry(List<ConstantPoolEntry> constantPool, String clazz, String name, String descriptor) {
25+
super(constantPool, ConstantPoolTag.METHODREF, clazz, name, descriptor);
26+
}
1527
}

0 commit comments

Comments
 (0)