public override void Execute(AbstractMachineState state)
{
AMProgram prog = (AMProgram)state.Program;
runtime = state;
// invoke(+ClassObj,+meth(+x..),-Return).
AbstractTerm X0 = (state["X0"] as AbstractTerm).Dereference();
AbstractTerm X1 = (state["X1"] as AbstractTerm).Dereference();
AbstractTerm X2 = (state["X2"] as AbstractTerm).Dereference();
if (Getproperty(X0, X1, X2))
{
prog.Next();
}
else
{
state.Backtrack();
}
}