コード例 #1
0
ファイル: SourceReplacer.cs プロジェクト: Bobris/Njsast
        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;
            }
コード例 #2
0
        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;
            }