Remove Reflection

This commit is contained in:
2026-06-11 23:18:22 +02:00
parent 932732737d
commit 1590f8f0ee
12 changed files with 50 additions and 104 deletions
@@ -30,11 +30,13 @@ public class ClassTransformer extends ClassVisitor {
private final String internalName;
private final List<AccessWidenerEntry> entries;
private final boolean appendPublicConstructor;
public ClassTransformer(ClassVisitor cv, String internalName, List<AccessWidenerEntry> entries) {
public ClassTransformer(ClassVisitor cv, String internalName, List<AccessWidenerEntry> entries, boolean appendPublicConstructor) {
super(Opcodes.ASM9, cv);
this.internalName = internalName;
this.entries = entries;
this.appendPublicConstructor = appendPublicConstructor;
}
@Override
@@ -44,6 +46,13 @@ public class ClassTransformer extends ClassVisitor {
if (!e.targets(internalName) || !"class".equals(e.memberType())) continue;
newAccess = applyDirective(e.directive(), newAccess, false);
}
if (appendPublicConstructor) {
MethodVisitor methodVisitor = visitMethod(Opcodes.ACC_PUBLIC, "<init>", "()V", null, null);
methodVisitor.visitMaxs(0, 0);
methodVisitor.visitCode();
methodVisitor.visitInsn(Opcodes.RETURN);
methodVisitor.visitEnd();
}
super.visit(version, newAccess, name, signature, superName, interfaces);
}