class C(object): | |
def __init__(self): | |
self.foo = 1 | |
def f(self): | |
self.bar = 2 | |
def g(self): | |
if hasattr(self, 'baz'): | |
return self.baz #pass | |
else: | |
return self.spam if hasattr(self, 'spam') else 'eggs' #pass | |
def main(): | |
c = C() | |
c2 = C() | |
try: | |
if hasattr(c2, 'x'): | |
d1 = c.<warning descr="Unresolved attribute reference 'x' for class 'C'">x</warning> #fail | |
d2 = c2.x #pass | |
return d1, d2 | |
if hasattr(c, 'spam'): | |
def inner(): | |
c = C() | |
return c.<warning descr="Unresolved attribute reference 'spam' for class 'C'">spam</warning> #fail | |
return inner() + c.spam #pass | |
if hasattr(c, 'f'): | |
return c.f() #pass | |
return c.<warning descr="Unresolved attribute reference 'spam' for class 'C'">spam</warning> #fail | |
finally: | |
if hasattr(c, 'close'): | |
c.close() #pass | |