Skip to content
  • Francis Herne's avatar
    Rewrite declarationForName() · 1a7d3c13
    Francis Herne authored
    This causes the correct declaration to be found in some unusual cases
     that previously failed.
    
    Only names declared before a function definition, or at module scope,
     were found in its body. Names may be declared later (but before the
     function is called); these were not found.
    
    BUG: 378083
    FIXED-IN: 5.2.0
    
    Class attributes from any enclosing class definition were found in
     default arguments, not only those from a method's parent class.
    
    Class or instance attributes were, correctly, not directly visible
     inside a method body (only with `self.` or similar), but hid
     declarations of the same name in outer contexts that should be found.
    1a7d3c13