blob: 85ee86fbfa355a061cc6f52816121104c652e102 [file] [log] [blame]
# pylint: disable=too-few-public-methods, unnecessary-lambda-assignment
"""check for scope problems"""
class Well:
"""well"""
attr = 42
get_attr = lambda arg=attr: arg * 24
# +1: [undefined-variable, used-before-assignment]
get_attr_bad = lambda arg=revattr: revattr * 42
revattr = 24
bad_lambda = lambda: get_attr_bad # [undefined-variable]
bad_gen = list(attr + i for i in range(10)) # [undefined-variable]
class Data:
"""base hidden class"""
class Sub(Data):
"""whaou, is Data found???"""
attr = Data() # [undefined-variable]
def func(self):
"""check Sub is not defined here"""
return Sub(), self # [undefined-variable]
class Right:
"""right"""
class Result1:
"""result one"""
OK = 0
def work(self) -> Result1:
"""good type hint"""
return self.Result1.OK
class Wrong:
"""wrong"""
class Result2:
"""result two"""
OK = 0
def work(self) -> self.Result2: # [undefined-variable]
"""bad type hint"""
return self.Result2.OK