internal bool TryGetTokenization(int line, out LineTokenization tokenization) { if (line < 0) { throw new ArgumentOutOfRangeException("line", "Must be 0 or greater"); } //Utilities.CheckNotNull(_map); if (_map[line].Tokens != null) { tokenization = _map[line]; return true; } else { tokenization = default(LineTokenization); return false; } }
/// <summary> /// Looks for the first cached tokenization preceding the given line. /// Returns the line we have a tokenization for or minLine - 1 if there is none. /// </summary> internal int IndexOfPreviousTokenization(int line, int minLine, out LineTokenization tokenization) { if (line < 0) { throw new ArgumentOutOfRangeException("line", "Must be 0 or greater"); } //Utilities.CheckNotNull(_map); line--; while (line >= minLine) { if (_map[line].Tokens != null) { tokenization = _map[line]; return line; } line--; } tokenization = default(LineTokenization); return minLine - 1; }