From dcd1cc982495542592a2e9221c279b76dce9c234 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Wed, 24 Mar 2010 17:05:09 +0300 Subject: [PATCH] assertion for http://ea.jetbrains.com/browser/ea_problems/17722 --- .../scope/conflictResolvers/JavaMethodsConflictResolver.java | 4 ++++ .../openapi/src/com/intellij/psi/util/TypeConversionUtil.java | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/java/java-impl/src/com/intellij/psi/scope/conflictResolvers/JavaMethodsConflictResolver.java b/java/java-impl/src/com/intellij/psi/scope/conflictResolvers/JavaMethodsConflictResolver.java index 9b1f92c478d5..a7bd1a866b91 100644 --- a/java/java-impl/src/com/intellij/psi/scope/conflictResolvers/JavaMethodsConflictResolver.java +++ b/java/java-impl/src/com/intellij/psi/scope/conflictResolvers/JavaMethodsConflictResolver.java @@ -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)); } diff --git a/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java b/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java index 1647efb410fe..b77c47cd11b1 100644 --- a/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java +++ b/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java @@ -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();