public ILStatement GenerateWrite(ILValue target, ILValue buffer) { return(target_props .Convert(p => target.GetILProp(p)) .Convert(p => ILSerialize.GenerateObjectWrite(p, buffer)) .ToBlock()); }
protected void WriteArguments(object[] arguments, Buffer buffer) { if (argument_writer == null) { argument_writer = method.DeclaringType.CreateDynamicMethodDelegate <ArgumentWriter>(delegate(ILValue il_arguments, ILValue il_buffer) { return(il_arguments.GetILExpandedParams(method) .Convert(v => ILSerialize.GenerateObjectWrite(v, il_buffer)) .ToBlock()); }); } argument_writer(arguments, buffer); }
protected override ILStatement GenerateWriteInternal(ILValue prop, ILValue liaison, ILValue buffer) { return(ILSerialize.GenerateObjectWrite(prop, buffer)); }
static public ILStatement GenerateInvokeWrite(IEnumerable <ILValue> arguments, ILValue buffer) { return(arguments .Convert(a => ILSerialize.GenerateObjectWrite(a, buffer)) .ToBlock()); }