--- 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()