diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantNotNullExtensionReceiverOfInlineInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantNotNullExtensionReceiverOfInlineInspection.kt index cfac908a252..c2b4b47a0bb 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantNotNullExtensionReceiverOfInlineInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantNotNullExtensionReceiverOfInlineInspection.kt @@ -66,7 +66,7 @@ class RedundantNotNullExtensionReceiverOfInlineInspection : AbstractKotlinInspec } is KtThisExpression -> { val expectedType = context[BindingContext.EXPECTED_EXPRESSION_TYPE, it] - expectedType != null && !expectedType.isNullable() + it.parent is KtCallExpression || expectedType != null && !expectedType.isNullable() } is KtBinaryExpressionWithTypeRHS -> { val type = context[BindingContext.TYPE, it.right] diff --git a/idea/testData/inspections/redundantNotNullExtensionReceiverOfInline/test.kt b/idea/testData/inspections/redundantNotNullExtensionReceiverOfInline/test.kt index 77792c30bdd..be6b64fc2f7 100644 --- a/idea/testData/inspections/redundantNotNullExtensionReceiverOfInline/test.kt +++ b/idea/testData/inspections/redundantNotNullExtensionReceiverOfInline/test.kt @@ -48,4 +48,12 @@ inline fun Int.bar(x: Int) = x - this // No problem inline fun Int.unary() = -this // No problem inline fun String.indexed(arg: Int) = this[arg] // No problem +class Foo { + operator fun invoke() = Unit +} +inline fun Foo.bar() = this() + +inline fun Foo.bazz() = this.invoke() + +inline fun Foo.bazzz() = invoke()