eric6/Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/MiscellaneousChecker.py

changeset 7972
4fc11172df1b
parent 7923
91e843545d9a
child 7980
2c3f14a3c595
equal deleted inserted replaced
7971:ff2971513d6d 7972:4fc11172df1b
14 from string import Formatter 14 from string import Formatter
15 from collections import defaultdict 15 from collections import defaultdict
16 import tokenize 16 import tokenize
17 17
18 import AstUtilities 18 import AstUtilities
19
20 from eradicate import Eradicator
19 21
20 22
21 def composeCallPath(node): 23 def composeCallPath(node):
22 """ 24 """
23 Generator function to assemble the call path of a given node. 25 Generator function to assemble the call path of a given node.
152 r'^(?:[^\'"]*[\'"][^\'"]*[\'"])*\s*%|^\s*%') 154 r'^(?:[^\'"]*[\'"][^\'"]*[\'"])*\s*%|^\s*%')
153 155
154 import builtins 156 import builtins
155 self.__builtins = [b for b in dir(builtins) 157 self.__builtins = [b for b in dir(builtins)
156 if b not in self.BuiltinsWhiteList] 158 if b not in self.BuiltinsWhiteList]
159
160 # TODO: add support for eradicator whitelist
161 self.__eradicator = Eradicator()
157 162
158 # statistics counters 163 # statistics counters
159 self.counters = {} 164 self.counters = {}
160 165
161 # collection of detected errors 166 # collection of detected errors
382 387
383 def __checkCommentedCode(self): 388 def __checkCommentedCode(self):
384 """ 389 """
385 Private method to check for commented code. 390 Private method to check for commented code.
386 """ 391 """
387 from eradicate import commented_out_code_line_numbers
388
389 source = "".join(self.__source) 392 source = "".join(self.__source)
390 commentedCodeCheckerArgs = self.__args.get( 393 commentedCodeCheckerArgs = self.__args.get(
391 "CommentedCodeChecker", self.__defaultArgs["CommentedCodeChecker"]) 394 "CommentedCodeChecker", self.__defaultArgs["CommentedCodeChecker"])
392 aggressive = commentedCodeCheckerArgs.get( 395 aggressive = commentedCodeCheckerArgs.get(
393 "Aggressive", 396 "Aggressive",
394 self.__defaultArgs["CommentedCodeChecker"]["Aggressive"]) 397 self.__defaultArgs["CommentedCodeChecker"]["Aggressive"])
395 for markedLine in commented_out_code_line_numbers( 398 for markedLine in self.__eradicator.commented_out_code_line_numbers(
396 source, aggressive=aggressive): 399 source, aggressive=aggressive):
397 self.__error(markedLine - 1, 0, "M891") 400 self.__error(markedLine - 1, 0, "M891")
398 401
399 def __checkLineContinuation(self): 402 def __checkLineContinuation(self):
400 """ 403 """

eric ide

mercurial