diff --git a/ChangeLog.md b/ChangeLog.md index fb35d3c1c20..3de9db47d13 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -117,6 +117,7 @@ These artifacts include extensions for the types available in the latter JDKs, s - [`KT-13876`](https://youtrack.jetbrains.com/issue/KT-13876) Move to Companion Object: Forbid for functions/properties referencing type parameters of the containing class - [`KT-13877`](https://youtrack.jetbrains.com/issue/KT-13877) Move to Companion Object: Warn if companion object already contains function with the same signature - [`KT-13933`](https://youtrack.jetbrains.com/issue/KT-13933) Convert Parameter to Receiver: Do not qualify companion members with labeled 'this' +- [`KT-13942`](https://youtrack.jetbrains.com/issue/KT-13942) Redundant 'toString()' in String Template: Disable for qualified expressions with 'super' receiver ##### New features diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/RemoveToStringInStringTemplateInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/RemoveToStringInStringTemplateInspection.kt index 0ec0d4bcbae..467331b3bc5 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/RemoveToStringInStringTemplateInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/RemoveToStringInStringTemplateInspection.kt @@ -33,6 +33,7 @@ class RemoveToStringInStringTemplateInspection : AbstractKotlinInspection(), Cle override fun visitCallExpression(expression: KtCallExpression) { val qualifiedExpression = expression.parent as? KtDotQualifiedExpression ?: return if (qualifiedExpression.parent !is KtBlockStringTemplateEntry) return + if (qualifiedExpression.receiverExpression is KtSuperExpression) return if (!qualifiedExpression.isToString()) return holder.registerProblem(expression, diff --git a/idea/testData/inspections/removeToStringInStringTemplate/test.kt b/idea/testData/inspections/removeToStringInStringTemplate/test.kt index 29fc08261fb..de04ff20618 100644 --- a/idea/testData/inspections/removeToStringInStringTemplate/test.kt +++ b/idea/testData/inspections/removeToStringInStringTemplate/test.kt @@ -1 +1,9 @@ -val z = "a${"b".toString()}" \ No newline at end of file +val z = "a${"b".toString()}" + +open class X { + override fun toString() = "X()" +} + +class Y : X() { + override fun toString() = "Y() ${super.toString()}" +} \ No newline at end of file