diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractableAnalysisUtil.kt b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractableAnalysisUtil.kt index 1a667d1f216..4ccf5e98852 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractableAnalysisUtil.kt +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/extractFunction/extractableAnalysisUtil.kt @@ -610,7 +610,7 @@ private fun ExtractionData.inferParametersInfo( with (parameter) { if (currentName == null) { - currentName = JetNameSuggester.suggestNames(parameterType, varNameValidator, null).first() + currentName = JetNameSuggester.suggestNames(parameterType, varNameValidator, "p").first() } mirrorVarName = if (descriptorToExtract in modifiedVarDescriptors) varNameValidator.validateName(name) else null info.parameters.add(this) diff --git a/idea/testData/refactoring/extractFunction/basic/extensionFunForArray.kt b/idea/testData/refactoring/extractFunction/basic/extensionFunForArray.kt new file mode 100644 index 00000000000..d6e2121ad4f --- /dev/null +++ b/idea/testData/refactoring/extractFunction/basic/extensionFunForArray.kt @@ -0,0 +1,6 @@ +// PARAM_TYPES: kotlin.Array, kotlin.Cloneable, Any +// PARAM_DESCRIPTOR: internal fun kotlin.Array.test(): kotlin.Unit defined in root package +// SIBLING: +fun Array.test() { + this.isEmpty() +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/basic/extensionFunForArray.kt.after b/idea/testData/refactoring/extractFunction/basic/extensionFunForArray.kt.after new file mode 100644 index 00000000000..d177cd87ec8 --- /dev/null +++ b/idea/testData/refactoring/extractFunction/basic/extensionFunForArray.kt.after @@ -0,0 +1,10 @@ +// PARAM_TYPES: kotlin.Array, kotlin.Cloneable, Any +// PARAM_DESCRIPTOR: internal fun kotlin.Array.test(): kotlin.Unit defined in root package +// SIBLING: +fun Array.test() { + unit() +} + +private fun Array.unit() { + this.isEmpty() +} diff --git a/idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/JetExtractionTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/JetExtractionTestGenerated.java index 13d4f1d5e99..f04cfa8e09f 100644 --- a/idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/JetExtractionTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/JetExtractionTestGenerated.java @@ -354,6 +354,12 @@ public class JetExtractionTestGenerated extends AbstractJetExtractionTest { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/refactoring/extractFunction/basic"), Pattern.compile("^(.+)\\.kt$"), true); } + @TestMetadata("extensionFunForArray.kt") + public void testExtensionFunForArray() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/refactoring/extractFunction/basic/extensionFunForArray.kt"); + doExtractFunctionTest(fileName); + } + @TestMetadata("fragmentWithComment.kt") public void testFragmentWithComment() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/refactoring/extractFunction/basic/fragmentWithComment.kt");