diff --git a/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java b/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java index 1f4cd2ccb9e0..73e9d216e21e 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java @@ -1005,16 +1005,8 @@ public class TypeConversionUtil { } } else { - boolean effectiveAllowUncheckedConversion = allowUncheckedConversion; - if (typeRight instanceof PsiCapturedWildcardType) { - effectiveAllowUncheckedConversion = false; - final PsiClass psiClass = PsiUtil.resolveClassInType(((PsiCapturedWildcardType)typeRight).getWildcard().getBound()); - if (psiClass != null && !psiClass.hasTypeParameters()) { - effectiveAllowUncheckedConversion = allowUncheckedConversion; - } - } if (leftWildcard.isExtends()) { - return isAssignable(leftBound, typeRight, effectiveAllowUncheckedConversion && !containsWildcards(leftBound)); + return isAssignable(leftBound, typeRight, false); } else { // isSuper final Boolean assignable = ourGuard.doPreventingRecursion(leftWildcard, true, new NotNullComputable() { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA138957.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA138957.java new file mode 100644 index 000000000000..6a109e2c61d7 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA138957.java @@ -0,0 +1,11 @@ +import java.util.List; + +class MyClass +{ + public MyClass(Class type) {} + + public static void main(String[] args) + { + MyClass> myClass = new MyClass<>(List.class); + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/GenericsHighlightingTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/GenericsHighlightingTest.java index a620c792dd74..91b9b4317a0a 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/GenericsHighlightingTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/GenericsHighlightingTest.java @@ -524,6 +524,10 @@ public class GenericsHighlightingTest extends LightDaemonAnalyzerTestCase { doTest(LanguageLevel.JDK_1_7, JavaSdkVersion.JDK_1_7, false); } + public void testIDEA138957() throws Exception { + doTest(LanguageLevel.JDK_1_7, JavaSdkVersion.JDK_1_7, false); + } + public void testJavaUtilCollections_NoVerify() throws Exception { PsiClass collectionsClass = getJavaFacade().findClass("java.util.Collections", GlobalSearchScope.moduleWithLibrariesScope(getModule())); assertNotNull(collectionsClass);