Action<AbstractBufferedWriter, object> NewSimpleSaver(ITypeDescriptor descriptor)
{
if (descriptor.AnyOpNeedsCtx()) return null;
var method = ILBuilder.Instance.NewMethod<Action<AbstractBufferedWriter, object>>(descriptor.Name + "SimpleSaver");
var il = method.Generator;
descriptor.GenerateSave(il, ilgen => ilgen.Ldarg(0), null, ilgen =>
{
ilgen.Ldarg(1);
var type = descriptor.GetPreferedType();
if (type != typeof(object))
{
ilgen.UnboxAny(type);
}
}, descriptor.GetPreferedType());
il.Ret();
return method.Create();
}