Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py

changeset 5619
ab999dc48132
parent 5617
1b9e3d94864a
child 5621
80cce672d505
--- a/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py	Thu Mar 16 20:00:31 2017 +0100
+++ b/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py	Fri Mar 17 19:09:39 2017 +0100
@@ -115,6 +115,10 @@
                 "MinFilesize": 0,
                 "Author": "",
             },
+            "BuiltinsChecker": {
+                "str": ["unicode", ],
+                "chr": ["unichr", ],
+            }
         }
         
         self.__checkers = []
@@ -491,6 +495,9 @@
         """
         Private method to check, if built-ins are shadowed.
         """
+        ignoreBuiltinAssignments = self.__args.get(
+            "BuiltinsChecker", self.__defaultArgs["BuiltinsChecker"])
+        
         for node in ast.walk(self.__tree):
             if isinstance(node, ast.Assign):
                 # assign statement
@@ -499,9 +506,9 @@
                        element.id in self.__builtins:
                         value = node.value
                         if isinstance(value, ast.Name) and \
-                           value.id in ["unicode", "unichr"]:
+                           element.id in ignoreBuiltinAssignments and \
+                           value.id in ignoreBuiltinAssignments[element.id]:
                             # ignore compatibility assignments
-                            # TODO: make this configurable
                             continue
                         self.__error(element.lineno - 1, element.col_offset,
                                      "M131", element.id)

eric ide

mercurial