From 20f1c7cb66d07e3d595fd39bf2846454b2744491 Mon Sep 17 00:00:00 2001 From: bigguy345 Date: Wed, 31 Dec 2025 14:27:57 +0200 Subject: [PATCH] Detected duplicate methods for ScriptTypeInfo methods --- .../gui/util/script/interpreter/ScriptDocument.java | 7 +++++++ .../gui/util/script/interpreter/type/ScriptTypeInfo.java | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/ScriptDocument.java b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/ScriptDocument.java index 8fde5234e..d84e1d401 100644 --- a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/ScriptDocument.java +++ b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/ScriptDocument.java @@ -636,6 +636,13 @@ public class ScriptDocument { int scopeDepth = calculateScopeDepth(method.getFullDeclarationOffset()); methodsByScope.computeIfAbsent(scopeDepth, k -> new ArrayList<>()).add(method); } + + for (ScriptTypeInfo type : scriptTypes.values()) { + for (MethodInfo method : type.getAllMethodsFlat()) { + int scopeDepth = calculateScopeDepth(method.getFullDeclarationOffset()); + methodsByScope.computeIfAbsent(scopeDepth, k -> new ArrayList<>()).add(method); + } + } // Check each scope for duplicates for (List scopeMethods : methodsByScope.values()) { diff --git a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/type/ScriptTypeInfo.java b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/type/ScriptTypeInfo.java index f1e9943bc..e3b405b1a 100644 --- a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/type/ScriptTypeInfo.java +++ b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/type/ScriptTypeInfo.java @@ -148,6 +148,14 @@ public class ScriptTypeInfo extends TypeInfo { return new HashMap<>(methods); } + public List getAllMethodsFlat() { + List allMethods = new ArrayList<>(); + for (List overloads : methods.values()) { + allMethods.addAll(overloads); + } + return allMethods; + } + // ==================== CONSTRUCTOR MANAGEMENT ==================== public void addConstructor(MethodInfo constructor) {