You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ro...@apache.org on 2014/11/12 15:56:24 UTC

svn commit: r1638805 [1/8] - in /lucene/dev/lucene2878: dev-tools/idea/lucene/highlighter/ lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/ lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/ lucene/codecs/src/java/org...

Author: romseygeek
Date: Wed Nov 12 14:56:17 2014
New Revision: 1638805

URL: http://svn.apache.org/r1638805
Log:
Current state (lots of failing tests!)

Added:
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/PositionQueue.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/PositionsCollector.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/posfilter/
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/posfilter/BlockPhraseScorer.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/posfilter/Interval.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/posfilter/NonOverlappingQuery.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/posfilter/OrderedNearQuery.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/posfilter/PositionFilterQuery.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/posfilter/PositionFilteredScorer.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/posfilter/RangeFilterQuery.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/posfilter/UnorderedNearQuery.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/posfilter/WithinFilteredScorer.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/posfilter/
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/posfilter/IntervalTestBase.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/posfilter/TestBasicIntervals.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/posfilter/TestBrouwerianQuery.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/posfilter/TestIntervalScoring.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/posfilter/TestNestedPositionFilterQueries.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/posfilter/TestPhraseQueryPositions.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/posfilter/TestPositionFilteredIntervals.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/posfilter/TestPositionsAndOffsets.java   (with props)
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/posfilter/TestRangeFilterQuery.java   (with props)
    lucene/dev/lucene2878/lucene/highlighter/src/java/org/apache/lucene/search/highlight/positions/
    lucene/dev/lucene2878/lucene/highlighter/src/java/org/apache/lucene/search/highlight/positions/DocAndPositions.java   (with props)
    lucene/dev/lucene2878/lucene/highlighter/src/java/org/apache/lucene/search/highlight/positions/HighlightingIntervalCollector.java   (with props)
    lucene/dev/lucene2878/lucene/highlighter/src/java/org/apache/lucene/search/highlight/positions/IntervalTokenStream.java   (with props)
    lucene/dev/lucene2878/lucene/highlighter/src/test/org/apache/lucene/search/highlight/positions/
    lucene/dev/lucene2878/lucene/highlighter/src/test/org/apache/lucene/search/highlight/positions/IntervalHighlighterTest.java   (with props)
Modified:
    lucene/dev/lucene2878/dev-tools/idea/lucene/highlighter/highlighter.iml
    lucene/dev/lucene2878/lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java
    lucene/dev/lucene2878/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestClassicAnalyzer.java
    lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java
    lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java
    lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java
    lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java
    lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java
    lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java
    lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java
    lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesProducer.java
    lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java
    lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
    lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsWriter.java
    lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/Token.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttribute.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/PushPostingsWriterBase.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsReader.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/TermVectorsWriter.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/blocktree/IntersectTermsEnum.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/blocktree/SegmentTermsEnum.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesProducer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50PostingsReader.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/DocsEnum.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/FilterLeafReader.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/FilteredTermsEnum.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/FreqProxFields.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/LeafReader.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/MappedMultiFields.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/MappingMultiDocsAndPositionsEnum.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/MappingMultiDocsEnum.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/MultiDocsAndPositionsEnum.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/MultiDocsEnum.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/MultiFields.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/MultiTermsEnum.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/SortedDocValuesTermsEnum.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/SortedSetDocValuesTermsEnum.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/TermContext.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/index/TermsEnum.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/BooleanQuery.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/BooleanScorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/BooleanTopLevelScorers.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/CachingCollector.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/Collector.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxQuery.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/DisjunctionScorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/FakeScorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/FilterCollector.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/FilterScorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/FuzzyTermsEnum.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/MinShouldMatchSumScorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/MultiCollector.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/MultiPhraseQuery.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/PhrasePositions.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/PhraseQuery.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/PhraseQueue.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/QueryRescorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/QueryWrapperFilter.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/Scorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/SimpleCollector.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/TermQuery.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/TermScorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/TimeLimitingCollector.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/TotalHitCountCollector.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/Weight.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/package.html
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/payloads/PayloadNearQuery.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/similarities/Similarity.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/spans/SpanScorer.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/spans/SpanWeight.java
    lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/search/spans/TermSpans.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/analysis/TestCachingTokenFilter.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/analysis/TestMockAnalyzer.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/lucene50/TestBlockPostingsFormat3.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/codecs/perfield/TestPerFieldPostingsFormat2.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestCodecs.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestDirectoryReader.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestDoc.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestDocsAndPositions.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestDocumentWriter.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestDuelingCodecs.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestFilterLeafReader.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestIndexableField.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestLazyProxSkipping.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestLongPostings.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestMultiLevelSkipList.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestPayloads.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestPayloadsOnVectors.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsWriter.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestBooleanCoord.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestBooleanOr.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestCachingCollector.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestMinShouldMatch2.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestPositionIncrement.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestQueryRescorer.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestTermScorer.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/TestTermVectors.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
    lucene/dev/lucene2878/lucene/core/src/test/org/apache/lucene/search/spans/TestSpans.java
    lucene/dev/lucene2878/lucene/expressions/src/java/org/apache/lucene/expressions/ExpressionRescorer.java
    lucene/dev/lucene2878/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysQuery.java
    lucene/dev/lucene2878/lucene/facet/src/java/org/apache/lucene/facet/DrillSidewaysScorer.java
    lucene/dev/lucene2878/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/TaxonomyFacetSumValueSource.java
    lucene/dev/lucene2878/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/directory/TaxonomyIndexArrays.java
    lucene/dev/lucene2878/lucene/grouping/src/java/org/apache/lucene/search/grouping/BlockGroupingCollector.java
    lucene/dev/lucene2878/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenSources.java
    lucene/dev/lucene2878/lucene/highlighter/src/java/org/apache/lucene/search/highlight/TokenStreamFromTermPositionVector.java
    lucene/dev/lucene2878/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/MultiTermHighlighting.java
    lucene/dev/lucene2878/lucene/highlighter/src/java/org/apache/lucene/search/postingshighlight/PostingsHighlighter.java
    lucene/dev/lucene2878/lucene/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldTermStack.java
    lucene/dev/lucene2878/lucene/highlighter/src/test/org/apache/lucene/search/highlight/custom/HighlightCustomQueryTest.java
    lucene/dev/lucene2878/lucene/join/src/java/org/apache/lucene/search/join/FakeScorer.java
    lucene/dev/lucene2878/lucene/join/src/java/org/apache/lucene/search/join/TermsIncludingScoreQuery.java
    lucene/dev/lucene2878/lucene/join/src/java/org/apache/lucene/search/join/ToChildBlockJoinQuery.java
    lucene/dev/lucene2878/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinCollector.java
    lucene/dev/lucene2878/lucene/join/src/java/org/apache/lucene/search/join/ToParentBlockJoinQuery.java
    lucene/dev/lucene2878/lucene/join/src/test/org/apache/lucene/search/join/TestBlockJoin.java
    lucene/dev/lucene2878/lucene/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java
    lucene/dev/lucene2878/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndexAgainstRAMDir.java
    lucene/dev/lucene2878/lucene/misc/src/java/org/apache/lucene/index/sorter/Sorter.java
    lucene/dev/lucene2878/lucene/misc/src/java/org/apache/lucene/index/sorter/SortingLeafReader.java
    lucene/dev/lucene2878/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java
    lucene/dev/lucene2878/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheImpl.java
    lucene/dev/lucene2878/lucene/misc/src/test/org/apache/lucene/index/sorter/SorterTestBase.java
    lucene/dev/lucene2878/lucene/queries/src/java/org/apache/lucene/queries/CustomScoreQuery.java
    lucene/dev/lucene2878/lucene/queries/src/java/org/apache/lucene/queries/function/BoostedQuery.java
    lucene/dev/lucene2878/lucene/queries/src/java/org/apache/lucene/queries/function/FunctionQuery.java
    lucene/dev/lucene2878/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSourceScorer.java
    lucene/dev/lucene2878/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/QueryValueSource.java
    lucene/dev/lucene2878/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java
    lucene/dev/lucene2878/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TermFreqValueSource.java
    lucene/dev/lucene2878/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionPostingsReader.java
    lucene/dev/lucene2878/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/IDVersionSegmentTermsEnum.java
    lucene/dev/lucene2878/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/SingleDocsAndPositionsEnum.java
    lucene/dev/lucene2878/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/SingleDocsEnum.java
    lucene/dev/lucene2878/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java
    lucene/dev/lucene2878/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonScorer.java
    lucene/dev/lucene2878/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/BlendedInfixSuggester.java
    lucene/dev/lucene2878/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java
    lucene/dev/lucene2878/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java
    lucene/dev/lucene2878/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
    lucene/dev/lucene2878/lucene/test-framework/src/java/org/apache/lucene/index/BasePostingsFormatTestCase.java
    lucene/dev/lucene2878/lucene/test-framework/src/java/org/apache/lucene/index/BaseTermVectorsFormatTestCase.java
    lucene/dev/lucene2878/lucene/test-framework/src/java/org/apache/lucene/search/AssertingIndexSearcher.java
    lucene/dev/lucene2878/lucene/test-framework/src/java/org/apache/lucene/search/AssertingScorer.java
    lucene/dev/lucene2878/lucene/test-framework/src/java/org/apache/lucene/search/AssertingWeight.java
    lucene/dev/lucene2878/lucene/test-framework/src/java/org/apache/lucene/search/QueryUtils.java
    lucene/dev/lucene2878/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java
    lucene/dev/lucene2878/lucene/test-framework/src/java/org/apache/lucene/util/TestUtil.java
    lucene/dev/lucene2878/solr/core/src/java/org/apache/solr/handler/component/ExpandComponent.java
    lucene/dev/lucene2878/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
    lucene/dev/lucene2878/solr/core/src/java/org/apache/solr/handler/component/TermVectorComponent.java
    lucene/dev/lucene2878/solr/core/src/java/org/apache/solr/schema/LatLonType.java
    lucene/dev/lucene2878/solr/core/src/java/org/apache/solr/search/CollapsingQParserPlugin.java
    lucene/dev/lucene2878/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java
    lucene/dev/lucene2878/solr/core/src/java/org/apache/solr/search/ReRankQParserPlugin.java
    lucene/dev/lucene2878/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java
    lucene/dev/lucene2878/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
    lucene/dev/lucene2878/solr/core/src/java/org/apache/solr/search/join/IgnoreAcceptDocsQuery.java
    lucene/dev/lucene2878/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java

