Пример #1
0
 public void EmitCalculateSize(IEmittingContext context, Action<MyILGenerator> emitLoad)
 {
     var il = context.IL;
     context.EmitLoadManualCodecFor(type);
     emitLoad(il);
     il.Callvirt(ManualCodecMethods.CalculateSize(type));
 }
Пример #2
0
        public void EmitCalculateSize(IEmittingContext context, Action <MyILGenerator> emitLoad)
        {
            var il = context.IL;

            context.EmitLoadManualCodecFor(type);
            emitLoad(il);
            il.Callvirt(ManualCodecMethods.CalculateSize(type));
        }
Пример #3
0
        public void EmitEncode(IEmittingContext context, Action <MyILGenerator> emitLoad)
        {
            var il = context.IL;

            context.EmitLoadManualCodecFor(type);
            il.Ldloca(context.DataPointerVar);
            emitLoad(il);
            il.Callvirt(ManualCodecMethods.Encode(type));
        }
Пример #4
0
        public void EmitDecode(IEmittingContext context, bool doNotCheckBounds)
        {
            var il = context.IL;

            context.EmitLoadManualCodecFor(type);
            il.Ldloca(context.DataPointerVar);
            il.Ldloca(context.RemainingBytesVar);
            il.Ldc_I4(0);
            il.Callvirt(ManualCodecMethods.Decode(type));
        }
Пример #5
0
 public void EmitEncode(IEmittingContext context, Action<MyILGenerator> emitLoad)
 {
     var il = context.IL;
     context.EmitLoadManualCodecFor(type);
     il.Ldloca(context.DataPointerVar);
     emitLoad(il);
     il.Callvirt(ManualCodecMethods.Encode(type));
 }
Пример #6
0
 public void EmitDecode(IEmittingContext context, bool doNotCheckBounds)
 {
     var il = context.IL;
     context.EmitLoadManualCodecFor(type);
     il.Ldloca(context.DataPointerVar);
     il.Ldloca(context.RemainingBytesVar);
     il.Ldc_I4(0);
     il.Callvirt(ManualCodecMethods.Decode(type));
 }