diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ExpectedInfos.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ExpectedInfos.kt index e4443fdaf95..f2d8985e22c 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ExpectedInfos.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/ExpectedInfos.kt @@ -266,8 +266,8 @@ class ExpectedInfos( //TODO: we can loose partially inferred substitution here but what to do? if (parameter.type.containsError()) { - parameter = parameter.original descriptor = descriptor.original + parameter = descriptor.valueParameters[parameter.index] argumentToParameter = call.mapArgumentsToParameters(descriptor) } diff --git a/idea/idea-completion/testData/smartMultiFile/KT_8751_2/JavaClass.java b/idea/idea-completion/testData/smartMultiFile/KT_8751_2/JavaClass.java new file mode 100644 index 00000000000..f175639d34e --- /dev/null +++ b/idea/idea-completion/testData/smartMultiFile/KT_8751_2/JavaClass.java @@ -0,0 +1,6 @@ +class L {} + +class JavaClass { + void foo(L l) {} +} + diff --git a/idea/idea-completion/testData/smartMultiFile/KT_8751_2/KT_8751_2.kt b/idea/idea-completion/testData/smartMultiFile/KT_8751_2/KT_8751_2.kt new file mode 100644 index 00000000000..f28035288c9 --- /dev/null +++ b/idea/idea-completion/testData/smartMultiFile/KT_8751_2/KT_8751_2.kt @@ -0,0 +1,8 @@ +class KotlinClass : JavaClass(){ +} + +fun foo(c: KotlinClass, l: L) { + c.foo() +} + +// EXIST: l diff --git a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/MultiFileSmartCompletionTestGenerated.java b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/MultiFileSmartCompletionTestGenerated.java index dbb69a462f9..08e46fd8129 100644 --- a/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/MultiFileSmartCompletionTestGenerated.java +++ b/idea/idea-completion/tests/org/jetbrains/kotlin/idea/completion/test/MultiFileSmartCompletionTestGenerated.java @@ -107,6 +107,12 @@ public class MultiFileSmartCompletionTestGenerated extends AbstractMultiFileSmar doTest(fileName); } + @TestMetadata("KT_8751_2") + public void testKT_8751_2() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/smartMultiFile/KT_8751_2/"); + doTest(fileName); + } + @TestMetadata("NoObjectDuplication") public void testNoObjectDuplication() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/idea-completion/testData/smartMultiFile/NoObjectDuplication/");