From 19430cb7380fd323dbb6b85a2fdb9e32f2c68671 Mon Sep 17 00:00:00 2001 From: KabanFriends Date: Mon, 14 Mar 2022 17:06:38 +0900 Subject: [PATCH 1/2] Fix #87 --- .../java/net/fabricmc/tinyremapper/AsmClassRemapper.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/net/fabricmc/tinyremapper/AsmClassRemapper.java b/src/main/java/net/fabricmc/tinyremapper/AsmClassRemapper.java index cca49f5b..c624d1da 100644 --- a/src/main/java/net/fabricmc/tinyremapper/AsmClassRemapper.java +++ b/src/main/java/net/fabricmc/tinyremapper/AsmClassRemapper.java @@ -254,6 +254,14 @@ public void visitMethodInsn(int opcode, String owner, String name, String descri PackageAccessChecker.checkMember(this.owner, owner, name, descriptor, TrMember.MemberType.METHOD, "method instruction", (AsmRemapper) remapper); } + AsmRemapper asmRemapper = ((AsmRemapper) remapper); + for (ClassInstance checkClass = asmRemapper.getClass(owner); checkClass != null; checkClass = checkClass.getSuperClass()) { + if(checkClass.getMethod(name, descriptor) != null) { + owner = checkClass.getName(); + break; + } + } + super.visitMethodInsn(opcode, owner, name, descriptor, isInterface); } From ec8f26cc39954d9aa837f63cdf091d1356835a48 Mon Sep 17 00:00:00 2001 From: KabanFriends Date: Tue, 15 Mar 2022 00:37:04 +0900 Subject: [PATCH 2/2] Fix checkstyle violations --- src/main/java/net/fabricmc/tinyremapper/AsmClassRemapper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/fabricmc/tinyremapper/AsmClassRemapper.java b/src/main/java/net/fabricmc/tinyremapper/AsmClassRemapper.java index c624d1da..cffc911b 100644 --- a/src/main/java/net/fabricmc/tinyremapper/AsmClassRemapper.java +++ b/src/main/java/net/fabricmc/tinyremapper/AsmClassRemapper.java @@ -255,8 +255,9 @@ public void visitMethodInsn(int opcode, String owner, String name, String descri } AsmRemapper asmRemapper = ((AsmRemapper) remapper); + for (ClassInstance checkClass = asmRemapper.getClass(owner); checkClass != null; checkClass = checkClass.getSuperClass()) { - if(checkClass.getMethod(name, descriptor) != null) { + if (checkClass.getMethod(name, descriptor) != null) { owner = checkClass.getName(); break; }