mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
diagnose invalid type (EA-39404)
This commit is contained in:
@@ -327,6 +327,9 @@ public class PsiImplUtil {
|
||||
}
|
||||
|
||||
public static PsiType normalizeWildcardTypeByPosition(@NotNull PsiType type, @NotNull PsiExpression expression) {
|
||||
LOG.assertTrue(expression.isValid());
|
||||
LOG.assertTrue(type.isValid());
|
||||
|
||||
PsiExpression toplevel = expression;
|
||||
while (toplevel.getParent() instanceof PsiArrayAccessExpression &&
|
||||
((PsiArrayAccessExpression)toplevel.getParent()).getArrayExpression() == toplevel) {
|
||||
@@ -334,6 +337,7 @@ public class PsiImplUtil {
|
||||
}
|
||||
|
||||
final PsiType normalized = doNormalizeWildcardByPosition(type, expression, toplevel);
|
||||
LOG.assertTrue(normalized.isValid(), type);
|
||||
if (normalized instanceof PsiClassType && !PsiUtil.isAccessedForWriting(toplevel)) {
|
||||
return PsiUtil.captureToplevelWildcards(normalized, expression);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user