Ejemplo n.º 1
0
        public override bool IncrementToken()
        {
            if (!isReset)
            {
                matcher = matcher.NextMatch();
            }
            isReset = false;

            if (matcher.Success)
            {
                if (Debugging.AssertsEnabled)
                {
                    Debugging.Assert(state != null && encoded != null);
                }
                RestoreState(state);

                int start = matcher.Index;
                //int end = start + matcher.Length;
                termAtt.SetEmpty().Append(encoded, start, matcher.Length); // LUCENENET: Corrected 3rd parameter
                posIncAtt.PositionIncrement = 0;
                return(true);
            }

            if (m_input.IncrementToken())
            {
                encoded = (languages == null)
                    ? engine.Encode(termAtt.ToString())
                    : engine.Encode(termAtt.ToString(), languages);
                state = CaptureState();

                matcher = pattern.Match(encoded);
                if (matcher.Success)
                {
                    int start = matcher.Index;
                    //int end = start + matcher.Length;
                    termAtt.SetEmpty().Append(encoded, start, matcher.Length); // LUCENENET: Corrected 3rd parameter
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }