From 8b00733ddf7ffb42150867914d3bb1216d843df1 Mon Sep 17 00:00:00 2001 From: bigguy345 Date: Mon, 9 Mar 2026 02:47:11 +0200 Subject: [PATCH] syntheticMethods Autocomplete logic needed for ObjectLiterals and InnerCallableScopes proper functioning --- .../script/autocomplete/JSAutocompleteProvider.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/noppes/npcs/client/gui/util/script/autocomplete/JSAutocompleteProvider.java b/src/main/java/noppes/npcs/client/gui/util/script/autocomplete/JSAutocompleteProvider.java index e7798f529..b342a5384 100644 --- a/src/main/java/noppes/npcs/client/gui/util/script/autocomplete/JSAutocompleteProvider.java +++ b/src/main/java/noppes/npcs/client/gui/util/script/autocomplete/JSAutocompleteProvider.java @@ -114,16 +114,19 @@ public class JSAutocompleteProvider extends JavaAutocompleteProvider { return; } + Set syntheticMethodNames = new HashSet<>(); + for (MethodInfo method : receiverType.getSyntheticMethods()) { + syntheticMethodNames.add(method.getName()); + if (isStaticContext && !method.isStatic()) continue; + items.add(AutocompleteItem.fromMethod(method, context.methodsOnly)); + } for (FieldInfo field : receiverType.getSyntheticFields()) { if (!context.methodsOnly) { if (isStaticContext && !field.isStatic()) continue; + if (syntheticMethodNames.contains(field.getName())) continue; items.add(AutocompleteItem.fromField(field)); } } - for (MethodInfo method : receiverType.getSyntheticMethods()) { - if (isStaticContext && !method.isStatic()) continue; - items.add(AutocompleteItem.fromMethod(method, context.methodsOnly)); - } JSTypeInfo jsTypeInfo = receiverType.getJSTypeInfo(); if (jsTypeInfo != null) {