private bool Validate(SmalltalkNameScope globalNameScope, IIntermediateCodeValidationErrorSink errorSink, Func<SmalltalkRuntime, InitializerCompilationResult> func) { return AstIntermediateMethodCode.Validate(this.ParseTree, errorSink, delegate() { Expression rt = Expression.Parameter(typeof(SmalltalkRuntime), "rt"); Expression self = Expression.Parameter(typeof(object), "self"); return func(globalNameScope.Runtime); }); }
public override bool ValidateProgramInitializer(SmalltalkNameScope globalNameScope, IIntermediateCodeValidationErrorSink errorSink) { return this.Validate(globalNameScope, errorSink, rt => this.CompileProgramInitializer(rt, globalNameScope)); }
protected override bool InternalValidateMethod(IInstallerContext installer, SmalltalkClass cls, IIntermediateCodeValidationErrorSink errorSink) { return this.IntermediateCode.ValidateClassMethod(cls, installer.NameScope, errorSink); }