Files
codeql/python/ql/test/experimental/library-tests/CallGraph/code/class_properties.py
2022-11-22 14:46:31 +01:00

55 lines
1.0 KiB
Python

def func():
print("func")
class Prop(object):
def __init__(self, arg):
self._arg = arg
self._arg2 = arg
@property
def arg(self):
print('Prop.arg getter')
return self._arg
@arg.setter
def arg(self, value):
print('Prop.arg setter')
self._arg = value
@arg.deleter
def arg(self):
print('Prop.arg deleter')
# haha, you cannot delete me!
def _arg2_getter(self):
print('Prop.arg2 getter')
return self._arg2
def _arg2_setter(self, value):
print('Prop.arg2 setter')
self._arg2 = value
def _arg2_deleter(self):
print('Prop.arg2 deleter')
# haha, you cannot delete me!
arg2 = property(_arg2_getter, _arg2_setter, _arg2_deleter)
@property
def func_prop(self):
print("Prop.func_prop getter")
return func
prop = Prop(42) # $ tt=Prop.__init__
prop.arg
prop.arg = 43
del prop.arg
prop.arg2
prop.arg2 = 43
del prop.arg2
f = prop.func_prop
f() # $ MISSING: tt=func