Files
codeql/python/ql/test/experimental/library-tests/CallGraph/code/class_simple.py
Rasmus Wriedt Larsen 65c4e6c02a Python: Disable class instantiation annotation for now
Adjusting test setup properly requires some deep thinking, and I don't think I'm
ready to do that right now. Added a TODO instead.
2020-07-06 17:48:15 +02:00

38 lines
946 B
Python

class A(object):
def __init__(self, arg):
print('A.__init__', arg)
self.arg = arg
# name:A.some_method
def some_method(self):
print('A.some_method', self)
@staticmethod
# name:A.some_staticmethod
def some_staticmethod():
print('A.some_staticmethod')
@classmethod
# name:A.some_classmethod
def some_classmethod(cls):
print('A.some_classmethod', cls)
# TODO: Figure out how to annotate class instantiation (and add one here).
# Current points-to says it's a call to the class (instead of __init__/__new__/metaclass-something).
# However, current test setup uses "callable" for naming, and expects things to be Function.
a = A(42)
# calls:A.some_method
a.some_method()
# calls:A.some_staticmethod
a.some_staticmethod()
# calls:A.some_classmethod
a.some_classmethod()
# calls:A.some_staticmethod
A.some_staticmethod()
# calls:A.some_classmethod
A.some_classmethod()