capture wildcard for getClass calls

This commit is contained in:
anna
2012-04-19 12:41:38 +02:00
parent 4027275217
commit f4cf77fb68
4 changed files with 13 additions and 3 deletions
@@ -200,8 +200,9 @@ public class PsiMethodCallExpressionImpl extends ExpressionPsiElement implements
Map<PsiTypeParameter, PsiType> map = new HashMap<PsiTypeParameter, PsiType>();
map.put(javaLangClass.getTypeParameters()[0], PsiWildcardType.createExtends(manager, qualifierType));
PsiSubstitutor substitutor = JavaPsiFacade.getInstance(manager.getProject()).getElementFactory().createSubstitutor(map);
return JavaPsiFacade.getInstance(manager.getProject()).getElementFactory()
final PsiClassType classType = JavaPsiFacade.getInstance(manager.getProject()).getElementFactory()
.createType(javaLangClass, substitutor, languageLevel);
return PsiUtil.captureToplevelWildcards(classType, methodExpression);
}
}
}