From c49eaf260465163dd891cf5c39ebffb3f9387579 Mon Sep 17 00:00:00 2001 From: Mon_chi Date: Sun, 13 May 2018 14:28:01 +0300 Subject: [PATCH] Fix hint text for replace with operator assignment #KT-23559 Fixed --- .../inspections/ReplaceWithOperatorAssignmentInspection.kt | 2 +- .../replaceWithOperatorAssignment/validAddition.kt | 5 +++++ .../replaceWithOperatorAssignment/validAddition.kt.after | 5 +++++ .../idea/inspections/LocalInspectionTestGenerated.java | 5 +++++ 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 idea/testData/inspectionsLocal/replaceWithOperatorAssignment/validAddition.kt create mode 100644 idea/testData/inspectionsLocal/replaceWithOperatorAssignment/validAddition.kt.after 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");