Skip to content

Commit 65c4e6c

Browse files
committed
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.
1 parent cd8ea78 commit 65c4e6c

File tree

4 files changed

+14
-14
lines changed

4 files changed

+14
-14
lines changed

python/ql/test/experimental/library-tests/CallGraph/PointsTo.expected

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,5 @@ debug_missingAnnotationForCallable
22
debug_nonUniqueAnnotationForCallable
33
debug_missingAnnotationForCall
44
expectedCallEdgeNotFound
5-
| code/class_simple.py:23:5:23:9 | A() | code/class_simple.py:4:5:4:28 | Function __init__ |
65
| code/underscore_prefix_func_name.py:16:5:16:19 | some_function() | code/underscore_prefix_func_name.py:10:1:10:20 | Function some_function |
76
unexpectedCallEdgeFound

python/ql/test/experimental/library-tests/CallGraph/Relative.expected

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ debug_missingAnnotationForCallable
22
debug_nonUniqueAnnotationForCallable
33
debug_missingAnnotationForCall
44
pointsTo_found_typeTracker_notFound
5-
| code/class_simple.py:26:1:26:15 | Attribute() | code/class_simple.py:9:5:9:26 | Function some_method |
6-
| code/class_simple.py:28:1:28:21 | Attribute() | code/class_simple.py:14:5:14:28 | Function some_staticmethod |
7-
| code/class_simple.py:30:1:30:20 | Attribute() | code/class_simple.py:19:5:19:30 | Function some_classmethod |
8-
| code/class_simple.py:33:1:33:21 | Attribute() | code/class_simple.py:14:5:14:28 | Function some_staticmethod |
9-
| code/class_simple.py:35:1:35:20 | Attribute() | code/class_simple.py:19:5:19:30 | Function some_classmethod |
5+
| code/class_simple.py:28:1:28:15 | Attribute() | code/class_simple.py:8:5:8:26 | Function some_method |
6+
| code/class_simple.py:30:1:30:21 | Attribute() | code/class_simple.py:13:5:13:28 | Function some_staticmethod |
7+
| code/class_simple.py:32:1:32:20 | Attribute() | code/class_simple.py:18:5:18:30 | Function some_classmethod |
8+
| code/class_simple.py:35:1:35:21 | Attribute() | code/class_simple.py:13:5:13:28 | Function some_staticmethod |
9+
| code/class_simple.py:37:1:37:20 | Attribute() | code/class_simple.py:18:5:18:30 | Function some_classmethod |
1010
| code/runtime_decision.py:21:1:21:6 | func() | code/runtime_decision.py:8:1:8:13 | Function rd_foo |
1111
| code/runtime_decision.py:21:1:21:6 | func() | code/runtime_decision.py:12:1:12:13 | Function rd_bar |
1212
| code/runtime_decision.py:30:1:30:7 | func2() | code/runtime_decision.py:8:1:8:13 | Function rd_foo |

python/ql/test/experimental/library-tests/CallGraph/TypeTracker.expected

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@ debug_missingAnnotationForCallable
22
debug_nonUniqueAnnotationForCallable
33
debug_missingAnnotationForCall
44
expectedCallEdgeNotFound
5-
| code/class_simple.py:23:5:23:9 | A() | code/class_simple.py:4:5:4:28 | Function __init__ |
6-
| code/class_simple.py:26:1:26:15 | Attribute() | code/class_simple.py:9:5:9:26 | Function some_method |
7-
| code/class_simple.py:28:1:28:21 | Attribute() | code/class_simple.py:14:5:14:28 | Function some_staticmethod |
8-
| code/class_simple.py:30:1:30:20 | Attribute() | code/class_simple.py:19:5:19:30 | Function some_classmethod |
9-
| code/class_simple.py:33:1:33:21 | Attribute() | code/class_simple.py:14:5:14:28 | Function some_staticmethod |
10-
| code/class_simple.py:35:1:35:20 | Attribute() | code/class_simple.py:19:5:19:30 | Function some_classmethod |
5+
| code/class_simple.py:28:1:28:15 | Attribute() | code/class_simple.py:8:5:8:26 | Function some_method |
6+
| code/class_simple.py:30:1:30:21 | Attribute() | code/class_simple.py:13:5:13:28 | Function some_staticmethod |
7+
| code/class_simple.py:32:1:32:20 | Attribute() | code/class_simple.py:18:5:18:30 | Function some_classmethod |
8+
| code/class_simple.py:35:1:35:21 | Attribute() | code/class_simple.py:13:5:13:28 | Function some_staticmethod |
9+
| code/class_simple.py:37:1:37:20 | Attribute() | code/class_simple.py:18:5:18:30 | Function some_classmethod |
1110
| code/runtime_decision.py:21:1:21:6 | func() | code/runtime_decision.py:8:1:8:13 | Function rd_foo |
1211
| code/runtime_decision.py:21:1:21:6 | func() | code/runtime_decision.py:12:1:12:13 | Function rd_bar |
1312
| code/runtime_decision.py:30:1:30:7 | func2() | code/runtime_decision.py:8:1:8:13 | Function rd_foo |

python/ql/test/experimental/library-tests/CallGraph/code/class_simple.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
class A(object):
22

3-
# name:A.__init__
43
def __init__(self, arg):
54
print('A.__init__', arg)
65
self.arg = arg
@@ -19,7 +18,10 @@ def some_staticmethod():
1918
def some_classmethod(cls):
2019
print('A.some_classmethod', cls)
2120

22-
# calls:A.__init__
21+
22+
# TODO: Figure out how to annotate class instantiation (and add one here).
23+
# Current points-to says it's a call to the class (instead of __init__/__new__/metaclass-something).
24+
# However, current test setup uses "callable" for naming, and expects things to be Function.
2325
a = A(42)
2426

2527
# calls:A.some_method

0 commit comments

Comments
 (0)