protected override void OnExecute(Engine engine) { var value = Value != null ? Value.Get(engine) : null; if (engine.ScriptDepth == 1) engine.DefineVariableInParentScope(VariableName, value); else engine.DefineVariable(VariableName, value); }
protected override void OnExecuteFrame(Engine engine) { engine.SetBreakFrame(); foreach (var item in Collection.Get(engine) as IEnumerable) { engine.DefineVariable(VariableName, item); Body.Execute(engine); engine.ClearShouldContinue(); if (engine.ShouldInterrupt) break; } }
protected override void OnExecute(Engine engine) { var type = engine.GetType(TypeProperty, TypePath, TypeCodeTree); var value = engine.Get(ValueProperty, Path, CodeTree) as IEnumerable; var name = engine.GetVariable(Var, VarCodeTree); foreach (object item in value) { engine.DefineVariable(name, TypeHelper.Convert(item, type)); Body.Execute(engine); engine.ClearShouldContinue(); if (engine.ShouldInterrupt) break; } }
private void SetLoopValue(string name, object value, Type type, Engine engine) { engine.DefineVariable(name, TypeHelper.Convert(value, type)); }
protected override void OnExecuteFrame(Engine engine) { engine.DefineVariable(Engine.ContextKey, Context.Get(engine)); Body.Execute(engine); }