private CharacterAndCoordinate GetAt(int offset) { while (offset > this.m_buffer.Count - 1) { if (!this.m_enumerator.MoveNext()) { CharacterAndCoordinate mLastReadPosition = new CharacterAndCoordinate(); mLastReadPosition.Coordinate = this.m_lastReadPosition; return mLastReadPosition; } else { CharacterAndCoordinate current = this.m_enumerator.Current; this.m_buffer.Add(current); this.m_lastReadPosition = current.Coordinate; } } return this.m_buffer[offset]; }
internal DocumentRange(string documentPath, DocumentCoordinate rangeStart, DocumentCoordinate rangeEnd) { this.m_documentPath = documentPath; this.m_start = rangeStart; this.m_end = rangeEnd; }