public ExecState RunImmediate(DynamicObject arg) { Root.OnInit(null); var executeContext = new ExecuteContext(Root, Storage); executeContext.SetVariable("Arg", arg); executeContext.SetVariable("Result", new DynamicObject()); var st = Root.ExecuteImmediate(executeContext); _result = executeContext.Result; if (Storage != null) { var storedArg = executeContext.GetVariable("Arg"); var storedResult = executeContext.GetVariable("Result"); Storage.Set("Arg", storedArg); Storage.Set("Result", storedResult); } return(st); }
public ExecState Continue(String bookmark, DynamicObject reply) { Root.OnInit(null); var executeContext = new ExecuteContext(Root, Storage); executeContext.Reply = reply; executeContext.Bookmark = bookmark; executeContext.IsContinue = true; DynamicObject arg = Storage.Get <ExpandoObject>("Arg"); DynamicObject res = Storage.Get <ExpandoObject>("Result"); executeContext.SetVariable("Arg", arg); executeContext.SetVariable("Result", res); var st = Root.ExecuteImmediate(executeContext); _result = executeContext.Result; return(st); }