From da68b424b955cd295692671493f7874217bb496d Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Fri, 10 Oct 2025 15:07:06 +0200 Subject: [PATCH] [java-psi] clean up: do not call getParameterList() twice; avoid parameter array creation GitOrigin-RevId: bd92083bb37a78a9f9eaa57e510440cfae9e158d --- .../conflictResolvers/JavaMethodsConflictResolver.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/scope/conflictResolvers/JavaMethodsConflictResolver.java b/java/java-psi-impl/src/com/intellij/psi/scope/conflictResolvers/JavaMethodsConflictResolver.java index 0939e089921e..78a04282ab32 100644 --- a/java/java-psi-impl/src/com/intellij/psi/scope/conflictResolvers/JavaMethodsConflictResolver.java +++ b/java/java-psi-impl/src/com/intellij/psi/scope/conflictResolvers/JavaMethodsConflictResolver.java @@ -696,9 +696,10 @@ public class JavaMethodsConflictResolver implements PsiConflictResolver { for (CandidateInfo conflict : conflicts) { ProgressManager.checkCanceled(); final PsiMethod method = (PsiMethod)conflict.getElement(); - final int parametersCount = method.getParameterList().getParametersCount(); + PsiParameterList list = method.getParameterList(); + final int parametersCount = list.getParametersCount(); if (method.isVarArgs() && parametersCount - 1 == argumentsCount) { - final PsiType type = method.getParameterList().getParameters()[parametersCount - 1].getType(); + final PsiType type = Objects.requireNonNull(list.getParameter(parametersCount - 1)).getType(); final PsiType componentType = ((PsiArrayType)type).getComponentType(); final PsiClassType classType = PsiType.getJavaLangObject(method.getManager(), GlobalSearchScope.allScope(method.getProject())); if (Comparing.equal(componentType, classType)) { @@ -712,8 +713,9 @@ public class JavaMethodsConflictResolver implements PsiConflictResolver { ProgressManager.checkCanceled(); PsiMethod method = (PsiMethod)conflict.getElement(); if (method != objectVararg.getElement() && method.isVarArgs()) { - final int paramsCount = method.getParameterList().getParametersCount(); - final PsiType type = method.getParameterList().getParameters()[paramsCount - 1].getType(); + PsiParameterList list = method.getParameterList(); + final int paramsCount = list.getParametersCount(); + final PsiType type = Objects.requireNonNull(list.getParameter(paramsCount - 1)).getType(); final PsiType componentType = ((PsiArrayType)type).getComponentType(); if (argumentsCount == paramsCount - 1 && componentType instanceof PsiPrimitiveType) { conflicts.remove(objectVararg);