new inference: eq bounds should not contain primitive values, so no filter for instantiations is needed

This commit is contained in:
Anna Kozlova
2015-11-24 20:00:29 +01:00
parent fc288cf04d
commit bc988bc67b
2 changed files with 3 additions and 3 deletions
@@ -110,7 +110,7 @@ public class FunctionalInterfaceParameterizationUtil {
return null;
}
final PsiSubstitutor substitutor = session.retrieveNonPrimitiveEqualsBounds(session.getInferenceVariables());
final PsiSubstitutor substitutor = session.getInstantiations(session.getInferenceVariables());
final PsiType[] newTypeParameters = new PsiType[parameters.length];
for (int i = 0; i < typeParameters.length; i++) {
PsiTypeParameter typeParameter = typeParameters[i];
@@ -554,11 +554,11 @@ public class InferenceSession {
candidateProperties != null && candidateProperties.isVarargs();
}
public PsiSubstitutor retrieveNonPrimitiveEqualsBounds(Collection<InferenceVariable> variables) {
public PsiSubstitutor getInstantiations(Collection<InferenceVariable> variables) {
PsiSubstitutor substitutor = PsiSubstitutor.EMPTY;
for (InferenceVariable variable : variables) {
final PsiType equalsBound = getEqualsBound(variable, substitutor);
if (!(equalsBound instanceof PsiPrimitiveType)) {
if (equalsBound != null && !PsiType.NULL.equals(equalsBound)) {
substitutor = substitutor.put(variable, equalsBound);
}
}