public virtual IList<IToken> GetTokens(int start, int stop, int ttype) { BitSet s = new BitSet(ttype); s.Set(ttype); return GetTokens(start, stop, s); }
public static int GetTrailingTriviaTokenEndIndex(IToken token, BufferedTokenStream tokenStream, int triviaChannel = -1) { IList<IToken> tokens = tokenStream.GetTokens(); int i = token.TokenIndex + 1; int lastTriviaToken = token.TokenIndex; while (i < tokens.Count) { IToken t = tokens[i]; string text = t.Text; if (t.Channel == 0) { return lastTriviaToken; } else if (text.Contains('\r') || text.Contains('\n')) { if (string.IsNullOrWhiteSpace(text)) return lastTriviaToken; else return i; } else if (triviaChannel < 0 || t.Channel == triviaChannel) { lastTriviaToken = i; } ++i; } return lastTriviaToken; }