Lucene.Net.Analysis.ChainedFilter.InitialResult C# (CSharp) Method

InitialResult() private method

private InitialResult ( IndexReader reader, Logic logic, int index ) : Lucene.Net.Util.OpenBitSetDISI
reader Lucene.Net.Index.IndexReader
logic Logic
index int
return Lucene.Net.Util.OpenBitSetDISI
        private OpenBitSetDISI InitialResult(IndexReader reader, Logic logic, int[] index)
        {
            OpenBitSetDISI result;
            /**
             * First AND operation takes place against a completely false
             * bitset and will always return zero results.
             */
            if (logic == Logic.AND)
            {
                result = new OpenBitSetDISI(GetDISI(chain[index[0]], reader), reader.MaxDoc());
                ++index[0];
            }
            else if (logic == Logic.ANDNOT)
            {
                result = new OpenBitSetDISI(GetDISI(chain[index[0]], reader), reader.MaxDoc());
                result.Flip(0, reader.MaxDoc()); // NOTE: may set bits for deleted docs.
                ++index[0];
            }
            else
            {
                result = new OpenBitSetDISI(reader.MaxDoc());
            }
            return result;
        }