public bool Validate(SmalltalkNameScope globalNameScope, IRuntimeCodeValidationErrorSink errorSink)
        {
            return(RuntimeCompiledMethod.Validate(this.ParseTree, errorSink, () =>
            {
                Expression self = Expression.Parameter(typeof(object), "self");
                Expression executionContext = Expression.Parameter(typeof(ExecutionContext), "$executionContext");
                Expression[] args = new Expression[this.ParseTree.Arguments.Count];
                for (int i = 0; i < args.Length; i++)
                {
                    args[i] = Expression.Parameter(typeof(object), String.Format("arg{0}", i + 1));
                }

                return this.GetExpression(self, executionContext, args, globalNameScope);
            }));
        }
 public bool Validate(SmalltalkNameScope globalNameScope, IRuntimeCodeValidationErrorSink errorSink)
 {
     return(RuntimeCompiledMethod.Validate(this.ParseTree, errorSink, () => this.Compile(globalNameScope.Runtime, globalNameScope)));
 }