mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
if argument is poly expression (the type depends on expression's context), don't calculate type as it would be cashed according to the first candidate and reused everywhere else // fixed blinking tests
This commit is contained in:
@@ -17,6 +17,7 @@ package com.intellij.codeInsight.hints
|
||||
|
||||
import com.intellij.codeInsight.hints.settings.ParameterNameHintsSettings
|
||||
import com.intellij.psi.*
|
||||
import com.intellij.psi.impl.source.resolve.graphInference.PsiPolyExpressionUtil
|
||||
import com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl
|
||||
import com.intellij.psi.impl.source.tree.java.PsiNewExpressionImpl
|
||||
import com.intellij.psi.util.TypeConversionUtil
|
||||
@@ -192,6 +193,7 @@ private class CallArgumentInfo(val parameter: PsiParameter, val argument: PsiExp
|
||||
|
||||
private fun CallArgumentInfo.isAssignable(substitutor: PsiSubstitutor): Boolean {
|
||||
val substitutedType = substitutor.substitute(parameter.type)
|
||||
if (PsiPolyExpressionUtil.isPolyExpression(argument)) return true
|
||||
return argument.type?.isAssignableTo(substitutedType) ?: false
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user