Redundant curly braces in string template: remove braces for 'this'
#KT-32972 Fixed
This commit is contained in:
committed by
Dmitry Gridin
parent
8f2a73b734
commit
7c2f6ecba7
@@ -558,10 +558,14 @@ fun KtModifierList.normalize(): KtModifierList {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun KtBlockStringTemplateEntry.canDropBraces() =
|
fun KtBlockStringTemplateEntry.canDropBraces() =
|
||||||
expression is KtNameReferenceExpression && canPlaceAfterSimpleNameEntry(nextSibling)
|
(expression is KtNameReferenceExpression || expression is KtThisExpression) && canPlaceAfterSimpleNameEntry(nextSibling)
|
||||||
|
|
||||||
fun KtBlockStringTemplateEntry.dropBraces(): KtSimpleNameStringTemplateEntry {
|
fun KtBlockStringTemplateEntry.dropBraces(): KtSimpleNameStringTemplateEntry {
|
||||||
val name = (expression as KtNameReferenceExpression).getReferencedNameElement().text
|
val name = if (expression is KtThisExpression) {
|
||||||
|
KtTokens.THIS_KEYWORD.value
|
||||||
|
} else {
|
||||||
|
(expression as KtNameReferenceExpression).getReferencedNameElement().text
|
||||||
|
}
|
||||||
val newEntry = KtPsiFactory(this).createSimpleNameStringTemplateEntry(name)
|
val newEntry = KtPsiFactory(this).createSimpleNameStringTemplateEntry(name)
|
||||||
return replaced(newEntry)
|
return replaced(newEntry)
|
||||||
}
|
}
|
||||||
+2
@@ -0,0 +1,2 @@
|
|||||||
|
// PROBLEM: none
|
||||||
|
fun String.bar() = "x <caret>${this.length}"
|
||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
// HIGHLIGHT: GENERIC_ERROR_OR_WARNING
|
||||||
|
|
||||||
|
fun String.bar() = "x <caret>${this}"
|
||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
// HIGHLIGHT: GENERIC_ERROR_OR_WARNING
|
||||||
|
|
||||||
|
fun String.bar() = "x $this"
|
||||||
+10
@@ -7890,6 +7890,11 @@ public class LocalInspectionTestGenerated extends AbstractLocalInspectionTest {
|
|||||||
runTest("idea/testData/inspectionsLocal/removeCurlyBracesFromTemplate/necessaryBrackets6.kt");
|
runTest("idea/testData/inspectionsLocal/removeCurlyBracesFromTemplate/necessaryBrackets6.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("necessaryBrackets7.kt")
|
||||||
|
public void testNecessaryBrackets7() throws Exception {
|
||||||
|
runTest("idea/testData/inspectionsLocal/removeCurlyBracesFromTemplate/necessaryBrackets7.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("unnecessaryBrackets1.kt")
|
@TestMetadata("unnecessaryBrackets1.kt")
|
||||||
public void testUnnecessaryBrackets1() throws Exception {
|
public void testUnnecessaryBrackets1() throws Exception {
|
||||||
runTest("idea/testData/inspectionsLocal/removeCurlyBracesFromTemplate/unnecessaryBrackets1.kt");
|
runTest("idea/testData/inspectionsLocal/removeCurlyBracesFromTemplate/unnecessaryBrackets1.kt");
|
||||||
@@ -7929,6 +7934,11 @@ public class LocalInspectionTestGenerated extends AbstractLocalInspectionTest {
|
|||||||
public void testUnnecessaryBrackets8() throws Exception {
|
public void testUnnecessaryBrackets8() throws Exception {
|
||||||
runTest("idea/testData/inspectionsLocal/removeCurlyBracesFromTemplate/unnecessaryBrackets8.kt");
|
runTest("idea/testData/inspectionsLocal/removeCurlyBracesFromTemplate/unnecessaryBrackets8.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("unnecessaryBrackets9.kt")
|
||||||
|
public void testUnnecessaryBrackets9() throws Exception {
|
||||||
|
runTest("idea/testData/inspectionsLocal/removeCurlyBracesFromTemplate/unnecessaryBrackets9.kt");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@TestMetadata("idea/testData/inspectionsLocal/removeEmptyParenthesesFromAnnotationEntry")
|
@TestMetadata("idea/testData/inspectionsLocal/removeEmptyParenthesesFromAnnotationEntry")
|
||||||
|
|||||||
Reference in New Issue
Block a user