Skip to content

Commit 2a4d21a

Browse files
committed
Python: Test method call
1 parent 0841e92 commit 2a4d21a

File tree

6 files changed

+648
-546
lines changed

6 files changed

+648
-546
lines changed

python/ql/test/experimental/dataflow/fieldflow/allLocalFlow.expected

Lines changed: 78 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -120,77 +120,90 @@
120120
| test.py:19:9:19:13 | SSA variable x | test.py:17:1:17:14 | SSA variable x |
121121
| test.py:21:9:21:13 | SSA variable x | test.py:17:1:17:14 | SSA variable x |
122122
| test.py:25:1:25:20 | ControlFlowNode for ClassExpr | test.py:25:7:25:11 | GSSA Variable MyObj |
123-
| test.py:25:13:25:18 | ControlFlowNode for object | test.py:30:17:30:22 | ControlFlowNode for object |
123+
| test.py:25:13:25:18 | ControlFlowNode for object | test.py:33:17:33:22 | ControlFlowNode for object |
124124
| test.py:26:5:26:28 | ControlFlowNode for FunctionExpr | test.py:26:9:26:16 | SSA variable __init__ |
125125
| test.py:26:18:26:21 | SSA variable self | test.py:27:9:27:12 | ControlFlowNode for self |
126126
| test.py:26:18:26:21 | SSA variable self | test.py:27:9:27:16 | SSA variable self |
127127
| test.py:26:24:26:26 | SSA variable foo | test.py:27:20:27:22 | ControlFlowNode for foo |
128-
| test.py:30:1:30:24 | ControlFlowNode for ClassExpr | test.py:30:7:30:15 | GSSA Variable NestedObj |
129-
| test.py:31:5:31:23 | ControlFlowNode for FunctionExpr | test.py:31:9:31:16 | SSA variable __init__ |
130-
| test.py:31:5:31:23 | GSSA Variable MyObj | test.py:32:20:32:24 | ControlFlowNode for MyObj |
131-
| test.py:31:18:31:21 | SSA variable self | test.py:32:9:32:12 | ControlFlowNode for self |
132-
| test.py:31:18:31:21 | SSA variable self | test.py:32:9:32:16 | SSA variable self |
133-
| test.py:34:5:34:21 | ControlFlowNode for FunctionExpr | test.py:34:9:34:14 | SSA variable getObj |
134-
| test.py:34:16:34:19 | SSA variable self | test.py:35:16:35:19 | ControlFlowNode for self |
135-
| test.py:38:1:38:19 | ControlFlowNode for FunctionExpr | test.py:38:5:38:10 | GSSA Variable setFoo |
136-
| test.py:38:1:38:19 | GSSA Variable SINK_F | test.py:39:5:39:10 | ControlFlowNode for SINK_F |
137-
| test.py:38:12:38:14 | SSA variable obj | test.py:39:12:39:14 | ControlFlowNode for obj |
138-
| test.py:38:12:38:14 | SSA variable obj | test.py:40:5:40:11 | SSA variable obj |
139-
| test.py:38:17:38:17 | SSA variable x | test.py:40:15:40:15 | ControlFlowNode for x |
140-
| test.py:39:12:39:14 | ControlFlowNode for obj | test.py:40:5:40:7 | ControlFlowNode for obj |
141-
| test.py:39:12:39:14 | [post read] ControlFlowNode for obj | test.py:40:5:40:7 | ControlFlowNode for obj |
142-
| test.py:43:1:43:20 | ControlFlowNode for FunctionExpr | test.py:43:5:43:17 | GSSA Variable test_example1 |
143-
| test.py:43:1:43:20 | GSSA Variable MyObj | test.py:44:13:44:17 | ControlFlowNode for MyObj |
144-
| test.py:43:1:43:20 | GSSA Variable SINK | test.py:47:5:47:8 | ControlFlowNode for SINK |
145-
| test.py:43:1:43:20 | GSSA Variable SOURCE | test.py:46:19:46:24 | ControlFlowNode for SOURCE |
146-
| test.py:43:1:43:20 | GSSA Variable setFoo | test.py:46:5:46:10 | ControlFlowNode for setFoo |
147-
| test.py:44:5:44:9 | SSA variable myobj | test.py:46:5:46:25 | SSA variable myobj |
148-
| test.py:44:5:44:9 | SSA variable myobj | test.py:46:12:46:16 | ControlFlowNode for myobj |
149-
| test.py:44:13:44:23 | ControlFlowNode for MyObj() | test.py:44:5:44:9 | SSA variable myobj |
150-
| test.py:46:12:46:16 | ControlFlowNode for myobj | test.py:47:10:47:14 | ControlFlowNode for myobj |
151-
| test.py:46:12:46:16 | [post arg] ControlFlowNode for myobj | test.py:47:10:47:14 | ControlFlowNode for myobj |
152-
| test.py:50:1:50:20 | ControlFlowNode for FunctionExpr | test.py:50:5:50:17 | GSSA Variable test_example2 |
153-
| test.py:50:1:50:20 | GSSA Variable NestedObj | test.py:53:9:53:17 | ControlFlowNode for NestedObj |
154-
| test.py:50:1:50:20 | GSSA Variable SINK | test.py:57:5:57:8 | ControlFlowNode for SINK |
155-
| test.py:50:1:50:20 | GSSA Variable SOURCE | test.py:51:9:51:14 | ControlFlowNode for SOURCE |
156-
| test.py:51:5:51:5 | SSA variable x | test.py:55:17:55:17 | ControlFlowNode for x |
157-
| test.py:51:9:51:14 | ControlFlowNode for SOURCE | test.py:51:5:51:5 | SSA variable x |
158-
| test.py:53:5:53:5 | SSA variable a | test.py:55:5:55:5 | ControlFlowNode for a |
159-
| test.py:53:9:53:19 | ControlFlowNode for NestedObj() | test.py:53:5:53:5 | SSA variable a |
160-
| test.py:55:5:55:5 | ControlFlowNode for a | test.py:57:10:57:10 | ControlFlowNode for a |
161-
| test.py:55:5:55:5 | [post read] ControlFlowNode for a | test.py:57:10:57:10 | ControlFlowNode for a |
162-
| test.py:60:1:60:27 | ControlFlowNode for FunctionExpr | test.py:60:5:60:24 | GSSA Variable test_example2_method |
163-
| test.py:60:1:60:27 | GSSA Variable NestedObj | test.py:63:9:63:17 | ControlFlowNode for NestedObj |
164-
| test.py:60:1:60:27 | GSSA Variable SINK | test.py:67:5:67:8 | ControlFlowNode for SINK |
165-
| test.py:60:1:60:27 | GSSA Variable SOURCE | test.py:61:9:61:14 | ControlFlowNode for SOURCE |
166-
| test.py:61:5:61:5 | SSA variable x | test.py:65:22:65:22 | ControlFlowNode for x |
128+
| test.py:29:5:29:26 | ControlFlowNode for FunctionExpr | test.py:29:9:29:14 | SSA variable setFoo |
129+
| test.py:29:16:29:19 | SSA variable self | test.py:30:9:30:12 | ControlFlowNode for self |
130+
| test.py:29:16:29:19 | SSA variable self | test.py:30:9:30:16 | SSA variable self |
131+
| test.py:29:22:29:24 | SSA variable foo | test.py:30:20:30:22 | ControlFlowNode for foo |
132+
| test.py:33:1:33:24 | ControlFlowNode for ClassExpr | test.py:33:7:33:15 | GSSA Variable NestedObj |
133+
| test.py:34:5:34:23 | ControlFlowNode for FunctionExpr | test.py:34:9:34:16 | SSA variable __init__ |
134+
| test.py:34:5:34:23 | GSSA Variable MyObj | test.py:35:20:35:24 | ControlFlowNode for MyObj |
135+
| test.py:34:18:34:21 | SSA variable self | test.py:35:9:35:12 | ControlFlowNode for self |
136+
| test.py:34:18:34:21 | SSA variable self | test.py:35:9:35:16 | SSA variable self |
137+
| test.py:37:5:37:21 | ControlFlowNode for FunctionExpr | test.py:37:9:37:14 | SSA variable getObj |
138+
| test.py:37:16:37:19 | SSA variable self | test.py:38:16:38:19 | ControlFlowNode for self |
139+
| test.py:41:1:41:19 | ControlFlowNode for FunctionExpr | test.py:41:5:41:10 | GSSA Variable setFoo |
140+
| test.py:41:1:41:19 | GSSA Variable SINK_F | test.py:42:5:42:10 | ControlFlowNode for SINK_F |
141+
| test.py:41:12:41:14 | SSA variable obj | test.py:42:12:42:14 | ControlFlowNode for obj |
142+
| test.py:41:12:41:14 | SSA variable obj | test.py:43:5:43:11 | SSA variable obj |
143+
| test.py:41:17:41:17 | SSA variable x | test.py:43:15:43:15 | ControlFlowNode for x |
144+
| test.py:42:12:42:14 | ControlFlowNode for obj | test.py:43:5:43:7 | ControlFlowNode for obj |
145+
| test.py:42:12:42:14 | [post read] ControlFlowNode for obj | test.py:43:5:43:7 | ControlFlowNode for obj |
146+
| test.py:46:1:46:20 | ControlFlowNode for FunctionExpr | test.py:46:5:46:17 | GSSA Variable test_example1 |
147+
| test.py:46:1:46:20 | GSSA Variable MyObj | test.py:47:13:47:17 | ControlFlowNode for MyObj |
148+
| test.py:46:1:46:20 | GSSA Variable SINK | test.py:50:5:50:8 | ControlFlowNode for SINK |
149+
| test.py:46:1:46:20 | GSSA Variable SOURCE | test.py:49:19:49:24 | ControlFlowNode for SOURCE |
150+
| test.py:46:1:46:20 | GSSA Variable setFoo | test.py:49:5:49:10 | ControlFlowNode for setFoo |
151+
| test.py:47:5:47:9 | SSA variable myobj | test.py:49:5:49:25 | SSA variable myobj |
152+
| test.py:47:5:47:9 | SSA variable myobj | test.py:49:12:49:16 | ControlFlowNode for myobj |
153+
| test.py:47:13:47:23 | ControlFlowNode for MyObj() | test.py:47:5:47:9 | SSA variable myobj |
154+
| test.py:49:12:49:16 | ControlFlowNode for myobj | test.py:50:10:50:14 | ControlFlowNode for myobj |
155+
| test.py:49:12:49:16 | [post arg] ControlFlowNode for myobj | test.py:50:10:50:14 | ControlFlowNode for myobj |
156+
| test.py:53:1:53:27 | ControlFlowNode for FunctionExpr | test.py:53:5:53:24 | GSSA Variable test_example1_method |
157+
| test.py:53:1:53:27 | GSSA Variable MyObj | test.py:54:13:54:17 | ControlFlowNode for MyObj |
158+
| test.py:53:1:53:27 | GSSA Variable SINK | test.py:57:5:57:8 | ControlFlowNode for SINK |
159+
| test.py:53:1:53:27 | GSSA Variable SOURCE | test.py:56:18:56:23 | ControlFlowNode for SOURCE |
160+
| test.py:54:5:54:9 | SSA variable myobj | test.py:56:5:56:9 | ControlFlowNode for myobj |
161+
| test.py:54:5:54:9 | SSA variable myobj | test.py:56:5:56:24 | SSA variable myobj |
162+
| test.py:54:13:54:23 | ControlFlowNode for MyObj() | test.py:54:5:54:9 | SSA variable myobj |
163+
| test.py:56:5:56:9 | ControlFlowNode for myobj | test.py:57:10:57:14 | ControlFlowNode for myobj |
164+
| test.py:56:5:56:9 | [post read] ControlFlowNode for myobj | test.py:57:10:57:14 | ControlFlowNode for myobj |
165+
| test.py:60:1:60:20 | ControlFlowNode for FunctionExpr | test.py:60:5:60:17 | GSSA Variable test_example2 |
166+
| test.py:60:1:60:20 | GSSA Variable NestedObj | test.py:63:9:63:17 | ControlFlowNode for NestedObj |
167+
| test.py:60:1:60:20 | GSSA Variable SINK | test.py:67:5:67:8 | ControlFlowNode for SINK |
168+
| test.py:60:1:60:20 | GSSA Variable SOURCE | test.py:61:9:61:14 | ControlFlowNode for SOURCE |
169+
| test.py:61:5:61:5 | SSA variable x | test.py:65:17:65:17 | ControlFlowNode for x |
167170
| test.py:61:9:61:14 | ControlFlowNode for SOURCE | test.py:61:5:61:5 | SSA variable x |
168171
| test.py:63:5:63:5 | SSA variable a | test.py:65:5:65:5 | ControlFlowNode for a |
169-
| test.py:63:5:63:5 | SSA variable a | test.py:65:5:65:14 | SSA variable a |
170172
| test.py:63:9:63:19 | ControlFlowNode for NestedObj() | test.py:63:5:63:5 | SSA variable a |
171173
| test.py:65:5:65:5 | ControlFlowNode for a | test.py:67:10:67:10 | ControlFlowNode for a |
172174
| test.py:65:5:65:5 | [post read] ControlFlowNode for a | test.py:67:10:67:10 | ControlFlowNode for a |
173-
| test.py:70:1:70:20 | ControlFlowNode for FunctionExpr | test.py:70:5:70:17 | GSSA Variable test_example3 |
174-
| test.py:70:1:70:20 | GSSA Variable MyObj | test.py:71:11:71:15 | ControlFlowNode for MyObj |
175-
| test.py:70:1:70:20 | GSSA Variable SINK | test.py:72:5:72:8 | ControlFlowNode for SINK |
176-
| test.py:70:1:70:20 | GSSA Variable SOURCE | test.py:71:17:71:22 | ControlFlowNode for SOURCE |
177-
| test.py:71:5:71:7 | SSA variable obj | test.py:72:10:72:12 | ControlFlowNode for obj |
178-
| test.py:71:11:71:23 | ControlFlowNode for MyObj() | test.py:71:5:71:7 | SSA variable obj |
179-
| test.py:75:1:75:23 | ControlFlowNode for FunctionExpr | test.py:75:5:75:20 | GSSA Variable test_example3_kw |
180-
| test.py:75:1:75:23 | GSSA Variable MyObj | test.py:76:11:76:15 | ControlFlowNode for MyObj |
181-
| test.py:75:1:75:23 | GSSA Variable SINK | test.py:77:5:77:8 | ControlFlowNode for SINK |
182-
| test.py:75:1:75:23 | GSSA Variable SOURCE | test.py:76:21:76:26 | ControlFlowNode for SOURCE |
183-
| test.py:76:5:76:7 | SSA variable obj | test.py:77:10:77:12 | ControlFlowNode for obj |
184-
| test.py:76:11:76:27 | ControlFlowNode for MyObj() | test.py:76:5:76:7 | SSA variable obj |
185-
| test.py:80:1:80:30 | ControlFlowNode for FunctionExpr | test.py:80:5:80:26 | GSSA Variable fields_with_local_flow |
186-
| test.py:80:1:80:30 | GSSA Variable MyObj | test.py:81:11:81:15 | ControlFlowNode for MyObj |
187-
| test.py:80:28:80:28 | SSA variable x | test.py:81:11:81:18 | SSA variable x |
188-
| test.py:80:28:80:28 | SSA variable x | test.py:81:17:81:17 | ControlFlowNode for x |
189-
| test.py:81:5:81:7 | SSA variable obj | test.py:82:9:82:11 | ControlFlowNode for obj |
190-
| test.py:81:11:81:18 | ControlFlowNode for MyObj() | test.py:81:5:81:7 | SSA variable obj |
191-
| test.py:82:5:82:5 | SSA variable a | test.py:83:12:83:12 | ControlFlowNode for a |
192-
| test.py:82:9:82:15 | ControlFlowNode for Attribute | test.py:82:5:82:5 | SSA variable a |
193-
| test.py:86:1:86:18 | ControlFlowNode for FunctionExpr | test.py:86:5:86:15 | GSSA Variable test_fields |
194-
| test.py:86:1:86:18 | GSSA Variable SINK | test.py:87:5:87:8 | ControlFlowNode for SINK |
195-
| test.py:86:1:86:18 | GSSA Variable SOURCE | test.py:87:33:87:38 | ControlFlowNode for SOURCE |
196-
| test.py:86:1:86:18 | GSSA Variable fields_with_local_flow | test.py:87:10:87:31 | ControlFlowNode for fields_with_local_flow |
175+
| test.py:70:1:70:27 | ControlFlowNode for FunctionExpr | test.py:70:5:70:24 | GSSA Variable test_example2_method |
176+
| test.py:70:1:70:27 | GSSA Variable NestedObj | test.py:73:9:73:17 | ControlFlowNode for NestedObj |
177+
| test.py:70:1:70:27 | GSSA Variable SINK | test.py:77:5:77:8 | ControlFlowNode for SINK |
178+
| test.py:70:1:70:27 | GSSA Variable SOURCE | test.py:71:9:71:14 | ControlFlowNode for SOURCE |
179+
| test.py:71:5:71:5 | SSA variable x | test.py:75:22:75:22 | ControlFlowNode for x |
180+
| test.py:71:9:71:14 | ControlFlowNode for SOURCE | test.py:71:5:71:5 | SSA variable x |
181+
| test.py:73:5:73:5 | SSA variable a | test.py:75:5:75:5 | ControlFlowNode for a |
182+
| test.py:73:5:73:5 | SSA variable a | test.py:75:5:75:14 | SSA variable a |
183+
| test.py:73:9:73:19 | ControlFlowNode for NestedObj() | test.py:73:5:73:5 | SSA variable a |
184+
| test.py:75:5:75:5 | ControlFlowNode for a | test.py:77:10:77:10 | ControlFlowNode for a |
185+
| test.py:75:5:75:5 | [post read] ControlFlowNode for a | test.py:77:10:77:10 | ControlFlowNode for a |
186+
| test.py:80:1:80:20 | ControlFlowNode for FunctionExpr | test.py:80:5:80:17 | GSSA Variable test_example3 |
187+
| test.py:80:1:80:20 | GSSA Variable MyObj | test.py:81:11:81:15 | ControlFlowNode for MyObj |
188+
| test.py:80:1:80:20 | GSSA Variable SINK | test.py:82:5:82:8 | ControlFlowNode for SINK |
189+
| test.py:80:1:80:20 | GSSA Variable SOURCE | test.py:81:17:81:22 | ControlFlowNode for SOURCE |
190+
| test.py:81:5:81:7 | SSA variable obj | test.py:82:10:82:12 | ControlFlowNode for obj |
191+
| test.py:81:11:81:23 | ControlFlowNode for MyObj() | test.py:81:5:81:7 | SSA variable obj |
192+
| test.py:85:1:85:23 | ControlFlowNode for FunctionExpr | test.py:85:5:85:20 | GSSA Variable test_example3_kw |
193+
| test.py:85:1:85:23 | GSSA Variable MyObj | test.py:86:11:86:15 | ControlFlowNode for MyObj |
194+
| test.py:85:1:85:23 | GSSA Variable SINK | test.py:87:5:87:8 | ControlFlowNode for SINK |
195+
| test.py:85:1:85:23 | GSSA Variable SOURCE | test.py:86:21:86:26 | ControlFlowNode for SOURCE |
196+
| test.py:86:5:86:7 | SSA variable obj | test.py:87:10:87:12 | ControlFlowNode for obj |
197+
| test.py:86:11:86:27 | ControlFlowNode for MyObj() | test.py:86:5:86:7 | SSA variable obj |
198+
| test.py:90:1:90:30 | ControlFlowNode for FunctionExpr | test.py:90:5:90:26 | GSSA Variable fields_with_local_flow |
199+
| test.py:90:1:90:30 | GSSA Variable MyObj | test.py:91:11:91:15 | ControlFlowNode for MyObj |
200+
| test.py:90:28:90:28 | SSA variable x | test.py:91:11:91:18 | SSA variable x |
201+
| test.py:90:28:90:28 | SSA variable x | test.py:91:17:91:17 | ControlFlowNode for x |
202+
| test.py:91:5:91:7 | SSA variable obj | test.py:92:9:92:11 | ControlFlowNode for obj |
203+
| test.py:91:11:91:18 | ControlFlowNode for MyObj() | test.py:91:5:91:7 | SSA variable obj |
204+
| test.py:92:5:92:5 | SSA variable a | test.py:93:12:93:12 | ControlFlowNode for a |
205+
| test.py:92:9:92:15 | ControlFlowNode for Attribute | test.py:92:5:92:5 | SSA variable a |
206+
| test.py:96:1:96:18 | ControlFlowNode for FunctionExpr | test.py:96:5:96:15 | GSSA Variable test_fields |
207+
| test.py:96:1:96:18 | GSSA Variable SINK | test.py:97:5:97:8 | ControlFlowNode for SINK |
208+
| test.py:96:1:96:18 | GSSA Variable SOURCE | test.py:97:33:97:38 | ControlFlowNode for SOURCE |
209+
| test.py:96:1:96:18 | GSSA Variable fields_with_local_flow | test.py:97:10:97:31 | ControlFlowNode for fields_with_local_flow |

0 commit comments

Comments
 (0)