lucenenet-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nightowl...@apache.org
Subject [40/62] [abbrv] [partial] lucenenet git commit: Renamed Lucene.Net.Core folder Lucene.Net because the dotnet.exe pack command doesn't allow creating a NuGet package with a different name than its folder. Working around it with the script was much more co
Date Tue, 04 Apr 2017 17:19:46 GMT
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a5dc68d0/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xSkipListReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xSkipListReader.cs b/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xSkipListReader.cs
deleted file mode 100644
index baa16b3..0000000
--- a/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xSkipListReader.cs
+++ /dev/null
@@ -1,140 +0,0 @@
-using Lucene.Net.Support;
-using System;
-
-namespace Lucene.Net.Codecs.Lucene3x
-{
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-
-    using IndexInput = Lucene.Net.Store.IndexInput;
-
-    /// @deprecated (4.0) this is only used to read indexes created
-    /// before 4.0.
-    [Obsolete("(4.0) this is only used to read indexes created")]
-    internal sealed class Lucene3xSkipListReader : MultiLevelSkipListReader
-    {
-        private bool currentFieldStoresPayloads;
-        private long[] freqPointer;
-        private long[] proxPointer;
-        private int[] payloadLength;
-
-        private long lastFreqPointer;
-        private long lastProxPointer;
-        private int lastPayloadLength;
-
-        public Lucene3xSkipListReader(IndexInput skipStream, int maxSkipLevels, int skipInterval)
-            : base(skipStream, maxSkipLevels, skipInterval)
-        {
-            freqPointer = new long[maxSkipLevels];
-            proxPointer = new long[maxSkipLevels];
-            payloadLength = new int[maxSkipLevels];
-        }
-
-        public void Init(long skipPointer, long freqBasePointer, long proxBasePointer, int df, bool storesPayloads)
-        {
-            base.Init(skipPointer, df);
-            this.currentFieldStoresPayloads = storesPayloads;
-            lastFreqPointer = freqBasePointer;
-            lastProxPointer = proxBasePointer;
-
-            Arrays.Fill(freqPointer, freqBasePointer);
-            Arrays.Fill(proxPointer, proxBasePointer);
-            Arrays.Fill(payloadLength, 0);
-        }
-
-        /// <summary>
-        /// Returns the freq pointer of the doc to which the last call of
-        /// <seealso cref="MultiLevelSkipListReader#skipTo(int)"/> has skipped.
-        /// </summary>
-        public long FreqPointer
-        {
-            get
-            {
-                return lastFreqPointer;
-            }
-        }
-
-        /// <summary>
-        /// Returns the prox pointer of the doc to which the last call of
-        /// <seealso cref="MultiLevelSkipListReader#skipTo(int)"/> has skipped.
-        /// </summary>
-        public long ProxPointer
-        {
-            get
-            {
-                return lastProxPointer;
-            }
-        }
-
-        /// <summary>
-        /// Returns the payload length of the payload stored just before
-        /// the doc to which the last call of <seealso cref="MultiLevelSkipListReader#skipTo(int)"/>
-        /// has skipped.
-        /// </summary>
-        public int PayloadLength
-        {
-            get
-            {
-                return lastPayloadLength;
-            }
-        }
-
-        protected override void SeekChild(int level)
-        {
-            base.SeekChild(level);
-            freqPointer[level] = lastFreqPointer;
-            proxPointer[level] = lastProxPointer;
-            payloadLength[level] = lastPayloadLength;
-        }
-
-        protected override void SetLastSkipData(int level)
-        {
-            base.SetLastSkipData(level);
-            lastFreqPointer = freqPointer[level];
-            lastProxPointer = proxPointer[level];
-            lastPayloadLength = payloadLength[level];
-        }
-
-        protected override int ReadSkipData(int level, IndexInput skipStream)
-        {
-            int delta;
-            if (currentFieldStoresPayloads)
-            {
-                // the current field stores payloads.
-                // if the doc delta is odd then we have
-                // to read the current payload length
-                // because it differs from the length of the
-                // previous payload
-                delta = skipStream.ReadVInt32();
-                if ((delta & 1) != 0)
-                {
-                    payloadLength[level] = skipStream.ReadVInt32();
-                }
-                delta = (int)((uint)delta >> 1);
-            }
-            else
-            {
-                delta = skipStream.ReadVInt32();
-            }
-
-            freqPointer[level] += skipStream.ReadVInt32();
-            proxPointer[level] += skipStream.ReadVInt32();
-
-            return delta;
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a5dc68d0/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xStoredFieldsFormat.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xStoredFieldsFormat.cs b/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xStoredFieldsFormat.cs
deleted file mode 100644
index 051dc79..0000000
--- a/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xStoredFieldsFormat.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-using System;
-using Directory = Lucene.Net.Store.Directory;
-
-namespace Lucene.Net.Codecs.Lucene3x
-{
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-
-    using FieldInfos = Lucene.Net.Index.FieldInfos;
-    using IOContext = Lucene.Net.Store.IOContext;
-    using SegmentInfo = Lucene.Net.Index.SegmentInfo;
-
-    /// @deprecated Only for reading existing 3.x indexes
-    [Obsolete("Only for reading existing 3.x indexes")]
-    internal class Lucene3xStoredFieldsFormat : StoredFieldsFormat
-    {
-        public override StoredFieldsReader FieldsReader(Directory directory, SegmentInfo si, FieldInfos fn, IOContext context)
-        {
-            return new Lucene3xStoredFieldsReader(directory, si, fn, context);
-        }
-
-        public override StoredFieldsWriter FieldsWriter(Directory directory, SegmentInfo si, IOContext context)
-        {
-            throw new System.NotSupportedException("this codec can only be used for reading");
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a5dc68d0/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xStoredFieldsReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xStoredFieldsReader.cs b/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xStoredFieldsReader.cs
deleted file mode 100644
index d30d7a2..0000000
--- a/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xStoredFieldsReader.cs
+++ /dev/null
@@ -1,373 +0,0 @@
-using Lucene.Net.Support;
-using System;
-using System.Diagnostics;
-using System.Reflection;
-using CompoundFileDirectory = Lucene.Net.Store.CompoundFileDirectory;
-
-namespace Lucene.Net.Codecs.Lucene3x
-{
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-
-    using CorruptIndexException = Lucene.Net.Index.CorruptIndexException;
-    using Directory = Lucene.Net.Store.Directory;
-    using FieldInfo = Lucene.Net.Index.FieldInfo;
-    using FieldInfos = Lucene.Net.Index.FieldInfos;
-    using IndexFileNames = Lucene.Net.Index.IndexFileNames;
-    using IndexFormatTooNewException = Lucene.Net.Index.IndexFormatTooNewException;
-    using IndexFormatTooOldException = Lucene.Net.Index.IndexFormatTooOldException;
-    using IndexInput = Lucene.Net.Store.IndexInput;
-    using IOContext = Lucene.Net.Store.IOContext;
-    using IOUtils = Lucene.Net.Util.IOUtils;
-    using SegmentInfo = Lucene.Net.Index.SegmentInfo;
-    using StoredFieldVisitor = Lucene.Net.Index.StoredFieldVisitor;
-
-    /// <summary>
-    /// Class responsible for access to stored document fields.
-    /// <p/>
-    /// It uses &lt;segment&gt;.fdt and &lt;segment&gt;.fdx; files.
-    /// </summary>
-    /// @deprecated Only for reading existing 3.x indexes
-    [Obsolete("Only for reading existing 3.x indexes")]
-    internal sealed class Lucene3xStoredFieldsReader : StoredFieldsReader, IDisposable
-    {
-        private const int FORMAT_SIZE = 4;
-
-        /// <summary>
-        /// Extension of stored fields file </summary>
-        public const string FIELDS_EXTENSION = "fdt";
-
-        /// <summary>
-        /// Extension of stored fields index file </summary>
-        public const string FIELDS_INDEX_EXTENSION = "fdx";
-
-        // Lucene 3.0: Removal of compressed fields
-        internal const int FORMAT_LUCENE_3_0_NO_COMPRESSED_FIELDS = 2;
-
-        // Lucene 3.2: NumericFields are stored in binary format
-        internal const int FORMAT_LUCENE_3_2_NUMERIC_FIELDS = 3;
-
-        // NOTE: if you introduce a new format, make it 1 higher
-        // than the current one, and always change this if you
-        // switch to a new format!
-        public const int FORMAT_CURRENT = FORMAT_LUCENE_3_2_NUMERIC_FIELDS;
-
-        // when removing support for old versions, leave the last supported version here
-        internal const int FORMAT_MINIMUM = FORMAT_LUCENE_3_0_NO_COMPRESSED_FIELDS;
-
-        // NOTE: bit 0 is free here!  You can steal it!
-        public static readonly int FIELD_IS_BINARY = 1 << 1;
-
-        // the old bit 1 << 2 was compressed, is now left out
-
-        private const int _NUMERIC_BIT_SHIFT = 3;
-        internal static readonly int FIELD_IS_NUMERIC_MASK = 0x07 << _NUMERIC_BIT_SHIFT;
-
-        public const int FIELD_IS_NUMERIC_INT = 1 << _NUMERIC_BIT_SHIFT;
-        public const int FIELD_IS_NUMERIC_LONG = 2 << _NUMERIC_BIT_SHIFT;
-        public const int FIELD_IS_NUMERIC_FLOAT = 3 << _NUMERIC_BIT_SHIFT;
-        public const int FIELD_IS_NUMERIC_DOUBLE = 4 << _NUMERIC_BIT_SHIFT;
-
-        private readonly FieldInfos fieldInfos;
-        private readonly IndexInput fieldsStream;
-        private readonly IndexInput indexStream;
-        private int numTotalDocs;
-        private int size;
-        private bool closed;
-        private readonly int format;
-
-        // The docID offset where our docs begin in the index
-        // file.  this will be 0 if we have our own private file.
-        private int docStoreOffset;
-
-        // when we are inside a compound share doc store (CFX),
-        // (lucene 3.0 indexes only), we privately open our own fd.
-        private readonly CompoundFileDirectory storeCFSReader;
-
-        /// <summary>
-        /// Returns a cloned FieldsReader that shares open
-        ///  IndexInputs with the original one.  It is the caller's
-        ///  job not to close the original FieldsReader until all
-        ///  clones are called (eg, currently SegmentReader manages
-        ///  this logic).
-        /// </summary>
-        public override object Clone()
-        {
-            EnsureOpen();
-            return new Lucene3xStoredFieldsReader(fieldInfos, numTotalDocs, size, format, docStoreOffset, (IndexInput)fieldsStream.Clone(), (IndexInput)indexStream.Clone());
-        }
-
-        /// <summary>
-        /// Verifies that the code version which wrote the segment is supported. </summary>
-        public static void CheckCodeVersion(Directory dir, string segment)
-        {
-            string indexStreamFN = IndexFileNames.SegmentFileName(segment, "", FIELDS_INDEX_EXTENSION);
-            IndexInput idxStream = dir.OpenInput(indexStreamFN, IOContext.DEFAULT);
-
-            try
-            {
-                int format = idxStream.ReadInt32();
-                if (format < FORMAT_MINIMUM)
-                {
-                    throw new IndexFormatTooOldException(idxStream, format, FORMAT_MINIMUM, FORMAT_CURRENT);
-                }
-                if (format > FORMAT_CURRENT)
-                {
-                    throw new IndexFormatTooNewException(idxStream, format, FORMAT_MINIMUM, FORMAT_CURRENT);
-                }
-            }
-            finally
-            {
-                idxStream.Dispose();
-            }
-        }
-
-        // Used only by clone
-        private Lucene3xStoredFieldsReader(FieldInfos fieldInfos, int numTotalDocs, int size, int format, int docStoreOffset, IndexInput fieldsStream, IndexInput indexStream)
-        {
-            this.fieldInfos = fieldInfos;
-            this.numTotalDocs = numTotalDocs;
-            this.size = size;
-            this.format = format;
-            this.docStoreOffset = docStoreOffset;
-            this.fieldsStream = fieldsStream;
-            this.indexStream = indexStream;
-            this.storeCFSReader = null;
-        }
-
-        public Lucene3xStoredFieldsReader(Directory d, SegmentInfo si, FieldInfos fn, IOContext context)
-        {
-            string segment = Lucene3xSegmentInfoFormat.GetDocStoreSegment(si);
-            int docStoreOffset = Lucene3xSegmentInfoFormat.GetDocStoreOffset(si);
-            int size = si.DocCount;
-            bool success = false;
-            fieldInfos = fn;
-            try
-            {
-                if (docStoreOffset != -1 && Lucene3xSegmentInfoFormat.GetDocStoreIsCompoundFile(si))
-                {
-                    d = storeCFSReader = new CompoundFileDirectory(si.Dir, IndexFileNames.SegmentFileName(segment, "", Lucene3xCodec.COMPOUND_FILE_STORE_EXTENSION), context, false);
-                }
-                else
-                {
-                    storeCFSReader = null;
-                }
-                fieldsStream = d.OpenInput(IndexFileNames.SegmentFileName(segment, "", FIELDS_EXTENSION), context);
-                string indexStreamFN = IndexFileNames.SegmentFileName(segment, "", FIELDS_INDEX_EXTENSION);
-                indexStream = d.OpenInput(indexStreamFN, context);
-
-                format = indexStream.ReadInt32();
-
-                if (format < FORMAT_MINIMUM)
-                {
-                    throw new IndexFormatTooOldException(indexStream, format, FORMAT_MINIMUM, FORMAT_CURRENT);
-                }
-                if (format > FORMAT_CURRENT)
-                {
-                    throw new IndexFormatTooNewException(indexStream, format, FORMAT_MINIMUM, FORMAT_CURRENT);
-                }
-
-                long indexSize = indexStream.Length - FORMAT_SIZE;
-
-                if (docStoreOffset != -1)
-                {
-                    // We read only a slice out of this shared fields file
-                    this.docStoreOffset = docStoreOffset;
-                    this.size = size;
-
-                    // Verify the file is long enough to hold all of our
-                    // docs
-                    Debug.Assert(((int)(indexSize / 8)) >= size + this.docStoreOffset, "indexSize=" + indexSize + " size=" + size + " docStoreOffset=" + docStoreOffset);
-                }
-                else
-                {
-                    this.docStoreOffset = 0;
-                    this.size = (int)(indexSize >> 3);
-                    // Verify two sources of "maxDoc" agree:
-                    if (this.size != si.DocCount)
-                    {
-                        throw new CorruptIndexException("doc counts differ for segment " + segment + ": fieldsReader shows " + this.size + " but segmentInfo shows " + si.DocCount);
-                    }
-                }
-                numTotalDocs = (int)(indexSize >> 3);
-                success = true;
-            }
-            finally
-            {
-                // With lock-less commits, it's entirely possible (and
-                // fine) to hit a FileNotFound exception above. In
-                // this case, we want to explicitly close any subset
-                // of things that were opened so that we don't have to
-                // wait for a GC to do so.
-                if (!success)
-                {
-                    try
-                    {
-                        Dispose();
-                    } // keep our original exception
-#pragma warning disable 168
-                    catch (Exception t)
-#pragma warning restore 168
-                    {
-                    }
-                }
-            }
-        }
-
-        /// <exception cref="ObjectDisposedException"> if this FieldsReader is closed </exception>
-        private void EnsureOpen()
-        {
-            if (closed)
-            {
-                throw new ObjectDisposedException(this.GetType().GetTypeInfo().FullName, "this FieldsReader is closed");
-            }
-        }
-
-        /// <summary>
-        /// Closes the underlying <seealso cref="Lucene.Net.Store.IndexInput"/> streams.
-        /// this means that the Fields values will not be accessible.
-        /// </summary>
-        /// <exception cref="IOException"> If there is a low-level I/O error. </exception>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing)
-            {
-                if (!closed)
-                {
-                    IOUtils.Close(fieldsStream, indexStream, storeCFSReader);
-                    closed = true;
-                }
-            }
-        }
-
-        private void SeekIndex(int docID)
-        {
-            indexStream.Seek(FORMAT_SIZE + (docID + docStoreOffset) * 8L);
-        }
-
-        public override sealed void VisitDocument(int n, StoredFieldVisitor visitor)
-        {
-            SeekIndex(n);
-            fieldsStream.Seek(indexStream.ReadInt64());
-
-            int numFields = fieldsStream.ReadVInt32();
-            for (int fieldIDX = 0; fieldIDX < numFields; fieldIDX++)
-            {
-                int fieldNumber = fieldsStream.ReadVInt32();
-                FieldInfo fieldInfo = fieldInfos.FieldInfo(fieldNumber);
-
-                int bits = fieldsStream.ReadByte() & 0xFF;
-                Debug.Assert(bits <= (FIELD_IS_NUMERIC_MASK | FIELD_IS_BINARY), "bits=" + bits.ToString("x"));
-
-                switch (visitor.NeedsField(fieldInfo))
-                {
-                    case StoredFieldVisitor.Status.YES:
-                        ReadField(visitor, fieldInfo, bits);
-                        break;
-
-                    case StoredFieldVisitor.Status.NO:
-                        SkipField(bits);
-                        break;
-
-                    case StoredFieldVisitor.Status.STOP:
-                        return;
-                }
-            }
-        }
-
-        private void ReadField(StoredFieldVisitor visitor, FieldInfo info, int bits)
-        {
-            int numeric = bits & FIELD_IS_NUMERIC_MASK;
-            if (numeric != 0)
-            {
-                switch (numeric)
-                {
-                    case FIELD_IS_NUMERIC_INT:
-                        visitor.Int32Field(info, fieldsStream.ReadInt32());
-                        return;
-
-                    case FIELD_IS_NUMERIC_LONG:
-                        visitor.Int64Field(info, fieldsStream.ReadInt64());
-                        return;
-
-                    case FIELD_IS_NUMERIC_FLOAT:
-                        visitor.SingleField(info, Number.Int32BitsToSingle(fieldsStream.ReadInt32()));
-                        return;
-
-                    case FIELD_IS_NUMERIC_DOUBLE:
-                        visitor.DoubleField(info, BitConverter.Int64BitsToDouble(fieldsStream.ReadInt64()));
-                        return;
-
-                    default:
-                        throw new CorruptIndexException("Invalid numeric type: " + numeric.ToString("x"));
-                }
-            }
-            else
-            {
-                int length = fieldsStream.ReadVInt32();
-                var bytes = new byte[length];
-                fieldsStream.ReadBytes(bytes, 0, length);
-                if ((bits & FIELD_IS_BINARY) != 0)
-                {
-                    visitor.BinaryField(info, bytes);
-                }
-                else
-                {
-                    visitor.StringField(info, IOUtils.CHARSET_UTF_8.GetString(bytes));
-                }
-            }
-        }
-
-        private void SkipField(int bits)
-        {
-            int numeric = bits & FIELD_IS_NUMERIC_MASK;
-            if (numeric != 0)
-            {
-                switch (numeric)
-                {
-                    case FIELD_IS_NUMERIC_INT:
-                    case FIELD_IS_NUMERIC_FLOAT:
-                        fieldsStream.ReadInt32();
-                        return;
-
-                    case FIELD_IS_NUMERIC_LONG:
-                    case FIELD_IS_NUMERIC_DOUBLE:
-                        fieldsStream.ReadInt64();
-                        return;
-
-                    default:
-                        throw new CorruptIndexException("Invalid numeric type: " + numeric.ToString("x"));
-                }
-            }
-            else
-            {
-                int length = fieldsStream.ReadVInt32();
-                fieldsStream.Seek(fieldsStream.GetFilePointer() + length);
-            }
-        }
-
-        public override long RamBytesUsed()
-        {
-            // everything is stored on disk
-            return 0;
-        }
-
-        public override void CheckIntegrity()
-        {
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a5dc68d0/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xTermVectorsFormat.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xTermVectorsFormat.cs b/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xTermVectorsFormat.cs
deleted file mode 100644
index c222b97..0000000
--- a/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xTermVectorsFormat.cs
+++ /dev/null
@@ -1,89 +0,0 @@
-using System;
-using CompoundFileDirectory = Lucene.Net.Store.CompoundFileDirectory;
-using Directory = Lucene.Net.Store.Directory;
-
-namespace Lucene.Net.Codecs.Lucene3x
-{
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-
-    using FieldInfos = Lucene.Net.Index.FieldInfos;
-    using IndexFileNames = Lucene.Net.Index.IndexFileNames;
-    using IOContext = Lucene.Net.Store.IOContext;
-    using SegmentInfo = Lucene.Net.Index.SegmentInfo;
-
-    /// <summary>
-    /// Lucene3x ReadOnly TermVectorsFormat implementation </summary>
-    /// @deprecated (4.0) this is only used to read indexes created
-    /// before 4.0.
-    /// @lucene.experimental
-    [Obsolete("(4.0) this is only used to read indexes created before 4.0.")]
-    internal class Lucene3xTermVectorsFormat : TermVectorsFormat
-    {
-        public override TermVectorsReader VectorsReader(Directory directory, SegmentInfo segmentInfo, FieldInfos fieldInfos, IOContext context)
-        {
-            string fileName = IndexFileNames.SegmentFileName(Lucene3xSegmentInfoFormat.GetDocStoreSegment(segmentInfo), "", Lucene3xTermVectorsReader.VECTORS_FIELDS_EXTENSION);
-
-            // Unfortunately, for 3.x indices, each segment's
-            // FieldInfos can lie about hasVectors (claim it's true
-            // when really it's false).... so we have to carefully
-            // check if the files really exist before trying to open
-            // them (4.x has fixed this):
-            bool exists;
-            if (Lucene3xSegmentInfoFormat.GetDocStoreOffset(segmentInfo) != -1 && Lucene3xSegmentInfoFormat.GetDocStoreIsCompoundFile(segmentInfo))
-            {
-                string cfxFileName = IndexFileNames.SegmentFileName(Lucene3xSegmentInfoFormat.GetDocStoreSegment(segmentInfo), "", Lucene3xCodec.COMPOUND_FILE_STORE_EXTENSION);
-                if (segmentInfo.Dir.FileExists(cfxFileName))
-                {
-                    Directory cfsDir = new CompoundFileDirectory(segmentInfo.Dir, cfxFileName, context, false);
-                    try
-                    {
-                        exists = cfsDir.FileExists(fileName);
-                    }
-                    finally
-                    {
-                        cfsDir.Dispose();
-                    }
-                }
-                else
-                {
-                    exists = false;
-                }
-            }
-            else
-            {
-                exists = directory.FileExists(fileName);
-            }
-
-            if (!exists)
-            {
-                // 3x's FieldInfos sometimes lies and claims a segment
-                // has vectors when it doesn't:
-                return null;
-            }
-            else
-            {
-                return new Lucene3xTermVectorsReader(directory, segmentInfo, fieldInfos, context);
-            }
-        }
-
-        public override TermVectorsWriter VectorsWriter(Directory directory, SegmentInfo segmentInfo, IOContext context)
-        {
-            throw new System.NotSupportedException("this codec can only be used for reading");
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a5dc68d0/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xTermVectorsReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xTermVectorsReader.cs b/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xTermVectorsReader.cs
deleted file mode 100644
index dbce339..0000000
--- a/src/Lucene.Net.Core/Codecs/Lucene3x/Lucene3xTermVectorsReader.cs
+++ /dev/null
@@ -1,929 +0,0 @@
-using Lucene.Net.Index;
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Diagnostics;
-using IBits = Lucene.Net.Util.IBits;
-using BytesRef = Lucene.Net.Util.BytesRef;
-using CompoundFileDirectory = Lucene.Net.Store.CompoundFileDirectory;
-using Directory = Lucene.Net.Store.Directory;
-
-namespace Lucene.Net.Codecs.Lucene3x
-{
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-
-    using DocsAndPositionsEnum = Lucene.Net.Index.DocsAndPositionsEnum;
-    using DocsEnum = Lucene.Net.Index.DocsEnum;
-    using FieldInfo = Lucene.Net.Index.FieldInfo;
-    using FieldInfos = Lucene.Net.Index.FieldInfos;
-    using Fields = Lucene.Net.Index.Fields;
-    using IndexFileNames = Lucene.Net.Index.IndexFileNames;
-    using IndexFormatTooNewException = Lucene.Net.Index.IndexFormatTooNewException;
-    using IndexFormatTooOldException = Lucene.Net.Index.IndexFormatTooOldException;
-    using IndexInput = Lucene.Net.Store.IndexInput;
-    using IOContext = Lucene.Net.Store.IOContext;
-    using IOUtils = Lucene.Net.Util.IOUtils;
-    using SegmentInfo = Lucene.Net.Index.SegmentInfo;
-    using Terms = Lucene.Net.Index.Terms;
-    using TermsEnum = Lucene.Net.Index.TermsEnum;
-
-    /// @deprecated Only for reading existing 3.x indexes
-    [Obsolete("Only for reading existing 3.x indexes")]
-    internal class Lucene3xTermVectorsReader : TermVectorsReader
-    {
-        // NOTE: if you make a new format, it must be larger than
-        // the current format
-
-        // Changed strings to UTF8 with length-in-bytes not length-in-chars
-        internal const int FORMAT_UTF8_LENGTH_IN_BYTES = 4;
-
-        // NOTE: always change this if you switch to a new format!
-        // whenever you add a new format, make it 1 larger (positive version logic)!
-        public const int FORMAT_CURRENT = FORMAT_UTF8_LENGTH_IN_BYTES;
-
-        // when removing support for old versions, leave the last supported version here
-        public const int FORMAT_MINIMUM = FORMAT_UTF8_LENGTH_IN_BYTES;
-
-        //The size in bytes that the FORMAT_VERSION will take up at the beginning of each file
-        internal const int FORMAT_SIZE = 4;
-
-        public const sbyte STORE_POSITIONS_WITH_TERMVECTOR = 0x1;
-
-        public const sbyte STORE_OFFSET_WITH_TERMVECTOR = 0x2;
-
-        /// <summary>
-        /// Extension of vectors fields file </summary>
-        public const string VECTORS_FIELDS_EXTENSION = "tvf";
-
-        /// <summary>
-        /// Extension of vectors documents file </summary>
-        public const string VECTORS_DOCUMENTS_EXTENSION = "tvd";
-
-        /// <summary>
-        /// Extension of vectors index file </summary>
-        public const string VECTORS_INDEX_EXTENSION = "tvx";
-
-        private readonly FieldInfos fieldInfos;
-
-        private IndexInput tvx;
-        private IndexInput tvd;
-        private IndexInput tvf;
-        private int size;
-        private int numTotalDocs;
-
-        // The docID offset where our docs begin in the index
-        // file.  this will be 0 if we have our own private file.
-        private int docStoreOffset;
-
-        // when we are inside a compound share doc store (CFX),
-        // (lucene 3.0 indexes only), we privately open our own fd.
-        // TODO: if we are worried, maybe we could eliminate the
-        // extra fd somehow when you also have vectors...
-        private readonly CompoundFileDirectory storeCFSReader;
-
-        private readonly int format;
-
-        // used by clone
-        internal Lucene3xTermVectorsReader(FieldInfos fieldInfos, IndexInput tvx, IndexInput tvd, IndexInput tvf, int size, int numTotalDocs, int docStoreOffset, int format)
-        {
-            this.fieldInfos = fieldInfos;
-            this.tvx = tvx;
-            this.tvd = tvd;
-            this.tvf = tvf;
-            this.size = size;
-            this.numTotalDocs = numTotalDocs;
-            this.docStoreOffset = docStoreOffset;
-            this.format = format;
-            this.storeCFSReader = null;
-        }
-
-        public Lucene3xTermVectorsReader(Directory d, SegmentInfo si, FieldInfos fieldInfos, IOContext context)
-        {
-            string segment = Lucene3xSegmentInfoFormat.GetDocStoreSegment(si);
-            int docStoreOffset = Lucene3xSegmentInfoFormat.GetDocStoreOffset(si);
-            int size = si.DocCount;
-
-            bool success = false;
-
-            try
-            {
-                if (docStoreOffset != -1 && Lucene3xSegmentInfoFormat.GetDocStoreIsCompoundFile(si))
-                {
-                    d = storeCFSReader = new CompoundFileDirectory(si.Dir, IndexFileNames.SegmentFileName(segment, "", Lucene3xCodec.COMPOUND_FILE_STORE_EXTENSION), context, false);
-                }
-                else
-                {
-                    storeCFSReader = null;
-                }
-                string idxName = IndexFileNames.SegmentFileName(segment, "", VECTORS_INDEX_EXTENSION);
-                tvx = d.OpenInput(idxName, context);
-                format = CheckValidFormat(tvx);
-                string fn = IndexFileNames.SegmentFileName(segment, "", VECTORS_DOCUMENTS_EXTENSION);
-                tvd = d.OpenInput(fn, context);
-                int tvdFormat = CheckValidFormat(tvd);
-                fn = IndexFileNames.SegmentFileName(segment, "", VECTORS_FIELDS_EXTENSION);
-                tvf = d.OpenInput(fn, context);
-                int tvfFormat = CheckValidFormat(tvf);
-
-                Debug.Assert(format == tvdFormat);
-                Debug.Assert(format == tvfFormat);
-
-                numTotalDocs = (int)(tvx.Length >> 4);
-
-                if (-1 == docStoreOffset)
-                {
-                    this.docStoreOffset = 0;
-                    this.size = numTotalDocs;
-                    Debug.Assert(size == 0 || numTotalDocs == size);
-                }
-                else
-                {
-                    this.docStoreOffset = docStoreOffset;
-                    this.size = size;
-                    // Verify the file is long enough to hold all of our
-                    // docs
-                    Debug.Assert(numTotalDocs >= size + docStoreOffset, "numTotalDocs=" + numTotalDocs + " size=" + size + " docStoreOffset=" + docStoreOffset);
-                }
-
-                this.fieldInfos = fieldInfos;
-                success = true;
-            }
-            finally
-            {
-                // With lock-less commits, it's entirely possible (and
-                // fine) to hit a FileNotFound exception above. In
-                // this case, we want to explicitly close any subset
-                // of things that were opened so that we don't have to
-                // wait for a GC to do so.
-                if (!success)
-                {
-                    try
-                    {
-                        Dispose();
-                    } // keep our original exception
-                    catch (Exception)
-                    {
-                    }
-                }
-            }
-        }
-
-        // Not private to avoid synthetic access$NNN methods
-        internal virtual void SeekTvx(int docNum)
-        {
-            tvx.Seek((docNum + docStoreOffset) * 16L + FORMAT_SIZE);
-        }
-
-        private int CheckValidFormat(IndexInput @in)
-        {
-            int format = @in.ReadInt32();
-            if (format < FORMAT_MINIMUM)
-            {
-                throw new IndexFormatTooOldException(@in, format, FORMAT_MINIMUM, FORMAT_CURRENT);
-            }
-            if (format > FORMAT_CURRENT)
-            {
-                throw new IndexFormatTooNewException(@in, format, FORMAT_MINIMUM, FORMAT_CURRENT);
-            }
-            return format;
-        }
-
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing)
-            {
-                IOUtils.Close(tvx, tvd, tvf, storeCFSReader);
-            }
-        }
-
-        /// <summary>The number of documents in the reader. NOTE: This was size() in Lucene.</summary>
-        internal virtual int Count
-        {
-            get { return size; }
-        }
-
-        private class TVFields : Fields
-        {
-            private readonly Lucene3xTermVectorsReader outerInstance;
-
-            private readonly int[] fieldNumbers;
-            private readonly long[] fieldFPs;
-            private readonly IDictionary<int, int> fieldNumberToIndex = new Dictionary<int, int>();
-
-            public TVFields(Lucene3xTermVectorsReader outerInstance, int docID)
-            {
-                this.outerInstance = outerInstance;
-                outerInstance.SeekTvx(docID);
-                outerInstance.tvd.Seek(outerInstance.tvx.ReadInt64());
-
-                int fieldCount = outerInstance.tvd.ReadVInt32();
-                Debug.Assert(fieldCount >= 0);
-                if (fieldCount != 0)
-                {
-                    fieldNumbers = new int[fieldCount];
-                    fieldFPs = new long[fieldCount];
-                    for (int fieldUpto = 0; fieldUpto < fieldCount; fieldUpto++)
-                    {
-                        int fieldNumber = outerInstance.tvd.ReadVInt32();
-                        fieldNumbers[fieldUpto] = fieldNumber;
-                        fieldNumberToIndex[fieldNumber] = fieldUpto;
-                    }
-
-                    long position = outerInstance.tvx.ReadInt64();
-                    fieldFPs[0] = position;
-                    for (int fieldUpto = 1; fieldUpto < fieldCount; fieldUpto++)
-                    {
-                        position += outerInstance.tvd.ReadVInt64();
-                        fieldFPs[fieldUpto] = position;
-                    }
-                }
-                else
-                {
-                    // TODO: we can improve writer here, eg write 0 into
-                    // tvx file, so we know on first read from tvx that
-                    // this doc has no TVs
-                    fieldNumbers = null;
-                    fieldFPs = null;
-                }
-            }
-
-            public override IEnumerator<string> GetEnumerator()
-            {
-                return new IteratorAnonymousInnerClassHelper(this);
-            }
-
-            private class IteratorAnonymousInnerClassHelper : IEnumerator<string>
-            {
-                private readonly TVFields outerInstance;
-                private string current;
-                private int i, upTo;
-
-                public IteratorAnonymousInnerClassHelper(TVFields outerInstance)
-                {
-                    this.outerInstance = outerInstance;
-                    upTo = this.outerInstance.fieldNumbers.Length;
-                    i = 0;
-                }
-
-                public bool MoveNext()
-                {
-                    if (outerInstance.fieldNumbers != null && i < upTo)
-                    {
-                        current = outerInstance.outerInstance.fieldInfos.FieldInfo(outerInstance.fieldNumbers[i++]).Name;
-                        return true;
-                    }
-                    return false;
-                }
-
-                public string Current
-                {
-                    get
-                    {
-                        return current;
-                    }
-                }
-
-                object IEnumerator.Current
-                {
-                    get
-                    {
-                        return Current;
-                    }
-                }
-
-                public void Reset()
-                {
-                    throw new NotSupportedException();
-                }
-
-                public void Dispose()
-                {
-                }
-            }
-
-            public override Terms GetTerms(string field)
-            {
-                FieldInfo fieldInfo = outerInstance.fieldInfos.FieldInfo(field);
-                if (fieldInfo == null)
-                {
-                    // No such field
-                    return null;
-                }
-
-                int fieldIndex;
-                if (!fieldNumberToIndex.TryGetValue(fieldInfo.Number, out fieldIndex))
-                {
-                    // Term vectors were not indexed for this field
-                    return null;
-                }
-
-                return new TVTerms(outerInstance, fieldFPs[fieldIndex]);
-            }
-
-            public override int Count
-            {
-                get
-                {
-                    if (fieldNumbers == null)
-                    {
-                        return 0;
-                    }
-                    else
-                    {
-                        return fieldNumbers.Length;
-                    }
-                }
-            }
-        }
-
-        private class TVTerms : Terms
-        {
-            private readonly Lucene3xTermVectorsReader outerInstance;
-
-            private readonly int numTerms;
-            private readonly long tvfFPStart;
-            private readonly bool storePositions;
-            private readonly bool storeOffsets;
-            private readonly bool unicodeSortOrder;
-
-            public TVTerms(Lucene3xTermVectorsReader outerInstance, long tvfFP)
-            {
-                this.outerInstance = outerInstance;
-                outerInstance.tvf.Seek(tvfFP);
-                numTerms = outerInstance.tvf.ReadVInt32();
-                byte bits = outerInstance.tvf.ReadByte();
-                storePositions = (bits & STORE_POSITIONS_WITH_TERMVECTOR) != 0;
-                storeOffsets = (bits & STORE_OFFSET_WITH_TERMVECTOR) != 0;
-                tvfFPStart = outerInstance.tvf.GetFilePointer();
-                unicodeSortOrder = outerInstance.SortTermsByUnicode();
-            }
-
-            public override TermsEnum GetIterator(TermsEnum reuse)
-            {
-                TVTermsEnum termsEnum;
-                if (reuse is TVTermsEnum)
-                {
-                    termsEnum = (TVTermsEnum)reuse;
-                    if (!termsEnum.CanReuse(outerInstance.tvf))
-                    {
-                        termsEnum = new TVTermsEnum(outerInstance);
-                    }
-                }
-                else
-                {
-                    termsEnum = new TVTermsEnum(outerInstance);
-                }
-                termsEnum.Reset(numTerms, tvfFPStart, storePositions, storeOffsets, unicodeSortOrder);
-                return termsEnum;
-            }
-
-            public override long Count
-            {
-                get { return numTerms; }
-            }
-
-            public override long SumTotalTermFreq
-            {
-                get
-                {
-                    return -1;
-                }
-            }
-
-            public override long SumDocFreq
-            {
-                get
-                {
-                    // Every term occurs in just one doc:
-                    return numTerms;
-                }
-            }
-
-            public override int DocCount
-            {
-                get
-                {
-                    return 1;
-                }
-            }
-
-            public override IComparer<BytesRef> Comparer
-            {
-                get
-                {
-                    if (unicodeSortOrder)
-                    {
-                        return BytesRef.UTF8SortedAsUnicodeComparer;
-                    }
-                    else
-                    {
-                        return BytesRef.UTF8SortedAsUTF16Comparer;
-                    }
-                }
-            }
-
-            public override bool HasFreqs
-            {
-                get { return true; }
-            }
-
-            public override bool HasOffsets
-            {
-                get { return storeOffsets; }
-            }
-
-            public override bool HasPositions
-            {
-                get { return storePositions; }
-            }
-
-            public override bool HasPayloads
-            {
-                get { return false; }
-            }
-        }
-
-        internal class TermAndPostings
-        {
-            internal BytesRef Term { get; set; }
-            internal int Freq { get; set; }
-            internal int[] Positions { get; set; }
-            internal int[] StartOffsets { get; set; }
-            internal int[] EndOffsets { get; set; }
-        }
-
-        private class TVTermsEnum : TermsEnum
-        {
-            private readonly Lucene3xTermVectorsReader outerInstance;
-
-            internal bool unicodeSortOrder;
-            internal readonly IndexInput origTVF;
-            internal readonly IndexInput tvf;
-            internal int numTerms;
-            internal int currentTerm;
-            internal bool storePositions;
-            internal bool storeOffsets;
-
-            internal TermAndPostings[] termAndPostings;
-
-            // NOTE: tvf is pre-positioned by caller
-            public TVTermsEnum(Lucene3xTermVectorsReader outerInstance)
-            {
-                this.outerInstance = outerInstance;
-                this.origTVF = outerInstance.tvf;
-                tvf = (IndexInput)origTVF.Clone();
-            }
-
-            public virtual bool CanReuse(IndexInput tvf)
-            {
-                return tvf == origTVF;
-            }
-
-            public virtual void Reset(int numTerms, long tvfFPStart, bool storePositions, bool storeOffsets, bool unicodeSortOrder)
-            {
-                this.numTerms = numTerms;
-                this.storePositions = storePositions;
-                this.storeOffsets = storeOffsets;
-                currentTerm = -1;
-                tvf.Seek(tvfFPStart);
-                this.unicodeSortOrder = unicodeSortOrder;
-                ReadVectors();
-                if (unicodeSortOrder)
-                {
-                    Array.Sort(termAndPostings, new ComparerAnonymousInnerClassHelper(this));
-                }
-            }
-
-            private class ComparerAnonymousInnerClassHelper : IComparer<TermAndPostings>
-            {
-                private readonly TVTermsEnum outerInstance;
-
-                public ComparerAnonymousInnerClassHelper(TVTermsEnum outerInstance)
-                {
-                    this.outerInstance = outerInstance;
-                }
-
-                public virtual int Compare(TermAndPostings left, TermAndPostings right)
-                {
-                    return left.Term.CompareTo(right.Term);
-                }
-            }
-
-            private void ReadVectors()
-            {
-                termAndPostings = new TermAndPostings[numTerms];
-                BytesRef lastTerm = new BytesRef();
-                for (int i = 0; i < numTerms; i++)
-                {
-                    TermAndPostings t = new TermAndPostings();
-                    BytesRef term = new BytesRef();
-                    term.CopyBytes(lastTerm);
-                    int start = tvf.ReadVInt32();
-                    int deltaLen = tvf.ReadVInt32();
-                    term.Length = start + deltaLen;
-                    term.Grow(term.Length);
-                    tvf.ReadBytes(term.Bytes, start, deltaLen);
-                    t.Term = term;
-                    int freq = tvf.ReadVInt32();
-                    t.Freq = freq;
-
-                    if (storePositions)
-                    {
-                        int[] positions = new int[freq];
-                        int pos = 0;
-                        for (int posUpto = 0; posUpto < freq; posUpto++)
-                        {
-                            int delta = tvf.ReadVInt32();
-                            if (delta == -1)
-                            {
-                                delta = 0; // LUCENE-1542 correction
-                            }
-                            pos += delta;
-                            positions[posUpto] = pos;
-                        }
-                        t.Positions = positions;
-                    }
-
-                    if (storeOffsets)
-                    {
-                        int[] startOffsets = new int[freq];
-                        int[] endOffsets = new int[freq];
-                        int offset = 0;
-                        for (int posUpto = 0; posUpto < freq; posUpto++)
-                        {
-                            startOffsets[posUpto] = offset + tvf.ReadVInt32();
-                            offset = endOffsets[posUpto] = startOffsets[posUpto] + tvf.ReadVInt32();
-                        }
-                        t.StartOffsets = startOffsets;
-                        t.EndOffsets = endOffsets;
-                    }
-                    lastTerm.CopyBytes(term);
-                    termAndPostings[i] = t;
-                }
-            }
-
-            // NOTE: slow!  (linear scan)
-            public override SeekStatus SeekCeil(BytesRef text)
-            {
-                IComparer<BytesRef> comparer = Comparer;
-                for (int i = 0; i < numTerms; i++)
-                {
-                    int cmp = comparer.Compare(text, termAndPostings[i].Term);
-                    if (cmp < 0)
-                    {
-                        currentTerm = i;
-                        return SeekStatus.NOT_FOUND;
-                    }
-                    else if (cmp == 0)
-                    {
-                        currentTerm = i;
-                        return SeekStatus.FOUND;
-                    }
-                }
-                currentTerm = termAndPostings.Length;
-                return SeekStatus.END;
-            }
-
-            public override void SeekExact(long ord)
-            {
-                throw new System.NotSupportedException();
-            }
-
-            public override BytesRef Next()
-            {
-                if (++currentTerm >= numTerms)
-                {
-                    return null;
-                }
-                return Term;
-            }
-
-            public override BytesRef Term
-            {
-                get { return termAndPostings[currentTerm].Term; }
-            }
-
-            public override long Ord
-            {
-                get { throw new System.NotSupportedException(); }
-            }
-
-            public override int DocFreq
-            {
-                get { return 1; }
-            }
-
-            public override long TotalTermFreq
-            {
-                get { return termAndPostings[currentTerm].Freq; }
-            }
-
-            public override DocsEnum Docs(IBits liveDocs, DocsEnum reuse, DocsFlags flags) // ignored
-            {
-                TVDocsEnum docsEnum;
-                if (reuse != null && reuse is TVDocsEnum)
-                {
-                    docsEnum = (TVDocsEnum)reuse;
-                }
-                else
-                {
-                    docsEnum = new TVDocsEnum();
-                }
-                docsEnum.Reset(liveDocs, termAndPostings[currentTerm]);
-                return docsEnum;
-            }
-
-            public override DocsAndPositionsEnum DocsAndPositions(IBits liveDocs, DocsAndPositionsEnum reuse, DocsAndPositionsFlags flags)
-            {
-                if (!storePositions && !storeOffsets)
-                {
-                    return null;
-                }
-
-                TVDocsAndPositionsEnum docsAndPositionsEnum;
-                if (reuse != null && reuse is TVDocsAndPositionsEnum)
-                {
-                    docsAndPositionsEnum = (TVDocsAndPositionsEnum)reuse;
-                }
-                else
-                {
-                    docsAndPositionsEnum = new TVDocsAndPositionsEnum();
-                }
-                docsAndPositionsEnum.Reset(liveDocs, termAndPostings[currentTerm]);
-                return docsAndPositionsEnum;
-            }
-
-            public override IComparer<BytesRef> Comparer
-            {
-                get
-                {
-                    if (unicodeSortOrder)
-                    {
-                        return BytesRef.UTF8SortedAsUnicodeComparer;
-                    }
-                    else
-                    {
-                        return BytesRef.UTF8SortedAsUTF16Comparer;
-                    }
-                }
-            }
-        }
-
-        // NOTE: sort of a silly class, since you can get the
-        // freq() already by TermsEnum.totalTermFreq
-        private class TVDocsEnum : DocsEnum
-        {
-            internal bool didNext;
-            internal int doc = -1;
-            internal int freq;
-            internal IBits liveDocs;
-
-            public override int Freq
-            {
-                get { return freq; }
-            }
-
-            public override int DocID
-            {
-                get { return doc; }
-            }
-
-            public override int NextDoc()
-            {
-                if (!didNext && (liveDocs == null || liveDocs.Get(0)))
-                {
-                    didNext = true;
-                    return (doc = 0);
-                }
-                else
-                {
-                    return (doc = NO_MORE_DOCS);
-                }
-            }
-
-            public override int Advance(int target)
-            {
-                if (!didNext && target == 0)
-                {
-                    return NextDoc();
-                }
-                else
-                {
-                    return (doc = NO_MORE_DOCS);
-                }
-            }
-
-            public virtual void Reset(IBits liveDocs, TermAndPostings termAndPostings)
-            {
-                this.liveDocs = liveDocs;
-                this.freq = termAndPostings.Freq;
-                this.doc = -1;
-                didNext = false;
-            }
-
-            public override long GetCost()
-            {
-                return 1;
-            }
-        }
-
-        private class TVDocsAndPositionsEnum : DocsAndPositionsEnum
-        {
-            private bool didNext;
-            private int doc = -1;
-            private int nextPos;
-            private IBits liveDocs;
-            private int[] positions;
-            private int[] startOffsets;
-            private int[] endOffsets;
-
-            public override int Freq
-            {
-                get
-                {
-                    if (positions != null)
-                    {
-                        return positions.Length;
-                    }
-                    else
-                    {
-                        Debug.Assert(startOffsets != null);
-                        return startOffsets.Length;
-                    }
-                }
-            }
-
-            public override int DocID
-            {
-                get { return doc; }
-            }
-
-            public override int NextDoc()
-            {
-                if (!didNext && (liveDocs == null || liveDocs.Get(0)))
-                {
-                    didNext = true;
-                    return (doc = 0);
-                }
-                else
-                {
-                    return (doc = NO_MORE_DOCS);
-                }
-            }
-
-            public override int Advance(int target)
-            {
-                if (!didNext && target == 0)
-                {
-                    return NextDoc();
-                }
-                else
-                {
-                    return (doc = NO_MORE_DOCS);
-                }
-            }
-
-            public virtual void Reset(IBits liveDocs, TermAndPostings termAndPostings)
-            {
-                this.liveDocs = liveDocs;
-                this.positions = termAndPostings.Positions;
-                this.startOffsets = termAndPostings.StartOffsets;
-                this.endOffsets = termAndPostings.EndOffsets;
-                this.doc = -1;
-                didNext = false;
-                nextPos = 0;
-            }
-
-            public override BytesRef GetPayload()
-            {
-                return null;
-            }
-
-            public override int NextPosition()
-            {
-                Debug.Assert((positions != null && nextPos < positions.Length) || startOffsets != null && nextPos < startOffsets.Length);
-
-                if (positions != null)
-                {
-                    return positions[nextPos++];
-                }
-                else
-                {
-                    nextPos++;
-                    return -1;
-                }
-            }
-
-            public override int StartOffset
-            {
-                get
-                {
-                    if (startOffsets != null)
-                    {
-                        return startOffsets[nextPos - 1];
-                    }
-                    else
-                    {
-                        return -1;
-                    }
-                }
-            }
-
-            public override int EndOffset
-            {
-                get
-                {
-                    if (endOffsets != null)
-                    {
-                        return endOffsets[nextPos - 1];
-                    }
-                    else
-                    {
-                        return -1;
-                    }
-                }
-            }
-
-            public override long GetCost()
-            {
-                return 1;
-            }
-        }
-
-        public override Fields Get(int docID)
-        {
-            if (tvx != null)
-            {
-                Fields fields = new TVFields(this, docID);
-                if (fields.Count == 0)
-                {
-                    // TODO: we can improve writer here, eg write 0 into
-                    // tvx file, so we know on first read from tvx that
-                    // this doc has no TVs
-                    return null;
-                }
-                else
-                {
-                    return fields;
-                }
-            }
-            else
-            {
-                return null;
-            }
-        }
-
-        public override object Clone()
-        {
-            IndexInput cloneTvx = null;
-            IndexInput cloneTvd = null;
-            IndexInput cloneTvf = null;
-
-            // These are null when a TermVectorsReader was created
-            // on a segment that did not have term vectors saved
-            if (tvx != null && tvd != null && tvf != null)
-            {
-                cloneTvx = (IndexInput)tvx.Clone();
-                cloneTvd = (IndexInput)tvd.Clone();
-                cloneTvf = (IndexInput)tvf.Clone();
-            }
-
-            return new Lucene3xTermVectorsReader(fieldInfos, cloneTvx, cloneTvd, cloneTvf, size, numTotalDocs, docStoreOffset, format);
-        }
-
-        // If this returns, we do the surrogates shuffle so that the
-        // terms are sorted by unicode sort order.  this should be
-        // true when segments are used for "normal" searching;
-        // it's only false during testing, to create a pre-flex
-        // index, using the test-only PreFlexRW.
-        protected internal virtual bool SortTermsByUnicode()
-        {
-            return true;
-        }
-
-        public override long RamBytesUsed()
-        {
-            // everything is disk-based
-            return 0;
-        }
-
-        public override void CheckIntegrity()
-        {
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a5dc68d0/src/Lucene.Net.Core/Codecs/Lucene3x/SegmentTermDocs.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Lucene3x/SegmentTermDocs.cs b/src/Lucene.Net.Core/Codecs/Lucene3x/SegmentTermDocs.cs
deleted file mode 100644
index 9c0b3eb..0000000
--- a/src/Lucene.Net.Core/Codecs/Lucene3x/SegmentTermDocs.cs
+++ /dev/null
@@ -1,304 +0,0 @@
-using System;
-using System.Diagnostics;
-using IBits = Lucene.Net.Util.IBits;
-
-namespace Lucene.Net.Codecs.Lucene3x
-{
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-
-    using FieldInfo = Lucene.Net.Index.FieldInfo;
-    using FieldInfos = Lucene.Net.Index.FieldInfos;
-    using IndexInput = Lucene.Net.Store.IndexInput;
-    using IndexOptions = Lucene.Net.Index.IndexOptions;
-    using Term = Lucene.Net.Index.Term;
-
-    /// @deprecated (4.0)
-    ///  @lucene.experimental
-    [Obsolete("(4.0)")]
-    internal class SegmentTermDocs
-    {
-        //protected SegmentReader parent;
-        private readonly FieldInfos fieldInfos;
-
-        private readonly TermInfosReader tis;
-        protected IBits m_liveDocs;
-        protected IndexInput m_freqStream;
-        protected int m_count;
-        protected internal int m_df;
-        internal int doc = 0;
-        internal int freq;
-
-        private int skipInterval;
-        private int maxSkipLevels;
-        private Lucene3xSkipListReader skipListReader;
-
-        private long freqBasePointer;
-        private long proxBasePointer;
-
-        private long skipPointer;
-        private bool haveSkipped;
-
-        protected bool m_currentFieldStoresPayloads;
-        protected IndexOptions m_indexOptions;
-
-        public SegmentTermDocs(IndexInput freqStream, TermInfosReader tis, FieldInfos fieldInfos)
-        {
-            this.m_freqStream = (IndexInput)freqStream.Clone();
-            this.tis = tis;
-            this.fieldInfos = fieldInfos;
-            skipInterval = tis.SkipInterval;
-            maxSkipLevels = tis.MaxSkipLevels;
-        }
-
-        public virtual void Seek(Term term)
-        {
-            TermInfo ti = tis.Get(term);
-            Seek(ti, term);
-        }
-
-        public virtual IBits LiveDocs
-        {
-            get
-            {
-                return this.m_liveDocs; // LUCENENET specific - per MSDN, a property must always have a getter
-            }
-            set
-            {
-                this.m_liveDocs = value;
-            }
-        }
-
-        public virtual void Seek(SegmentTermEnum segmentTermEnum)
-        {
-            TermInfo ti;
-            Term term;
-
-            // use comparison of fieldinfos to verify that termEnum belongs to the same segment as this SegmentTermDocs
-            if (segmentTermEnum.fieldInfos == fieldInfos) // optimized case
-            {
-                term = segmentTermEnum.Term();
-                ti = segmentTermEnum.TermInfo();
-            } // punt case
-            else
-            {
-                term = segmentTermEnum.Term();
-                ti = tis.Get(term);
-            }
-
-            Seek(ti, term);
-        }
-
-        internal virtual void Seek(TermInfo ti, Term term)
-        {
-            m_count = 0;
-            FieldInfo fi = fieldInfos.FieldInfo(term.Field);
-            this.m_indexOptions = (fi != null) ? fi.IndexOptions : IndexOptions.DOCS_AND_FREQS_AND_POSITIONS;
-            m_currentFieldStoresPayloads = (fi != null) && fi.HasPayloads;
-            if (ti == null)
-            {
-                m_df = 0;
-            }
-            else
-            {
-                m_df = ti.DocFreq;
-                doc = 0;
-                freqBasePointer = ti.FreqPointer;
-                proxBasePointer = ti.ProxPointer;
-                skipPointer = freqBasePointer + ti.SkipOffset;
-                m_freqStream.Seek(freqBasePointer);
-                haveSkipped = false;
-            }
-        }
-
-        public void Dispose()
-        {
-            Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        protected virtual void Dispose(bool disposing)
-        {
-            if (disposing)
-            {
-                m_freqStream.Dispose();
-                if (skipListReader != null)
-                {
-                    skipListReader.Dispose();
-                }
-            }
-        }
-
-        public int Doc
-        {
-            get { return doc; }
-        }
-
-        public int Freq
-        {
-            get { return freq; }
-        }
-
-        protected internal virtual void SkippingDoc()
-        {
-        }
-
-        public virtual bool Next()
-        {
-            while (true)
-            {
-                if (m_count == m_df)
-                {
-                    return false;
-                }
-                int docCode = m_freqStream.ReadVInt32();
-
-                if (m_indexOptions == IndexOptions.DOCS_ONLY)
-                {
-                    doc += docCode;
-                }
-                else
-                {
-                    doc += (int)((uint)docCode >> 1); // shift off low bit
-                    if ((docCode & 1) != 0) // if low bit is set
-                    {
-                        freq = 1; // freq is one
-                    }
-                    else
-                    {
-                        freq = m_freqStream.ReadVInt32(); // else read freq
-                        Debug.Assert(freq != 1);
-                    }
-                }
-
-                m_count++;
-
-                if (m_liveDocs == null || m_liveDocs.Get(doc))
-                {
-                    break;
-                }
-                SkippingDoc();
-            }
-            return true;
-        }
-
-        /// <summary>
-        /// Optimized implementation. </summary>
-        public virtual int Read(int[] docs, int[] freqs)
-        {
-            int length = docs.Length;
-            if (m_indexOptions == IndexOptions.DOCS_ONLY)
-            {
-                return ReadNoTf(docs, freqs, length);
-            }
-            else
-            {
-                int i = 0;
-                while (i < length && m_count < m_df)
-                {
-                    // manually inlined call to next() for speed
-                    int docCode = m_freqStream.ReadVInt32();
-                    doc += (int)((uint)docCode >> 1); // shift off low bit
-                    if ((docCode & 1) != 0) // if low bit is set
-                    {
-                        freq = 1; // freq is one
-                    }
-                    else
-                    {
-                        freq = m_freqStream.ReadVInt32(); // else read freq
-                    }
-                    m_count++;
-
-                    if (m_liveDocs == null || m_liveDocs.Get(doc))
-                    {
-                        docs[i] = doc;
-                        freqs[i] = freq;
-                        ++i;
-                    }
-                }
-                return i;
-            }
-        }
-
-        private int ReadNoTf(int[] docs, int[] freqs, int length)
-        {
-            int i = 0;
-            while (i < length && m_count < m_df)
-            {
-                // manually inlined call to next() for speed
-                doc += m_freqStream.ReadVInt32();
-                m_count++;
-
-                if (m_liveDocs == null || m_liveDocs.Get(doc))
-                {
-                    docs[i] = doc;
-                    // Hardware freq to 1 when term freqs were not
-                    // stored in the index
-                    freqs[i] = 1;
-                    ++i;
-                }
-            }
-            return i;
-        }
-
-        /// <summary>
-        /// Overridden by SegmentTermPositions to skip in prox stream. </summary>
-        protected internal virtual void SkipProx(long proxPointer, int payloadLength)
-        {
-        }
-
-        /// <summary>
-        /// Optimized implementation. </summary>
-        public virtual bool SkipTo(int target)
-        {
-            // don't skip if the target is close (within skipInterval docs away)
-            if ((target - skipInterval) >= doc && m_df >= skipInterval) // optimized case
-            {
-                if (skipListReader == null)
-                {
-                    skipListReader = new Lucene3xSkipListReader((IndexInput)m_freqStream.Clone(), maxSkipLevels, skipInterval); // lazily clone
-                }
-
-                if (!haveSkipped) // lazily initialize skip stream
-                {
-                    skipListReader.Init(skipPointer, freqBasePointer, proxBasePointer, m_df, m_currentFieldStoresPayloads);
-                    haveSkipped = true;
-                }
-
-                int newCount = skipListReader.SkipTo(target);
-                if (newCount > m_count)
-                {
-                    m_freqStream.Seek(skipListReader.FreqPointer);
-                    SkipProx(skipListReader.ProxPointer, skipListReader.PayloadLength);
-
-                    doc = skipListReader.Doc;
-                    m_count = newCount;
-                }
-            }
-
-            // done skipping, now just scan
-            do
-            {
-                if (!Next())
-                {
-                    return false;
-                }
-            } while (target > doc);
-            return true;
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a5dc68d0/src/Lucene.Net.Core/Codecs/Lucene3x/SegmentTermEnum.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Core/Codecs/Lucene3x/SegmentTermEnum.cs b/src/Lucene.Net.Core/Codecs/Lucene3x/SegmentTermEnum.cs
deleted file mode 100644
index 68d5a73..0000000
--- a/src/Lucene.Net.Core/Codecs/Lucene3x/SegmentTermEnum.cs
+++ /dev/null
@@ -1,271 +0,0 @@
-using System;
-using System.Diagnostics;
-using FieldInfos = Lucene.Net.Index.FieldInfos;
-using IndexFormatTooNewException = Lucene.Net.Index.IndexFormatTooNewException;
-using IndexFormatTooOldException = Lucene.Net.Index.IndexFormatTooOldException;
-
-namespace Lucene.Net.Codecs.Lucene3x
-{
-    /*
-     * Licensed to the Apache Software Foundation (ASF) under one or more
-     * contributor license agreements.  See the NOTICE file distributed with
-     * this work for additional information regarding copyright ownership.
-     * The ASF licenses this file to You under the Apache License, Version 2.0
-     * (the "License"); you may not use this file except in compliance with
-     * the License.  You may obtain a copy of the License at
-     *
-     *     http://www.apache.org/licenses/LICENSE-2.0
-     *
-     * Unless required by applicable law or agreed to in writing, software
-     * distributed under the License is distributed on an "AS IS" BASIS,
-     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     * See the License for the specific language governing permissions and
-     * limitations under the License.
-     */
-
-    using IndexInput = Lucene.Net.Store.IndexInput;
-    using Term = Lucene.Net.Index.Term;
-
-    /// @deprecated (4.0) No longer used with flex indexing, except for
-    /// reading old segments
-    /// @lucene.experimental
-
-    [Obsolete("(4.0) No longer used with flex indexing, except for reading old segments")]
-    internal sealed class SegmentTermEnum : IDisposable
-    {
-        private IndexInput input;
-        internal FieldInfos fieldInfos;
-        internal long size;
-        internal long position = -1;
-
-        // Changed strings to true utf8 with length-in-bytes not
-        // length-in-chars
-        public const int FORMAT_VERSION_UTF8_LENGTH_IN_BYTES = -4;
-
-        // NOTE: always change this if you switch to a new format!
-        // whenever you add a new format, make it 1 smaller (negative version logic)!
-        public const int FORMAT_CURRENT = FORMAT_VERSION_UTF8_LENGTH_IN_BYTES;
-
-        // when removing support for old versions, leave the last supported version here
-        public const int FORMAT_MINIMUM = FORMAT_VERSION_UTF8_LENGTH_IN_BYTES;
-
-        private TermBuffer termBuffer = new TermBuffer();
-        private TermBuffer prevBuffer = new TermBuffer();
-        private TermBuffer scanBuffer = new TermBuffer(); // used for scanning
-
-        internal TermInfo termInfo = new TermInfo();
-
-        private int format;
-        private bool isIndex = false;
-        internal long indexPointer = 0;
-        internal int indexInterval; // LUCENENET NOTE: Changed from public field to internal (class is internal anyway)
-        internal int skipInterval;
-        internal int newSuffixStart;
-        internal int maxSkipLevels;
-        private bool first = true;
-
-        public SegmentTermEnum(IndexInput i, FieldInfos fis, bool isi)
-        {
-            input = i;
-            fieldInfos = fis;
-            isIndex = isi;
-            maxSkipLevels = 1; // use single-level skip lists for formats > -3
-
-            int firstInt = input.ReadInt32();
-            if (firstInt >= 0)
-            {
-                // original-format file, without explicit format version number
-                format = 0;
-                size = firstInt;
-
-                // back-compatible settings
-                indexInterval = 128;
-                skipInterval = int.MaxValue; // switch off skipTo optimization
-            }
-            else
-            {
-                // we have a format version number
-                format = firstInt;
-
-                // check that it is a format we can understand
-                if (format > FORMAT_MINIMUM)
-                {
-                    throw new IndexFormatTooOldException(input, format, FORMAT_MINIMUM, FORMAT_CURRENT);
-                }
-                if (format < FORMAT_CURRENT)
-                {
-                    throw new IndexFormatTooNewException(input, format, FORMAT_MINIMUM, FORMAT_CURRENT);
-                }
-
-                size = input.ReadInt64(); // read the size
-
-                indexInterval = input.ReadInt32();
-                skipInterval = input.ReadInt32();
-                maxSkipLevels = input.ReadInt32();
-                Debug.Assert(indexInterval > 0, "indexInterval=" + indexInterval + " is negative; must be > 0");
-                Debug.Assert(skipInterval > 0, "skipInterval=" + skipInterval + " is negative; must be > 0");
-            }
-        }
-
-        public object Clone()
-        {
-            SegmentTermEnum clone = null;
-            try
-            {
-                clone = (SegmentTermEnum)base.MemberwiseClone();
-            }
-#pragma warning disable 168
-            catch (InvalidOperationException e)
-#pragma warning restore 168
-            {
-            }
-
-            clone.input = (IndexInput)input.Clone();
-            clone.termInfo = new TermInfo(termInfo);
-
-            clone.termBuffer = (TermBuffer)termBuffer.Clone();
-            clone.prevBuffer = (TermBuffer)prevBuffer.Clone();
-            clone.scanBuffer = new TermBuffer();
-
-            return clone;
-        }
-
-        internal void Seek(long pointer, long p, Term t, TermInfo ti)
-        {
-            input.Seek(pointer);
-            position = p;
-            termBuffer.Set(t);
-            prevBuffer.Reset();
-            //System.out.println("  ste doSeek prev=" + prevBuffer.toTerm() + " this=" + this);
-            termInfo.Set(ti);
-            first = p == -1;
-        }
-
-        /// <summary>
-        /// Increments the enumeration to the next element.  True if one exists. </summary>
-        public bool Next()
-        {
-            prevBuffer.Set(termBuffer);
-            //System.out.println("  ste setPrev=" + prev() + " this=" + this);
-
-            if (position++ >= size - 1)
-            {
-                termBuffer.Reset();
-                //System.out.println("    EOF");
-                return false;
-            }
-
-            termBuffer.Read(input, fieldInfos);
-            newSuffixStart = termBuffer.newSuffixStart;
-
-            termInfo.DocFreq = input.ReadVInt32(); // read doc freq
-            termInfo.FreqPointer += input.ReadVInt64(); // read freq pointer
-            termInfo.ProxPointer += input.ReadVInt64(); // read prox pointer
-
-            if (termInfo.DocFreq >= skipInterval)
-            {
-                termInfo.SkipOffset = input.ReadVInt32();
-            }
-
-            if (isIndex)
-            {
-                indexPointer += input.ReadVInt64(); // read index pointer
-            }
-
-            //System.out.println("  ste ret term=" + term());
-            return true;
-        }
-
-        /* Optimized scan, without allocating new terms.
-         *  Return number of invocations to next().
-         *
-         * NOTE: LUCENE-3183: if you pass Term("", "") here then this
-         * will incorrectly return before positioning the enum,
-         * and position will be -1; caller must detect this. */
-
-        internal int ScanTo(Term term)
-        {
-            scanBuffer.Set(term);
-            int count = 0;
-            if (first)
-            {
-                // Always force initial next() in case term is
-                // Term("", "")
-                Next();
-                first = false;
-                count++;
-            }
-            while (scanBuffer.CompareTo(termBuffer) > 0 && Next())
-            {
-                count++;
-            }
-            return count;
-        }
-
-        /// <summary>
-        /// Returns the current Term in the enumeration.
-        /// Initially invalid, valid after next() called for the first time.
-        /// </summary>
-        public Term Term()
-        {
-            return termBuffer.ToTerm();
-        }
-
-        /// <summary>
-        /// Returns the previous Term enumerated. Initially null. </summary>
-        internal Term Prev()
-        {
-            return prevBuffer.ToTerm();
-        }
-
-        /// <summary>
-        /// Returns the current TermInfo in the enumeration.
-        /// Initially invalid, valid after next() called for the first time.
-        /// </summary>
-        internal TermInfo TermInfo()
-        {
-            return new TermInfo(termInfo);
-        }
-
-        /// <summary>
-        /// Sets the argument to the current TermInfo in the enumeration.
-        /// Initially invalid, valid after next() called for the first time.
-        /// </summary>
-        internal void TermInfo(TermInfo ti)
-        {
-            ti.Set(termInfo);
-        }
-
-        /// <summary>
-        /// Returns the docFreq from the current TermInfo in the enumeration.
-        /// Initially invalid, valid after next() called for the first time.
-        /// </summary>
-        public int DocFreq
-        {
-            get { return termInfo.DocFreq; }
-        }
-
-        /* Returns the freqPointer from the current TermInfo in the enumeration.
-          Initially invalid, valid after next() called for the first time.*/
-
-        internal long FreqPointer
-        {
-            get { return termInfo.FreqPointer; }
-        }
-
-        /* Returns the proxPointer from the current TermInfo in the enumeration.
-          Initially invalid, valid after next() called for the first time.*/
-
-        internal long ProxPointer
-        {
-            get { return termInfo.ProxPointer; }
-        }
-
-        /// <summary>
-        /// Closes the enumeration to further activity, freeing resources. </summary>
-        public void Dispose()
-        {
-            input.Dispose();
-        }
-    }
-}
\ No newline at end of file


Mime
View raw message