Antlr4.Runtime.Atn.LexerATNSimulator.FailOrAccept C# (CSharp) Method

FailOrAccept() protected method

protected FailOrAccept ( SimState prevAccept, ICharStream input, ATNConfigSet reach, int t ) : int
prevAccept SimState
input ICharStream
reach ATNConfigSet
t int
return int
        protected int FailOrAccept(SimState prevAccept, ICharStream input,
								   ATNConfigSet reach, int t)
        {
            if (prevAccept.dfaState != null)
            {
                LexerActionExecutor lexerActionExecutor = prevAccept.dfaState.lexerActionExecutor;
                Accept(input, lexerActionExecutor, startIndex,
                    prevAccept.index, prevAccept.line, prevAccept.charPos);
                return prevAccept.dfaState.prediction;
            }
            else {
                // if no accept and EOF is first char, return EOF
                if (t == IntStreamConstants.EOF && input.Index == startIndex)
                {
                    return TokenConstants.EOF;
                }

                throw new LexerNoViableAltException(recog, input, startIndex, reach);
            }
        }