From aa989c0d8eb2631fc21d0720429e36850f849185 Mon Sep 17 00:00:00 2001 From: "Walied K. Yassen" Date: Mon, 15 Apr 2024 08:10:18 +0300 Subject: [PATCH] Improve simple expressions detection for local variable deletion --- .../ide/inspections/fixes/RsDeleteLocalVariableFix.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/io/runescript/plugin/ide/inspections/fixes/RsDeleteLocalVariableFix.kt b/src/main/kotlin/io/runescript/plugin/ide/inspections/fixes/RsDeleteLocalVariableFix.kt index 3ca6ed1..3ba44ef 100644 --- a/src/main/kotlin/io/runescript/plugin/ide/inspections/fixes/RsDeleteLocalVariableFix.kt +++ b/src/main/kotlin/io/runescript/plugin/ide/inspections/fixes/RsDeleteLocalVariableFix.kt @@ -24,13 +24,19 @@ class RsDeleteLocalVariableFix : LocalQuickFix { } private fun RsExpression.isSimpleToRemove(): Boolean { + if (this is RsStringLiteralExpression) { + return stringLiteralContent.stringInterpolationExpressionList.all { it.isSimpleToRemove() } + } return when (this) { is RsNullLiteralExpression, is RsIntegerLiteralExpression, is RsCoordLiteralExpression, is RsBooleanLiteralExpression, - is RsLongLiteralExpression -> true - + is RsLongLiteralExpression, + is RsLocalVariableExpression, + is RsConstantExpression, + is RsArrayAccessExpression -> true + is RsStringInterpolationExpression -> expression.isSimpleToRemove() is RsParExpression -> expression.isSimpleToRemove() is RsCalcExpression -> expression.isSimpleToRemove() is RsBinaryExpression -> left.isSimpleToRemove() && right.isSimpleToRemove()