248 source, filename, select, ignore, maxComplexity) |
248 source, filename, select, ignore, maxComplexity) |
249 mccabeChecker.run() |
249 mccabeChecker.run() |
250 stats.update(mccabeChecker.counters) |
250 stats.update(mccabeChecker.counters) |
251 errors += mccabeChecker.errors |
251 errors += mccabeChecker.errors |
252 |
252 |
253 deferredFixes = {} |
253 errorsDict = {} |
254 results = [] |
|
255 for fname, lineno, position, text in errors: |
254 for fname, lineno, position, text in errors: |
256 if lineno > len(source): |
255 if lineno > len(source): |
257 lineno = len(source) |
256 lineno = len(source) |
258 if source: |
257 # inverse processing of messages and fixes |
259 if "__IGNORE_WARNING__" not in \ |
258 errorLine = errorsDict.setdefault(lineno, []) |
260 extractLineFlags(source[lineno - 1].strip()): |
259 errorLine.append([position, text]) |
261 if fixer: |
260 deferredFixes = {} |
262 res, msg, id_ = fixer.fixIssue(lineno, position, text) |
261 results = [] |
263 if res == -1: |
262 for lineno, errors in errorsDict.items(): |
264 itm = [lineno, position, text] |
263 errors.sort(key=lambda x: x[0], reverse=True) |
265 deferredFixes[id_] = itm |
264 for position, text in errors: |
|
265 if source: |
|
266 if "__IGNORE_WARNING__" not in \ |
|
267 extractLineFlags(source[lineno - 1].strip()): |
|
268 if fixer: |
|
269 res, msg, id_ = fixer.fixIssue(lineno, position, text) |
|
270 if res == -1: |
|
271 itm = [lineno, position, text] |
|
272 deferredFixes[id_] = itm |
|
273 else: |
|
274 itm = [lineno, position, text, False, |
|
275 res == 1, True, msg] |
266 else: |
276 else: |
267 itm = [lineno, position, text, False, |
277 itm = [lineno, position, text, False, |
268 res == 1, True, msg] |
278 False, False, ''] |
|
279 results.append(itm) |
269 else: |
280 else: |
270 itm = [lineno, position, text, False, |
281 results.append([lineno, position, text, True, |
271 False, False, ''] |
282 False, False, '']) |
272 results.append(itm) |
|
273 else: |
283 else: |
274 results.append([lineno, position, text, True, |
284 results.append([lineno, position, text, False, |
275 False, False, '']) |
285 False, False, '']) |
276 else: |
|
277 results.append([lineno, position, text, False, |
|
278 False, False, '']) |
|
279 |
286 |
280 if fixer: |
287 if fixer: |
281 deferredResults = fixer.finalize() |
288 deferredResults = fixer.finalize() |
282 for id_ in deferredResults: |
289 for id_ in deferredResults: |
283 fixed, msg = deferredResults[id_] |
290 fixed, msg = deferredResults[id_] |