Modified: lucene/dev/lucene2878/dev-tools/idea/lucene/highlighter/highlighter.iml
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/dev-tools/idea/lucene/highlighter/highlighter.iml?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/dev-tools/idea/lucene/highlighter/highlighter.iml (original)
+++ lucene/dev/lucene2878/dev-tools/idea/lucene/highlighter/highlighter.iml Wed Nov 12 14:56:17 2014
@@ -12,6 +12,7 @@
     <orderEntry type="sourceFolder" forTests="false" />
     <orderEntry type="library" scope="TEST" name="JUnit" level="project" />
     <orderEntry type="module" scope="TEST" module-name="lucene-test-framework" />
+    <orderEntry type="module" scope="TEST" module-name="codecs" />
     <orderEntry type="module" module-name="memory" />
     <orderEntry type="module" module-name="misc" />
     <orderEntry type="module" module-name="queries" />

Modified: lucene/dev/lucene2878/lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java (original)
+++ lucene/dev/lucene2878/lucene/analysis/common/src/test/org/apache/lucene/analysis/sinks/TestTeeSinkTokenFilter.java Wed Nov 12 14:56:17 2014
@@ -31,7 +31,7 @@ import org.apache.lucene.document.Field;
 import org.apache.lucene.document.FieldType;
 import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.DocsAndPositionsEnum;
+import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.Terms;
@@ -111,7 +111,7 @@ public class TestTeeSinkTokenFilter exte
     TermsEnum termsEnum = vector.iterator(null);
     termsEnum.next();
     assertEquals(2, termsEnum.totalTermFreq());
-    DocsAndPositionsEnum positions = termsEnum.docsAndPositions(null, null);
+    DocsEnum positions = termsEnum.docsAndPositions(null, null);
     assertTrue(positions.nextDoc() != DocIdSetIterator.NO_MORE_DOCS);
     assertEquals(2, positions.freq());
     positions.nextPosition();

Modified: lucene/dev/lucene2878/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestClassicAnalyzer.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestClassicAnalyzer.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestClassicAnalyzer.java (original)
+++ lucene/dev/lucene2878/lucene/analysis/common/src/test/org/apache/lucene/analysis/standard/TestClassicAnalyzer.java Wed Nov 12 14:56:17 2014
@@ -7,7 +7,7 @@ import org.apache.lucene.document.Docume
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.TextField;
 import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.DocsAndPositionsEnum;
+import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
@@ -281,7 +281,7 @@ public class TestClassicAnalyzer extends
 
     // Make sure position is still incremented when
     // massive term is skipped:
-    DocsAndPositionsEnum tps = MultiFields.getTermPositionsEnum(reader,
+    DocsEnum tps = MultiFields.getTermPositionsEnum(reader,
                                                                 MultiFields.getLiveDocs(reader),
                                                                 "content",
                                                                 new BytesRef("another"));

Modified: lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java (original)
+++ lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java Wed Nov 12 14:56:17 2014
@@ -29,7 +29,7 @@ import org.apache.lucene.codecs.CodecUti
 import org.apache.lucene.codecs.FieldsProducer;
 import org.apache.lucene.codecs.PostingsReaderBase;
 import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.DocsAndPositionsEnum;
+import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.IndexFileNames;
@@ -664,7 +664,7 @@ public class BlockTermsReader extends Fi
       }
 
       @Override
