Fixed code style checker.

Wed, 08 Mar 2017 10:49:20 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 08 Mar 2017 10:49:20 +0100
changeset 5589
ad8f37c6a306
parent 5588
6ba512d9f46a
child 5590
40e18a10d837
child 5593
0f61eae74237

Fixed code style checker.

Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py file | annotate | diff | comparison | revisions
Plugins/CheckerPlugins/CodeStyleChecker/NamingStyleChecker.py file | annotate | diff | comparison | revisions
--- a/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py	Tue Mar 07 19:46:57 2017 +0100
+++ b/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py	Wed Mar 08 10:49:20 2017 +0100
@@ -512,7 +512,29 @@
                        element.id in self.__builtins:
                         self.__error(element.lineno - 1, element.col_offset,
                                      "M131", element.id)
+                    elif isinstance(element, (ast.Tuple, ast.List)):
+                        for tupleElement in element.elts:
+                            if isinstance(tupleElement, ast.Name) and \
+                               tupleElement.id in self.__builtins:
+                                self.__error(tupleElement.lineno - 1,
+                                             tupleElement.col_offset,
+                                             "M131", tupleElement.id)
+            elif isinstance(node, ast.For):
+                # for loop
+                target = node.target
+                if isinstance(target, ast.Name) and \
+                   target.id in self.__builtins:
+                    self.__error(target.lineno - 1, target.col_offset,
+                                 "M131", target.id)
+                elif isinstance(target, (ast.Tuple, ast.List)):
+                    for element in target.elts:
+                        if isinstance(element, ast.Name) and \
+                           element.id in self.__builtins:
+                            self.__error(element.lineno - 1,
+                                         element.col_offset,
+                                         "M131", element.id)
             elif isinstance(node, ast.FunctionDef):
+                # function definition
                 if sys.version_info >= (3, 0):
                     for arg in node.args.args:
                         if isinstance(arg, ast.arg) and \
--- a/Plugins/CheckerPlugins/CodeStyleChecker/NamingStyleChecker.py	Tue Mar 07 19:46:57 2017 +0100
+++ b/Plugins/CheckerPlugins/CodeStyleChecker/NamingStyleChecker.py	Wed Mar 08 10:49:20 2017 +0100
@@ -267,13 +267,25 @@
         
         if isinstance(node, ast.Assign):
             for target in node.targets:
-                name = isinstance(target, ast.Name) and target.id
-                if not name:
-                    return
+                if isinstance(target, ast.Name):
+                    name =  target.id
+                    if not name:
+                        return
+                    
+                    if self.__isNameToBeAvoided(name):
+                        yield self.__error(node, "N831")
+                        return
                 
-                if self.__isNameToBeAvoided(name):
-                    yield self.__error(node, "N831")
-                    return
+                elif isinstance(target, (ast.Tuple, ast.List)):
+                    for element in target.elts:
+                        if isinstance(element, ast.Name):
+                            name =  element.id
+                            if not name:
+                                return
+                            
+                            if self.__isNameToBeAvoided(name):
+                                yield self.__error(node, "N831")
+                                return
     
     def __checkClassName(self, node, parents):
         """

eric ide

mercurial