From 6e4249e5e119b30cfd1ae1c6e9ff47c02c36d7a2 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Wed, 9 Apr 2014 11:26:44 +0200 Subject: [PATCH] diamonds: wrong constructor selected (IDEA-123518) --- .../com/intellij/psi/PsiDiamondTypeImpl.java | 2 +- .../genericsHighlighting/IDEA123518.java | 21 +++++++++++++++++++ .../daemon/GenericsHighlightingTest.java | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA123518.java diff --git a/java/java-psi-impl/src/com/intellij/psi/PsiDiamondTypeImpl.java b/java/java-psi-impl/src/com/intellij/psi/PsiDiamondTypeImpl.java index 028a577e33b4..49b0b557ef7e 100644 --- a/java/java-psi-impl/src/com/intellij/psi/PsiDiamondTypeImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/PsiDiamondTypeImpl.java @@ -183,7 +183,7 @@ public class PsiDiamondTypeImpl extends PsiDiamondType { final JavaPsiFacade facade = JavaPsiFacade.getInstance(project); final PsiResolveHelper resolveHelper = facade.getResolveHelper(); final JavaResolveResult result = - resolveHelper.resolveConstructor(facade.getElementFactory().createType(containingClass), argumentList, argumentList); + resolveHelper.resolveConstructor(facade.getElementFactory().createType(containingClass, PsiSubstitutor.EMPTY), argumentList, argumentList); return (PsiMethod)result.getElement(); } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA123518.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA123518.java new file mode 100644 index 000000000000..0440475bde5d --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/genericsHighlighting/IDEA123518.java @@ -0,0 +1,21 @@ +import java.util.*; + +class sTest { + + public void shouldCallListConstructor(){ + ListstringList=new ArrayList(); + ClassUnderTest cut=new ClassUnderTest<>(stringList); + } + + private class ClassUnderTest { + + public String constructorString; + private ClassUnderTest(ListstringList) { + constructorString="Using List Constructor"; + } + + private ClassUnderTest(Iterable iterables) { + constructorString="Using Iterables Constructor"; + } + } +} \ 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 982a986a4c8e..0f521302c435 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/GenericsHighlightingTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/GenericsHighlightingTest.java @@ -342,6 +342,7 @@ public class GenericsHighlightingTest extends LightDaemonAnalyzerTestCase { public void testIDEA121400() { doTest(LanguageLevel.JDK_1_7, JavaSdkVersion.JDK_1_7, false); } public void testIDEA123316() { doTest(LanguageLevel.JDK_1_7, JavaSdkVersion.JDK_1_7, false); } public void testIDEA123352() { doTest(LanguageLevel.JDK_1_7, JavaSdkVersion.JDK_1_7, false); } + public void testIDEA123518() { 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()));