IKVM.Internal.GetterFieldWrapper.EmitGetImpl C# (CSharp) Method

EmitGetImpl() protected method

protected EmitGetImpl ( CodeEmitter ilgen ) : void
ilgen CodeEmitter
return void
        protected override void EmitGetImpl(CodeEmitter ilgen)
        {
            if(!IsStatic && DeclaringType.IsNonPrimitiveValueType)
            {
                ilgen.Emit(OpCodes.Unbox, DeclaringType.TypeAsTBD);
                ilgen.Emit(OpCodes.Call, getter);
            }
            else
            {
                // NOTE we look at the static-ness of the getter method and not our own,
                // because for instance fields we can still have a static getter method
                ilgen.Emit(getter.IsStatic ? OpCodes.Call : OpCodes.Callvirt, getter);
            }
        }