BTDB.FieldHandler.DictionaryFieldHandler.FreeContent C# (CSharp) Метод

FreeContent() публичный Метод

public FreeContent ( IILGen ilGenerator, Action pushReaderOrCtx ) : bool
ilGenerator IILGen
pushReaderOrCtx Action
Результат bool
        public bool FreeContent(IILGen ilGenerator, Action<IILGen> pushReaderOrCtx)
        {
            var needsFreeContent = false;
            var localCount = ilGenerator.DeclareLocal(typeof(uint));
            var finish = ilGenerator.DefineLabel();
            var next = ilGenerator.DefineLabel();
            ilGenerator
                .Do(pushReaderOrCtx)
                .Callvirt(() => ((IReaderCtx)null).SkipObject())
                .Brfalse(finish)
                .Do(Extensions.PushReaderFromCtx(pushReaderOrCtx))
                .Callvirt(() => ((AbstractBufferedReader)null).ReadVUInt32())
                .Stloc(localCount)
                .Mark(next)
                .Ldloc(localCount)
                .Brfalse(finish)
                .Ldloc(localCount)
                .LdcI4(1)
                .Sub()
                .ConvU4()
                .Stloc(localCount)
                .GenerateFreeContent(_keysHandler, pushReaderOrCtx, ref needsFreeContent)
                .GenerateFreeContent(_valuesHandler, pushReaderOrCtx, ref needsFreeContent)
                .Br(next)
                .Mark(finish);
            return needsFreeContent;
        }