From 5ac8d00c358a55c7d4f270a95850d74553b4b650 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Thu, 5 Sep 2013 18:21:05 +0400 Subject: [PATCH] accept narrowing conversion from byte[] to T< extends Serializable> (IDEA-113225) --- .../src/com/intellij/psi/util/TypeConversionUtil.java | 2 +- .../genericsHighlighting/IDEA113225.java | 11 +++++++++++ .../codeInsight/daemon/GenericsHighlightingTest.java | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA113225.java 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 c86cbc4057b0..307f48f7ee4e 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 @@ -160,7 +160,7 @@ public class TypeConversionUtil { final PsiClass resolved = ((PsiClassType)toType).resolve(); if (resolved instanceof PsiTypeParameter) { for (final PsiClassType boundType : resolved.getExtendsListTypes()) { - if (!isNarrowingReferenceConversionAllowed(fromType, boundType)) return false; + if (!areTypesConvertible(fromType, boundType)) return false; } return true; } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA113225.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA113225.java new file mode 100644 index 000000000000..7b4bbaba7fa3 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA113225.java @@ -0,0 +1,11 @@ +import java.io.Serializable; + +public class Test { + public void foo(byte[] data) { + T foo = (T) data; + } + + public void bar(byte[] data) { + T bar = (T) data; + } +} 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 abd6346e24ff..43c2738f86d3 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/GenericsHighlightingTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/GenericsHighlightingTest.java @@ -317,6 +317,7 @@ public class GenericsHighlightingTest extends LightDaemonAnalyzerTestCase { public void testRawAssignments() throws Exception { doTest5(false); } public void testIDEA87860() throws Exception { doTest5(false); } public void testIDEA67584() throws Exception { doTest5(false); } + public void testIDEA113225() throws Exception { doTest5(false); } public void testJavaUtilCollections_NoVerify() throws Exception { PsiClass collectionsClass = getJavaFacade().findClass("java.util.Collections", GlobalSearchScope.moduleWithLibrariesScope(getModule()));