From e5b915661a2c2e721882ba03b9b3c89f30601707 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Mon, 26 Mar 2018 15:31:46 +0300 Subject: [PATCH] Rename: Do not suggest camel names for backquoted non-identifiers #KT-22888 Fixed --- .../jetbrains/kotlin/idea/core/KotlinNameSuggester.kt | 2 +- .../nameSuggester/NoCamelNamesForBacktickedNonId.kt | 11 +++++++++++ .../nameSuggester/KotlinNameSuggesterTest.kt | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 idea/testData/refactoring/nameSuggester/NoCamelNamesForBacktickedNonId.kt diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinNameSuggester.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinNameSuggester.kt index 4e9469ea002..34249651fb0 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinNameSuggester.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/KotlinNameSuggester.kt @@ -228,7 +228,7 @@ object KotlinNameSuggester { } private fun MutableCollection.addCamelNames(name: String, validator: (String) -> Boolean, startLowerCase: Boolean = true) { - if (name === "") return + if (name === "" || !name.unquote().isIdentifier()) return var s = extractIdentifiers(name) for (prefix in ACCESSOR_PREFIXES) { diff --git a/idea/testData/refactoring/nameSuggester/NoCamelNamesForBacktickedNonId.kt b/idea/testData/refactoring/nameSuggester/NoCamelNamesForBacktickedNonId.kt new file mode 100644 index 00000000000..86554072d95 --- /dev/null +++ b/idea/testData/refactoring/nameSuggester/NoCamelNamesForBacktickedNonId.kt @@ -0,0 +1,11 @@ +fun `should receive message from subscribed category`() { + +} + +fun test() { + `should receive message from subscribed category`() +} + +/* +value +*/ \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/refactoring/nameSuggester/KotlinNameSuggesterTest.kt b/idea/tests/org/jetbrains/kotlin/idea/refactoring/nameSuggester/KotlinNameSuggesterTest.kt index a5f440ec795..006c12b7a28 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/refactoring/nameSuggester/KotlinNameSuggesterTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/refactoring/nameSuggester/KotlinNameSuggesterTest.kt @@ -75,6 +75,8 @@ class KotlinNameSuggesterTest : KotlinLightCodeInsightFixtureTestCase() { fun testExtensionFunction2() = doTest() + fun testNoCamelNamesForBacktickedNonId() = doTest() + override fun getTestDataPath(): String { return PluginTestCaseBase.getTestDataPathBase() + "/refactoring/nameSuggester" }