Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py

changeset 4444
4867c8189b62
parent 4423
14f3ca3dcef6
child 4506
57666e501a42
equal deleted inserted replaced
4437:b9cc331a4576 4444:4867c8189b62
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_]

eric ide

mercurial