diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java b/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java index e568e7709b5..cdba66ac4e7 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java @@ -221,11 +221,13 @@ public class QuickFixUtil { isPositionalArgument = false; } else if (isPositionalArgument) { - ValueParameterDescriptor parameter = callableDescriptor.getValueParameters().get(idx); - if (argument != ignoreArgument) { - usedParameters.add(parameter.getName().asString()); + if (callableDescriptor.getValueParameters().size() > idx) { + ValueParameterDescriptor parameter = callableDescriptor.getValueParameters().get(idx); + if (argument != ignoreArgument) { + usedParameters.add(parameter.getName().asString()); + } + idx++; } - idx++; } } diff --git a/idea/testData/completion/basic/common/namedParameters/ForEmptyParametersFunction.kt b/idea/testData/completion/basic/common/namedParameters/ForEmptyParametersFunction.kt new file mode 100644 index 00000000000..fa1f8dab04d --- /dev/null +++ b/idea/testData/completion/basic/common/namedParameters/ForEmptyParametersFunction.kt @@ -0,0 +1,9 @@ +fun test() {} +fun some() { + val localVal = 1 + test() +} + +// Test no exceptions are thrown +// INVOCATION_COUNT: 1 +// EXIST: localVal \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/completion/JSBasicCompletionTestGenerated.java b/idea/tests/org/jetbrains/jet/completion/JSBasicCompletionTestGenerated.java index d13c5515a55..f63886b7271 100644 --- a/idea/tests/org/jetbrains/jet/completion/JSBasicCompletionTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/completion/JSBasicCompletionTestGenerated.java @@ -498,6 +498,11 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes doTest("idea/testData/completion/basic/common/namedParameters/CompactTypeNames.kt"); } + @TestMetadata("ForEmptyParametersFunction.kt") + public void testForEmptyParametersFunction() throws Exception { + doTest("idea/testData/completion/basic/common/namedParameters/ForEmptyParametersFunction.kt"); + } + @TestMetadata("InParameterExpression.kt") public void testInParameterExpression() throws Exception { doTest("idea/testData/completion/basic/common/namedParameters/InParameterExpression.kt"); diff --git a/idea/tests/org/jetbrains/jet/completion/JvmBasicCompletionTestGenerated.java b/idea/tests/org/jetbrains/jet/completion/JvmBasicCompletionTestGenerated.java index 2e7ed81e234..4fd4c36319d 100644 --- a/idea/tests/org/jetbrains/jet/completion/JvmBasicCompletionTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/completion/JvmBasicCompletionTestGenerated.java @@ -498,6 +498,11 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT doTest("idea/testData/completion/basic/common/namedParameters/CompactTypeNames.kt"); } + @TestMetadata("ForEmptyParametersFunction.kt") + public void testForEmptyParametersFunction() throws Exception { + doTest("idea/testData/completion/basic/common/namedParameters/ForEmptyParametersFunction.kt"); + } + @TestMetadata("InParameterExpression.kt") public void testInParameterExpression() throws Exception { doTest("idea/testData/completion/basic/common/namedParameters/InParameterExpression.kt");