diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/module/incompleteReifiedArg.kt b/compiler/testData/diagnostics/testsWithJsStdLib/module/incompleteReifiedArg.kt new file mode 100644 index 00000000000..aec2953ce4a --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJsStdLib/module/incompleteReifiedArg.kt @@ -0,0 +1,5 @@ +inline fun bar() {} + +fun foo() { + bar() +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/module/incompleteReifiedArg.txt b/compiler/testData/diagnostics/testsWithJsStdLib/module/incompleteReifiedArg.txt new file mode 100644 index 00000000000..a11bb8726a1 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithJsStdLib/module/incompleteReifiedArg.txt @@ -0,0 +1,4 @@ +package + +public inline fun bar(): kotlin.Unit +public fun foo(): kotlin.Unit diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithJsStdLibGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithJsStdLibGenerated.java index 66704460283..1ec95192fc8 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithJsStdLibGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithJsStdLibGenerated.java @@ -434,6 +434,12 @@ public class DiagnosticsTestWithJsStdLibGenerated extends AbstractDiagnosticsTes doTest(fileName); } + @TestMetadata("incompleteReifiedArg.kt") + public void testIncompleteReifiedArg() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithJsStdLib/module/incompleteReifiedArg.kt"); + doTest(fileName); + } + @TestMetadata("jsModuleNonExternal.kt") public void testJsModuleNonExternal() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithJsStdLib/module/jsModuleNonExternal.kt"); diff --git a/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/diagnostics/JsModuleCallChecker.kt b/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/diagnostics/JsModuleCallChecker.kt index 520f35e8150..91eb07b0d9d 100644 --- a/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/diagnostics/JsModuleCallChecker.kt +++ b/js/js.frontend/src/org/jetbrains/kotlin/js/resolve/diagnostics/JsModuleCallChecker.kt @@ -49,7 +49,9 @@ object JsModuleCallChecker : CallChecker { val containingDescriptor = context.scope.ownerDescriptor val typeParams = call.candidateDescriptor.typeParameters.map { it.original }.withIndex().filter { (_, param) -> param.isReified } val typeArguments = call.call.typeArgumentList - ?.let { args -> typeParams.associate { (index, param) -> param.original to args.arguments[index].typeReference }} + ?.let { args -> + typeParams.associate { (index, param) -> param.original to args.arguments.getOrNull(index)?.typeReference } + } .orEmpty() for (typeParam in typeParams.map { (_, param) -> param.original }) { val argPsi = typeArguments[typeParam] ?: reportOn