From 37f2eda4b257bf72d90f15f9a8bd38334353e47c Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 8 Jun 2011 15:47:50 +0400 Subject: [PATCH] type assignment: types do not agree when raw substitutor is used with raw type (IDEA-67627) --- java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java | 1 + 1 file changed, 1 insertion(+) diff --git a/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java b/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java index 22991fddf6ed..5ffbc62dd5f4 100644 --- a/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java +++ b/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java @@ -822,6 +822,7 @@ public class TypeConversionUtil { PsiSubstitutor leftSubstitutor = leftResult.getSubstitutor(); if (!leftClass.getManager().areElementsEquivalent(leftClass, rightClass)) { + if (!allowUncheckedConversion && PsiUtil.isRawSubstitutor(leftClass, leftSubstitutor) && !rightClass.hasTypeParameters()) return false; rightSubstitutor = getSuperClassSubstitutor(leftClass, rightClass, rightSubstitutor); rightClass = leftClass; }