diff -r f4adb9431204 -r ea16b851fdab Utilities/ModuleParser.py --- a/Utilities/ModuleParser.py Sat Oct 20 14:46:01 2018 +0200 +++ b/Utilities/ModuleParser.py Sun Oct 21 14:22:14 2018 +0200 @@ -168,6 +168,11 @@ [ \t]* = [ \t]* (?P<VariableSignal> (?:pyqtSignal)? ) ) +| (?P<Main> + ^ + if \s+ __name__ \s* == \s* [^:]+ : $ + ) + | (?P<Import> ^ [ \t]* (?: import | from [ \t]+ \. [ \t]+ import ) [ \t]+ (?P<ImportList> (?: [^#;\\\n]* (?: \\\n )* )* ) @@ -732,6 +737,12 @@ else: index -= 1 + elif m.start("Main") >= 0: + # 'main' part of the script, reset class stack + lineno = lineno + src.count('\n', last_lineno_pos, start) + last_lineno_pos = start + classstack = [] + elif m.start("Variable") >= 0: thisindent = _indent(m.group("VariableIndent")) variable_name = m.group("VariableName")