public void GenerateTypeIterator(IILGen ilGenerator, Action <IILGen> pushObj, Action <IILGen> pushCtx, Type type)
{
var allProps = _objectTypeDescriptor.GetPreferedType().GetProperties();
foreach (var pair in _objectTypeDescriptor._fields)
{
if (pair.Value.Sealed)
{
continue;
}
ilGenerator
.Do(pushCtx)
.Do(pushObj)
.Castclass(_objectTypeDescriptor._type)
.Callvirt(allProps.First(p => GetPersitentName(p) == pair.Key).GetGetMethod())
.Callvirt(() => default(IDescriptorSerializerLiteContext).StoreNewDescriptors(null));
}
}