Plugins/CheckerPlugins/CodeStyleChecker/DocStyleChecker.py

changeset 5815
223fa32b3a32
parent 5813
82349b9ceb4d
child 5898
fc96d49f5fbf
--- a/Plugins/CheckerPlugins/CodeStyleChecker/DocStyleChecker.py	Thu Jul 20 18:42:33 2017 +0200
+++ b/Plugins/CheckerPlugins/CodeStyleChecker/DocStyleChecker.py	Thu Jul 20 18:53:24 2017 +0200
@@ -1384,9 +1384,24 @@
                     self.__error(docstringContext.start() + lineNumber, 0,
                                  "D232", 'special')
             elif context.special() == "staticmethod":
-                if firstWord != 'static':
+                secondWord = summary.strip().split(None, 2)[1].lower()
+                if firstWord != 'static' and secondWord != 'static':
                     self.__error(docstringContext.start() + lineNumber, 0,
                                  "D232", 'static')
+                elif secondWord == 'static':
+                    if functionName.startswith(('__', 'on_')):
+                        if firstWord != 'private':
+                            self.__error(docstringContext.start() + lineNumber,
+                                         0, "D232", 'private static')
+                    elif functionName.startswith('_') or \
+                            functionName.endswith('Event'):
+                        if firstWord != 'protected':
+                            self.__error(docstringContext.start() + lineNumber,
+                                         0, "D232", 'protected static')
+                    else:
+                        if firstWord != 'public':
+                            self.__error(docstringContext.start() + lineNumber,
+                                         0, "D232", 'public static')
             elif arguments.startswith(('cls,', 'cls)')) or \
                     context.special() == "classmethod":
                 secondWord = summary.strip().split(None, 2)[1].lower()

eric ide

mercurial