mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
new inference: eq bounds should not contain primitive values, so no filter for instantiations is needed
This commit is contained in:
+1
-1
@@ -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];
|
||||
|
||||
+2
-2
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user