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); } }
internal override void EmitSet(CodeGen g, Operand value, bool allowExplicitConversion) { if (IsReference) { g.EmitLdargHelper(_index); g.EmitStindHelper(GetReturnType(g.TypeMapper), value, allowExplicitConversion); } else { g.EmitGetHelper(value, GetReturnType(g.TypeMapper), allowExplicitConversion); g.EmitStargHelper(_index); } }
protected internal override void EmitSet(CodeGen g, Operand value, bool allowExplicitConversion) { OperandExtensions.SetLeakedState(this, false); if (IsReference) { g.EmitLdargHelper(_index); g.EmitStindHelper(GetReturnType(g.TypeMapper), value, allowExplicitConversion); } else { g.EmitGetHelper(value, GetReturnType(g.TypeMapper), allowExplicitConversion); g.EmitStargHelper(_index); } }