Skip to content
This repository was archived by the owner on May 12, 2024. It is now read-only.

Commit 0c3db9a

Browse files
committed
Tweaks
1 parent e47c9ef commit 0c3db9a

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

src/main/java/net/raphimc/javadowngrader/transformer/DowngradingTransformer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ public void transform(final ClassNode classNode) {
7474

7575
this.preTransform(classNode);
7676

77+
int bridge = 100;
78+
7779
if (!this.methodCallReplacers.isEmpty()) {
7880
for (MethodNode methodNode : new ArrayList<>(classNode.methods)) {
7981
for (AbstractInsnNode insn : methodNode.instructions.toArray()) {
@@ -105,7 +107,7 @@ public void transform(final ClassNode classNode) {
105107
final String desc = handle.getTag() == Opcodes.H_INVOKESTATIC || handle.getTag() == Opcodes.H_GETSTATIC || handle.getTag() == Opcodes.H_PUTSTATIC
106108
? handle.getDesc()
107109
: "(L" + handle.getOwner() + ';' + handle.getDesc().substring(1);
108-
final MethodNode bridgeMethod = new MethodNode(Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC | Opcodes.ACC_SYNTHETIC, "javadowngrader-bridge$" + System.nanoTime(), desc, null, null);
110+
final MethodNode bridgeMethod = new MethodNode(Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC | Opcodes.ACC_SYNTHETIC, "javadowngrader-bridge$" + (bridge++), desc, null, null);
109111
final Type[] argumentTypes = Type.getArgumentTypes(desc);
110112
for (int i1 = 0; i1 < argumentTypes.length; i1++) {
111113
bridgeMethod.instructions.add(new VarInsnNode(argumentTypes[i1].getOpcode(Opcodes.ILOAD), i1));

src/main/java/net/raphimc/javadowngrader/transformer/j8/methodcallreplacer/BufferMCR.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public InsnList getReplacement(ClassNode classNode, MethodNode methodNode, Strin
3535
final String newDesc = Type.getMethodDescriptor(Type.getObjectType("java/nio/Buffer"), Type.getArgumentTypes(originalDesc));
3636

3737
final InsnList replacement = new InsnList();
38-
replacement.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, this.bufferClass, originalName, newDesc));
38+
replacement.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "java/nio/Buffer", originalName, newDesc));
3939
replacement.add(new TypeInsnNode(Opcodes.CHECKCAST, this.bufferClass));
4040
return replacement;
4141
}

0 commit comments

Comments
 (0)