mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
assertion for http://ea.jetbrains.com/browser/ea_problems/17722
This commit is contained in:
+4
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.psi.scope.conflictResolvers;
|
||||
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.infos.CandidateInfo;
|
||||
@@ -37,6 +38,8 @@ import java.util.Map;
|
||||
* To change this template use Options | File Templates.
|
||||
*/
|
||||
public class JavaMethodsConflictResolver implements PsiConflictResolver{
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.psi.scope.conflictResolvers.JavaMethodsConflictResolver");
|
||||
|
||||
private final PsiElement myArgumentsList;
|
||||
private final PsiType[] myActualParameterTypes;
|
||||
|
||||
@@ -419,6 +422,7 @@ public class JavaMethodsConflictResolver implements PsiConflictResolver{
|
||||
final PsiResolveHelper resolveHelper) {
|
||||
PsiSubstitutor substitutor = resolveHelper.inferTypeArguments(typeParameters, types1, types2, PsiUtil.getLanguageLevel(myArgumentsList));
|
||||
for (PsiTypeParameter typeParameter : typeParameters) {
|
||||
LOG.assertTrue(typeParameter != null);
|
||||
if (!substitutor.getSubstitutionMap().containsKey(typeParameter)) {
|
||||
substitutor = substitutor.put(typeParameter, TypeConversionUtil.typeParameterErasure(typeParameter));
|
||||
}
|
||||
|
||||
@@ -1062,11 +1062,11 @@ public class TypeConversionUtil {
|
||||
return type != null && isPrimitiveWrapper(type.getCanonicalText());
|
||||
}
|
||||
|
||||
public static PsiType typeParameterErasure(final PsiTypeParameter typeParameter) {
|
||||
public static PsiType typeParameterErasure(@NotNull PsiTypeParameter typeParameter) {
|
||||
return typeParameterErasure(typeParameter, PsiSubstitutor.EMPTY);
|
||||
}
|
||||
|
||||
private static PsiType typeParameterErasure(final PsiTypeParameter typeParameter, final PsiSubstitutor beforeSubstitutor) {
|
||||
private static PsiType typeParameterErasure(@NotNull PsiTypeParameter typeParameter, final PsiSubstitutor beforeSubstitutor) {
|
||||
final PsiClassType[] extendsList = typeParameter.getExtendsList().getReferencedTypes();
|
||||
if (extendsList.length > 0) {
|
||||
final PsiClass psiClass = extendsList[0].resolve();
|
||||
|
||||
Reference in New Issue
Block a user