internal CodeBlock(CodeBlock parent, bool continuableBlock) { this.Clazz = parent.Clazz; this._emitter = parent._emitter; parent._emitter = InvalidState.InSubBlock; this._parent = parent; //copy over local variables from parent this.LocalVariables = copy(parent.LocalVariables); this._continuableBlock = continuableBlock; }
internal CodeBlock(ClassGenerator clazz, MethodEmitter emitter, params Parameter[] parameters) { this.Clazz = clazz; this._emitter = emitter; this._parent = null; this._continuableBlock = false; LocalVariables.createNew(clazz.Handle(), "this"); foreach (Parameter parameter in parameters) { LocalVariables.createNew(parameter.Type(), parameter.Name()); } }