diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt index c4f4ff72ecd..c8480076dbf 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/psiModificationUtils.kt @@ -521,7 +521,7 @@ fun KtBlockStringTemplateEntry.canDropBraces() = expression is KtNameReferenceExpression && canPlaceAfterSimpleNameEntry(nextSibling) fun KtBlockStringTemplateEntry.dropBraces(): KtSimpleNameStringTemplateEntry { - val name = (expression as KtNameReferenceExpression).getReferencedName() + val name = (expression as KtNameReferenceExpression).getReferencedNameElement().text val newEntry = KtPsiFactory(this).createSimpleNameStringTemplateEntry(name) return replaced(newEntry) } \ No newline at end of file diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/RemoveCurlyBracesFromTemplateIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/RemoveCurlyBracesFromTemplateIntention.kt index db2db8bcc86..3f8c05b493e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/RemoveCurlyBracesFromTemplateIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/RemoveCurlyBracesFromTemplateIntention.kt @@ -22,9 +22,11 @@ import org.jetbrains.kotlin.idea.core.dropBraces import org.jetbrains.kotlin.idea.inspections.IntentionBasedInspection import org.jetbrains.kotlin.psi.KtBlockStringTemplateEntry -class RemoveCurlyBracesFromTemplateInspection : IntentionBasedInspection(RemoveCurlyBracesFromTemplateIntention::class) +class RemoveCurlyBracesFromTemplateInspection : + IntentionBasedInspection(RemoveCurlyBracesFromTemplateIntention::class) -class RemoveCurlyBracesFromTemplateIntention : SelfTargetingOffsetIndependentIntention(KtBlockStringTemplateEntry::class.java, "Remove curly braces") { +class RemoveCurlyBracesFromTemplateIntention : + SelfTargetingOffsetIndependentIntention(KtBlockStringTemplateEntry::class.java, "Remove curly braces") { override fun isApplicableTo(element: KtBlockStringTemplateEntry) = element.canDropBraces() override fun applyTo(element: KtBlockStringTemplateEntry, editor: Editor?) { diff --git a/idea/testData/intentions/removeCurlyBracesFromTemplate/unnecessaryBrackets7.kt b/idea/testData/intentions/removeCurlyBracesFromTemplate/unnecessaryBrackets7.kt new file mode 100644 index 00000000000..955cf8046cb --- /dev/null +++ b/idea/testData/intentions/removeCurlyBracesFromTemplate/unnecessaryBrackets7.kt @@ -0,0 +1,4 @@ +// IS_APPLICABLE: true +fun foo(`object`: Any) { + val bar = "${`object`}" +} \ No newline at end of file diff --git a/idea/testData/intentions/removeCurlyBracesFromTemplate/unnecessaryBrackets7.kt.after b/idea/testData/intentions/removeCurlyBracesFromTemplate/unnecessaryBrackets7.kt.after new file mode 100644 index 00000000000..02bb6835ee3 --- /dev/null +++ b/idea/testData/intentions/removeCurlyBracesFromTemplate/unnecessaryBrackets7.kt.after @@ -0,0 +1,4 @@ +// IS_APPLICABLE: true +fun foo(`object`: Any) { + val bar = "$`object`" +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java index c29a9571af6..755786e2026 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/intentions/IntentionTestGenerated.java @@ -13850,6 +13850,11 @@ public class IntentionTestGenerated extends AbstractIntentionTest { public void testUnnecessaryBrackets6() throws Exception { runTest("idea/testData/intentions/removeCurlyBracesFromTemplate/unnecessaryBrackets6.kt"); } + + @TestMetadata("unnecessaryBrackets7.kt") + public void testUnnecessaryBrackets7() throws Exception { + runTest("idea/testData/intentions/removeCurlyBracesFromTemplate/unnecessaryBrackets7.kt"); + } } @TestMetadata("idea/testData/intentions/removeEmptyClassBody")