Fixed #1904 NullPointerException on decompiler pool

Fixed #1904 AS1/2 Simplify expressions breaks registers, functions
This commit is contained in:
Jindra Petřík
2022-12-23 17:02:50 +01:00
parent 47cd0c83ff
commit 2bd1208f86
5 changed files with 18 additions and 9 deletions
@@ -206,7 +206,7 @@ public class DirectValueActionItem extends ActionItem implements SimpleValue {
}
dependencies.add(computedRegValue);
}
return (value instanceof Double) || (value instanceof Float) || (value instanceof Boolean) || (value instanceof Long) || (value == Null.INSTANCE) || (computedRegValue != null && computedRegValue.isCompileTime(dependencies)) || (value instanceof String) || (value instanceof ConstantIndex);
return (value instanceof Double) || (value instanceof Float) || (value instanceof Boolean) || (value instanceof Long) || (value == Null.INSTANCE) || (value instanceof String) || (value instanceof ConstantIndex);
}
@Override
@@ -225,6 +225,8 @@ public class FunctionActionItem extends ActionItem implements BranchStackResista
return false;
}
/*
NOT COMPILE TIME! This causes problems in simplifyExpressions, etc.
@Override
public boolean isCompileTime(Set<GraphTargetItem> dependencies) {
for (GraphTargetItem a : actions) {
@@ -237,7 +239,7 @@ public class FunctionActionItem extends ActionItem implements BranchStackResista
}
}
return true;
}
}*/
@Override
public Object getResult() {
@@ -136,6 +136,8 @@ public class StoreRegisterActionItem extends ActionItem implements SetTypeAction
return true;
}
/*
NOT COMPILE TIME! This causes problems in simplifyExpressions, etc.
@Override
public boolean isCompileTime(Set<GraphTargetItem> dependencies) {
if (dependencies.contains(value)) {
@@ -144,6 +146,7 @@ public class StoreRegisterActionItem extends ActionItem implements SetTypeAction
dependencies.add(value);
return value.isCompileTime(dependencies);
}
*/
@Override
public Object getResult() {