MCPcopy Create free account
hub / github.com/KDE/kdiff3 / calcDiff3LineListUsingAB

Method calcDiff3LineListUsingAB

src/diff.cpp:137–202  ·  view source on GitHub ↗

First step

Source from the content-addressed store, hash-verified

135
136// First step
137void Diff3LineList::calcDiff3LineListUsingAB(const DiffList* pDiffListAB)
138{
139 // First make d3ll for AB (from pDiffListAB)
140
141 LineRef lineA = 0;
142 LineRef lineB = 0;
143
144 qCInfo(kdiffMain) << "Enter: calcDiff3LineListUsingAB";
145 for(Diff d: *pDiffListAB)
146 {
147 while(d.numberOfEquals() > 0)
148 {
149 Diff3Line d3l;
150
151 d3l.bAEqB = true;
152 d3l.setLineA(lineA);
153 d3l.setLineB(lineB);
154 d.adjustNumberOfEquals(-1);
155 ++lineA;
156 ++lineB;
157
158 qCDebug(kdiffCore) << "lineA = " << d3l.getLineA() << ", lineB = " << d3l.getLineB() ;
159 push_back(d3l);
160 }
161
162 while(d.diff1() > 0 && d.diff2() > 0)
163 {
164 Diff3Line d3l;
165
166 d3l.setLineA(lineA);
167 d3l.setLineB(lineB);
168 d.adjustDiff1(-1);
169 d.adjustDiff2(-1);
170 ++lineA;
171 ++lineB;
172
173 qCDebug(kdiffCore) << "lineA = " << d3l.getLineA() << ", lineB = " << d3l.getLineB() ;
174 push_back(d3l);
175 }
176
177 while(d.diff1() > 0)
178 {
179 Diff3Line d3l;
180
181 d3l.setLineA(lineA);
182 d.adjustDiff1(-1);
183 ++lineA;
184
185 qCDebug(kdiffCore) << "lineA = " << d3l.getLineA() << ", lineB = " << d3l.getLineB() ;
186 push_back(d3l);
187 }
188
189 while(d.diff2() > 0)
190 {
191 Diff3Line d3l;
192
193 d3l.setLineB(lineB);
194 d.adjustDiff2(-1);

Callers 4

determineFileAlignmentFunction · 0.80
mainInitMethod · 0.80
calcDiffTestMethod · 0.80

Calls 10

numberOfEqualsMethod · 0.80
setLineAMethod · 0.80
setLineBMethod · 0.80
adjustNumberOfEqualsMethod · 0.80
getLineAMethod · 0.80
getLineBMethod · 0.80
diff1Method · 0.80
diff2Method · 0.80
adjustDiff1Method · 0.80
adjustDiff2Method · 0.80

Tested by 3

determineFileAlignmentFunction · 0.64
calcDiffTestMethod · 0.64