From 8ed22caad47074588d893d2117a7dca33d2826bc Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Wed, 11 May 2022 22:28:48 +0200 Subject: [PATCH] project(injector): Remove edge case checks and let the injector handle it --- .../injector/injectors/MixinInjector.java | 21 ++++++++++++------- .../injectors/raw/CopyRuneLiteClasses.java | 5 ----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/injector/src/main/java/com/openosrs/injector/injectors/MixinInjector.java b/injector/src/main/java/com/openosrs/injector/injectors/MixinInjector.java index 1408a3c419..762899c9b8 100644 --- a/injector/src/main/java/com/openosrs/injector/injectors/MixinInjector.java +++ b/injector/src/main/java/com/openosrs/injector/injectors/MixinInjector.java @@ -457,17 +457,22 @@ public class MixinInjector extends AbstractInjector } }*/ - Method copy = new Method(targetClass, mixinMethod.getName(), mixinMethod.getDescriptor()); - moveCode(copy, mixinMethod.getCode()); - copy.setAccessFlags(mixinMethod.getAccessFlags()); - copy.setPublic(); + Method method = targetClass.findMethod(mixinMethod.getName(), mixinMethod.getDescriptor()); + + if (method == null) + { + method = new Method(targetClass, mixinMethod.getName(), mixinMethod.getDescriptor()); + targetClass.addMethod(method); + } + + moveCode(method, mixinMethod.getCode()); + method.setAccessFlags(mixinMethod.getAccessFlags()); + method.setPublic(); assert mixinMethod.getExceptions().getExceptions().isEmpty(); - setOwnersToTargetClass(mixinClass, targetClass, copy, copiedMethods); + setOwnersToTargetClass(mixinClass, targetClass, method, copiedMethods); - targetClass.addMethod(copy); - - log.debug("[DEBUG] Injected mixin method {} to {}", copy, targetClass); + log.debug("[DEBUG] Injected mixin method {} to {}", method, targetClass); ++injected; } else if (mixinMethod.findAnnotation(REPLACE) != null) diff --git a/injector/src/main/java/com/openosrs/injector/injectors/raw/CopyRuneLiteClasses.java b/injector/src/main/java/com/openosrs/injector/injectors/raw/CopyRuneLiteClasses.java index 5e616527bc..49cd7ffe03 100644 --- a/injector/src/main/java/com/openosrs/injector/injectors/raw/CopyRuneLiteClasses.java +++ b/injector/src/main/java/com/openosrs/injector/injectors/raw/CopyRuneLiteClasses.java @@ -93,11 +93,6 @@ public class CopyRuneLiteClasses extends AbstractInjector for (Method method : runeLiteDeob.getMethods()) { - if (className.equals("RuneLiteMenuEntry") && (method.getName().equals("getItemId") || method.getName().equals("getWidget") || method.getName().equals("getItemOp"))) - { - continue; - } - transformMethod(method); runeliteObjectVanilla.addMethod(method); }