mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
varargs for java < 1.8 (IDEA-CR-21051)
This commit is contained in:
@@ -80,6 +80,11 @@ public class MethodCandidateInfo extends CandidateInfo{
|
||||
myLanguageLevel = languageLevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* To use during overload resolution to choose if method can be applicable by strong/loose invocation.
|
||||
*
|
||||
* @return true only for java 8+ varargs methods.
|
||||
*/
|
||||
public boolean isVarargs() {
|
||||
return false;
|
||||
}
|
||||
|
||||
+3
-1
@@ -18,6 +18,7 @@ package com.siyeh.ig.psiutils;
|
||||
import com.intellij.codeInsight.ExceptionUtil;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.infos.MethodCandidateInfo;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.psi.util.PsiTypesUtil;
|
||||
import com.intellij.psi.util.TypeConversionUtil;
|
||||
@@ -620,7 +621,8 @@ public class ExpectedTypeUtils {
|
||||
if (parameters.length == 0) {
|
||||
return null;
|
||||
}
|
||||
final boolean isVarargs = method.isVarArgs();
|
||||
final boolean isVarargs = result instanceof MethodCandidateInfo &&
|
||||
((MethodCandidateInfo)result).getApplicabilityLevel() == MethodCandidateInfo.ApplicabilityLevel.VARARGS;
|
||||
final PsiType parameterType = PsiTypesUtil.getParameterType(parameters, parameterPosition, isVarargs);
|
||||
final PsiSubstitutor substitutor = result.getSubstitutor();
|
||||
final PsiType type = GenericsUtil.getVariableTypeByExpressionType(substitutor.substitute(parameterType));
|
||||
|
||||
Reference in New Issue
Block a user