private Expression <Func <object, ExecutionContext, object> > CompileGlobalInitializer(SmalltalkRuntime runtime, SmalltalkNameScope globalNameScope)
 {
     return(this.Compile(runtime,
                         BindingScope.ForGlobalInitializer(globalNameScope),
                         ReservedScope.ForGlobalInitializer(),
                         String.Format("{0} initializer", this.Binding.Name.Value)));
 }
        protected override InitializerCompiler GetInitializerCompiler(NativeLiteralEncodingStrategy literalEncodingStrategy, NativeDynamicCallStrategy dynamicCallStrategy, NativeDiscreteBindingEncodingStrategy discreteBindingEncodingStrategy)
        {
            BindingScope globalScope   = BindingScope.ForGlobalInitializer(this.Compiler.Parameters.Runtime.GlobalScope);
            BindingScope reservedScope = ReservedScope.ForGlobalInitializer();

            return(this.GetInitializerCompiler(globalScope, reservedScope, literalEncodingStrategy, dynamicCallStrategy, discreteBindingEncodingStrategy));
        }