예제 #1
0
        public List <System.Object> Execute()
        {
            inError = false;
            error   = null;

            if (func.InError)
            {
                inError = true;
                error   = new Exception(func.ErrorString);
                output  = null;
                return(null);
            }

            try {
                // Evaluate input expressions to yield the input arguments
                List <System.Object> inputArguments = new List <System.Object>(func.Ins.Count);
                foreach (JITExpression e in inputExpressions)
                {
                    inputArguments.Add(e.Execute());
                }

                // Call function using input arguments
                output = func.Execute(inputArguments);
                return(output);
            } catch (Exception e) {
                inError = true;
                error   = e;
                output  = null;
                return(null);
            }
        }
예제 #2
0
        public List <Object> Run(JITFunction f)
        {
            if (f.InError)
            {
                throw new Exception(f.ErrorString);
            }

            List <Object> r = f.Execute(new List <Object>());

            if (f.InError)
            {
                throw new Exception(f.ErrorString);
            }

            return(r);
        }