Utilities/ModuleParser.py

changeset 6552
ea16b851fdab
parent 6048
82ad8ec9548c
child 6645
ad476851d7e0
--- 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")

eric ide

mercurial