/// <summary> /// Change all line numbers for errors from selected start /// line number by selected offset. doesn't check nothing. assuming the user /// knows what he's doing /// </summary> /// <param name="iFromLine">Start line number</param> /// <param name="iOffset">Offset (in line numbers)</param> public void RemoveLines(int iFromLine, int iOffset) { for (int iCounter = 0; iCounter < _commentsList.Count; ++iCounter) { CompilerCommentEntry curLine = ((CompilerCommentEntry)_commentsList[iCounter]); if (curLine.Line > iFromLine - iOffset) { curLine.Line += iOffset; } else if (curLine.Line > iFromLine) { _commentsList.Remove(curLine); } } }
/// <summary> /// Change all line numbers for errors from selected start /// line number by selected offset. doesn't check nothing. assuming the user /// knows what he's doing /// </summary> /// <param name="iFromLine">Start line number</param> /// <param name="iOffset">Offset (in line numbers)</param> public void updateErrorsLinesNumber(int iFromLine, int iOffset) { if (iOffset > 0) { for (int iCounter = 0; iCounter < _commentsList.Count; ++iCounter) { CompilerCommentEntry curLine = ((CompilerCommentEntry)_commentsList[iCounter]); if (curLine.Line >= iFromLine) { curLine.Line += iOffset; } } } else if (iOffset < 0) { RemoveLines(iFromLine, iOffset); } }
/// <summary> /// Add entry to the list /// </summary> /// <param name="iLine">Line Number</param> /// <param name="iAddress">Message related to that line</param> public void AddEntry(int iLine, CompilerMessage msg) { CompilerCommentEntry en = new CompilerCommentEntry(iLine, msg); _commentsList.Add(en); }