private void EmitBlockStatement(BoundStatementBlock statement)
 {
     foreach (BaseBoundStatement child in statement.Body)
     {
         this.EmitStatement(child);
     }
 }
        private RuntimeModule EmitAndSaveModule(string name, BoundStatementBlock body)
        {
            ModuleEmitter emitter = new ModuleEmitter(body);
            RuntimeModule module  = new RuntimeModule(name, emitter.Instructions, body.Syntax);

            this.Modules.Add(module.Name, module);
            return(module);
        }
 public ModuleEmitter(BoundStatementBlock module)
 {
     this.EmitStatement(module);
     this.RemoveTransientInstructions();
 }