blob: a42b78fb6446af10c44554753eadca828584b4c9 [file] [log] [blame]
Tor Norbye3a2425a2013-11-04 10:16:08 -08001class A(object):
2 def s(self, v):
3 self._v = v
4
5 def g(self):
6 return self._v
7
8 def d(self):
9 pass
10
11 readonly = property(g)
12 writeonly = property(None, s)
13 readwrite = property(g, s, None, "Doc string")
14 deleteble = property(g,s,d)
15
16def eat(x): pass
17
18a = A()
19
20eat(a.readonly)
21b = a.readonly
22
23<warning descr="Property 'readonly' cannot be set">a.readonly</warning> += 1
24del <warning descr="Property 'readonly' cannot be deleted">a.readonly</warning>
25del <error descr="can't delete function call">a.readonly()</error> # Error, delete the result of function
26
27a.writeonly = 1
28<warning descr="Property 'writeonly' cannot be read">a.writeonly</warning> += 1
29b = <warning descr="Property 'writeonly' cannot be read">a.writeonly</warning>
30del <warning descr="Property 'writeonly' cannot be deleted">a.writeonly</warning>
31
32b = a.readwrite
33a.readwrite()
34a.readwrite = 1
35a.readwrite += 1
36del <warning descr="Property 'readwrite' cannot be deleted">a.readwrite</warning>
37
38del a.deletable
39
40x += a.readonly #pass