public virtual void Recover( IIntStream input, RecognitionException re )
{
if ( state.lastErrorIndex == input.Index )
{
// uh oh, another error at same token index; must be a case
// where LT(1) is in the recovery token set so nothing is
// consumed; consume a single token so at least to prevent
// an infinite loop; this is a failsafe.
input.Consume();
}
state.lastErrorIndex = input.Index;
BitSet followSet = ComputeErrorRecoverySet();
BeginResync();
ConsumeUntil( input, followSet );
EndResync();
}