Cleanup: apply "cascade if..." inspection (+ some others)
This commit is contained in:
committed by
Mikhail Glukhikh
parent
9c06739594
commit
1d2017b0fc
+11
-9
@@ -66,15 +66,17 @@ class RedundantStatementElimination(private val root: JsFunction) {
|
||||
private fun replace(expression: JsExpression): List<JsExpression> {
|
||||
return when (expression) {
|
||||
is JsNameRef -> {
|
||||
if (expression.name in localVars) {
|
||||
listOf()
|
||||
}
|
||||
else if (expression.sideEffects != SideEffectKind.AFFECTS_STATE) {
|
||||
val qualifier = expression.qualifier
|
||||
if (qualifier != null) replace(qualifier) else listOf()
|
||||
}
|
||||
else {
|
||||
listOf(expression)
|
||||
when {
|
||||
expression.name in localVars -> {
|
||||
listOf()
|
||||
}
|
||||
expression.sideEffects != SideEffectKind.AFFECTS_STATE -> {
|
||||
val qualifier = expression.qualifier
|
||||
if (qualifier != null) replace(qualifier) else listOf()
|
||||
}
|
||||
else -> {
|
||||
listOf(expression)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user