Add public local/arg set methods
This commit is contained in:
parent
1e21845448
commit
061f793f68
|
@ -180,6 +180,14 @@ namespace de4dot.blocks.cflow {
|
|||
return null;
|
||||
}
|
||||
|
||||
public void setArg(ParameterDefinition arg, Value value) {
|
||||
setArg(index(arg), value);
|
||||
}
|
||||
|
||||
public void makeArgUnknown(ParameterDefinition arg) {
|
||||
setArg(arg, getUnknownArg(index(arg)));
|
||||
}
|
||||
|
||||
void setArg(int index, Value value) {
|
||||
if (0 <= index && index < args.Count)
|
||||
args[index] = truncateValue(value, getArgType(index));
|
||||
|
@ -197,6 +205,14 @@ namespace de4dot.blocks.cflow {
|
|||
return getLocal(local.Index);
|
||||
}
|
||||
|
||||
public void setLocal(VariableDefinition local, Value value) {
|
||||
setLocal(local.Index, value);
|
||||
}
|
||||
|
||||
public void makeLocalUnknown(VariableDefinition local) {
|
||||
setLocal(local.Index, getUnknownLocal(local.Index));
|
||||
}
|
||||
|
||||
void setLocal(int index, Value value) {
|
||||
if (0 <= index && index < locals.Count)
|
||||
locals[index] = truncateValue(value, variableDefinitions[index].VariableType);
|
||||
|
@ -830,7 +846,7 @@ namespace de4dot.blocks.cflow {
|
|||
|
||||
void emulate_Ldarga(ParameterDefinition arg) {
|
||||
valueStack.pushUnknown();
|
||||
setArg(index(arg), getUnknownArg(index(arg)));
|
||||
makeArgUnknown(arg);
|
||||
}
|
||||
|
||||
void emulate_Ldloca(int index) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user