fix substituting 0 only if its actually the same variable that's substituted

This commit is contained in:
Irmen de Jong
2021-11-21 12:34:57 +01:00
parent dde4c751da
commit 8887e6af91
4 changed files with 65 additions and 43 deletions

View File

@@ -216,7 +216,7 @@ class UnusedCodeRemover(private val program: Program,
val assign2 = stmtPairs[1] as? Assignment
if (assign1 != null && assign2 != null) {
val cvalue1 = assign1.value.constValue(program)
if(cvalue1!=null && cvalue1.number==0.0 && assign2.isAugmentable) {
if(cvalue1!=null && cvalue1.number==0.0 && assign2.target.isSameAs(assign1.target, program) && assign2.isAugmentable) {
val value2 = assign2.value
val zero = VarDecl.defaultZero(value2.inferType(program).getOr(DataType.UNDEFINED), value2.position)
when(value2) {