public void Apply(ISourceAdder sourceAdder) { var cur = new LineCol(0, 0); for (var i = 0u; i < _modifications.Count; i++) { ref var m = ref _modifications[i]; if (cur != m.From) { Debug.Assert(cur < m.From); sourceAdder.Add(cur.Line, cur.Col, m.From.Line, m.From.Col); } if (m.Start != m.End) { sourceAdder.Add(m.Start.Line, m.Start.Col, m.End.Line, m.End.Col); } if (!string.IsNullOrEmpty(m.Content)) { sourceAdder.Add(m.Content); } cur = m.To; }
public void Apply(ISourceAdder sourceAdder) { int curLine = 0; int curCol = 0; for (var i = 0u; i < _modifications.Count; i++) { ref var m = ref _modifications[i]; if (curLine != m.FromLine || curCol != m.FromCol) { sourceAdder.Add(curLine, curCol, m.FromLine, m.FromCol); } if (!string.IsNullOrEmpty(m.Content)) { sourceAdder.Add(m.Content); } curLine = m.ToLine; curCol = m.ToCol; }