From d442520813fb4bafca3c3b253fe63fff5bdd0ce9 Mon Sep 17 00:00:00 2001 From: m0rkeulv Date: Sun, 19 May 2024 00:06:08 +0200 Subject: [PATCH] fix type parameter info for completion suggestions --- .../ide/lookup/HaxeMemberLookupElement.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/intellij/plugins/haxe/ide/lookup/HaxeMemberLookupElement.java b/src/main/java/com/intellij/plugins/haxe/ide/lookup/HaxeMemberLookupElement.java index 2af47ecde..f8a707dbe 100644 --- a/src/main/java/com/intellij/plugins/haxe/ide/lookup/HaxeMemberLookupElement.java +++ b/src/main/java/com/intellij/plugins/haxe/ide/lookup/HaxeMemberLookupElement.java @@ -152,9 +152,9 @@ public void calculatePresentation() { } private void evaluateTypeText() { - ResultHolder type = model.getResultType(null); + ResultHolder type = model.getResultType(resolver); if (isFunctionType && model instanceof HaxeMethodModel methodModel) { - SpecificFunctionReference functionType = methodModel.getFunctionType(null); + SpecificFunctionReference functionType = methodModel.getFunctionType(resolver); typeText = functionType.toPresentationString(); return; } @@ -165,8 +165,17 @@ private void evaluateTypeText() { private void evaluateTailText() { if (model instanceof HaxeMethodModel && !isFunctionType) { - String parameterListAsText = HaxePresentableUtil.getPresentableParameterList(model.getNamedComponentPsi()); - tailText = "(" + parameterListAsText + ")"; + if (leftReference != null) { + tailText = "(" + getParameterListAsText() + ")"; + } + } + } + + private @NotNull String getParameterListAsText() { + if (leftReference != null){ + return HaxePresentableUtil.getPresentableParameterList(model.getNamedComponentPsi(), leftReference.getSpecialization(), true); + }else { + return HaxePresentableUtil.getPresentableParameterList(model.getNamedComponentPsi()); } }