-      public DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags) throws IOException {
+      public DocsEnum docsAndPositions(Bits liveDocs, DocsEnum reuse, int flags) throws IOException {
         if (fieldInfo.getIndexOptions().compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) < 0) {
           // Positions were not indexed:
           return null;

Modified: lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java (original)
+++ lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsIntersectTermsEnum.java Wed Nov 12 14:56:17 2014
@@ -17,10 +17,7 @@ package org.apache.lucene.codecs.blocktr
  * limitations under the License.
  */
 
-import java.io.IOException;
-
 import org.apache.lucene.codecs.blocktreeords.FSTOrdsOutputs.Output;
-import org.apache.lucene.index.DocsAndPositionsEnum;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.index.TermState;
@@ -35,6 +32,8 @@ import org.apache.lucene.util.automaton.
 import org.apache.lucene.util.automaton.RunAutomaton;
 import org.apache.lucene.util.fst.FST;
 
+import java.io.IOException;
+
 // NOTE: cannot seek!
 final class OrdsIntersectTermsEnum extends TermsEnum {
   final IndexInput in;
@@ -209,7 +208,7 @@ final class OrdsIntersectTermsEnum exten
   }
 
   @Override
-  public DocsAndPositionsEnum docsAndPositions(Bits skipDocs, DocsAndPositionsEnum reuse, int flags) throws IOException {
+  public DocsEnum docsAndPositions(Bits skipDocs, DocsEnum reuse, int flags) throws IOException {
     if (fr.fieldInfo.getIndexOptions().compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) < 0) {
       // Positions were not indexed:
       return null;

Modified: lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java (original)
+++ lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsSegmentTermsEnum.java Wed Nov 12 14:56:17 2014
@@ -20,12 +20,8 @@ package org.apache.lucene.codecs.blocktr
 //import java.io.*;
 //import java.nio.charset.StandardCharsets;
 
-import java.io.IOException;
-import java.io.PrintStream;
-
 import org.apache.lucene.codecs.BlockTermState;
 import org.apache.lucene.codecs.blocktreeords.FSTOrdsOutputs.Output;
-import org.apache.lucene.index.DocsAndPositionsEnum;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.index.TermState;
@@ -42,6 +38,9 @@ import org.apache.lucene.util.RamUsageEs
 import org.apache.lucene.util.fst.FST;
 import org.apache.lucene.util.fst.Util;
 
+import java.io.IOException;
+import java.io.PrintStream;
+
 /** Iterates through terms in this field. */
 public final class OrdsSegmentTermsEnum extends TermsEnum {
 
@@ -937,7 +936,7 @@ public final class OrdsSegmentTermsEnum 
   }
 
   @Override
-  public DocsAndPositionsEnum docsAndPositions(Bits skipDocs, DocsAndPositionsEnum reuse, int flags) throws IOException {
+  public DocsEnum docsAndPositions(Bits skipDocs, DocsEnum reuse, int flags) throws IOException {
     if (fr.fieldInfo.getIndexOptions().compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) < 0) {
       // Positions were not indexed:
       return null;

Modified: lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java (original)
+++ lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java Wed Nov 12 14:56:17 2014
@@ -17,21 +17,11 @@ package org.apache.lucene.codecs.bloom;
  * limitations under the License.
  */
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.Map;
-
 import org.apache.lucene.codecs.CodecUtil;
 import org.apache.lucene.codecs.FieldsConsumer;
 import org.apache.lucene.codecs.FieldsProducer;
 import org.apache.lucene.codecs.PostingsFormat;
 import org.apache.lucene.codecs.bloom.FuzzySet.ContainsResult;
-import org.apache.lucene.index.DocsAndPositionsEnum;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.Fields;
@@ -51,6 +41,15 @@ import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.RamUsageEstimator;
 import org.apache.lucene.util.automaton.CompiledAutomaton;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
 /**
  * <p>
  * A {@link PostingsFormat} useful for low doc-frequency fields such as primary
@@ -381,11 +380,10 @@ public final class BloomFilteringPosting
       public long totalTermFreq() throws IOException {
         return delegate().totalTermFreq();
       }
-      
 
       @Override
-      public DocsAndPositionsEnum docsAndPositions(Bits liveDocs,
-          DocsAndPositionsEnum reuse, int flags) throws IOException {
+      public DocsEnum docsAndPositions(Bits liveDocs,
+          DocsEnum reuse, int flags) throws IOException {
         return delegate().docsAndPositions(liveDocs, reuse, flags);
       }
 
@@ -394,6 +392,7 @@ public final class BloomFilteringPosting
           throws IOException {
         return delegate().docs(liveDocs, reuse, flags);
       }
+
     }
 
     @Override

Modified: lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java (original)
+++ lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java Wed Nov 12 14:56:17 2014
@@ -17,17 +17,10 @@ package org.apache.lucene.codecs.memory;
  * limitations under the License.
  */
 
-import java.io.IOException;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.TreeMap;
-
 import org.apache.lucene.codecs.FieldsConsumer;
 import org.apache.lucene.codecs.FieldsProducer;
 import org.apache.lucene.codecs.PostingsFormat;
-import org.apache.lucene.codecs.lucene50.Lucene50PostingsFormat; // javadocs
-import org.apache.lucene.index.DocsAndPositionsEnum;
+import org.apache.lucene.codecs.lucene50.Lucene50PostingsFormat;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.Fields;
@@ -50,6 +43,12 @@ import org.apache.lucene.util.automaton.
 import org.apache.lucene.util.automaton.RunAutomaton;
 import org.apache.lucene.util.automaton.Transition;
 
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.TreeMap;
+
 // TODO: 
 //   - build depth-N prefix hash?
 //   - or: longer dense skip lists than just next byte?
@@ -334,7 +333,7 @@ public final class DirectPostingsFormat 
 
       BytesRef term;
       DocsEnum docsEnum = null;
-      DocsAndPositionsEnum docsAndPositionsEnum = null;
+      DocsEnum docsAndPositionsEnum = null;
       final TermsEnum termsEnum = termsIn.iterator(null);
       int termOffset = 0;
 
@@ -875,6 +874,7 @@ public final class DirectPostingsFormat 
 
         if (terms[termOrd] instanceof LowFreqTerm) {
           final int[] postings = ((LowFreqTerm) terms[termOrd]).postings;
+          final byte[] payloads = ((LowFreqTerm) terms[termOrd]).payloads;
           if (hasFreq) {
             if (hasPos) {
               int posLen;
@@ -890,13 +890,13 @@ public final class DirectPostingsFormat 
               if (reuse instanceof LowFreqDocsEnum) {
                 docsEnum = (LowFreqDocsEnum) reuse;
                 if (!docsEnum.canReuse(liveDocs, posLen)) {
-                  docsEnum = new LowFreqDocsEnum(liveDocs, posLen);
+                  docsEnum = new LowFreqDocsEnum(liveDocs, hasOffsets, hasPayloads);
                 }
               } else {
-                docsEnum = new LowFreqDocsEnum(liveDocs, posLen);
+                docsEnum = new LowFreqDocsEnum(liveDocs, hasOffsets, hasPayloads);
               }
 
-              return docsEnum.reset(postings);
+              return docsEnum.reset(postings, payloads);
             } else {
               LowFreqDocsEnumNoPos docsEnum;
               if (reuse instanceof LowFreqDocsEnumNoPos) {
@@ -942,7 +942,7 @@ public final class DirectPostingsFormat 
       }
 
       @Override
-      public DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags) {
+      public DocsEnum docsAndPositions(Bits liveDocs, DocsEnum reuse, int flags) {
         if (!hasPos) {
           return null;
         }
@@ -954,7 +954,7 @@ public final class DirectPostingsFormat 
           final LowFreqTerm term = ((LowFreqTerm) terms[termOrd]);
           final int[] postings = term.postings;
           final byte[] payloads = term.payloads;
-          return new LowFreqDocsAndPositionsEnum(liveDocs, hasOffsets, hasPayloads).reset(postings, payloads);
+          return new LowFreqDocsEnum(liveDocs, hasOffsets, hasPayloads).reset(postings, payloads);
         } else {
           final HighFreqTerm term = (HighFreqTerm) terms[termOrd];
           return new HighFreqDocsAndPositionsEnum(liveDocs, hasOffsets).reset(term.docIDs, term.freqs, term.positions, term.payloads);
@@ -1473,6 +1473,7 @@ public final class DirectPostingsFormat 
 
         if (terms[termOrd] instanceof LowFreqTerm) {
           final int[] postings = ((LowFreqTerm) terms[termOrd]).postings;
+          final byte[] payloads = ((LowFreqTerm) terms[termOrd]).payloads;
           if (hasFreq) {
             if (hasPos) {
               int posLen;
@@ -1484,7 +1485,7 @@ public final class DirectPostingsFormat 
               if (hasPayloads) {
                 posLen++;
               }
-              return new LowFreqDocsEnum(liveDocs, posLen).reset(postings);
+              return new LowFreqDocsEnum(liveDocs, hasOffsets, hasPayloads).reset(postings, payloads);
             } else {
               return new LowFreqDocsEnumNoPos(liveDocs).reset(postings);
             }
@@ -1499,7 +1500,7 @@ public final class DirectPostingsFormat 
       }
 
       @Override
-      public DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags) {
+      public DocsEnum docsAndPositions(Bits liveDocs, DocsEnum reuse, int flags) {
         if (!hasPos) {
           return null;
         }
@@ -1511,7 +1512,7 @@ public final class DirectPostingsFormat 
           final LowFreqTerm term = ((LowFreqTerm) terms[termOrd]);
           final int[] postings = term.postings;
           final byte[] payloads = term.payloads;
-          return new LowFreqDocsAndPositionsEnum(liveDocs, hasOffsets, hasPayloads).reset(postings, payloads);
+          return new LowFreqDocsEnum(liveDocs, hasOffsets, hasPayloads).reset(postings, payloads);
         } else {
           final HighFreqTerm term = (HighFreqTerm) terms[termOrd];
           return new HighFreqDocsAndPositionsEnum(liveDocs, hasOffsets).reset(term.docIDs, term.freqs, term.positions, term.payloads);
@@ -1587,6 +1588,11 @@ public final class DirectPostingsFormat 
     }
 
     @Override
+    public int nextPosition() throws IOException {
+      return -1;
+    }
+
+    @Override
     public int advance(int target) throws IOException {
       // Linear scan, but this is low-freq term so it won't
       // be costly:
@@ -1655,87 +1661,8 @@ public final class DirectPostingsFormat 
     }
 
     @Override
-    public int advance(int target) throws IOException {
-      // Linear scan, but this is low-freq term so it won't
-      // be costly:
-      return slowAdvance(target);
-    }
-    
-    @Override
-    public long cost() {
-      return postings.length / 2;
-    }
-  }
-
-  // Docs + freqs + positions/offets:
-  private final static class LowFreqDocsEnum extends DocsEnum {
-    private int[] postings;
-    private final Bits liveDocs;
-    private final int posMult;
-    private int upto;
-    private int freq;
-
-    public LowFreqDocsEnum(Bits liveDocs, int posMult) {
-      this.liveDocs = liveDocs;
-      this.posMult = posMult;
-      // if (DEBUG) {
-      //   System.out.println("LowFreqDE: posMult=" + posMult);
-      // }
-    }
-
-    public boolean canReuse(Bits liveDocs, int posMult) {
-      return liveDocs == this.liveDocs && posMult == this.posMult;
-    }
-
-    public DocsEnum reset(int[] postings) {
-      this.postings = postings;
-      upto = -2;
-      freq = 0;
-      return this;
-    }
-
-    // TODO: can do this w/o setting members?
-    @Override
-    public int nextDoc() {
-      upto += 2 + freq*posMult;
-      // if (DEBUG) {
-      //   System.out.println("  nextDoc freq=" + freq + " upto=" + upto + " vs " + postings.length);
-      // }
-      if (liveDocs == null) {
-        if (upto < postings.length) {   
-          freq = postings[upto+1];
-          assert freq > 0;
-          return postings[upto];
-        }
-      } else {
-        while (upto < postings.length) {
-          freq = postings[upto+1];
-          assert freq > 0;
-          if (liveDocs.get(postings[upto])) {
-            return postings[upto];
-          }
-          upto += 2 + freq*posMult;
-        }
-      }
-      return NO_MORE_DOCS;
-    }
-
-    @Override
-    public int docID() {
-      // TODO: store docID member?
-      if (upto < 0) {
-        return -1;
-      } else if (upto < postings.length) {
-        return postings[upto];
-      } else {
-        return NO_MORE_DOCS;
-      }
-    }
-
-    @Override
-    public int freq() {
-      // TODO: can I do postings[upto+1]?
-      return freq;
+    public int nextPosition() throws IOException {
+      return -1;
     }
 
     @Override
@@ -1747,12 +1674,11 @@ public final class DirectPostingsFormat 
     
     @Override
     public long cost() {
-      // TODO: could do a better estimate
       return postings.length / 2;
     }
   }
 
-  private final static class LowFreqDocsAndPositionsEnum extends DocsAndPositionsEnum {
+  private final static class LowFreqDocsEnum extends DocsEnum {
     private int[] postings;
     private final Bits liveDocs;
     private final int posMult;
@@ -1763,6 +1689,7 @@ public final class DirectPostingsFormat 
     private int docID;
     private int freq;
     private int skipPositions;
+    private int pos;
     private int startOffset;
     private int endOffset;
     private int lastPayloadOffset;
@@ -1770,7 +1697,7 @@ public final class DirectPostingsFormat 
     private int payloadLength;
     private byte[] payloadBytes;
 
-    public LowFreqDocsAndPositionsEnum(Bits liveDocs, boolean hasOffsets, boolean hasPayloads) {
+    public LowFreqDocsEnum(Bits liveDocs, boolean hasOffsets, boolean hasPayloads) {
       this.liveDocs = liveDocs;
       this.hasOffsets = hasOffsets;
       this.hasPayloads = hasPayloads;
@@ -1787,7 +1714,11 @@ public final class DirectPostingsFormat 
       }
     }
 
-    public DocsAndPositionsEnum reset(int[] postings, byte[] payloadBytes) {
+    public boolean canReuse(Bits liveDocs, int posMult) {
+      return liveDocs == this.liveDocs && posMult == this.posMult;
+    }
+
+    public DocsEnum reset(int[] postings, byte[] payloadBytes) {
       this.postings = postings;
       upto = 0;
       skipPositions = 0;
@@ -1841,7 +1772,7 @@ public final class DirectPostingsFormat 
           }
         }
       }
-
+      pos = -1;
       return docID = NO_MORE_DOCS;
     }
 
@@ -1857,9 +1788,11 @@ public final class DirectPostingsFormat 
 
     @Override
     public int nextPosition() {
-      assert skipPositions > 0;
+      //assert skipPositions > 0;
+      if (skipPositions == 0)
+        return NO_MORE_POSITIONS;
       skipPositions--;
-      final int pos = postings[upto++];
+      pos = postings[upto++];
       if (hasOffsets) {
         startOffset = postings[upto++];
         endOffset = postings[upto++];
@@ -1873,6 +1806,16 @@ public final class DirectPostingsFormat 
     }
 
     @Override
+    public int startPosition() throws IOException {
+      return pos;
+    }
+
+    @Override
+    public int endPosition() throws IOException {
+      return pos;
+    }
+
+    @Override
     public int startOffset() {
       return startOffset;
     }
@@ -1971,6 +1914,11 @@ public final class DirectPostingsFormat 
     }
 
     @Override
+    public int nextPosition() throws IOException {
+      return -1;
+    }
+
+    @Override
     public int advance(int target) {
       /*
       upto++;
@@ -2085,7 +2033,7 @@ public final class DirectPostingsFormat 
   }
 
   // TODO: specialize offsets and not
-  private final static class HighFreqDocsAndPositionsEnum extends DocsAndPositionsEnum {
+  private final static class HighFreqDocsAndPositionsEnum extends DocsEnum {
     private int[] docIDs;
     private int[] freqs;
     private int[][] positions;
@@ -2120,7 +2068,7 @@ public final class DirectPostingsFormat 
       return liveDocs;
     }
 
-    public DocsAndPositionsEnum reset(int[] docIDs, int[] freqs, int[][] positions, byte[][][] payloads) {
+    public DocsEnum reset(int[] docIDs, int[] freqs, int[][] positions, byte[][][] payloads) {
       this.docIDs = docIDs;
       this.freqs = freqs;
       this.positions = positions;
@@ -2164,6 +2112,8 @@ public final class DirectPostingsFormat 
 
     @Override
     public int nextPosition() {
+      if (posUpto >= curPositions.length)
+        return NO_MORE_POSITIONS;
       posUpto += posJump;
       return curPositions[posUpto];
     }

Modified: lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java (original)
+++ lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java Wed Nov 12 14:56:17 2014
@@ -17,22 +17,16 @@ package org.apache.lucene.codecs.memory;
  * limitations under the License.
  */
 
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.ArrayList;
-import java.util.BitSet;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.TreeMap;
-
+import org.apache.lucene.codecs.BlockTermState;
+import org.apache.lucene.codecs.CodecUtil;
+import org.apache.lucene.codecs.FieldsProducer;
+import org.apache.lucene.codecs.PostingsReaderBase;
 import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.DocsAndPositionsEnum;
 import org.apache.lucene.index.DocsEnum;
-import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.FieldInfos;
 import org.apache.lucene.index.IndexFileNames;
+import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.index.SegmentInfo;
 import org.apache.lucene.index.SegmentReadState;
 import org.apache.lucene.index.TermState;
@@ -41,26 +35,31 @@ import org.apache.lucene.index.TermsEnum
 import org.apache.lucene.store.ByteArrayDataInput;
 import org.apache.lucene.store.ChecksumIndexInput;
 import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.automaton.ByteRunAutomaton;
-import org.apache.lucene.util.automaton.CompiledAutomaton;
 import org.apache.lucene.util.Accountable;
 import org.apache.lucene.util.Accountables;
+import org.apache.lucene.util.ArrayUtil;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.BytesRefBuilder;
 import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.RamUsageEstimator;
+import org.apache.lucene.util.automaton.ByteRunAutomaton;
+import org.apache.lucene.util.automaton.CompiledAutomaton;
 import org.apache.lucene.util.fst.BytesRefFSTEnum;
 import org.apache.lucene.util.fst.BytesRefFSTEnum.InputOutput;
 import org.apache.lucene.util.fst.FST;
 import org.apache.lucene.util.fst.Outputs;
 import org.apache.lucene.util.fst.PositiveIntOutputs;
 import org.apache.lucene.util.fst.Util;
-import org.apache.lucene.codecs.BlockTermState;
-import org.apache.lucene.codecs.FieldsProducer;
-import org.apache.lucene.codecs.PostingsReaderBase;
-import org.apache.lucene.codecs.CodecUtil;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.BitSet;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.TreeMap;
 
 /** 
  * FST-based terms dictionary reader.
@@ -433,12 +432,8 @@ public class FSTOrdTermsReader extends F
       }
 
       @Override
-      public DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags) throws IOException {
-        if (!hasPositions()) {
-          return null;
-        }
-        decodeMetaData();
-        return postingsReader.docsAndPositions(fieldInfo, state, liveDocs, reuse, flags);
+      public DocsEnum docsAndPositions(Bits liveDocs, DocsEnum reuse, int flags) throws IOException {
+        return docs(liveDocs, reuse, flags);
       }
 
       // TODO: this can be achieved by making use of Util.getByOutput()

Modified: lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java (original)
+++ lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java Wed Nov 12 14:56:17 2014
@@ -17,21 +17,16 @@ package org.apache.lucene.codecs.memory;
  * limitations under the License.
  */
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.BitSet;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.TreeMap;
-
+import org.apache.lucene.codecs.BlockTermState;
+import org.apache.lucene.codecs.CodecUtil;
+import org.apache.lucene.codecs.FieldsProducer;
+import org.apache.lucene.codecs.PostingsReaderBase;
 import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.DocsAndPositionsEnum;
 import org.apache.lucene.index.DocsEnum;
-import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.FieldInfos;
 import org.apache.lucene.index.IndexFileNames;
+import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.index.SegmentInfo;
 import org.apache.lucene.index.SegmentReadState;
 import org.apache.lucene.index.TermState;
@@ -39,25 +34,29 @@ import org.apache.lucene.index.Terms;
 import org.apache.lucene.index.TermsEnum;
 import org.apache.lucene.store.ByteArrayDataInput;
 import org.apache.lucene.store.IndexInput;
-import org.apache.lucene.util.ArrayUtil;
-import org.apache.lucene.util.automaton.ByteRunAutomaton;
-import org.apache.lucene.util.automaton.CompiledAutomaton;
 import org.apache.lucene.util.Accountable;
 import org.apache.lucene.util.Accountables;
+import org.apache.lucene.util.ArrayUtil;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.BytesRefBuilder;
 import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.RamUsageEstimator;
+import org.apache.lucene.util.automaton.ByteRunAutomaton;
+import org.apache.lucene.util.automaton.CompiledAutomaton;
 import org.apache.lucene.util.fst.BytesRefFSTEnum;
 import org.apache.lucene.util.fst.BytesRefFSTEnum.InputOutput;
 import org.apache.lucene.util.fst.FST;
 import org.apache.lucene.util.fst.Outputs;
 import org.apache.lucene.util.fst.Util;
-import org.apache.lucene.codecs.BlockTermState;
-import org.apache.lucene.codecs.FieldsProducer;
-import org.apache.lucene.codecs.PostingsReaderBase;
-import org.apache.lucene.codecs.CodecUtil;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.BitSet;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.TreeMap;
 
 /**
  * FST-based terms dictionary reader.
@@ -296,12 +295,8 @@ public class FSTTermsReader extends Fiel
       }
 
       @Override
-      public DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags) throws IOException {
-        if (!hasPositions()) {
-          return null;
-        }
-        decodeMetaData();
-        return postingsReader.docsAndPositions(fieldInfo, state, liveDocs, reuse, flags);
+      public DocsEnum docsAndPositions(Bits liveDocs, DocsEnum reuse, int flags) throws IOException {
+        return docs(liveDocs, reuse, flags);
       }
 
       @Override

Modified: lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesProducer.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesProducer.java (original)
+++ lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesProducer.java Wed Nov 12 14:56:17 2014
@@ -17,20 +17,11 @@ package org.apache.lucene.codecs.memory;
  * limitations under the License.
  */
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicLong;
-
 import org.apache.lucene.codecs.CodecUtil;
 import org.apache.lucene.codecs.DocValuesProducer;
 import org.apache.lucene.index.BinaryDocValues;
 import org.apache.lucene.index.CorruptIndexException;
 import org.apache.lucene.index.DocValues;
-import org.apache.lucene.index.DocsAndPositionsEnum;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.FieldInfos;
@@ -67,6 +58,14 @@ import org.apache.lucene.util.packed.Blo
 import org.apache.lucene.util.packed.MonotonicBlockPackedReader;
 import org.apache.lucene.util.packed.PackedInts;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicLong;
+
 /**
  * Reader for {@link MemoryDocValuesFormat}
  */
@@ -897,7 +896,7 @@ class MemoryDocValuesProducer extends Do
     }
 
     @Override
-    public DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags) throws IOException {
+    public DocsEnum docsAndPositions(Bits liveDocs, DocsEnum reuse, int flags) throws IOException {
       throw new UnsupportedOperationException();
     }
   }

Modified: lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java (original)
+++ lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java Wed Nov 12 14:56:17 2014
@@ -17,26 +17,18 @@ package org.apache.lucene.codecs.memory;
  * limitations under the License.
  */
 
-import java.io.IOException;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
 import org.apache.lucene.codecs.CodecUtil;
 import org.apache.lucene.codecs.FieldsConsumer;
 import org.apache.lucene.codecs.FieldsProducer;
 import org.apache.lucene.codecs.PostingsFormat;
 import org.apache.lucene.codecs.TermStats;
 import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.DocsAndPositionsEnum;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.FieldInfo;
-import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.index.FieldInfos;
 import org.apache.lucene.index.Fields;
 import org.apache.lucene.index.IndexFileNames;
+import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.index.SegmentReadState;
 import org.apache.lucene.index.SegmentWriteState;
 import org.apache.lucene.index.Terms;
@@ -63,6 +55,13 @@ import org.apache.lucene.util.fst.FST;
 import org.apache.lucene.util.fst.Util;
 import org.apache.lucene.util.packed.PackedInts;
 
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.SortedMap;
+import java.util.TreeMap;
+
 // TODO: would be nice to somehow allow this to act like
 // InstantiatedIndex, by never writing to disk; ie you write
 // to this Codec in RAM only and then when you open a reader
@@ -317,7 +316,7 @@ public final class MemoryPostingsFormat 
         long sumTotalTermFreq = 0;
         long sumDocFreq = 0;
         DocsEnum docsEnum = null;
-        DocsAndPositionsEnum posEnum = null;
+        DocsEnum posEnum = null;
         int enumFlags;
 
         IndexOptions indexOptions = fieldInfo.getIndexOptions();
@@ -332,15 +331,15 @@ public final class MemoryPostingsFormat 
           enumFlags = DocsEnum.FLAG_FREQS;
         } else if (writeOffsets == false) {
           if (writePayloads) {
-            enumFlags = DocsAndPositionsEnum.FLAG_PAYLOADS;
+            enumFlags = DocsEnum.FLAG_PAYLOADS;
           } else {
             enumFlags = 0;
           }
         } else {
           if (writePayloads) {
-            enumFlags = DocsAndPositionsEnum.FLAG_PAYLOADS | DocsAndPositionsEnum.FLAG_OFFSETS;
+            enumFlags = DocsEnum.FLAG_PAYLOADS | DocsEnum.FLAG_OFFSETS;
           } else {
-            enumFlags = DocsAndPositionsEnum.FLAG_OFFSETS;
+            enumFlags = DocsEnum.FLAG_OFFSETS;
           }
         }
 
@@ -539,14 +538,19 @@ public final class MemoryPostingsFormat 
     public int freq() {
       return freq;
     }
-    
+
+    @Override
+    public int nextPosition() throws IOException {
+      return -1;
+    }
+
     @Override
     public long cost() {
       return numDocs;
     }
   }
 
-  private final static class FSTDocsAndPositionsEnum extends DocsAndPositionsEnum {
+  private final static class FSTDocsAndPositionsEnum extends DocsEnum {
     private final boolean storePayloads;
     private byte[] buffer = new byte[16];
     private final ByteArrayDataInput in = new ByteArrayDataInput(buffer);
@@ -817,7 +821,7 @@ public final class MemoryPostingsFormat 
     }
 
     @Override
-    public DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags) {
+    public DocsEnum docsAndPositions(Bits liveDocs, DocsEnum reuse, int flags) {
 
       boolean hasOffsets = field.getIndexOptions().compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS) >= 0;
       if (field.getIndexOptions().compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) < 0) {

Modified: lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java (original)
+++ lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java Wed Nov 12 14:56:17 2014
@@ -17,16 +17,7 @@ package org.apache.lucene.codecs.simplet
  * limitations under the License.
  */
 
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.TreeMap;
-
 import org.apache.lucene.codecs.FieldsProducer;
-import org.apache.lucene.index.DocsAndPositionsEnum;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.FieldInfos;
@@ -57,6 +48,14 @@ import org.apache.lucene.util.fst.PairOu
 import org.apache.lucene.util.fst.PositiveIntOutputs;
 import org.apache.lucene.util.fst.Util;
 
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.TreeMap;
+
 import static org.apache.lucene.codecs.simpletext.SimpleTextFieldsWriter.DOC;
 import static org.apache.lucene.codecs.simpletext.SimpleTextFieldsWriter.END;
 import static org.apache.lucene.codecs.simpletext.SimpleTextFieldsWriter.END_OFFSET;
@@ -214,22 +213,22 @@ class SimpleTextFieldsReader extends Fie
       } else {
         docsEnum = new SimpleTextDocsEnum();
       }
-      return docsEnum.reset(docsStart, liveDocs, indexOptions == IndexOptions.DOCS, docFreq);
+      return docsEnum.reset(docsStart, liveDocs, indexOptions, docFreq);
     }
 
     @Override
-    public DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags) throws IOException {
+    public DocsEnum docsAndPositions(Bits liveDocs, DocsEnum reuse, int flags) throws IOException {
 
       if (indexOptions.compareTo(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) < 0) {
         // Positions were not indexed
         return null;
       }
 
-      SimpleTextDocsAndPositionsEnum docsAndPositionsEnum;
-      if (reuse != null && reuse instanceof SimpleTextDocsAndPositionsEnum && ((SimpleTextDocsAndPositionsEnum) reuse).canReuse(SimpleTextFieldsReader.this.in)) {
-        docsAndPositionsEnum = (SimpleTextDocsAndPositionsEnum) reuse;
+      SimpleTextDocsEnum docsAndPositionsEnum;
+      if (reuse != null && reuse instanceof SimpleTextDocsEnum && ((SimpleTextDocsEnum) reuse).canReuse(SimpleTextFieldsReader.this.in)) {
+        docsAndPositionsEnum = (SimpleTextDocsEnum) reuse;
       } else {
-        docsAndPositionsEnum = new SimpleTextDocsAndPositionsEnum();
+        docsAndPositionsEnum = new SimpleTextDocsEnum();
       } 
       return docsAndPositionsEnum.reset(docsStart, liveDocs, indexOptions, docFreq);
     }
@@ -238,105 +237,6 @@ class SimpleTextFieldsReader extends Fie
   private class SimpleTextDocsEnum extends DocsEnum {
     private final IndexInput inStart;
     private final IndexInput in;
-    private boolean omitTF;
-    private int docID = -1;
-    private int tf;
-    private Bits liveDocs;
-    private final BytesRefBuilder scratch = new BytesRefBuilder();
-    private final CharsRefBuilder scratchUTF16 = new CharsRefBuilder();
-    private int cost;
-    
-    public SimpleTextDocsEnum() {
-      this.inStart = SimpleTextFieldsReader.this.in;
-      this.in = this.inStart.clone();
-    }
-
-    public boolean canReuse(IndexInput in) {
-      return in == inStart;
-    }
-
-    public SimpleTextDocsEnum reset(long fp, Bits liveDocs, boolean omitTF, int docFreq) throws IOException {
-      this.liveDocs = liveDocs;
-      in.seek(fp);
-      this.omitTF = omitTF;
-      docID = -1;
-      tf = 1;
-      cost = docFreq;
-      return this;
-    }
-
-    @Override
-    public int docID() {
-      return docID;
-    }
-
-    @Override
-    public int freq() throws IOException {
-      return tf;
-    }
-
-    @Override
-    public int nextDoc() throws IOException {
-      if (docID == NO_MORE_DOCS) {
-        return docID;
-      }
-      boolean first = true;
-      int termFreq = 0;
-      while(true) {
-        final long lineStart = in.getFilePointer();
-        SimpleTextUtil.readLine(in, scratch);
-        if (StringHelper.startsWith(scratch.get(), DOC)) {
-          if (!first && (liveDocs == null || liveDocs.get(docID))) {
-            in.seek(lineStart);
-            if (!omitTF) {
-              tf = termFreq;
-            }
-            return docID;
-          }
-          scratchUTF16.copyUTF8Bytes(scratch.bytes(), DOC.length, scratch.length()-DOC.length);
-          docID = ArrayUtil.parseInt(scratchUTF16.chars(), 0, scratchUTF16.length());
-          termFreq = 0;
-          first = false;
-        } else if (StringHelper.startsWith(scratch.get(), FREQ)) {
-          scratchUTF16.copyUTF8Bytes(scratch.bytes(), FREQ.length, scratch.length()-FREQ.length);
-          termFreq = ArrayUtil.parseInt(scratchUTF16.chars(), 0, scratchUTF16.length());
-        } else if (StringHelper.startsWith(scratch.get(), POS)) {
-          // skip termFreq++;
-        } else if (StringHelper.startsWith(scratch.get(), START_OFFSET)) {
-          // skip
-        } else if (StringHelper.startsWith(scratch.get(), END_OFFSET)) {
-          // skip
-        } else if (StringHelper.startsWith(scratch.get(), PAYLOAD)) {
-          // skip
-        } else {
-          assert StringHelper.startsWith(scratch.get(), TERM) || StringHelper.startsWith(scratch.get(), FIELD) || StringHelper.startsWith(scratch.get(), END): "scratch=" + scratch.get().utf8ToString();
-          if (!first && (liveDocs == null || liveDocs.get(docID))) {
-            in.seek(lineStart);
-            if (!omitTF) {
-              tf = termFreq;
-            }
-            return docID;
-          }
-          return docID = NO_MORE_DOCS;
-        }
-      }
-    }
-
-    @Override
-    public int advance(int target) throws IOException {
-      // Naive -- better to index skip data
-      return slowAdvance(target);
-    }
-    
-    @Override
-    public long cost() {
-      return cost;
-    }
-  }
-
-  private class SimpleTextDocsAndPositionsEnum extends DocsAndPositionsEnum {
-    private final IndexInput inStart;
-    private final IndexInput in;
     private int docID = -1;
     private int tf;
     private Bits liveDocs;
@@ -350,9 +250,10 @@ class SimpleTextFieldsReader extends Fie
     private boolean readPositions;
     private int startOffset;
     private int endOffset;
+    private int posPending;
     private int cost;
 
-    public SimpleTextDocsAndPositionsEnum() {
+    public SimpleTextDocsEnum() {
       this.inStart = SimpleTextFieldsReader.this.in;
       this.in = inStart.clone();
     }
@@ -361,7 +262,7 @@ class SimpleTextFieldsReader extends Fie
       return in == inStart;
     }
 
-    public SimpleTextDocsAndPositionsEnum reset(long fp, Bits liveDocs, IndexOptions indexOptions, int docFreq) {
+    public SimpleTextDocsEnum reset(long fp, Bits liveDocs, IndexOptions indexOptions, int docFreq) {
       this.liveDocs = liveDocs;
       nextDocStart = fp;
       docID = -1;
@@ -403,6 +304,7 @@ class SimpleTextFieldsReader extends Fie
           scratchUTF16.copyUTF8Bytes(scratch.bytes(), DOC.length, scratch.length()-DOC.length);
           docID = ArrayUtil.parseInt(scratchUTF16.chars(), 0, scratchUTF16.length());
           tf = 0;
+          posPending = 0;
           first = false;
         } else if (StringHelper.startsWith(scratch.get(), FREQ)) {
           scratchUTF16.copyUTF8Bytes(scratch.bytes(), FREQ.length, scratch.length()-FREQ.length);
@@ -437,6 +339,9 @@ class SimpleTextFieldsReader extends Fie
     @Override
     public int nextPosition() throws IOException {
       final int pos;
+      if (posPending == 0)
+        return NO_MORE_POSITIONS;
+
       if (readPositions) {
         SimpleTextUtil.readLine(in, scratch);
         assert StringHelper.startsWith(scratch.get(), POS): "got line=" + scratch.get().utf8ToString();
@@ -470,6 +375,7 @@ class SimpleTextFieldsReader extends Fie
         payload = null;
         in.seek(fp);
       }
+      posPending--;
       return pos;
     }
 

Modified: lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsWriter.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsWriter.java (original)
+++ lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsWriter.java Wed Nov 12 14:56:17 2014
@@ -17,10 +17,7 @@ package org.apache.lucene.codecs.simplet
  * limitations under the License.
  */
 
-import java.io.IOException;
-
 import org.apache.lucene.codecs.FieldsConsumer;
-import org.apache.lucene.index.DocsAndPositionsEnum;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.FieldInfos;
@@ -32,8 +29,10 @@ import org.apache.lucene.store.IndexOutp
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.BytesRefBuilder;
 
+import java.io.IOException;
+
 class SimpleTextFieldsWriter extends FieldsConsumer {
-  
+
   private IndexOutput out;
   private final BytesRefBuilder scratch = new BytesRefBuilder();
   private final SegmentWriteState writeState;
@@ -81,10 +80,10 @@ class SimpleTextFieldsWriter extends Fie
       if (hasPositions) {
         
         if (hasPayloads) {
-          flags = flags | DocsAndPositionsEnum.FLAG_PAYLOADS;
+          flags = flags | DocsEnum.FLAG_PAYLOADS;
         }
         if (hasOffsets) {
-          flags = flags | DocsAndPositionsEnum.FLAG_OFFSETS;
+          flags = flags | DocsEnum.FLAG_OFFSETS;
         }
       } else {
         if (hasFreqs) {
@@ -93,7 +92,6 @@ class SimpleTextFieldsWriter extends Fie
       }
 
       TermsEnum termsEnum = terms.iterator(null);
-      DocsAndPositionsEnum posEnum = null;
       DocsEnum docsEnum = null;
 
       // for each term in field
@@ -104,8 +102,7 @@ class SimpleTextFieldsWriter extends Fie
         }
 
         if (hasPositions) {
-          posEnum = termsEnum.docsAndPositions(null, posEnum, flags);
-          docsEnum = posEnum;
+          docsEnum = termsEnum.docsAndPositions(null, docsEnum, flags);
         } else {
           docsEnum = termsEnum.docs(null, docsEnum, flags);
         }
@@ -154,15 +151,15 @@ class SimpleTextFieldsWriter extends Fie
 
               // for each pos in field+term+doc
               for(int i=0;i<freq;i++) {
-                int position = posEnum.nextPosition();
+                int position = docsEnum.nextPosition();
 
                 write(POS);
                 write(Integer.toString(position));
                 newline();
 
                 if (hasOffsets) {
-                  int startOffset = posEnum.startOffset();
-                  int endOffset = posEnum.endOffset();
+                  int startOffset = docsEnum.startOffset();
+                  int endOffset = docsEnum.endOffset();
                   assert endOffset >= startOffset;
                   assert startOffset >= lastStartOffset: "startOffset=" + startOffset + " lastStartOffset=" + lastStartOffset;
                   lastStartOffset = startOffset;
@@ -174,7 +171,7 @@ class SimpleTextFieldsWriter extends Fie
                   newline();
                 }
 
-                BytesRef payload = posEnum.getPayload();
+                BytesRef payload = docsEnum.getPayload();
 
                 if (payload != null && payload.length > 0) {
                   assert payload.length != 0;

Modified: lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java (original)
+++ lucene/dev/lucene2878/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextTermVectorsReader.java Wed Nov 12 14:56:17 2014
@@ -17,15 +17,7 @@ package org.apache.lucene.codecs.simplet
  * limitations under the License.
  */
 
-import java.io.IOException;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
 import org.apache.lucene.codecs.TermVectorsReader;
-import org.apache.lucene.index.DocsAndPositionsEnum;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.Fields;
 import org.apache.lucene.index.IndexFileNames;
@@ -49,7 +41,29 @@ import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.RamUsageEstimator;
 import org.apache.lucene.util.StringHelper;
 
-import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.*;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.SortedMap;
+import java.util.TreeMap;
+
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.DOC;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.END;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.ENDOFFSET;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.FIELD;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.FIELDNAME;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.FIELDOFFSETS;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.FIELDPAYLOADS;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.FIELDPOSITIONS;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.FIELDTERMCOUNT;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.NUMFIELDS;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.PAYLOAD;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.POSITION;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.STARTOFFSET;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.TERMFREQ;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.TERMTEXT;
+import static org.apache.lucene.codecs.simpletext.SimpleTextTermVectorsWriter.VECTORS_EXTENSION;
 
 /**
  * Reads plain-text term vectors.
@@ -391,73 +405,28 @@ public class SimpleTextTermVectorsReader
     @Override
     public DocsEnum docs(Bits liveDocs, DocsEnum reuse, int flags) throws IOException {
       // TODO: reuse
+      SimpleTVPostings postings = current.getValue();
       SimpleTVDocsEnum e = new SimpleTVDocsEnum();
-      e.reset(liveDocs, (flags & DocsEnum.FLAG_FREQS) == 0 ? 1 : current.getValue().freq);
+      e.reset(liveDocs, postings.positions, postings.startOffsets, postings.endOffsets, postings.payloads);
       return e;
     }
 
     @Override
-    public DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags) throws IOException {
+    public DocsEnum docsAndPositions(Bits liveDocs, DocsEnum reuse, int flags) throws IOException {
       SimpleTVPostings postings = current.getValue();
       if (postings.positions == null && postings.startOffsets == null) {
         return null;
       }
       // TODO: reuse
-      SimpleTVDocsAndPositionsEnum e = new SimpleTVDocsAndPositionsEnum();
+      SimpleTVDocsEnum e = new SimpleTVDocsEnum();
       e.reset(liveDocs, postings.positions, postings.startOffsets, postings.endOffsets, postings.payloads);
       return e;
     }
   }
   
-  // note: these two enum classes are exactly like the Default impl...
   private static class SimpleTVDocsEnum extends DocsEnum {
     private boolean didNext;
     private int doc = -1;
-    private int freq;
-    private Bits liveDocs;
-
-    @Override
-    public int freq() throws IOException {
-      assert freq != -1;
-      return freq;
-    }
-
-    @Override
-    public int docID() {
-      return doc;
-    }
-
-    @Override
-    public int nextDoc() {
-      if (!didNext && (liveDocs == null || liveDocs.get(0))) {
-        didNext = true;
-        return (doc = 0);
-      } else {
-        return (doc = NO_MORE_DOCS);
-      }
-    }
-
-    @Override
-    public int advance(int target) throws IOException {
-      return slowAdvance(target);
-    }
-
-    public void reset(Bits liveDocs, int freq) {
-      this.liveDocs = liveDocs;
-      this.freq = freq;
-      this.doc = -1;
-      didNext = false;
-    }
-    
-    @Override
-    public long cost() {
-      return 1;
-    }
-  }
-  
-  private static class SimpleTVDocsAndPositionsEnum extends DocsAndPositionsEnum {
-    private boolean didNext;
-    private int doc = -1;
     private int nextPos;
     private Bits liveDocs;
     private int[] positions;
@@ -513,9 +482,11 @@ public class SimpleTextTermVectorsReader
 
     @Override
     public int nextPosition() {
-      assert (positions != null && nextPos < positions.length) ||
-        startOffsets != null && nextPos < startOffsets.length;
+      //assert (positions != null && nextPos < positions.length) ||
+      //  startOffsets != null && nextPos < startOffsets.length;
       if (positions != null) {
+        if (nextPos >= positions.length)
+          return NO_MORE_POSITIONS;
         return positions[nextPos++];
       } else {
         nextPos++;

Modified: lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/Token.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/Token.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/Token.java (original)
+++ lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/Token.java Wed Nov 12 14:56:17 2014
@@ -20,7 +20,7 @@ package org.apache.lucene.analysis;
 import org.apache.lucene.analysis.tokenattributes.FlagsAttribute;
 import org.apache.lucene.analysis.tokenattributes.PackedTokenAttributeImpl;
 import org.apache.lucene.analysis.tokenattributes.PayloadAttribute;
-import org.apache.lucene.index.DocsAndPositionsEnum; // for javadoc
+import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.util.Attribute;
 import org.apache.lucene.util.AttributeFactory;
 import org.apache.lucene.util.AttributeImpl;
@@ -43,7 +43,7 @@ import org.apache.lucene.util.BytesRef;
   with type "eos".  The default token type is "word".  
   <p>
   A Token can optionally have metadata (a.k.a. payload) in the form of a variable
-  length byte array. Use {@link DocsAndPositionsEnum#getPayload()} to retrieve the 
+  length byte array. Use {@link DocsEnum#getPayload()} to retrieve the 
   payloads from the index.
   
   <br><br>

Modified: lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java (original)
+++ lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java Wed Nov 12 14:56:17 2014
@@ -17,7 +17,7 @@ package org.apache.lucene.analysis.token
  * limitations under the License.
  */
 
-import org.apache.lucene.index.DocsAndPositionsEnum; // javadocs
+import org.apache.lucene.index.DocsEnum; // javadocs
 import org.apache.lucene.util.Attribute;
 import org.apache.lucene.util.BytesRef;
 
@@ -33,7 +33,7 @@ import org.apache.lucene.util.BytesRef;
  * best to use the minimum number of bytes necessary. Some codec implementations
  * may optimize payload storage when all payloads have the same length.
  * 
- * @see DocsAndPositionsEnum
+ * @see DocsEnum
  */
 public interface PayloadAttribute extends Attribute {
   /**

Modified: lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttribute.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttribute.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttribute.java (original)
+++ lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttribute.java Wed Nov 12 14:56:17 2014
@@ -43,7 +43,7 @@ import org.apache.lucene.util.Attribute;
  *
  * </ul>
  * 
- * @see org.apache.lucene.index.DocsAndPositionsEnum
+ * @see org.apache.lucene.index.DocsEnum
  */
 public interface PositionIncrementAttribute extends Attribute {
   /** Set the position increment. The default value is one.

Modified: lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java (original)
+++ lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/PostingsReaderBase.java Wed Nov 12 14:56:17 2014
@@ -17,10 +17,6 @@ package org.apache.lucene.codecs;
  * limitations under the License.
  */
 
-import java.io.Closeable;
-import java.io.IOException;
-
-import org.apache.lucene.index.DocsAndPositionsEnum;
 import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.SegmentReadState;
@@ -29,10 +25,13 @@ import org.apache.lucene.store.IndexInpu
 import org.apache.lucene.util.Accountable;
 import org.apache.lucene.util.Bits;
 
+import java.io.Closeable;
+import java.io.IOException;
+
 /** The core terms dictionaries (BlockTermsReader,
  *  BlockTreeTermsReader) interact with a single instance
  *  of this class to manage creation of {@link DocsEnum} and
- *  {@link DocsAndPositionsEnum} instances.  It provides an
+ *  {@link DocsEnum} instances.  It provides an
  *  IndexInput (termsIn) where this class may read any
  *  previously stored data that it had written in its
  *  corresponding {@link PostingsWriterBase} at indexing
@@ -70,9 +69,10 @@ public abstract class PostingsReaderBase
 
   /** Must fully consume state, since after this call that
    *  TermState may be reused. */
-  public abstract DocsAndPositionsEnum docsAndPositions(FieldInfo fieldInfo, BlockTermState state, Bits skipDocs, DocsAndPositionsEnum reuse,
+  public abstract DocsEnum docsAndPositions(FieldInfo fieldInfo, BlockTermState state, Bits skipDocs, DocsEnum reuse,
                                                         int flags) throws IOException;
-  
+  // nocommit this still has the distinction - no need to remove this as long as we get the interface straight?
+
   /** 
    * Checks consistency of this reader.
    * <p>
@@ -81,7 +81,7 @@ public abstract class PostingsReaderBase
    * @lucene.internal
    */
   public abstract void checkIntegrity() throws IOException;
-  
+
   @Override
   public abstract void close() throws IOException;
 }

Modified: lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java?rev=1638805&r1=1638804&r2=1638805&view=diff
==============================================================================
--- lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java (original)
+++ lucene/dev/lucene2878/lucene/core/src/java/org/apache/lucene/codecs/PostingsWriterBase.java Wed Nov 12 14:56:17 2014
@@ -17,12 +17,8 @@ package org.apache.lucene.codecs;
  * limitations under the License.
  */
 
-import java.io.Closeable;
-import java.io.IOException;
-
 import org.apache.lucene.codecs.blocktree.BlockTreeTermsWriter;
-import org.apache.lucene.index.DocsAndPositionsEnum; // javadocs
-import org.apache.lucene.index.DocsEnum; // javadocs
+import org.apache.lucene.index.DocsEnum;
 import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.SegmentWriteState;
 import org.apache.lucene.index.TermsEnum;
@@ -31,6 +27,9 @@ import org.apache.lucene.store.IndexOutp
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.FixedBitSet;
 
+import java.io.Closeable;
+import java.io.IOException;
+
 /**
  * Class that plugs into term dictionaries, such as {@link
  * BlockTreeTermsWriter}, and handles writing postings.
@@ -54,8 +53,8 @@ public abstract class PostingsWriterBase
   public abstract void init(IndexOutput termsOut, SegmentWriteState state) throws IOException;
 
   /** Write all postings for one term; use the provided
-   *  {@link TermsEnum} to pull a {@link DocsEnum} or {@link
-   *  DocsAndPositionsEnum}.  This method should not
+   *  {@link TermsEnum} to pull a {@link DocsEnum}.
+   *  This method should not
    *  re-position the {@code TermsEnum}!  It is already
    *  positioned on the term that should be written.  This
    *  method must set the bit in the provided {@link