Exemplo n.º 1
0
            internal override void EmitGet(CodeGen g)
            {
                g.EmitLdargHelper(index);

                if (IsReference)
                {
                    g.EmitLdindHelper(Type);
                }
            }
Exemplo n.º 2
0
 internal override void EmitSet(CodeGen g, Operand value, bool allowExplicitConversion)
 {
     if (IsReference)
     {
         g.EmitLdargHelper(index);
         g.EmitStindHelper(Type, value, allowExplicitConversion);
     }
     else
     {
         g.EmitGetHelper(value, Type, allowExplicitConversion);
         g.EmitStargHelper(index);
     }
 }
Exemplo n.º 3
0
 internal override void EmitAddressOf(CodeGen g)
 {
     if (IsReference)
     {
         g.EmitLdargHelper(index);
     }
     else
     {
         if (index <= byte.MaxValue)
         {
             g.il.Emit(OpCodes.Ldarga_S, (byte)index);
         }
         else
         {
             g.il.Emit(OpCodes.Ldarga, index);
         }
     }
 }