public ICatchHeader EmitCatchHeader(IVariableMember ExceptionVariable) { return(new CatchHeader( ExceptionVariable.VariableType, (AtAddressEmitVariable)DeclareLocal( new UniqueTag(ExceptionVariable.Name.ToString()), ExceptionVariable))); }
public IUnmanagedEmitVariable DeclareUnmanagedLocal(UniqueTag Tag, IVariableMember VariableMember) { var alloca = new AllocaBlock(this, VariableMember.VariableType); var valueTag = Prologue.AddInstruction(alloca); var taggedValue = new TaggedValueBlock(this, valueTag, alloca.Type); locals.Add(Tag, taggedValue); return(new AtAddressEmitVariable(taggedValue)); }
public IEmitVariable DeclareLocal(UniqueTag Tag, IVariableMember VariableMember) { return(DeclareUnmanagedLocal(Tag, VariableMember)); }