Redundant curly braces in string template: remove braces for 'this'

#KT-32972 Fixed
This commit is contained in:
Toshiaki Kameyama
2019-07-26 22:23:50 +09:00
committed by Dmitry Gridin
parent 8f2a73b734
commit 7c2f6ecba7
5 changed files with 24 additions and 2 deletions
@@ -558,10 +558,14 @@ fun KtModifierList.normalize(): KtModifierList {
}
fun KtBlockStringTemplateEntry.canDropBraces() =
expression is KtNameReferenceExpression && canPlaceAfterSimpleNameEntry(nextSibling)
(expression is KtNameReferenceExpression || expression is KtThisExpression) && canPlaceAfterSimpleNameEntry(nextSibling)
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)
return replaced(newEntry)
}