public override void EvaluateNode(EvaluationContext context, AstMode mode) { var argsObj = context.Data.Pop(); var args = argsObj as ValuesList; if (args == null) context.ThrowError(O2_Misc_Microsoft_MPL_Libs.Irony_Parser.Resources.ErrArgListNotFound, argsObj); if (args.Count != ChildNodes.Count) context.ThrowError(O2_Misc_Microsoft_MPL_Libs.Irony_Parser.Resources.ErrWrongArgCount, ChildNodes.Count, args.Count); for(int i = 0; i < ChildNodes.Count; i++) { context.Data.Push(args[i]); ChildNodes[i].Evaluate(context, AstMode.Write); } }//method
public override void EvaluateNode(EvaluationContext context, AstMode mode) { TargetRef.Evaluate(context, AstMode.Read); var target = context.Data.Pop() as ICallTarget; if (target == null) context.ThrowError(Resources.ErrVarIsNotCallable, _targetName); Arguments.Evaluate(context, AstMode.Read); target.Call(context); }
public override void EvaluateNode(EvaluationContext context, AstMode mode, DateTime time) { switch (mode) { case AstMode.Read: context.Data.Push(Value); break; case AstMode.Write: context.ThrowError(Resources.ErrAssignLiteralValue); break; } }
public override void EvaluateNode(EvaluationContext context, AstMode mode) { switch (mode) { case AstMode.Read: context.Data.Push(Value); break; case AstMode.Write: context.ThrowError(O2_Misc_Microsoft_MPL_Libs.Irony_Parser.Resources.ErrAssignLiteralValue); break; } }
public override void EvaluateNode(EvaluationContext context, AstMode mode) { switch (mode) { case AstMode.Read: object value; if (context.TryGetValue(Symbol, out value)) context.Data.Push(value); else context.ThrowError(Resources.ErrVarNotDefined, Symbol); break; case AstMode.Write: context.SetValue(Symbol, context.Data.Pop()); break; } }
public override void EvaluateNode(EvaluationContext context, AstMode mode, DateTime time) { context.ThrowError(Resources.ErrConstructNotSupported, Name); }
public override void Evaluate(EvaluationContext context, AstMode mode) { context.ThrowError(Resources.ErrNullNodeEval, this.Term); }
public override void Evaluate(EvaluationContext context, AstMode mode) { context.ThrowError(O2_Misc_Microsoft_MPL_Libs.Irony_Parser.Resources.ErrNullNodeEval, this.Term); }