Beispiel #1
0
            public override PipeValue Invoke(PipeContext context)
            {
                PipeExecutionException[] exceptions;
                object result = EvaluationContext.Evaluate(tokens, context.Value, context.EvaluationContext.Options, out exceptions);

                foreach (PipeExecutionException ex in exceptions)
                {
                    context.EvaluationContext.AddException(ex);
                }
                if (context.EvaluationContext.Options.OutputXml)
                {
                    context.EvaluationContext.CurrentXmlElement.AppendChild((XmlNode)result);
                    return(PipeValue.Undefined);
                }
                return(result.ToString());
            }
Beispiel #2
0
 /// <summary>
 /// Invokes the pipe function with the specified context.
 /// </summary>
 /// <param name="context">Pipe context.</param>
 /// <returns>Result of the pipe function.</returns>
 public abstract PipeValue Invoke(PipeContext context);
Beispiel #3
0
 public override PipeValue Invoke(PipeContext context)
 {
     PipeValue[] args = context.TakeArguments(5);
     return(fn(context.Value, args[0], args[1], args[2], args[3], args[4]));
 }
Beispiel #4
0
 public override PipeValue Invoke(PipeContext context)
 {
     return(fn(context.Value));
 }
Beispiel #5
0
 private PipeContext(PipeContext instance, int start, int end)
     : this(instance.context, instance.pipe)
 {
     this.start = start;
     this.end   = end;
 }
Beispiel #6
0
 public PipeLambdaHostClass(PipeContext evaluator, int start, int end)
 {
     this.pipe = new PipeContext(evaluator, start, end);
 }