private EvaluationResult EvaluateExpression(AbstractSyntaxTree tree, IEnumerable<IGlobalMethodProvider> providers) { var context = new EvaluationContext { Tree = tree, MethodInvocationCallback = (m, args) => Evaluate(providers, m, args) }; return new Interpreter().Evalutate(context); }
private void CheckTree(AbstractSyntaxTree tree, object[] objects) { Assert.That(tree, Is.Not.Null); Assert.That(tree.Root, Is.Not.Null); int index = 0; CheckExpression(tree.Root, 0, objects, ref index); Assert.That(index, Is.EqualTo(objects.Length)); }