Files
openide/python/testData/inspections/PyUnresolvedReferencesInspection/slotsAndInheritance.py
Semyon Proshev ae91878f13 Improve processing __slots__ in PyUnresolvedReferencesInspection (PY-29229)
Fix false positive when accessed attribute is declared in ancestor `__slots__`
2018-05-29 17:24:36 +03:00

48 lines
835 B
Python

def access1():
class B(object):
__slots__ = ['foo']
class C(B):
pass
c = C()
print(c.<warning descr="Unresolved attribute reference 'bar' for class 'C'">bar</warning>)
print(c.foo)
def assign1():
class B(object):
__slots__ = ['foo']
class C(B):
pass
c = C()
c.bar = 1
c.foo = 1
def access2():
class A(object):
__slots__ = ['foo']
class D(A):
__slots__ = ['bar']
d = D()
print(d.foo)
print(d.bar)
print(d.<warning descr="Unresolved attribute reference 'baz' for class 'D'">baz</warning>)
def assign2():
class A(object):
__slots__ = ['foo']
class D(A):
__slots__ = ['bar']
d = D()
d.foo = 1
d.bar = 1
d.<warning descr="'D' object has no attribute 'baz'">baz</warning> = 1