1
0
mirror of https://github.com/KarolS/millfork.git synced 2025-04-22 16:40:03 +00:00

Fix removing unused local variables

This commit is contained in:
Karol Stasiak 2019-08-03 20:46:01 +02:00
parent dcbf54872b
commit f51f233571

@ -86,7 +86,9 @@ object UnusedLocalVariables extends NodeOptimization {
case s@Assignment(VariableExpression(n), LiteralExpression(_, _)) =>
if (localsToRemove(extractThingName(n))) Nil else Some(s)
case s@Assignment(VariableExpression(n), expr) =>
if (localsToRemove(extractThingName(n))) Some(ExpressionStatement(expr).pos(s.position)) else Some(s)
if (localsToRemove(extractThingName(n))) {
if (expr.isPure) Nil else Some(ExpressionStatement(expr).pos(s.position))
}else Some(s)
case s@Assignment(SeparateBytesExpression(he@VariableExpression(h), le@VariableExpression(l)), expr) =>
if (localsToRemove(extractThingName(h))) {
if (localsToRemove(extractThingName(l)))