diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/ReplaceWithOperatorAssignmentInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/ReplaceWithOperatorAssignmentInspection.kt index 66127c9f9a2..8a22942e51d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/ReplaceWithOperatorAssignmentInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/ReplaceWithOperatorAssignmentInspection.kt @@ -55,7 +55,7 @@ class ReplaceWithOperatorAssignmentInspection : AbstractApplicabilityBasedInspec override val defaultFixText = "Replace with operator-assignment" override fun fixText(element: KtBinaryExpression) = - "Replace with '${element.operationReference.operationSignTokenType?.value}='" + "Replace with '${(element.right as? KtBinaryExpression)?.operationReference?.operationSignTokenType?.value}='" private fun checkExpressionRepeat(variableExpression: KtNameReferenceExpression, expression: KtBinaryExpression, bindingContext: BindingContext): Boolean { val descriptor = bindingContext[BindingContext.REFERENCE_TARGET, expression.operationReference]?.containingDeclaration diff --git a/idea/testData/inspectionsLocal/replaceWithOperatorAssignment/validAddition.kt b/idea/testData/inspectionsLocal/replaceWithOperatorAssignment/validAddition.kt new file mode 100644 index 00000000000..d701e9f8376 --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceWithOperatorAssignment/validAddition.kt @@ -0,0 +1,5 @@ +// FIX: Replace with '+=' +fun foo() { + var x = 0 + x = x + 1 +} \ No newline at end of file diff --git a/idea/testData/inspectionsLocal/replaceWithOperatorAssignment/validAddition.kt.after b/idea/testData/inspectionsLocal/replaceWithOperatorAssignment/validAddition.kt.after new file mode 100644 index 00000000000..42aaa1b183b --- /dev/null +++ b/idea/testData/inspectionsLocal/replaceWithOperatorAssignment/validAddition.kt.after @@ -0,0 +1,5 @@ +// FIX: Replace with '+=' +fun foo() { + var x = 0 + x += 1 +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java index 2467ef82db3..4497b2e1921 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java @@ -3977,6 +3977,11 @@ public class LocalInspectionTestGenerated extends AbstractLocalInspectionTest { runTest("idea/testData/inspectionsLocal/replaceWithOperatorAssignment/simpleAssign.kt"); } + @TestMetadata("validAddition.kt") + public void testValidAddition() throws Exception { + runTest("idea/testData/inspectionsLocal/replaceWithOperatorAssignment/validAddition.kt"); + } + @TestMetadata("validSubtraction.kt") public void testValidSubtraction() throws Exception { runTest("idea/testData/inspectionsLocal/replaceWithOperatorAssignment/validSubtraction.kt");