Skip to content

Commit 3f2fcbf

Browse files
committed
Python: Remove most noise in the query output
Just a quick change, the query should probably be rewritten
1 parent 2cc7712 commit 3f2fcbf

File tree

2 files changed

+27
-173
lines changed

2 files changed

+27
-173
lines changed
Lines changed: 0 additions & 172 deletions
Original file line numberDiff line numberDiff line change
@@ -1,178 +1,6 @@
1-
| classes.py:30:11:30:13 | ControlFlowNode for cls | classes.py:11:11:11:11 | SSA variable x |
21
| classes.py:32:12:32:31 | ControlFlowNode for Attribute() | classes.py:32:12:32:31 | ControlFlowNode for Attribute() |
3-
| classes.py:41:11:41:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
4-
| classes.py:51:11:51:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
5-
| classes.py:62:11:62:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
6-
| classes.py:74:11:74:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
7-
| classes.py:86:11:86:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
8-
| classes.py:98:11:98:21 | ControlFlowNode for format_spec | classes.py:14:11:14:11 | SSA variable x |
9-
| classes.py:99:11:99:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
10-
| classes.py:120:11:120:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
11-
| classes.py:121:11:121:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
12-
| classes.py:134:11:134:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
13-
| classes.py:135:11:135:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
14-
| classes.py:148:11:148:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
15-
| classes.py:149:11:149:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
16-
| classes.py:161:11:161:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
17-
| classes.py:162:11:162:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
18-
| classes.py:174:11:174:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
19-
| classes.py:175:11:175:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
20-
| classes.py:188:11:188:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
21-
| classes.py:189:11:189:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
22-
| classes.py:202:11:202:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
232
| classes.py:212:7:212:22 | ControlFlowNode for set() | classes.py:212:7:212:22 | ControlFlowNode for set() |
243
| classes.py:216:7:216:28 | ControlFlowNode for frozenset() | classes.py:216:7:216:28 | ControlFlowNode for frozenset() |
254
| classes.py:220:7:220:26 | ControlFlowNode for dict() | classes.py:220:7:220:26 | ControlFlowNode for dict() |
26-
| classes.py:226:11:226:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
27-
| classes.py:244:11:244:14 | ControlFlowNode for name | classes.py:14:11:14:11 | SSA variable x |
28-
| classes.py:245:11:245:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
29-
| classes.py:257:11:257:14 | ControlFlowNode for name | classes.py:14:11:14:11 | SSA variable x |
30-
| classes.py:258:11:258:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
31-
| classes.py:270:11:270:15 | ControlFlowNode for value | classes.py:17:11:17:11 | SSA variable x |
32-
| classes.py:271:11:271:14 | ControlFlowNode for name | classes.py:14:11:14:11 | SSA variable x |
33-
| classes.py:272:11:272:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
34-
| classes.py:284:11:284:14 | ControlFlowNode for name | classes.py:14:11:14:11 | SSA variable x |
35-
| classes.py:285:11:285:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
36-
| classes.py:296:11:296:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
37-
| classes.py:313:11:313:15 | ControlFlowNode for owner | classes.py:17:11:17:11 | SSA variable x |
38-
| classes.py:314:11:314:18 | ControlFlowNode for instance | classes.py:14:11:14:11 | SSA variable x |
39-
| classes.py:315:11:315:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
40-
| classes.py:332:11:332:15 | ControlFlowNode for value | classes.py:17:11:17:11 | SSA variable x |
41-
| classes.py:333:11:333:18 | ControlFlowNode for instance | classes.py:14:11:14:11 | SSA variable x |
42-
| classes.py:334:11:334:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
43-
| classes.py:348:11:348:18 | ControlFlowNode for instance | classes.py:14:11:14:11 | SSA variable x |
44-
| classes.py:349:11:349:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
45-
| classes.py:362:11:362:14 | ControlFlowNode for name | classes.py:17:11:17:11 | SSA variable x |
46-
| classes.py:363:11:363:15 | ControlFlowNode for owner | classes.py:14:11:14:11 | SSA variable x |
47-
| classes.py:364:11:364:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
485
| classes.py:369:27:369:50 | ControlFlowNode for dict() | classes.py:369:27:369:50 | ControlFlowNode for dict() |
49-
| classes.py:381:11:381:13 | ControlFlowNode for cls | classes.py:11:11:11:11 | SSA variable x |
50-
| classes.py:398:11:398:14 | ControlFlowNode for kwds | classes.py:17:11:17:11 | SSA variable x |
51-
| classes.py:399:11:399:15 | ControlFlowNode for bases | classes.py:14:11:14:11 | SSA variable x |
52-
| classes.py:400:11:400:14 | ControlFlowNode for name | classes.py:11:11:11:11 | SSA variable x |
53-
| classes.py:414:11:414:18 | ControlFlowNode for instance | classes.py:14:11:14:11 | SSA variable x |
54-
| classes.py:415:11:415:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
55-
| classes.py:428:11:428:18 | ControlFlowNode for subclass | classes.py:14:11:14:11 | SSA variable x |
56-
| classes.py:429:11:429:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
57-
| classes.py:444:11:444:13 | ControlFlowNode for key | classes.py:14:11:14:11 | SSA variable x |
58-
| classes.py:445:11:445:13 | ControlFlowNode for cls | classes.py:11:11:11:11 | SSA variable x |
59-
| classes.py:459:11:459:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
60-
| classes.py:471:11:471:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
61-
| classes.py:492:11:492:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
62-
| classes.py:505:11:505:13 | ControlFlowNode for key | classes.py:14:11:14:11 | SSA variable x |
63-
| classes.py:506:11:506:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
64-
| classes.py:519:11:519:15 | ControlFlowNode for value | classes.py:17:11:17:11 | SSA variable x |
65-
| classes.py:520:11:520:13 | ControlFlowNode for key | classes.py:14:11:14:11 | SSA variable x |
66-
| classes.py:521:11:521:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
67-
| classes.py:534:11:534:13 | ControlFlowNode for key | classes.py:14:11:14:11 | SSA variable x |
68-
| classes.py:535:11:535:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
69-
| classes.py:547:11:547:13 | ControlFlowNode for key | classes.py:14:11:14:11 | SSA variable x |
70-
| classes.py:548:11:548:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
71-
| classes.py:561:11:561:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
726
| classes.py:563:12:563:24 | ControlFlowNode for Attribute() | classes.py:563:12:563:24 | ControlFlowNode for Attribute() |
73-
| classes.py:573:11:573:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
74-
| classes.py:585:11:585:14 | ControlFlowNode for item | classes.py:14:11:14:11 | SSA variable x |
75-
| classes.py:586:11:586:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
76-
| classes.py:601:11:601:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
77-
| classes.py:602:11:602:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
78-
| classes.py:615:11:615:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
79-
| classes.py:616:11:616:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
80-
| classes.py:629:11:629:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
81-
| classes.py:630:11:630:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
82-
| classes.py:643:11:643:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
83-
| classes.py:644:11:644:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
84-
| classes.py:657:11:657:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
85-
| classes.py:658:11:658:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
86-
| classes.py:671:11:671:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
87-
| classes.py:672:11:672:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
88-
| classes.py:685:11:685:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
89-
| classes.py:686:11:686:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
90-
| classes.py:699:11:699:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
91-
| classes.py:700:11:700:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
92-
| classes.py:713:11:713:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
93-
| classes.py:714:11:714:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
94-
| classes.py:732:11:732:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
95-
| classes.py:733:11:733:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
96-
| classes.py:746:11:746:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
97-
| classes.py:747:11:747:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
98-
| classes.py:760:11:760:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
99-
| classes.py:761:11:761:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
100-
| classes.py:774:11:774:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
101-
| classes.py:775:11:775:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
102-
| classes.py:788:11:788:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
103-
| classes.py:789:11:789:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
104-
| classes.py:802:11:802:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
105-
| classes.py:803:11:803:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
106-
| classes.py:816:11:816:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
107-
| classes.py:817:11:817:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
108-
| classes.py:830:11:830:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
109-
| classes.py:831:11:831:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
110-
| classes.py:844:11:844:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
111-
| classes.py:845:11:845:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
112-
| classes.py:858:11:858:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
113-
| classes.py:859:11:859:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
114-
| classes.py:872:11:872:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
115-
| classes.py:873:11:873:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
116-
| classes.py:886:11:886:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
117-
| classes.py:887:11:887:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
118-
| classes.py:900:11:900:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
119-
| classes.py:901:11:901:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
120-
| classes.py:914:11:914:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
121-
| classes.py:915:11:915:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
122-
| classes.py:933:11:933:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
123-
| classes.py:934:11:934:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
124-
| classes.py:947:11:947:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
125-
| classes.py:948:11:948:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
126-
| classes.py:961:11:961:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
127-
| classes.py:962:11:962:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
128-
| classes.py:975:11:975:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
129-
| classes.py:976:11:976:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
130-
| classes.py:989:11:989:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
131-
| classes.py:990:11:990:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
132-
| classes.py:1003:11:1003:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
133-
| classes.py:1004:11:1004:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
134-
| classes.py:1017:11:1017:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
135-
| classes.py:1018:11:1018:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
136-
| classes.py:1031:11:1031:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
137-
| classes.py:1032:11:1032:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
138-
| classes.py:1045:11:1045:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
139-
| classes.py:1046:11:1046:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
140-
| classes.py:1059:11:1059:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
141-
| classes.py:1060:11:1060:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
142-
| classes.py:1073:11:1073:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
143-
| classes.py:1074:11:1074:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
144-
| classes.py:1087:11:1087:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
145-
| classes.py:1088:11:1088:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
146-
| classes.py:1101:11:1101:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
147-
| classes.py:1102:11:1102:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
148-
| classes.py:1115:11:1115:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
149-
| classes.py:1116:11:1116:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
150-
| classes.py:1129:11:1129:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
151-
| classes.py:1130:11:1130:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
152-
| classes.py:1143:11:1143:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
153-
| classes.py:1144:11:1144:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
154-
| classes.py:1157:11:1157:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
155-
| classes.py:1158:11:1158:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
156-
| classes.py:1171:11:1171:15 | ControlFlowNode for other | classes.py:14:11:14:11 | SSA variable x |
157-
| classes.py:1172:11:1172:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
158-
| classes.py:1185:11:1185:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
159-
| classes.py:1197:11:1197:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
160-
| classes.py:1209:11:1209:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
161-
| classes.py:1221:11:1221:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
162-
| classes.py:1233:11:1233:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
163-
| classes.py:1245:11:1245:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
164-
| classes.py:1257:11:1257:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
165-
| classes.py:1269:11:1269:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
166-
| classes.py:1308:11:1308:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
167-
| classes.py:1320:11:1320:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
168-
| classes.py:1333:11:1333:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
169-
| classes.py:1346:11:1346:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
170-
| classes.py:1361:11:1361:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
171-
| classes.py:1397:11:1397:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
172-
| classes.py:1416:11:1416:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
173-
| classes.py:1435:11:1435:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
174-
| classes.py:1450:11:1450:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
175-
| classes.py:1468:11:1468:19 | ControlFlowNode for traceback | classes.py:20:11:20:11 | SSA variable x |
176-
| classes.py:1469:11:1469:19 | ControlFlowNode for exc_value | classes.py:17:11:17:11 | SSA variable x |
177-
| classes.py:1470:11:1470:18 | ControlFlowNode for exc_type | classes.py:14:11:14:11 | SSA variable x |
178-
| classes.py:1471:11:1471:14 | ControlFlowNode for self | classes.py:11:11:11:11 | SSA variable x |
Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,29 @@
1-
import experimental.dataflow.callGraphConfig
1+
import experimental.dataflow.DataFlow
2+
3+
/**
4+
* A configuration to find the call graph edges.
5+
*/
6+
class CallGraphConfig extends DataFlow::Configuration {
7+
CallGraphConfig() { this = "CallGraphConfig" }
8+
9+
override predicate isSource(DataFlow::Node node) {
10+
node instanceof DataFlow::ReturnNode
11+
or
12+
// These sources should allow for the non-standard call syntax
13+
node instanceof DataFlow::ArgumentNode
14+
}
15+
16+
override predicate isSink(DataFlow::Node node) {
17+
node instanceof DataFlow::OutNode
18+
or
19+
node instanceof DataFlow::ParameterNode and
20+
// exclude parameters to the SINK-functions
21+
not exists(DataFlow::DataFlowCallable c |
22+
node.(DataFlow::ParameterNode).isParameterOf(c, _) and
23+
c.getName().matches("SINK_")
24+
)
25+
}
26+
}
227

328
from DataFlow::Node source, DataFlow::Node sink
429
where
@@ -7,3 +32,4 @@ where
732
exists(CallGraphConfig cfg | cfg.hasFlow(source, sink))
833
select source, sink
934
// Rewrite this to just have 1-step paths?
35+
// Split into two queries, one for calls and one for returns?

0 commit comments

Comments
 (0)