public static void UpdateNeedsFreeContent(NeedsFreeContent partial, ref NeedsFreeContent accumulatedValue) { if ((int)partial > (int)accumulatedValue) { accumulatedValue = partial; } }
public static IILGen GenerateFreeContent(this IILGen ilGenerator, IFieldHandler fieldHandler, Action <IILGen> pushReaderOrCtx, ref NeedsFreeContent needsFreeContent) { UpdateNeedsFreeContent(fieldHandler.FreeContent(ilGenerator, fieldHandler.NeedsCtx() ? pushReaderOrCtx : PushReaderFromCtx(pushReaderOrCtx)), ref needsFreeContent); return(ilGenerator); }
void UpdateNeedsFreeContent(Type type, ref NeedsFreeContent needsFreeContent) { //decides upon current version (null for object types never stored in DB) var tableInfo = ((ObjectDB)_objectDB).TablesInfo.FindByType(type); var needsContentPartial = tableInfo?.IsFreeContentNeeded(tableInfo.ClientTypeVersion) ?? NeedsFreeContent.Unknown; Extensions.UpdateNeedsFreeContent(needsContentPartial, ref needsFreeContent); }