Fixed #2029 Simplify expressions stripping getlex and also ignoring some types of expressions

This commit is contained in:
Jindra Petřík
2023-10-01 18:21:38 +02:00
parent 6e3bc36007
commit 3f6223fe0f
10 changed files with 37 additions and 16 deletions
@@ -31,6 +31,7 @@ import com.jpexs.decompiler.graph.GraphPart;
import com.jpexs.decompiler.graph.GraphSourceItem;
import com.jpexs.decompiler.graph.GraphSourceItemPos;
import com.jpexs.decompiler.graph.GraphTargetItem;
import com.jpexs.decompiler.graph.SimpleValue;
import com.jpexs.decompiler.graph.SourceGenerator;
import com.jpexs.decompiler.graph.model.LocalData;
import java.util.List;
@@ -144,7 +145,9 @@ public class SetVariableActionItem extends ActionItem implements SetTypeActionIt
if (dependencies.contains(value)) {
return false;
}
dependencies.add(value);
if (!((value instanceof SimpleValue) && ((SimpleValue)value).isSimpleValue())) {
dependencies.add(value);
}
return value.isCompileTime(dependencies);
}
@@ -25,6 +25,7 @@ import com.jpexs.decompiler.graph.CompilationException;
import com.jpexs.decompiler.graph.GraphSourceItem;
import com.jpexs.decompiler.graph.GraphSourceItemPos;
import com.jpexs.decompiler.graph.GraphTargetItem;
import com.jpexs.decompiler.graph.SimpleValue;
import com.jpexs.decompiler.graph.SourceGenerator;
import com.jpexs.decompiler.graph.model.LocalData;
import java.util.List;
@@ -94,7 +95,9 @@ public class TypeOfActionItem extends ActionItem {
if (dependencies.contains(value)) {
return false;
}
dependencies.add(value);
if (!((value instanceof SimpleValue) && ((SimpleValue)value).isSimpleValue())) {
dependencies.add(value);
}
return value.isCompileTime(dependencies);
}