| class A(object): | |
| def __init__(self, bar): | |
| self._x = 1 ; self._bar = bar | |
| def __getX(self): | |
| return self._x | |
| def __setX(self, x): | |
| self._x = x | |
| def __delX(self): | |
| pass | |
| x1 = property(__getX, __setX, __delX, "doc of x1") | |
| x2 = property(__setX) # should return | |
| x3 = property(__getX, __getX) # should not return | |
| x4 = property(__getX, fdel=__getX) # should not return | |
| x5 = property(__getX, doc=123) # bad doc | |
| x6 = property(lambda self: self._x) | |
| x7 = property(lambda self: self._x, lambda self: self._x) # setter should not return | |
| @property | |
| def foo(self): | |
| return self._x | |
| @foo.setter # ignored in 2.5 | |
| def foo(self, x): | |
| self._x = x | |
| @foo.deleter # ignored in 2.5 | |
| def foo(self): | |
| pass | |
| @property | |
| def boo(self): | |
| return self._x | |
| @boo.setter | |
| def boo1(self, x): # ignored in 2.5 | |
| self._x = x | |
| @boo.deleter | |
| def boo2(self): # ignored in 2,5 | |
| pass | |
| @property | |
| def moo(self): # should return | |
| pass | |
| @moo.setter | |
| def foo(self, x): | |
| return 1 # ignored in 2.5 | |
| @foo.deleter | |
| def foo(self): | |
| return self._x # ignored in 2.5 | |
| @qoo.setter # unknown qoo is reported in ref inspection | |
| def qoo(self, v): | |
| self._x = v | |
| @property | |
| def bar(self): | |
| return None | |
| class Ghostbusters(object): | |
| def __call__(self): | |
| return "Who do you call?" | |
| gb = Ghostbusters() | |
| class B(object): | |
| x = property(gb) # pass | |
| y = property(Ghostbusters()) # pass | |
| z = property(Ghostbusters) # pass | |
| class Eternal(object): | |
| def give(self): | |
| while True: | |
| yield 1 | |
| def giveAndTake(self): | |
| x = 1 | |
| while True: | |
| x = (yield x) | |
| one = property(give) # should pass | |
| anything = property(giveAndTake) # should pass |