Lucene.Net.Codecs.Memory.FSTTermsWriter.Dispose C# (CSharp) Method

Dispose() public method

public Dispose ( ) : void
return void
        public override void Dispose()
        {
            if (_output == null) return;

            IOException ioe = null;
            try
            {
                // write field summary
                var dirStart = _output.FilePointer;

                _output.WriteVInt(_fields.Count);
                foreach (var field in _fields)
                {
                    _output.WriteVInt(field.FieldInfo.Number);
                    _output.WriteVLong(field.NumTerms);
                    if (field.FieldInfo.FieldIndexOptions != IndexOptions.DOCS_ONLY)
                    {
                        _output.WriteVLong(field.SumTotalTermFreq);
                    }
                    _output.WriteVLong(field.SumDocFreq);
                    _output.WriteVInt(field.DocCount);
                    _output.WriteVInt(field.LongsSize);
                    field.Dict.Save(_output);
                }
                WriteTrailer(_output, dirStart);
                CodecUtil.WriteFooter(_output);
            }
            catch (IOException ioe2)
            {
                ioe = ioe2;
            }
            finally
            {
                IOUtils.CloseWhileHandlingException(ioe, _output, _postingsWriter);
                _output = null;
            }
        }