Esempio n. 1
0
 public ICatchHeader EmitCatchHeader(IVariableMember ExceptionVariable)
 {
     return(new CatchHeader(
                ExceptionVariable.VariableType,
                (AtAddressEmitVariable)DeclareLocal(
                    new UniqueTag(ExceptionVariable.Name.ToString()),
                    ExceptionVariable)));
 }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
 public IEmitVariable DeclareLocal(UniqueTag Tag, IVariableMember VariableMember)
 {
     return(DeclareUnmanagedLocal(Tag, VariableMember));
 }