diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/dynamicCalls.kt b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/dynamicCalls.kt index 65174f7dcc7..4a634c1d5bc 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/dynamicCalls.kt +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/tasks/dynamicCalls.kt @@ -109,15 +109,14 @@ object DynamicCallableDescriptors { } private fun createValueParameters(owner: DeclarationDescriptor, call: Call): List = - call.getValueArguments().indices.map { - index - -> + call.getValueArguments().withIndices().map { p -> + val (index, arg) = p ValueParameterDescriptorImpl( owner, null, index, Annotations.EMPTY, - Name.identifier("p$index"), + arg.getArgumentName()?.getReferenceExpression()?.getReferencedNameAsName() ?: Name.identifier("p$index"), DynamicType, false, null, diff --git a/compiler/testData/diagnostics/tests/dynamicTypes/namedArguments.kt b/compiler/testData/diagnostics/tests/dynamicTypes/namedArguments.kt new file mode 100644 index 00000000000..450e77361e3 --- /dev/null +++ b/compiler/testData/diagnostics/tests/dynamicTypes/namedArguments.kt @@ -0,0 +1,10 @@ +// MODULE[js]: m1 +// FILE: k.kt + +fun test(d: dynamic) { + d.foo(name = "name") + + d.foo(1, name = "name") + + d.foo(1, duplicate = "", duplicate = "") +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/dynamicTypes/namedArguments.txt b/compiler/testData/diagnostics/tests/dynamicTypes/namedArguments.txt new file mode 100644 index 00000000000..41a648f7f82 --- /dev/null +++ b/compiler/testData/diagnostics/tests/dynamicTypes/namedArguments.txt @@ -0,0 +1,3 @@ +package + +internal fun test(/*0*/ d: dynamic): kotlin.Unit diff --git a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java index 56caafd45a0..dd831531cae 100644 --- a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTestGenerated.java @@ -3746,6 +3746,12 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest { doTest(fileName); } + @TestMetadata("namedArguments.kt") + public void testNamedArguments() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dynamicTypes/namedArguments.kt"); + doTest(fileName); + } + @TestMetadata("nullable.kt") public void testNullable() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/dynamicTypes/nullable.kt");