src/eric7/Utilities/ClassBrowsers/pyclbr.py

branch
eric7
changeset 10468
fcae57045733
parent 10458
2074b8393649
child 10471
28d4780d6a66
equal deleted inserted replaced
10467:b3929f6748ae 10468:fcae57045733
110 110
111 | (?P<TypedVariable> 111 | (?P<TypedVariable>
112 ^ 112 ^
113 (?P<TypedVariableIndent> [ \t]* ) 113 (?P<TypedVariableIndent> [ \t]* )
114 (?P<TypedVariableName> \w+ ) 114 (?P<TypedVariableName> \w+ )
115 [ \t]* : 115 [ \t]* : [^\r\n]*? =
116 ) 116 )
117 117
118 | (?P<Main> 118 | (?P<Main>
119 ^ 119 ^
120 if \s+ __name__ \s* == \s* [^:]+ : $ 120 if \s+ __name__ \s* == \s* [^:]+ : $
533 if deltastack: 533 if deltastack:
534 del deltastack[-1] 534 del deltastack[-1]
535 deltaindentcalculated = False 535 deltaindentcalculated = False
536 # close all classes indented at least as much 536 # close all classes indented at least as much
537 while classstack and classstack[-1][1] >= thisindent: 537 while classstack and classstack[-1][1] >= thisindent:
538 del classstack[-1] 538 classstack.pop()
539 if classstack: 539 if classstack:
540 # it's a class method 540 # it's a class method
541 cur_class = classstack[-1][0] 541 cur_class = classstack[-1][0]
542 if cur_class: 542 if cur_class:
543 # it's a method/nested def 543 # it's a method/nested def
585 elif m.captured("Class"): 585 elif m.captured("Class"):
586 # we found a class definition 586 # we found a class definition
587 thisindent = _indent(m.captured("ClassIndent")) 587 thisindent = _indent(m.captured("ClassIndent"))
588 # close all classes indented at least as much 588 # close all classes indented at least as much
589 while classstack and classstack[-1][1] >= thisindent: 589 while classstack and classstack[-1][1] >= thisindent:
590 del classstack[-1] 590 classstack.pop()
591 lineno += src.count("\n", last_lineno_pos, start) 591 lineno += src.count("\n", last_lineno_pos, start)
592 last_lineno_pos = start 592 last_lineno_pos = start
593 class_name = m.captured("ClassName") 593 class_name = m.captured("ClassName")
594 inherit = m.captured("ClassSupers") 594 inherit = m.captured("ClassSupers")
595 if inherit: 595 if inherit:
690 else: 690 else:
691 if isinstance(classstack[index][0], Class): 691 if isinstance(classstack[index][0], Class):
692 classstack[index][0]._addglobal( 692 classstack[index][0]._addglobal(
693 Attribute(module, variable_name, file, lineno) 693 Attribute(module, variable_name, file, lineno)
694 ) 694 )
695 elif isinstance(classstack[index][0], Function):
696 classstack[index][0]._addattribute(
697 Attribute(module, variable_name, file, lineno)
698 )
695 break 699 break
696 700
697 elif m.captured("TypedVariable"): 701 elif m.captured("TypedVariable"):
698 thisindent = _indent(m.captured("TypedVariableIndent")) 702 thisindent = _indent(m.captured("TypedVariableIndent"))
699 variable_name = m.captured("TypedVariableName") 703 variable_name = m.captured("TypedVariableName")
718 if classstack[index][1] >= thisindent: 722 if classstack[index][1] >= thisindent:
719 index -= 1 723 index -= 1
720 else: 724 else:
721 if isinstance(classstack[index][0], Class): 725 if isinstance(classstack[index][0], Class):
722 classstack[index][0]._addglobal( 726 classstack[index][0]._addglobal(
727 Attribute(module, variable_name, file, lineno)
728 )
729 elif isinstance(classstack[index][0], Function):
730 classstack[index][0]._addattribute(
723 Attribute(module, variable_name, file, lineno) 731 Attribute(module, variable_name, file, lineno)
724 ) 732 )
725 break 733 break
726 734
727 elif m.captured("Publics"): 735 elif m.captured("Publics"):

eric ide

mercurial