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(); }