mirror of
https://github.com/github/codeql.git
synced 2026-04-21 06:55:31 +02:00
Python: Revert tests removed in #1767.
This commit is contained in:
@@ -0,0 +1,181 @@
|
||||
| 3 | split1 | test.py:3:8:3:11 | ControlFlowNode for cond | 2 |
|
||||
| 5 | split1 | test.py:5:8:5:11 | ControlFlowNode for cond | 1 |
|
||||
| 5 | split1 | test.py:5:8:5:11 | ControlFlowNode for cond | 1 |
|
||||
| 9 | dont_split1 | test.py:9:8:9:11 | ControlFlowNode for cond | 2 |
|
||||
| 12 | dont_split1 | test.py:12:8:12:11 | ControlFlowNode for cond | 2 |
|
||||
| 16 | dont_split2 | test.py:16:8:16:11 | ControlFlowNode for cond | 2 |
|
||||
| 19 | dont_split2 | test.py:19:8:19:11 | ControlFlowNode for cond | 2 |
|
||||
| 29 | split2 | test.py:29:8:29:8 | ControlFlowNode for x | 1 |
|
||||
| 29 | split2 | test.py:29:8:29:8 | ControlFlowNode for x | 1 |
|
||||
| 38 | unclear_split3 | test.py:38:8:38:11 | ControlFlowNode for cond | 2 |
|
||||
| 40 | unclear_split3 | test.py:40:8:40:8 | ControlFlowNode for x | 1 |
|
||||
| 40 | unclear_split3 | test.py:40:8:40:8 | ControlFlowNode for x | 2 |
|
||||
| 44 | split4 | test.py:44:8:44:16 | ControlFlowNode for Compare | 2 |
|
||||
| 46 | split4 | test.py:46:10:46:10 | ControlFlowNode for b | 2 |
|
||||
| 50 | split_carefully_5 | test.py:50:8:50:16 | ControlFlowNode for Compare | 2 |
|
||||
| 52 | split_carefully_5 | test.py:52:8:52:8 | ControlFlowNode for x | 2 |
|
||||
| 58 | dont_split_globals | test.py:58:8:58:11 | ControlFlowNode for cond | 2 |
|
||||
| 61 | dont_split_globals | test.py:61:8:61:11 | ControlFlowNode for cond | 2 |
|
||||
| 61 | dont_split_globals | test.py:61:8:61:11 | ControlFlowNode for cond | 2 |
|
||||
| 65 | limit_splitting1 | test.py:65:8:65:16 | ControlFlowNode for Compare | 2 |
|
||||
| 66 | limit_splitting1 | test.py:66:8:66:16 | ControlFlowNode for Compare | 2 |
|
||||
| 67 | limit_splitting1 | test.py:67:8:67:16 | ControlFlowNode for Compare | 2 |
|
||||
| 68 | limit_splitting1 | test.py:68:8:68:16 | ControlFlowNode for Compare | 2 |
|
||||
| 78 | limit_splitting2 | test.py:78:8:78:8 | ControlFlowNode for a | 2 |
|
||||
| 80 | limit_splitting2 | test.py:80:8:80:8 | ControlFlowNode for b | 2 |
|
||||
| 80 | limit_splitting2 | test.py:80:8:80:8 | ControlFlowNode for b | 2 |
|
||||
| 82 | limit_splitting2 | test.py:82:8:82:8 | ControlFlowNode for c | 2 |
|
||||
| 82 | limit_splitting2 | test.py:82:8:82:8 | ControlFlowNode for c | 2 |
|
||||
| 82 | limit_splitting2 | test.py:82:8:82:8 | ControlFlowNode for c | 2 |
|
||||
| 82 | limit_splitting2 | test.py:82:8:82:8 | ControlFlowNode for c | 2 |
|
||||
| 84 | limit_splitting2 | test.py:84:8:84:8 | ControlFlowNode for d | 2 |
|
||||
| 84 | limit_splitting2 | test.py:84:8:84:8 | ControlFlowNode for d | 2 |
|
||||
| 84 | limit_splitting2 | test.py:84:8:84:8 | ControlFlowNode for d | 2 |
|
||||
| 84 | limit_splitting2 | test.py:84:8:84:8 | ControlFlowNode for d | 2 |
|
||||
| 87 | limit_splitting2 | test.py:87:8:87:8 | ControlFlowNode for a | 1 |
|
||||
| 87 | limit_splitting2 | test.py:87:8:87:8 | ControlFlowNode for a | 1 |
|
||||
| 87 | limit_splitting2 | test.py:87:8:87:8 | ControlFlowNode for a | 1 |
|
||||
| 87 | limit_splitting2 | test.py:87:8:87:8 | ControlFlowNode for a | 1 |
|
||||
| 89 | limit_splitting2 | test.py:89:8:89:8 | ControlFlowNode for b | 1 |
|
||||
| 89 | limit_splitting2 | test.py:89:8:89:8 | ControlFlowNode for b | 1 |
|
||||
| 89 | limit_splitting2 | test.py:89:8:89:8 | ControlFlowNode for b | 1 |
|
||||
| 89 | limit_splitting2 | test.py:89:8:89:8 | ControlFlowNode for b | 1 |
|
||||
| 92 | limit_splitting2 | test.py:92:8:92:8 | ControlFlowNode for c | 2 |
|
||||
| 92 | limit_splitting2 | test.py:92:8:92:8 | ControlFlowNode for c | 2 |
|
||||
| 92 | limit_splitting2 | test.py:92:8:92:8 | ControlFlowNode for c | 2 |
|
||||
| 92 | limit_splitting2 | test.py:92:8:92:8 | ControlFlowNode for c | 2 |
|
||||
| 94 | limit_splitting2 | test.py:94:8:94:8 | ControlFlowNode for d | 2 |
|
||||
| 94 | limit_splitting2 | test.py:94:8:94:8 | ControlFlowNode for d | 2 |
|
||||
| 94 | limit_splitting2 | test.py:94:8:94:8 | ControlFlowNode for d | 2 |
|
||||
| 94 | limit_splitting2 | test.py:94:8:94:8 | ControlFlowNode for d | 2 |
|
||||
| 103 | split_on_numbers | test.py:103:8:103:8 | ControlFlowNode for x | 1 |
|
||||
| 103 | split_on_numbers | test.py:103:8:103:8 | ControlFlowNode for x | 1 |
|
||||
| 113 | split_try_except_else | test.py:113:8:113:8 | ControlFlowNode for x | 1 |
|
||||
| 113 | split_try_except_else | test.py:113:8:113:8 | ControlFlowNode for x | 1 |
|
||||
| 126 | logging | test.py:126:8:126:14 | ControlFlowNode for module1 | 1 |
|
||||
| 126 | logging | test.py:126:8:126:14 | ControlFlowNode for module1 | 1 |
|
||||
| 136 | split5 | test.py:136:8:136:12 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 136 | split5 | test.py:136:8:136:12 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 145 | split6 | test.py:145:8:145:16 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 145 | split6 | test.py:145:8:145:16 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 154 | split7 | test.py:154:8:154:8 | ControlFlowNode for x | 1 |
|
||||
| 154 | split7 | test.py:154:8:154:8 | ControlFlowNode for x | 1 |
|
||||
| 158 | split8 | test.py:158:8:158:11 | ControlFlowNode for cond | 2 |
|
||||
| 162 | split8 | test.py:162:8:162:15 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 162 | split8 | test.py:162:8:162:15 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 163 | split8 | test.py:163:12:163:12 | ControlFlowNode for t | 1 |
|
||||
| 168 | split9 | test.py:168:8:168:18 | ControlFlowNode for Compare | 2 |
|
||||
| 172 | split9 | test.py:172:8:172:22 | ControlFlowNode for Compare | 1 |
|
||||
| 172 | split9 | test.py:172:8:172:22 | ControlFlowNode for Compare | 1 |
|
||||
| 178 | split10 | test.py:178:8:178:10 | ControlFlowNode for var | 2 |
|
||||
| 182 | split10 | test.py:182:8:182:22 | ControlFlowNode for Compare | 1 |
|
||||
| 182 | split10 | test.py:182:8:182:22 | ControlFlowNode for Compare | 2 |
|
||||
| 188 | split11 | test.py:188:8:188:18 | ControlFlowNode for Compare | 2 |
|
||||
| 192 | split11 | test.py:192:8:192:10 | ControlFlowNode for var | 1 |
|
||||
| 192 | split11 | test.py:192:8:192:10 | ControlFlowNode for var | 2 |
|
||||
| 198 | dont_split_on_unrelated_variables | test.py:198:8:198:19 | ControlFlowNode for Compare | 2 |
|
||||
| 202 | dont_split_on_unrelated_variables | test.py:202:8:202:23 | ControlFlowNode for Compare | 2 |
|
||||
| 213 | split12 | test.py:213:8:213:8 | ControlFlowNode for x | 1 |
|
||||
| 213 | split12 | test.py:213:8:213:8 | ControlFlowNode for x | 1 |
|
||||
| 218 | split13 | test.py:218:8:218:10 | ControlFlowNode for var | 2 |
|
||||
| 225 | split13 | test.py:225:12:225:14 | ControlFlowNode for var | 1 |
|
||||
| 225 | split13 | test.py:225:12:225:14 | ControlFlowNode for var | 1 |
|
||||
| 225 | split13 | test.py:225:12:225:14 | ControlFlowNode for var | 1 |
|
||||
| 236 | split14 | test.py:236:8:236:15 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 236 | split14 | test.py:236:8:236:15 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 241 | split15 | test.py:241:8:241:10 | ControlFlowNode for var | 2 |
|
||||
| 243 | split15 | test.py:243:8:243:14 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 243 | split15 | test.py:243:8:243:14 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 243 | split15 | test.py:243:19:243:28 | ControlFlowNode for Attribute | 2 |
|
||||
| 248 | split16 | test.py:248:8:248:11 | ControlFlowNode for cond | 2 |
|
||||
| 250 | split16 | test.py:250:8:250:8 | ControlFlowNode for x | 1 |
|
||||
| 250 | split16 | test.py:250:8:250:8 | ControlFlowNode for x | 1 |
|
||||
| 254 | dont_split_on_different_ssa | test.py:254:8:254:10 | ControlFlowNode for var | 2 |
|
||||
| 259 | dont_split_on_different_ssa | test.py:259:8:259:22 | ControlFlowNode for Compare | 2 |
|
||||
| 266 | split17 | test.py:266:8:266:10 | ControlFlowNode for var | 2 |
|
||||
| 270 | split17 | test.py:270:8:270:14 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 270 | split17 | test.py:270:8:270:14 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 274 | split17 | test.py:274:8:274:10 | ControlFlowNode for var | 1 |
|
||||
| 274 | split17 | test.py:274:8:274:10 | ControlFlowNode for var | 1 |
|
||||
| 278 | split17 | test.py:278:8:278:10 | ControlFlowNode for var | 1 |
|
||||
| 278 | split17 | test.py:278:8:278:10 | ControlFlowNode for var | 1 |
|
||||
| 282 | split17 | test.py:282:8:282:10 | ControlFlowNode for var | 1 |
|
||||
| 282 | split17 | test.py:282:8:282:10 | ControlFlowNode for var | 1 |
|
||||
| 289 | split18 | test.py:289:8:289:10 | ControlFlowNode for var | 2 |
|
||||
| 293 | split18 | test.py:293:8:293:22 | ControlFlowNode for Compare | 1 |
|
||||
| 293 | split18 | test.py:293:8:293:22 | ControlFlowNode for Compare | 2 |
|
||||
| 297 | split18 | test.py:297:8:297:18 | ControlFlowNode for Compare | 1 |
|
||||
| 297 | split18 | test.py:297:8:297:18 | ControlFlowNode for Compare | 1 |
|
||||
| 297 | split18 | test.py:297:8:297:18 | ControlFlowNode for Compare | 1 |
|
||||
| 301 | split18 | test.py:301:8:301:10 | ControlFlowNode for var | 1 |
|
||||
| 301 | split18 | test.py:301:8:301:10 | ControlFlowNode for var | 1 |
|
||||
| 301 | split18 | test.py:301:8:301:10 | ControlFlowNode for var | 1 |
|
||||
| 305 | split18 | test.py:305:8:305:10 | ControlFlowNode for var | 1 |
|
||||
| 305 | split18 | test.py:305:8:305:10 | ControlFlowNode for var | 1 |
|
||||
| 305 | split18 | test.py:305:8:305:10 | ControlFlowNode for var | 1 |
|
||||
| 311 | split_on_boolean_only | test.py:311:8:311:8 | ControlFlowNode for x | 2 |
|
||||
| 315 | split_on_boolean_only | test.py:315:8:315:20 | ControlFlowNode for Compare | 1 |
|
||||
| 315 | split_on_boolean_only | test.py:315:8:315:20 | ControlFlowNode for Compare | 2 |
|
||||
| 319 | split_on_boolean_only | test.py:319:8:319:8 | ControlFlowNode for x | 1 |
|
||||
| 319 | split_on_boolean_only | test.py:319:8:319:8 | ControlFlowNode for x | 1 |
|
||||
| 319 | split_on_boolean_only | test.py:319:8:319:8 | ControlFlowNode for x | 1 |
|
||||
| 325 | split_on_none_aswell | test.py:325:8:325:8 | ControlFlowNode for x | 2 |
|
||||
| 329 | split_on_none_aswell | test.py:329:8:329:20 | ControlFlowNode for Compare | 1 |
|
||||
| 329 | split_on_none_aswell | test.py:329:8:329:20 | ControlFlowNode for Compare | 2 |
|
||||
| 333 | split_on_none_aswell | test.py:333:8:333:16 | ControlFlowNode for Compare | 1 |
|
||||
| 333 | split_on_none_aswell | test.py:333:8:333:16 | ControlFlowNode for Compare | 1 |
|
||||
| 333 | split_on_none_aswell | test.py:333:8:333:16 | ControlFlowNode for Compare | 1 |
|
||||
| 339 | split_on_or_defn | test.py:339:8:339:10 | ControlFlowNode for var | 2 |
|
||||
| 341 | split_on_or_defn | test.py:341:8:341:14 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 341 | split_on_or_defn | test.py:341:8:341:14 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 341 | split_on_or_defn | test.py:341:19:341:26 | ControlFlowNode for Attribute | 2 |
|
||||
| 350 | split_on_exception | test.py:350:8:350:15 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 350 | split_on_exception | test.py:350:8:350:15 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 354 | partially_useful_split | test.py:354:8:354:11 | ControlFlowNode for cond | 2 |
|
||||
| 359 | partially_useful_split | test.py:359:8:359:8 | ControlFlowNode for x | 1 |
|
||||
| 359 | partially_useful_split | test.py:359:8:359:8 | ControlFlowNode for x | 2 |
|
||||
| 365 | dont_split_not_useful | test.py:365:8:365:11 | ControlFlowNode for cond | 2 |
|
||||
| 370 | dont_split_not_useful | test.py:370:8:370:8 | ControlFlowNode for y | 2 |
|
||||
| 377 | f | test.py:377:8:377:8 | ControlFlowNode for x | 2 |
|
||||
| 377 | f | test.py:377:14:377:14 | ControlFlowNode for y | 2 |
|
||||
| 379 | f | test.py:379:8:379:19 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 379 | f | test.py:379:8:379:19 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 379 | f | test.py:379:8:379:19 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 379 | f | test.py:379:13:379:13 | ControlFlowNode for x | 1 |
|
||||
| 379 | f | test.py:379:13:379:13 | ControlFlowNode for x | 1 |
|
||||
| 379 | f | test.py:379:18:379:18 | ControlFlowNode for y | 2 |
|
||||
| 384 | g | test.py:384:8:384:8 | ControlFlowNode for x | 2 |
|
||||
| 384 | g | test.py:384:14:384:14 | ControlFlowNode for y | 2 |
|
||||
| 386 | g | test.py:386:8:386:8 | ControlFlowNode for x | 1 |
|
||||
| 386 | g | test.py:386:8:386:8 | ControlFlowNode for x | 1 |
|
||||
| 386 | g | test.py:386:13:386:13 | ControlFlowNode for y | 2 |
|
||||
| 393 | h | test.py:393:10:393:10 | ControlFlowNode for x | 2 |
|
||||
| 394 | h | test.py:394:10:394:14 | ControlFlowNode for UnaryExpr | 2 |
|
||||
| 395 | h | test.py:395:10:395:10 | ControlFlowNode for x | 1 |
|
||||
| 395 | h | test.py:395:10:395:10 | ControlFlowNode for x | 1 |
|
||||
| 396 | h | test.py:396:10:396:17 | ControlFlowNode for Attribute() | 2 |
|
||||
| 401 | j | test.py:401:8:401:8 | ControlFlowNode for a | 2 |
|
||||
| 401 | j | test.py:401:13:401:13 | ControlFlowNode for b | 2 |
|
||||
| 402 | j | test.py:402:12:402:12 | ControlFlowNode for a | 1 |
|
||||
| 402 | j | test.py:402:12:402:12 | ControlFlowNode for a | 1 |
|
||||
| 414 | split_on_strings | test.py:414:8:414:16 | ControlFlowNode for Compare | 2 |
|
||||
| 414 | split_on_strings | test.py:414:8:414:16 | ControlFlowNode for Compare | 2 |
|
||||
| 420 | scipy_stylee | test.py:420:12:420:31 | ControlFlowNode for Compare | 2 |
|
||||
| 421 | scipy_stylee | test.py:421:8:421:15 | ControlFlowNode for Compare | 2 |
|
||||
| 423 | scipy_stylee | test.py:423:10:423:17 | ControlFlowNode for Compare | 2 |
|
||||
| 425 | scipy_stylee | test.py:425:10:425:17 | ControlFlowNode for Compare | 2 |
|
||||
| 433 | odasa_6674 | test.py:433:8:433:29 | ControlFlowNode for dont_understand_this() | 2 |
|
||||
| 439 | odasa_6674 | test.py:439:12:439:20 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 439 | odasa_6674 | test.py:439:12:439:20 | ControlFlowNode for UnaryExpr | 1 |
|
||||
| 447 | odasa_6625 | test.py:447:8:447:25 | ControlFlowNode for Attribute() | 2 |
|
||||
| 447 | odasa_6625 | test.py:447:30:447:47 | ControlFlowNode for Attribute() | 2 |
|
||||
| 449 | odasa_6625 | test.py:449:8:449:18 | ControlFlowNode for Compare | 2 |
|
||||
| 454 | avoid_redundant_split | test.py:454:8:454:8 | ControlFlowNode for a | 2 |
|
||||
| 458 | avoid_redundant_split | test.py:458:8:458:8 | ControlFlowNode for x | 1 |
|
||||
| 458 | avoid_redundant_split | test.py:458:8:458:8 | ControlFlowNode for x | 2 |
|
||||
| 460 | avoid_redundant_split | test.py:460:8:460:8 | ControlFlowNode for x | 1 |
|
||||
| 460 | avoid_redundant_split | test.py:460:8:460:8 | ControlFlowNode for x | 2 |
|
||||
| 468 | avoid_redundant_split | test.py:468:8:468:10 | ControlFlowNode for var | 1 |
|
||||
| 468 | avoid_redundant_split | test.py:468:8:468:10 | ControlFlowNode for var | 1 |
|
||||
| 468 | avoid_redundant_split | test.py:468:8:468:10 | ControlFlowNode for var | 1 |
|
||||
| 468 | avoid_redundant_split | test.py:468:8:468:10 | ControlFlowNode for var | 1 |
|
||||
@@ -0,0 +1,9 @@
|
||||
import python
|
||||
|
||||
from ControlFlowNode p, Scope s
|
||||
where
|
||||
p.getScope() = s and
|
||||
(exists (p.getATrueSuccessor()) or exists(p.getAFalseSuccessor())) and
|
||||
s instanceof Function
|
||||
select
|
||||
p.getLocation().getStartLine(), s.getName(), p, strictcount(p.getASuccessor())
|
||||
@@ -0,0 +1,25 @@
|
||||
| compare.py | 3 | compare.py:3:5:3:23 | ControlFlowNode for Assert | Entry node for Function contains1 |
|
||||
| compare.py | 7 | compare.py:7:5:7:27 | ControlFlowNode for Assert | Entry node for Function contains2 |
|
||||
| true_false_test.py | 14 | true_false_test.py:14:12:14:16 | ControlFlowNode for cond4 | ControlFlowNode for Pass |
|
||||
| true_false_test.py | 15 | true_false_test.py:15:13:15:17 | ControlFlowNode for true4 | ControlFlowNode for Pass |
|
||||
| true_false_test.py | 15 | true_false_test.py:15:13:15:19 | ControlFlowNode for true4() | ControlFlowNode for Pass |
|
||||
| true_false_test.py | 17 | true_false_test.py:17:13:17:18 | ControlFlowNode for false4 | ControlFlowNode for Pass |
|
||||
| true_false_test.py | 17 | true_false_test.py:17:13:17:20 | ControlFlowNode for false4() | ControlFlowNode for Pass |
|
||||
| true_false_test.py | 19 | true_false_test.py:19:9:19:12 | ControlFlowNode for Pass | Entry node for Function func |
|
||||
| true_false_test.py | 22 | true_false_test.py:22:13:22:17 | ControlFlowNode for true5 | ControlFlowNode for ExceptStmt |
|
||||
| true_false_test.py | 22 | true_false_test.py:22:13:22:19 | ControlFlowNode for true5() | ControlFlowNode for ExceptStmt |
|
||||
| true_false_test.py | 35 | true_false_test.py:35:18:35:26 | ControlFlowNode for range() | Entry node for Function func |
|
||||
| true_false_test.py | 48 | true_false_test.py:48:17:48:24 | ControlFlowNode for true12() | ControlFlowNode for ExceptStmt |
|
||||
| true_false_test.py | 48 | true_false_test.py:48:17:48:24 | ControlFlowNode for true12() | Entry node for Function func |
|
||||
| true_succ.py | 8 | true_succ.py:8:21:8:39 | ControlFlowNode for open() | ControlFlowNode for ExceptStmt |
|
||||
| true_succ.py | 8 | true_succ.py:8:21:8:39 | ControlFlowNode for open() | ControlFlowNode for f |
|
||||
| true_succ.py | 9 | true_succ.py:9:17:9:23 | ControlFlowNode for Attribute | ControlFlowNode for ExceptStmt |
|
||||
| true_succ.py | 9 | true_succ.py:9:17:9:23 | ControlFlowNode for Attribute | ControlFlowNode for f |
|
||||
| true_succ.py | 9 | true_succ.py:9:17:9:32 | ControlFlowNode for Attribute() | ControlFlowNode for ExceptStmt |
|
||||
| true_succ.py | 9 | true_succ.py:9:17:9:32 | ControlFlowNode for Attribute() | ControlFlowNode for f |
|
||||
| true_succ.py | 11 | true_succ.py:11:17:11:19 | ControlFlowNode for sys | ControlFlowNode for f |
|
||||
| true_succ.py | 11 | true_succ.py:11:17:11:24 | ControlFlowNode for Attribute | ControlFlowNode for f |
|
||||
| true_succ.py | 11 | true_succ.py:11:17:11:27 | ControlFlowNode for Attribute() | ControlFlowNode for f |
|
||||
| true_succ.py | 13 | true_succ.py:13:16:13:28 | ControlFlowNode for Compare | Entry node for Function example |
|
||||
| true_succ.py | 13 | true_succ.py:13:31:13:39 | ControlFlowNode for Attribute() | Entry node for Function example |
|
||||
| true_succ.py | 13 | true_succ.py:13:31:13:39 | ControlFlowNode for Attribute() | Entry node for Function example |
|
||||
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* @name TrueFalseSuccessors Test
|
||||
* @description Tests true/false successors
|
||||
* @kind table
|
||||
* @problem.severity warning
|
||||
*/
|
||||
|
||||
import python
|
||||
|
||||
from ControlFlowNode p, ControlFlowNode s
|
||||
where
|
||||
s = p.getAnExceptionalSuccessor()
|
||||
or
|
||||
// Add fake edges for node that raise out of scope
|
||||
p.isExceptionalExit(_) and s = p.getScope().getEntryNode()
|
||||
select p.getLocation().getFile().getShortName(), p.getLocation().getStartLine(), p, s.toString()
|
||||
@@ -0,0 +1,90 @@
|
||||
| boolops.py | 2 | boolops.py:2:9:6:25 | ControlFlowNode for UnaryExpr | ControlFlowNode for p | False |
|
||||
| boolops.py | 2 | boolops.py:2:9:6:25 | ControlFlowNode for UnaryExpr | ControlFlowNode for p | True |
|
||||
| boolops.py | 3 | boolops.py:3:13:3:13 | ControlFlowNode for x | ControlFlowNode for BoolExpr | True |
|
||||
| boolops.py | 3 | boolops.py:3:13:3:13 | ControlFlowNode for x | ControlFlowNode for UnaryExpr | False |
|
||||
| boolops.py | 4 | boolops.py:4:17:6:24 | ControlFlowNode for UnaryExpr | ControlFlowNode for UnaryExpr | False |
|
||||
| boolops.py | 4 | boolops.py:4:17:6:24 | ControlFlowNode for UnaryExpr | ControlFlowNode for UnaryExpr | True |
|
||||
| boolops.py | 5 | boolops.py:5:22:5:23 | ControlFlowNode for y1 | ControlFlowNode for UnaryExpr | True |
|
||||
| boolops.py | 5 | boolops.py:5:22:5:23 | ControlFlowNode for y1 | ControlFlowNode for z1 | False |
|
||||
| boolops.py | 6 | boolops.py:6:22:6:23 | ControlFlowNode for z1 | ControlFlowNode for UnaryExpr | False |
|
||||
| boolops.py | 6 | boolops.py:6:22:6:23 | ControlFlowNode for z1 | ControlFlowNode for UnaryExpr | True |
|
||||
| boolops.py | 7 | boolops.py:7:8:11:23 | ControlFlowNode for UnaryExpr | ControlFlowNode for Str | False |
|
||||
| boolops.py | 7 | boolops.py:7:8:11:23 | ControlFlowNode for UnaryExpr | ControlFlowNode for Str | True |
|
||||
| boolops.py | 8 | boolops.py:8:12:8:12 | ControlFlowNode for x | ControlFlowNode for BoolExpr | False |
|
||||
| boolops.py | 8 | boolops.py:8:12:8:12 | ControlFlowNode for x | ControlFlowNode for UnaryExpr | True |
|
||||
| boolops.py | 9 | boolops.py:9:15:11:22 | ControlFlowNode for UnaryExpr | ControlFlowNode for UnaryExpr | False |
|
||||
| boolops.py | 9 | boolops.py:9:15:11:22 | ControlFlowNode for UnaryExpr | ControlFlowNode for UnaryExpr | True |
|
||||
| boolops.py | 10 | boolops.py:10:20:10:21 | ControlFlowNode for y2 | ControlFlowNode for UnaryExpr | False |
|
||||
| boolops.py | 10 | boolops.py:10:20:10:21 | ControlFlowNode for y2 | ControlFlowNode for z2 | True |
|
||||
| boolops.py | 11 | boolops.py:11:20:11:21 | ControlFlowNode for z2 | ControlFlowNode for UnaryExpr | False |
|
||||
| boolops.py | 11 | boolops.py:11:20:11:21 | ControlFlowNode for z2 | ControlFlowNode for UnaryExpr | True |
|
||||
| compare.py | 3 | compare.py:3:12:3:23 | ControlFlowNode for Compare | ControlFlowNode for Assert | False |
|
||||
| compare.py | 3 | compare.py:3:12:3:23 | ControlFlowNode for Compare | ControlFlowNode for Assert | True |
|
||||
| compare.py | 7 | compare.py:7:12:7:27 | ControlFlowNode for Compare | ControlFlowNode for Assert | False |
|
||||
| compare.py | 7 | compare.py:7:12:7:27 | ControlFlowNode for Compare | ControlFlowNode for Assert | True |
|
||||
| compare.py | 11 | compare.py:11:8:11:19 | ControlFlowNode for Compare | ControlFlowNode for FloatLiteral | False |
|
||||
| compare.py | 11 | compare.py:11:8:11:19 | ControlFlowNode for Compare | ControlFlowNode for IntegerLiteral | True |
|
||||
| compare.py | 17 | compare.py:17:8:17:23 | ControlFlowNode for Compare | ControlFlowNode for FloatLiteral | False |
|
||||
| compare.py | 17 | compare.py:17:8:17:23 | ControlFlowNode for Compare | ControlFlowNode for IntegerLiteral | True |
|
||||
| true_false_test.py | 3 | true_false_test.py:3:8:3:12 | ControlFlowNode for cond1 | ControlFlowNode for cond2 | False |
|
||||
| true_false_test.py | 3 | true_false_test.py:3:8:3:12 | ControlFlowNode for cond1 | ControlFlowNode for true1 | True |
|
||||
| true_false_test.py | 5 | true_false_test.py:5:8:5:12 | ControlFlowNode for cond2 | ControlFlowNode for Pass | True |
|
||||
| true_false_test.py | 5 | true_false_test.py:5:8:5:12 | ControlFlowNode for cond2 | ControlFlowNode for false2 | False |
|
||||
| true_false_test.py | 9 | true_false_test.py:9:8:9:12 | ControlFlowNode for cond3 | ControlFlowNode for false3 | False |
|
||||
| true_false_test.py | 9 | true_false_test.py:9:8:9:12 | ControlFlowNode for cond3 | ControlFlowNode for true3 | True |
|
||||
| true_false_test.py | 14 | true_false_test.py:14:12:14:16 | ControlFlowNode for cond4 | ControlFlowNode for false4 | False |
|
||||
| true_false_test.py | 14 | true_false_test.py:14:12:14:16 | ControlFlowNode for cond4 | ControlFlowNode for true4 | True |
|
||||
| true_false_test.py | 20 | true_false_test.py:20:8:20:12 | ControlFlowNode for cond5 | ControlFlowNode for Try | True |
|
||||
| true_false_test.py | 20 | true_false_test.py:20:8:20:12 | ControlFlowNode for cond5 | ControlFlowNode for false5 | False |
|
||||
| true_false_test.py | 27 | true_false_test.py:27:8:27:12 | ControlFlowNode for cond6 | ControlFlowNode for cond7 | True |
|
||||
| true_false_test.py | 27 | true_false_test.py:27:8:27:12 | ControlFlowNode for cond6 | ControlFlowNode for false6 | False |
|
||||
| true_false_test.py | 28 | true_false_test.py:28:12:28:16 | ControlFlowNode for cond7 | ControlFlowNode for false7 | False |
|
||||
| true_false_test.py | 28 | true_false_test.py:28:12:28:16 | ControlFlowNode for cond7 | ControlFlowNode for true7 | True |
|
||||
| true_false_test.py | 34 | true_false_test.py:34:8:34:12 | ControlFlowNode for cond8 | ControlFlowNode for false8 | False |
|
||||
| true_false_test.py | 34 | true_false_test.py:34:8:34:12 | ControlFlowNode for cond8 | ControlFlowNode for range | True |
|
||||
| true_false_test.py | 39 | true_false_test.py:39:8:39:12 | ControlFlowNode for cond9 | ControlFlowNode for While | True |
|
||||
| true_false_test.py | 39 | true_false_test.py:39:8:39:12 | ControlFlowNode for cond9 | ControlFlowNode for false9 | False |
|
||||
| true_false_test.py | 40 | true_false_test.py:40:15:40:20 | ControlFlowNode for cond10 | ControlFlowNode for false10 | False |
|
||||
| true_false_test.py | 40 | true_false_test.py:40:15:40:20 | ControlFlowNode for cond10 | ControlFlowNode for true10 | True |
|
||||
| true_false_test.py | 45 | true_false_test.py:45:11:45:11 | ControlFlowNode for IntegerLiteral | ControlFlowNode for cond12 | True |
|
||||
| true_false_test.py | 46 | true_false_test.py:46:12:46:17 | ControlFlowNode for cond12 | ControlFlowNode for Try | True |
|
||||
| true_false_test.py | 46 | true_false_test.py:46:12:46:17 | ControlFlowNode for cond12 | ControlFlowNode for While | False |
|
||||
| true_false_test.py | 55 | true_false_test.py:55:11:55:16 | ControlFlowNode for condw1 | ControlFlowNode for truew2 | True |
|
||||
| true_false_test.py | 55 | true_false_test.py:55:11:55:16 | ControlFlowNode for condw1 | Exit node for Function func2 | False |
|
||||
| true_false_test.py | 59 | true_false_test.py:59:8:59:13 | ControlFlowNode for condi1 | ControlFlowNode for truei1 | True |
|
||||
| true_false_test.py | 59 | true_false_test.py:59:8:59:13 | ControlFlowNode for condi1 | Exit node for Function func3 | False |
|
||||
| true_false_test.py | 63 | true_false_test.py:63:11:63:14 | ControlFlowNode for True | ControlFlowNode for no_branch | True |
|
||||
| true_false_test.py | 69 | true_false_test.py:69:11:69:14 | ControlFlowNode for True | ControlFlowNode for Break | True |
|
||||
| true_false_test.py | 71 | true_false_test.py:71:8:71:13 | ControlFlowNode for cond11 | ControlFlowNode for true11 | True |
|
||||
| true_false_test.py | 71 | true_false_test.py:71:8:71:13 | ControlFlowNode for cond11 | Exit node for Function func5 | False |
|
||||
| true_false_test.py | 75 | true_false_test.py:75:8:75:13 | ControlFlowNode for cond13 | ControlFlowNode for cond13a | False |
|
||||
| true_false_test.py | 75 | true_false_test.py:75:8:75:13 | ControlFlowNode for cond13 | ControlFlowNode for true13 | True |
|
||||
| true_false_test.py | 75 | true_false_test.py:75:18:75:24 | ControlFlowNode for cond13a | ControlFlowNode for BoolExpr | False |
|
||||
| true_false_test.py | 75 | true_false_test.py:75:18:75:24 | ControlFlowNode for cond13a | ControlFlowNode for true13 | True |
|
||||
| true_false_test.py | 77 | true_false_test.py:77:8:77:13 | ControlFlowNode for cond14 | ControlFlowNode for cond14a | True |
|
||||
| true_false_test.py | 77 | true_false_test.py:77:8:77:13 | ControlFlowNode for cond14 | ControlFlowNode for cond15 | False |
|
||||
| true_false_test.py | 77 | true_false_test.py:77:19:77:25 | ControlFlowNode for cond14a | ControlFlowNode for cond15 | False |
|
||||
| true_false_test.py | 77 | true_false_test.py:77:19:77:25 | ControlFlowNode for cond14a | ControlFlowNode for true14 | True |
|
||||
| true_false_test.py | 79 | true_false_test.py:79:15:79:20 | ControlFlowNode for cond15 | ControlFlowNode for false15 | False |
|
||||
| true_false_test.py | 79 | true_false_test.py:79:15:79:20 | ControlFlowNode for cond15 | ControlFlowNode for true15 | True |
|
||||
| true_false_test.py | 80 | true_false_test.py:80:15:80:20 | ControlFlowNode for cond16 | ControlFlowNode for cond17 | False |
|
||||
| true_false_test.py | 80 | true_false_test.py:80:15:80:20 | ControlFlowNode for cond16 | ControlFlowNode for true16 | True |
|
||||
| true_false_test.py | 80 | true_false_test.py:80:25:80:30 | ControlFlowNode for cond17 | ControlFlowNode for false16 | False |
|
||||
| true_false_test.py | 80 | true_false_test.py:80:25:80:30 | ControlFlowNode for cond17 | ControlFlowNode for true16 | True |
|
||||
| true_false_test.py | 81 | true_false_test.py:81:15:81:20 | ControlFlowNode for cond18 | ControlFlowNode for cond19 | True |
|
||||
| true_false_test.py | 81 | true_false_test.py:81:15:81:20 | ControlFlowNode for cond18 | ControlFlowNode for false18 | False |
|
||||
| true_false_test.py | 81 | true_false_test.py:81:26:81:31 | ControlFlowNode for cond19 | ControlFlowNode for false18 | False |
|
||||
| true_false_test.py | 81 | true_false_test.py:81:26:81:31 | ControlFlowNode for cond19 | ControlFlowNode for true18 | True |
|
||||
| true_false_test.py | 84 | true_false_test.py:84:11:84:16 | ControlFlowNode for cond20 | ControlFlowNode for Yield | True |
|
||||
| true_false_test.py | 84 | true_false_test.py:84:11:84:16 | ControlFlowNode for cond20 | ControlFlowNode for cond21 | False |
|
||||
| true_false_test.py | 84 | true_false_test.py:84:21:84:26 | ControlFlowNode for cond21 | ControlFlowNode for Yield | True |
|
||||
| true_false_test.py | 84 | true_false_test.py:84:21:84:26 | ControlFlowNode for cond21 | ControlFlowNode for cond22 | False |
|
||||
| true_false_test.py | 85 | true_false_test.py:85:11:85:16 | ControlFlowNode for cond23 | ControlFlowNode for Yield | False |
|
||||
| true_false_test.py | 85 | true_false_test.py:85:11:85:16 | ControlFlowNode for cond23 | ControlFlowNode for cond24 | True |
|
||||
| true_false_test.py | 85 | true_false_test.py:85:22:85:27 | ControlFlowNode for cond24 | ControlFlowNode for Yield | False |
|
||||
| true_false_test.py | 85 | true_false_test.py:85:22:85:27 | ControlFlowNode for cond24 | ControlFlowNode for cond25 | True |
|
||||
| true_succ.py | 4 | true_succ.py:4:8:4:15 | ControlFlowNode for filename | ControlFlowNode for Str | False |
|
||||
| true_succ.py | 4 | true_succ.py:4:8:4:15 | ControlFlowNode for filename | ControlFlowNode for Try | True |
|
||||
| true_succ.py | 13 | true_succ.py:13:16:13:28 | ControlFlowNode for Compare | ControlFlowNode for Str | False |
|
||||
| true_succ.py | 13 | true_succ.py:13:16:13:28 | ControlFlowNode for Compare | ControlFlowNode for f | True |
|
||||
| true_succ.py | 13 | true_succ.py:13:16:13:28 | ControlFlowNode for Compare | ControlFlowNode for f | True |
|
||||
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* @name TrueFalseSuccessors Test
|
||||
* @description Tests true/false successors
|
||||
* @kind table
|
||||
* @problem.severity warning
|
||||
*/
|
||||
|
||||
import python
|
||||
|
||||
from ControlFlowNode p, ControlFlowNode s, string which
|
||||
where
|
||||
s = p.getAFalseSuccessor() and which = "False"
|
||||
or
|
||||
s = p.getATrueSuccessor() and which = "True"
|
||||
select p.getLocation().getFile().getShortName(), p.getLocation().getStartLine(), p, s.toString(), which
|
||||
840
python/ql/test/library-tests/PointsTo/new/Dataflow.expected
Normal file
840
python/ql/test/library-tests/PointsTo/new/Dataflow.expected
Normal file
@@ -0,0 +1,840 @@
|
||||
| __init__.py:0 | __name___0 = ScopeEntryDefinition |
|
||||
| __init__.py:0 | __package___0 = ScopeEntryDefinition |
|
||||
| __init__.py:0 | module2_0 = ImplicitSubModuleDefinition |
|
||||
| __init__.py:0 | moduleX_0 = ImplicitSubModuleDefinition |
|
||||
| __init__.py:0 | sys_0 = ScopeEntryDefinition |
|
||||
| __init__.py:1 | __name___1 = ImportStarRefinement(__name___0) |
|
||||
| __init__.py:1 | __package___1 = ImportStarRefinement(__package___0) |
|
||||
| __init__.py:1 | sys_1 = ImportStarRefinement(sys_0) |
|
||||
| __init__.py:2 | __name___2 = ImportStarRefinement(__name___1) |
|
||||
| __init__.py:2 | __package___2 = ImportStarRefinement(__package___1) |
|
||||
| __init__.py:2 | module_0 = ImportMember |
|
||||
| __init__.py:3 | sys_2 = ImportExpr |
|
||||
| __init__.py:4 | module3_0 = ImportMember |
|
||||
| __init__.py:5 | module2_1 = IntegerLiteral |
|
||||
| __init__.py:6 | module4_0 = ImportMember |
|
||||
| __init__.py:7 | module5_0 = ImportMember |
|
||||
| __init__.py:8 | moduleX_1 = ImportMember |
|
||||
| a_simple.py:0 | __name___0 = ScopeEntryDefinition |
|
||||
| a_simple.py:0 | __package___0 = ScopeEntryDefinition |
|
||||
| a_simple.py:2 | f1_0 = FloatLiteral |
|
||||
| a_simple.py:5 | i1_0 = IntegerLiteral |
|
||||
| a_simple.py:6 | s_0 = Tuple |
|
||||
| a_simple.py:8 | func_0 = FunctionExpr |
|
||||
| a_simple.py:11 | C_0 = ClassExpr |
|
||||
| a_simple.py:14 | d_0 = ParameterDefinition |
|
||||
| a_simple.py:14 | t_0 = ParameterDefinition |
|
||||
| a_simple.py:14 | vararg_kwarg_0 = FunctionExpr |
|
||||
| a_simple.py:18 | multi_loop_0 = FunctionExpr |
|
||||
| a_simple.py:18 | seq_0 = ParameterDefinition |
|
||||
| a_simple.py:18 | y_0 = ScopeEntryDefinition |
|
||||
| a_simple.py:19 | x_0 = None |
|
||||
| a_simple.py:20 | x_1 = phi(x_0, x_2) |
|
||||
| a_simple.py:20 | x_2 = For[0] |
|
||||
| a_simple.py:20 | y_1 = phi(y_0, y_2) |
|
||||
| a_simple.py:20 | y_2 = For[1] |
|
||||
| a_simple.py:23 | with_definition_0 = FunctionExpr |
|
||||
| a_simple.py:23 | x_0 = ParameterDefinition |
|
||||
| a_simple.py:24 | y_0 = with |
|
||||
| a_simple.py:27 | multi_loop_in_try_0 = FunctionExpr |
|
||||
| a_simple.py:27 | p_0 = ScopeEntryDefinition |
|
||||
| a_simple.py:27 | q_0 = ScopeEntryDefinition |
|
||||
| a_simple.py:27 | x_0 = ParameterDefinition |
|
||||
| a_simple.py:29 | p_1 = phi(p_0, p_2) |
|
||||
| a_simple.py:29 | p_2 = For[0] |
|
||||
| a_simple.py:29 | q_1 = phi(q_0, q_2) |
|
||||
| a_simple.py:29 | q_2 = For[1] |
|
||||
| a_simple.py:34 | args_0 = ParameterDefinition |
|
||||
| a_simple.py:34 | f_0 = FunctionExpr |
|
||||
| a_simple.py:34 | kwargs_0 = ParameterDefinition |
|
||||
| a_simple.py:38 | a_0 = ParameterDefinition |
|
||||
| a_simple.py:38 | b_0 = ParameterDefinition |
|
||||
| a_simple.py:38 | c_0 = ParameterDefinition |
|
||||
| a_simple.py:38 | multi_assign_and_packing_0 = FunctionExpr |
|
||||
| a_simple.py:39 | t_0 = Tuple |
|
||||
| a_simple.py:40 | w_0 = Tuple |
|
||||
| a_simple.py:41 | p_0 = t[0] |
|
||||
| a_simple.py:41 | q_0 = t[1] |
|
||||
| a_simple.py:41 | r_0 = t[2] |
|
||||
| a_simple.py:42 | x_0 = w[0] |
|
||||
| a_simple.py:42 | y_0 = w[1] |
|
||||
| a_simple.py:42 | z_0 = w[2] |
|
||||
| a_simple.py:49 | g_0 = a |
|
||||
| a_simple.py:49 | h_0 = b |
|
||||
| a_simple.py:49 | i_0 = c |
|
||||
| b_condition.py:0 | __name___0 = ScopeEntryDefinition |
|
||||
| b_condition.py:0 | __package___0 = ScopeEntryDefinition |
|
||||
| b_condition.py:0 | double_attr_check_0 = ScopeEntryDefinition |
|
||||
| b_condition.py:0 | g_0 = ScopeEntryDefinition |
|
||||
| b_condition.py:0 | h_0 = ScopeEntryDefinition |
|
||||
| b_condition.py:0 | k_0 = ScopeEntryDefinition |
|
||||
| b_condition.py:0 | loop_0 = ScopeEntryDefinition |
|
||||
| b_condition.py:0 | method_check_0 = ScopeEntryDefinition |
|
||||
| b_condition.py:0 | not_or_not_0 = ScopeEntryDefinition |
|
||||
| b_condition.py:0 | odasa6261_0 = ScopeEntryDefinition |
|
||||
| b_condition.py:0 | split_bool1_0 = ScopeEntryDefinition |
|
||||
| b_condition.py:0 | v2_0 = ScopeEntryDefinition |
|
||||
| b_condition.py:4 | f_0 = FunctionExpr |
|
||||
| b_condition.py:4 | y_0 = ParameterDefinition |
|
||||
| b_condition.py:5 | x_0 = IfExp |
|
||||
| b_condition.py:8 | x_1 = IntegerLiteral |
|
||||
| b_condition.py:9 | x_2 = Pi(x_0) [false] |
|
||||
| b_condition.py:9 | x_3 = phi(x_1, x_2) |
|
||||
| b_condition.py:11 | x_4 = IfExp |
|
||||
| b_condition.py:14 | x_5 = IntegerLiteral |
|
||||
| b_condition.py:15 | x_6 = Pi(x_4) [false] |
|
||||
| b_condition.py:15 | x_7 = phi(x_5, x_6) |
|
||||
| b_condition.py:17 | x_8 = IfExp |
|
||||
| b_condition.py:20 | x_9 = None |
|
||||
| b_condition.py:21 | x_10 = Pi(x_8) [false] |
|
||||
| b_condition.py:21 | x_11 = phi(x_9, x_10) |
|
||||
| b_condition.py:23 | x_12 = IfExp |
|
||||
| b_condition.py:25 | x_13 = Pi(x_12) [true] |
|
||||
| b_condition.py:25 | x_14 = IfExp |
|
||||
| b_condition.py:26 | x_15 = ArgumentRefinement(x_14) |
|
||||
| b_condition.py:28 | x_16 = IntegerLiteral |
|
||||
| b_condition.py:29 | x_17 = phi(x_15, x_16) |
|
||||
| b_condition.py:31 | x_18 = IfExp |
|
||||
| b_condition.py:33 | x_19 = IntegerLiteral |
|
||||
| b_condition.py:34 | x_20 = Pi(x_18) [false] |
|
||||
| b_condition.py:34 | x_21 = phi(x_19, x_20) |
|
||||
| b_condition.py:34 | x_22 = ArgumentRefinement(x_21) |
|
||||
| b_condition.py:36 | x_23 = Pi(x_22) [true] |
|
||||
| b_condition.py:37 | x_24 = ArgumentRefinement(x_23) |
|
||||
| b_condition.py:39 | v2_1 = thing() |
|
||||
| b_condition.py:41 | v2_2 = AttributeAssignment 'x'(v2_1) |
|
||||
| b_condition.py:43 | v2_3 = Pi(v2_2) [true] |
|
||||
| b_condition.py:47 | v2_4 = Pi(v2_2) [false] |
|
||||
| b_condition.py:47 | v2_5 = phi(v2_3, v2_4) |
|
||||
| b_condition.py:50 | g_1 = FunctionExpr |
|
||||
| b_condition.py:50 | x_0 = ParameterDefinition |
|
||||
| b_condition.py:50 | x_2 = Pi(x_0) [false] |
|
||||
| b_condition.py:50 | x_3 = phi(x_1, x_2) |
|
||||
| b_condition.py:52 | x_1 = Pi(x_0) [true] |
|
||||
| b_condition.py:55 | loop_1 = FunctionExpr |
|
||||
| b_condition.py:55 | seq_0 = ParameterDefinition |
|
||||
| b_condition.py:55 | v_0 = ScopeEntryDefinition |
|
||||
| b_condition.py:56 | v_1 = Pi(v_3) [false] |
|
||||
| b_condition.py:56 | v_2 = phi(v_0, v_1, v_5) |
|
||||
| b_condition.py:56 | v_3 = For |
|
||||
| b_condition.py:58 | v_4 = Pi(v_3) [true] |
|
||||
| b_condition.py:58 | v_5 = ArgumentRefinement(v_4) |
|
||||
| b_condition.py:61 | double_attr_check_1 = FunctionExpr |
|
||||
| b_condition.py:61 | x_0 = ParameterDefinition |
|
||||
| b_condition.py:61 | x_5 = Pi(x_2) [false] |
|
||||
| b_condition.py:61 | x_5 = Pi(x_3) [false] |
|
||||
| b_condition.py:61 | x_7 = phi(x_1, x_4) |
|
||||
| b_condition.py:61 | x_7 = phi(x_2, x_5) |
|
||||
| b_condition.py:61 | y_0 = ParameterDefinition |
|
||||
| b_condition.py:61 | y_2 = Pi(y_0) [false] |
|
||||
| b_condition.py:61 | y_3 = phi(y_0, y_1) |
|
||||
| b_condition.py:61 | y_3 = phi(y_1, y_2) |
|
||||
| b_condition.py:63 | x_1 = Pi(x_0) [true] |
|
||||
| b_condition.py:64 | x_2 = Pi(x_0) [false] |
|
||||
| b_condition.py:65 | y_1 = Pi(y_0) [true] |
|
||||
| b_condition.py:66 | x_3 = Pi(x_2) [true] |
|
||||
| b_condition.py:67 | x_4 = Pi(x_3) [true] |
|
||||
| b_condition.py:69 | h_1 = FunctionExpr |
|
||||
| b_condition.py:70 | b_0 = IfExp |
|
||||
| b_condition.py:72 | b_1 = IntegerLiteral |
|
||||
| b_condition.py:73 | b_2 = Pi(b_0) [false] |
|
||||
| b_condition.py:73 | b_3 = phi(b_1, b_2) |
|
||||
| b_condition.py:75 | k_1 = FunctionExpr |
|
||||
| b_condition.py:76 | t_0 = type |
|
||||
| b_condition.py:78 | t_1 = object |
|
||||
| b_condition.py:79 | t_2 = Pi(t_0) [false] |
|
||||
| b_condition.py:79 | t_3 = phi(t_1, t_2) |
|
||||
| b_condition.py:79 | t_4 = ArgumentRefinement(t_3) |
|
||||
| b_condition.py:81 | bar_0 = ScopeEntryDefinition |
|
||||
| b_condition.py:81 | bar_2 = phi(bar_0, bar_1) |
|
||||
| b_condition.py:81 | foo_0 = ParameterDefinition |
|
||||
| b_condition.py:81 | foo_3 = Pi(foo_0) [false] |
|
||||
| b_condition.py:81 | foo_4 = phi(foo_1, foo_3) |
|
||||
| b_condition.py:81 | odasa6261_1 = FunctionExpr |
|
||||
| b_condition.py:83 | bar_1 = FunctionExpr |
|
||||
| b_condition.py:83 | foo_1 = Pi(foo_0) [true] |
|
||||
| b_condition.py:83 | foo_2 = ScopeEntryDefinition |
|
||||
| b_condition.py:87 | split_bool1_1 = FunctionExpr |
|
||||
| b_condition.py:87 | x_0 = ParameterDefinition |
|
||||
| b_condition.py:87 | y_0 = ParameterDefinition |
|
||||
| b_condition.py:88 | x_1 = Pi(x_0) [true] |
|
||||
| b_condition.py:90 | x_4 = Pi(x_0) [false] |
|
||||
| b_condition.py:90 | x_5 = SingleSuccessorGuard(x_4) [false] |
|
||||
| b_condition.py:90 | x_6 = SingleSuccessorGuard(x_1) [false] |
|
||||
| b_condition.py:90 | y_1 = Pi(y_0) [true] |
|
||||
| b_condition.py:90 | y_4 = Pi(y_0) [false] |
|
||||
| b_condition.py:92 | x_2 = SingleSuccessorGuard(x_5) [false] |
|
||||
| b_condition.py:92 | x_7 = SingleSuccessorGuard(x_6) [true] |
|
||||
| b_condition.py:93 | y_5 = ArgumentRefinement(y_4) |
|
||||
| b_condition.py:95 | y_2 = ArgumentRefinement(y_1) |
|
||||
| b_condition.py:96 | y_3 = SingleSuccessorGuard(y_2) [true] |
|
||||
| b_condition.py:96 | y_6 = SingleSuccessorGuard(y_5) [false] |
|
||||
| b_condition.py:97 | x_3 = ArgumentRefinement(x_2) |
|
||||
| b_condition.py:99 | x_8 = ArgumentRefinement(x_7) |
|
||||
| b_condition.py:101 | a_0 = ParameterDefinition |
|
||||
| b_condition.py:101 | not_or_not_1 = FunctionExpr |
|
||||
| b_condition.py:104 | a_1 = Pi(a_0) [false] |
|
||||
| b_condition.py:105 | a_2 = Pi(a_1) [false] |
|
||||
| b_condition.py:107 | a_3 = Pi(a_2) [false] |
|
||||
| b_condition.py:109 | method_check_1 = FunctionExpr |
|
||||
| b_condition.py:109 | x_0 = ParameterDefinition |
|
||||
| b_condition.py:109 | x_5 = phi(x_2, x_4) |
|
||||
| b_condition.py:111 | x_1 = Pi(x_0) [true] |
|
||||
| b_condition.py:111 | x_2 = ArgumentRefinement(x_1) |
|
||||
| b_condition.py:113 | x_3 = Pi(x_0) [false] |
|
||||
| b_condition.py:113 | x_4 = ArgumentRefinement(x_3) |
|
||||
| d_globals.py:0 | D_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | Ugly_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | X_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | __name___0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | __package___0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | dict_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | g3_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | g4_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | get_g4_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | glob_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | k_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | modinit_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | outer_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | redefine_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | set_g4_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | set_g4_indirect_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | tuple_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | use_list_attribute_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | x_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | y_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:0 | z_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:2 | dict_2 = ScopeEntryDefinition |
|
||||
| d_globals.py:2 | g1_2 = ScopeEntryDefinition |
|
||||
| d_globals.py:2 | g2_2 = ScopeEntryDefinition |
|
||||
| d_globals.py:2 | g3_2 = ScopeEntryDefinition |
|
||||
| d_globals.py:2 | g4_1 = ScopeEntryDefinition |
|
||||
| d_globals.py:2 | glob_2 = ScopeEntryDefinition |
|
||||
| d_globals.py:2 | j_0 = FunctionExpr |
|
||||
| d_globals.py:2 | tuple_2 = ScopeEntryDefinition |
|
||||
| d_globals.py:2 | z_2 = ScopeEntryDefinition |
|
||||
| d_globals.py:5 | dict_1 = IntegerLiteral |
|
||||
| d_globals.py:7 | tuple_1 = tuple |
|
||||
| d_globals.py:14 | g1_0 = None |
|
||||
| d_globals.py:16 | assign_global_0 = FunctionExpr |
|
||||
| d_globals.py:16 | g2_3 = ScopeEntryDefinition |
|
||||
| d_globals.py:16 | g3_3 = ScopeEntryDefinition |
|
||||
| d_globals.py:16 | g4_2 = ScopeEntryDefinition |
|
||||
| d_globals.py:16 | glob_3 = ScopeEntryDefinition |
|
||||
| d_globals.py:16 | z_3 = ScopeEntryDefinition |
|
||||
| d_globals.py:18 | g1_3 = IntegerLiteral |
|
||||
| d_globals.py:23 | g2_0 = None |
|
||||
| d_globals.py:25 | g1_4 = ScopeEntryDefinition |
|
||||
| d_globals.py:25 | g3_4 = ScopeEntryDefinition |
|
||||
| d_globals.py:25 | g4_3 = ScopeEntryDefinition |
|
||||
| d_globals.py:25 | glob_4 = ScopeEntryDefinition |
|
||||
| d_globals.py:25 | init_0 = FunctionExpr |
|
||||
| d_globals.py:25 | z_4 = ScopeEntryDefinition |
|
||||
| d_globals.py:27 | g2_4 = IntegerLiteral |
|
||||
| d_globals.py:29 | g1_1 = CallsiteRefinement(g1_0) |
|
||||
| d_globals.py:29 | g2_1 = CallsiteRefinement(g2_0) |
|
||||
| d_globals.py:29 | glob_1 = CallsiteRefinement(glob_0) |
|
||||
| d_globals.py:29 | z_1 = CallsiteRefinement(z_0) |
|
||||
| d_globals.py:33 | g3_1 = None |
|
||||
| d_globals.py:35 | Ugly_1 = ClassExpr |
|
||||
| d_globals.py:37 | __init___0 = FunctionExpr |
|
||||
| d_globals.py:37 | g1_5 = ScopeEntryDefinition |
|
||||
| d_globals.py:37 | g2_5 = ScopeEntryDefinition |
|
||||
| d_globals.py:37 | g4_4 = ScopeEntryDefinition |
|
||||
| d_globals.py:37 | glob_5 = ScopeEntryDefinition |
|
||||
| d_globals.py:37 | self_0 = ParameterDefinition |
|
||||
| d_globals.py:37 | z_5 = ScopeEntryDefinition |
|
||||
| d_globals.py:39 | g3_5 = IntegerLiteral |
|
||||
| d_globals.py:41 | g1_6 = ScopeEntryDefinition |
|
||||
| d_globals.py:41 | g2_6 = ScopeEntryDefinition |
|
||||
| d_globals.py:41 | g3_6 = ScopeEntryDefinition |
|
||||
| d_globals.py:41 | g4_5 = ScopeEntryDefinition |
|
||||
| d_globals.py:41 | glob_6 = ScopeEntryDefinition |
|
||||
| d_globals.py:41 | meth_0 = FunctionExpr |
|
||||
| d_globals.py:41 | self_0 = ParameterDefinition |
|
||||
| d_globals.py:41 | z_6 = ScopeEntryDefinition |
|
||||
| d_globals.py:46 | x_1 = IntegerLiteral |
|
||||
| d_globals.py:49 | x_2 = IntegerLiteral |
|
||||
| d_globals.py:51 | x_3 = phi(x_1, x_2) |
|
||||
| d_globals.py:52 | y_1 = IntegerLiteral |
|
||||
| d_globals.py:54 | y_2 = IntegerLiteral |
|
||||
| d_globals.py:59 | y_3 = phi(y_1, y_2) |
|
||||
| d_globals.py:62 | X_1 = ClassExpr |
|
||||
| d_globals.py:62 | X_2 = ScopeEntryDefinition |
|
||||
| d_globals.py:62 | g3_7 = ScopeEntryDefinition |
|
||||
| d_globals.py:62 | y_0 = ScopeEntryDefinition |
|
||||
| d_globals.py:62 | y_4 = ScopeEntryDefinition |
|
||||
| d_globals.py:63 | y_1 = y |
|
||||
| d_globals.py:64 | v4_0 = v3 |
|
||||
| d_globals.py:70 | arg_0 = ParameterDefinition |
|
||||
| d_globals.py:70 | g1_7 = ScopeEntryDefinition |
|
||||
| d_globals.py:70 | g2_7 = ScopeEntryDefinition |
|
||||
| d_globals.py:70 | g3_8 = ScopeEntryDefinition |
|
||||
| d_globals.py:70 | g4_7 = ScopeEntryDefinition |
|
||||
| d_globals.py:70 | glob_7 = ScopeEntryDefinition |
|
||||
| d_globals.py:70 | k_1 = FunctionExpr |
|
||||
| d_globals.py:70 | z_7 = ScopeEntryDefinition |
|
||||
| d_globals.py:73 | g4_6 = None |
|
||||
| d_globals.py:75 | g1_8 = ScopeEntryDefinition |
|
||||
| d_globals.py:75 | g2_8 = ScopeEntryDefinition |
|
||||
| d_globals.py:75 | g3_9 = ScopeEntryDefinition |
|
||||
| d_globals.py:75 | g4_8 = ScopeEntryDefinition |
|
||||
| d_globals.py:75 | get_g4_1 = FunctionExpr |
|
||||
| d_globals.py:75 | glob_8 = ScopeEntryDefinition |
|
||||
| d_globals.py:75 | set_g4_2 = ScopeEntryDefinition |
|
||||
| d_globals.py:75 | z_8 = ScopeEntryDefinition |
|
||||
| d_globals.py:77 | g1_9 = CallsiteRefinement(g1_8) |
|
||||
| d_globals.py:77 | g2_9 = CallsiteRefinement(g2_8) |
|
||||
| d_globals.py:77 | g3_10 = CallsiteRefinement(g3_9) |
|
||||
| d_globals.py:77 | g4_9 = Pi(g4_8) [true] |
|
||||
| d_globals.py:77 | g4_10 = CallsiteRefinement(g4_9) |
|
||||
| d_globals.py:77 | glob_9 = CallsiteRefinement(glob_8) |
|
||||
| d_globals.py:77 | z_9 = CallsiteRefinement(z_8) |
|
||||
| d_globals.py:78 | g1_10 = phi(g1_8, g1_9) |
|
||||
| d_globals.py:78 | g2_10 = phi(g2_8, g2_9) |
|
||||
| d_globals.py:78 | g3_11 = phi(g3_9, g3_10) |
|
||||
| d_globals.py:78 | g4_11 = Pi(g4_8) [false] |
|
||||
| d_globals.py:78 | g4_12 = phi(g4_10, g4_11) |
|
||||
| d_globals.py:78 | glob_10 = phi(glob_8, glob_9) |
|
||||
| d_globals.py:78 | z_10 = phi(z_8, z_9) |
|
||||
| d_globals.py:80 | g1_11 = ScopeEntryDefinition |
|
||||
| d_globals.py:80 | g2_11 = ScopeEntryDefinition |
|
||||
| d_globals.py:80 | g3_12 = ScopeEntryDefinition |
|
||||
| d_globals.py:80 | g4_13 = ScopeEntryDefinition |
|
||||
| d_globals.py:80 | glob_11 = ScopeEntryDefinition |
|
||||
| d_globals.py:80 | set_g4_1 = FunctionExpr |
|
||||
| d_globals.py:80 | set_g4_indirect_2 = ScopeEntryDefinition |
|
||||
| d_globals.py:80 | z_11 = ScopeEntryDefinition |
|
||||
| d_globals.py:81 | g1_12 = CallsiteRefinement(g1_11) |
|
||||
| d_globals.py:81 | g2_12 = CallsiteRefinement(g2_11) |
|
||||
| d_globals.py:81 | g3_13 = CallsiteRefinement(g3_12) |
|
||||
| d_globals.py:81 | g4_14 = CallsiteRefinement(g4_13) |
|
||||
| d_globals.py:81 | glob_12 = CallsiteRefinement(glob_11) |
|
||||
| d_globals.py:81 | z_12 = CallsiteRefinement(z_11) |
|
||||
| d_globals.py:83 | g1_13 = ScopeEntryDefinition |
|
||||
| d_globals.py:83 | g2_13 = ScopeEntryDefinition |
|
||||
| d_globals.py:83 | g3_14 = ScopeEntryDefinition |
|
||||
| d_globals.py:83 | glob_13 = ScopeEntryDefinition |
|
||||
| d_globals.py:83 | set_g4_indirect_1 = FunctionExpr |
|
||||
| d_globals.py:83 | z_13 = ScopeEntryDefinition |
|
||||
| d_globals.py:85 | g4_15 = False |
|
||||
| d_globals.py:87 | modinit_1 = ClassExpr |
|
||||
| d_globals.py:92 | modinit_2 = DeletionDefinition |
|
||||
| d_globals.py:95 | g1_14 = ScopeEntryDefinition |
|
||||
| d_globals.py:95 | g2_14 = ScopeEntryDefinition |
|
||||
| d_globals.py:95 | g3_15 = ScopeEntryDefinition |
|
||||
| d_globals.py:95 | g4_16 = ScopeEntryDefinition |
|
||||
| d_globals.py:95 | glob_14 = ScopeEntryDefinition |
|
||||
| d_globals.py:95 | outer_1 = FunctionExpr |
|
||||
| d_globals.py:95 | z_14 = ScopeEntryDefinition |
|
||||
| d_globals.py:96 | g1_16 = ScopeEntryDefinition |
|
||||
| d_globals.py:96 | g2_16 = ScopeEntryDefinition |
|
||||
| d_globals.py:96 | g3_17 = ScopeEntryDefinition |
|
||||
| d_globals.py:96 | g4_18 = ScopeEntryDefinition |
|
||||
| d_globals.py:96 | inner_0 = FunctionExpr |
|
||||
| d_globals.py:96 | z_16 = ScopeEntryDefinition |
|
||||
| d_globals.py:98 | glob_16 = IntegerLiteral |
|
||||
| d_globals.py:101 | g1_17 = ScopeEntryDefinition |
|
||||
| d_globals.py:101 | g2_17 = ScopeEntryDefinition |
|
||||
| d_globals.py:101 | g3_18 = ScopeEntryDefinition |
|
||||
| d_globals.py:101 | g4_19 = ScopeEntryDefinition |
|
||||
| d_globals.py:101 | glob_17 = ScopeEntryDefinition |
|
||||
| d_globals.py:101 | otherInner_0 = FunctionExpr |
|
||||
| d_globals.py:101 | z_17 = ScopeEntryDefinition |
|
||||
| d_globals.py:104 | g1_15 = CallsiteRefinement(g1_14) |
|
||||
| d_globals.py:104 | g2_15 = CallsiteRefinement(g2_14) |
|
||||
| d_globals.py:104 | g3_16 = CallsiteRefinement(g3_15) |
|
||||
| d_globals.py:104 | g4_17 = CallsiteRefinement(g4_16) |
|
||||
| d_globals.py:104 | glob_15 = CallsiteRefinement(glob_14) |
|
||||
| d_globals.py:104 | z_15 = CallsiteRefinement(z_14) |
|
||||
| d_globals.py:107 | g1_18 = ScopeEntryDefinition |
|
||||
| d_globals.py:107 | g2_18 = ScopeEntryDefinition |
|
||||
| d_globals.py:107 | g3_19 = ScopeEntryDefinition |
|
||||
| d_globals.py:107 | g4_20 = ScopeEntryDefinition |
|
||||
| d_globals.py:107 | glob_18 = ScopeEntryDefinition |
|
||||
| d_globals.py:107 | redefine_1 = FunctionExpr |
|
||||
| d_globals.py:107 | z_18 = ScopeEntryDefinition |
|
||||
| d_globals.py:110 | z_19 = IntegerLiteral |
|
||||
| d_globals.py:113 | glob_19 = IntegerLiteral |
|
||||
| d_globals.py:118 | D_1 = ClassExpr |
|
||||
| d_globals.py:120 | __init___0 = FunctionExpr |
|
||||
| d_globals.py:120 | g1_19 = ScopeEntryDefinition |
|
||||
| d_globals.py:120 | g2_19 = ScopeEntryDefinition |
|
||||
| d_globals.py:120 | g3_20 = ScopeEntryDefinition |
|
||||
| d_globals.py:120 | g4_21 = ScopeEntryDefinition |
|
||||
| d_globals.py:120 | glob_20 = ScopeEntryDefinition |
|
||||
| d_globals.py:120 | self_0 = ParameterDefinition |
|
||||
| d_globals.py:120 | z_20 = ScopeEntryDefinition |
|
||||
| d_globals.py:123 | dict_3 = ScopeEntryDefinition |
|
||||
| d_globals.py:123 | foo_0 = FunctionExpr |
|
||||
| d_globals.py:123 | g1_20 = ScopeEntryDefinition |
|
||||
| d_globals.py:123 | g2_20 = ScopeEntryDefinition |
|
||||
| d_globals.py:123 | g3_21 = ScopeEntryDefinition |
|
||||
| d_globals.py:123 | g4_22 = ScopeEntryDefinition |
|
||||
| d_globals.py:123 | glob_21 = ScopeEntryDefinition |
|
||||
| d_globals.py:123 | self_0 = ParameterDefinition |
|
||||
| d_globals.py:123 | z_21 = ScopeEntryDefinition |
|
||||
| d_globals.py:126 | g1_21 = ScopeEntryDefinition |
|
||||
| d_globals.py:126 | g2_21 = ScopeEntryDefinition |
|
||||
| d_globals.py:126 | g3_22 = ScopeEntryDefinition |
|
||||
| d_globals.py:126 | g4_23 = ScopeEntryDefinition |
|
||||
| d_globals.py:126 | glob_22 = ScopeEntryDefinition |
|
||||
| d_globals.py:126 | use_list_attribute_1 = FunctionExpr |
|
||||
| d_globals.py:126 | z_22 = ScopeEntryDefinition |
|
||||
| d_globals.py:127 | l_0 = List |
|
||||
| d_globals.py:128 | g1_22 = CallsiteRefinement(g1_21) |
|
||||
| d_globals.py:128 | g2_22 = CallsiteRefinement(g2_21) |
|
||||
| d_globals.py:128 | g3_23 = CallsiteRefinement(g3_22) |
|
||||
| d_globals.py:128 | g4_24 = CallsiteRefinement(g4_23) |
|
||||
| d_globals.py:128 | glob_23 = CallsiteRefinement(glob_22) |
|
||||
| d_globals.py:128 | l_1 = ArgumentRefinement(l_0) |
|
||||
| d_globals.py:128 | z_23 = CallsiteRefinement(z_22) |
|
||||
| e_temporal.py:0 | __name___0 = ScopeEntryDefinition |
|
||||
| e_temporal.py:0 | __package___0 = ScopeEntryDefinition |
|
||||
| e_temporal.py:0 | x_0 = ScopeEntryDefinition |
|
||||
| e_temporal.py:2 | sys_0 = ImportExpr |
|
||||
| e_temporal.py:4 | f_0 = FunctionExpr |
|
||||
| e_temporal.py:4 | sys_1 = ScopeEntryDefinition |
|
||||
| e_temporal.py:9 | arg_0 = ParameterDefinition |
|
||||
| e_temporal.py:9 | g_0 = FunctionExpr |
|
||||
| e_temporal.py:12 | x_1 = g() |
|
||||
| f_finally.py:0 | __name___0 = ScopeEntryDefinition |
|
||||
| f_finally.py:0 | __package___0 = ScopeEntryDefinition |
|
||||
| f_finally.py:1 | Queue_0 = ClassExpr |
|
||||
| f_finally.py:3 | close_0 = FunctionExpr |
|
||||
| f_finally.py:3 | close_4 = Pi(close_0) [false] |
|
||||
| f_finally.py:3 | close_5 = phi(close_3, close_4) |
|
||||
| f_finally.py:3 | self_0 = ParameterDefinition |
|
||||
| f_finally.py:3 | self_3 = phi(self_1, self_2) |
|
||||
| f_finally.py:4 | self_1 = AttributeAssignment '_closed'(self_0) |
|
||||
| f_finally.py:8 | close_0 = Attribute |
|
||||
| f_finally.py:8 | close_1 = Attribute |
|
||||
| f_finally.py:9 | close_2 = SingleSuccessorGuard(close_1) [true] |
|
||||
| f_finally.py:10 | close_3 = Pi(close_0) [true] |
|
||||
| f_finally.py:10 | self_2 = AttributeAssignment '_close'(self_1) |
|
||||
| g_class_init.py:0 | __name___0 = ScopeEntryDefinition |
|
||||
| g_class_init.py:0 | __package___0 = ScopeEntryDefinition |
|
||||
| g_class_init.py:3 | C_0 = ClassExpr |
|
||||
| g_class_init.py:5 | __init___0 = FunctionExpr |
|
||||
| g_class_init.py:5 | self_0 = ParameterDefinition |
|
||||
| g_class_init.py:6 | self_1 = SelfCallsiteRefinement(self_0) |
|
||||
| g_class_init.py:7 | self_2 = AttributeAssignment 'x'(self_1) |
|
||||
| g_class_init.py:9 | _init_0 = FunctionExpr |
|
||||
| g_class_init.py:9 | self_0 = ParameterDefinition |
|
||||
| g_class_init.py:10 | self_1 = AttributeAssignment 'y'(self_0) |
|
||||
| g_class_init.py:11 | self_2 = SelfCallsiteRefinement(self_1) |
|
||||
| g_class_init.py:13 | _init2_0 = FunctionExpr |
|
||||
| g_class_init.py:13 | self_0 = ParameterDefinition |
|
||||
| g_class_init.py:14 | self_1 = AttributeAssignment 'z'(self_0) |
|
||||
| g_class_init.py:16 | method_0 = FunctionExpr |
|
||||
| g_class_init.py:16 | self_0 = ParameterDefinition |
|
||||
| g_class_init.py:19 | self_1 = Pi(self_0) [true] |
|
||||
| g_class_init.py:20 | self_2 = Pi(self_0) [false] |
|
||||
| g_class_init.py:20 | self_3 = phi(self_1, self_2) |
|
||||
| g_class_init.py:24 | Oddities_0 = ClassExpr |
|
||||
| g_class_init.py:24 | float_0 = ScopeEntryDefinition |
|
||||
| g_class_init.py:24 | int_0 = ScopeEntryDefinition |
|
||||
| g_class_init.py:26 | int_1 = int |
|
||||
| g_class_init.py:27 | float_1 = float |
|
||||
| g_class_init.py:28 | l_0 = len |
|
||||
| g_class_init.py:29 | h_0 = hash |
|
||||
| g_class_init.py:32 | D_0 = ClassExpr |
|
||||
| g_class_init.py:34 | D_1 = ScopeEntryDefinition |
|
||||
| g_class_init.py:34 | __init___0 = FunctionExpr |
|
||||
| g_class_init.py:34 | self_0 = ParameterDefinition |
|
||||
| g_class_init.py:35 | D_2 = ArgumentRefinement(D_1) |
|
||||
| g_class_init.py:42 | V2_0 = Str |
|
||||
| g_class_init.py:43 | V3_0 = Str |
|
||||
| g_class_init.py:45 | E_0 = ClassExpr |
|
||||
| g_class_init.py:46 | V2_1 = ScopeEntryDefinition |
|
||||
| g_class_init.py:46 | V3_1 = ScopeEntryDefinition |
|
||||
| g_class_init.py:46 | __init___0 = FunctionExpr |
|
||||
| g_class_init.py:46 | c_0 = ParameterDefinition |
|
||||
| g_class_init.py:46 | c_3 = phi(c_1, c_2) |
|
||||
| g_class_init.py:46 | self_0 = ParameterDefinition |
|
||||
| g_class_init.py:46 | self_3 = phi(self_1, self_2) |
|
||||
| g_class_init.py:48 | c_1 = Pi(c_0) [true] |
|
||||
| g_class_init.py:48 | self_1 = AttributeAssignment 'version'(self_0) |
|
||||
| g_class_init.py:50 | c_2 = Pi(c_0) [false] |
|
||||
| g_class_init.py:50 | self_2 = AttributeAssignment 'version'(self_0) |
|
||||
| g_class_init.py:52 | V2_2 = ScopeEntryDefinition |
|
||||
| g_class_init.py:52 | meth_0 = FunctionExpr |
|
||||
| g_class_init.py:52 | self_0 = ParameterDefinition |
|
||||
| g_class_init.py:52 | self_2 = Pi(self_0) [false] |
|
||||
| g_class_init.py:52 | self_3 = phi(self_1, self_2) |
|
||||
| g_class_init.py:54 | self_1 = Pi(self_0) [true] |
|
||||
| h_classes.py:0 | Base_0 = ScopeEntryDefinition |
|
||||
| h_classes.py:0 | D_0 = ScopeEntryDefinition |
|
||||
| h_classes.py:0 | Derived1_0 = ScopeEntryDefinition |
|
||||
| h_classes.py:0 | Derived2_0 = ScopeEntryDefinition |
|
||||
| h_classes.py:0 | Derived3_0 = ScopeEntryDefinition |
|
||||
| h_classes.py:0 | __name___0 = ScopeEntryDefinition |
|
||||
| h_classes.py:0 | __package___0 = ScopeEntryDefinition |
|
||||
| h_classes.py:0 | f_0 = ScopeEntryDefinition |
|
||||
| h_classes.py:0 | k_0 = ScopeEntryDefinition |
|
||||
| h_classes.py:0 | thing_0 = ScopeEntryDefinition |
|
||||
| h_classes.py:1 | sys_0 = ImportExpr |
|
||||
| h_classes.py:3 | C_0 = ClassExpr |
|
||||
| h_classes.py:5 | x_0 = Str |
|
||||
| h_classes.py:7 | __init___0 = FunctionExpr |
|
||||
| h_classes.py:7 | self_0 = ParameterDefinition |
|
||||
| h_classes.py:8 | self_1 = AttributeAssignment 'y'(self_0) |
|
||||
| h_classes.py:11 | sys_1 = ArgumentRefinement(sys_0) |
|
||||
| h_classes.py:14 | C_1 = ScopeEntryDefinition |
|
||||
| h_classes.py:14 | arg_0 = ParameterDefinition |
|
||||
| h_classes.py:14 | k_1 = FunctionExpr |
|
||||
| h_classes.py:14 | sys_2 = ScopeEntryDefinition |
|
||||
| h_classes.py:17 | arg_1 = ArgumentRefinement(arg_0) |
|
||||
| h_classes.py:23 | Base_1 = ClassExpr |
|
||||
| h_classes.py:25 | Derived1_2 = ScopeEntryDefinition |
|
||||
| h_classes.py:25 | Derived2_2 = ScopeEntryDefinition |
|
||||
| h_classes.py:25 | Derived3_2 = ScopeEntryDefinition |
|
||||
| h_classes.py:25 | __init___0 = FunctionExpr |
|
||||
| h_classes.py:25 | choice_0 = ParameterDefinition |
|
||||
| h_classes.py:25 | choice_5 = phi(choice_1, choice_3, choice_4) |
|
||||
| h_classes.py:25 | self_0 = ParameterDefinition |
|
||||
| h_classes.py:25 | self_4 = phi(self_1, self_2, self_3) |
|
||||
| h_classes.py:27 | choice_1 = Pi(choice_0) [true] |
|
||||
| h_classes.py:27 | self_1 = AttributeAssignment '__class__'(self_0) |
|
||||
| h_classes.py:28 | choice_2 = Pi(choice_0) [false] |
|
||||
| h_classes.py:29 | choice_3 = Pi(choice_2) [true] |
|
||||
| h_classes.py:29 | self_2 = AttributeAssignment '__class__'(self_0) |
|
||||
| h_classes.py:31 | choice_4 = Pi(choice_2) [false] |
|
||||
| h_classes.py:31 | self_3 = AttributeAssignment '__class__'(self_0) |
|
||||
| h_classes.py:33 | Derived1_1 = ClassExpr |
|
||||
| h_classes.py:36 | Derived2_1 = ClassExpr |
|
||||
| h_classes.py:39 | Derived3_1 = ClassExpr |
|
||||
| h_classes.py:42 | thing_1 = Base() |
|
||||
| h_classes.py:45 | arg0_0 = ParameterDefinition |
|
||||
| h_classes.py:45 | arg1_0 = ParameterDefinition |
|
||||
| h_classes.py:45 | arg2_0 = ParameterDefinition |
|
||||
| h_classes.py:45 | f_1 = FunctionExpr |
|
||||
| h_classes.py:48 | D_1 = ClassExpr |
|
||||
| h_classes.py:48 | f_2 = ScopeEntryDefinition |
|
||||
| h_classes.py:50 | m_0 = f |
|
||||
| h_classes.py:52 | arg1_0 = ParameterDefinition |
|
||||
| h_classes.py:52 | n_0 = FunctionExpr |
|
||||
| h_classes.py:52 | self_0 = ParameterDefinition |
|
||||
| i_imports.py:0 | BytesIO_0 = ScopeEntryDefinition |
|
||||
| i_imports.py:0 | StringIO_0 = ScopeEntryDefinition |
|
||||
| i_imports.py:0 | __name___0 = ScopeEntryDefinition |
|
||||
| i_imports.py:0 | __package___0 = ScopeEntryDefinition |
|
||||
| i_imports.py:0 | _io_0 = ScopeEntryDefinition |
|
||||
| i_imports.py:0 | argv_0 = ScopeEntryDefinition |
|
||||
| i_imports.py:0 | code_0 = ScopeEntryDefinition |
|
||||
| i_imports.py:0 | io_0 = ScopeEntryDefinition |
|
||||
| i_imports.py:0 | sys_0 = ScopeEntryDefinition |
|
||||
| i_imports.py:0 | xyz_0 = ScopeEntryDefinition |
|
||||
| i_imports.py:0 | z_0 = ScopeEntryDefinition |
|
||||
| i_imports.py:3 | a_0 = IntegerLiteral |
|
||||
| i_imports.py:4 | b_0 = IntegerLiteral |
|
||||
| i_imports.py:5 | c_0 = IntegerLiteral |
|
||||
| i_imports.py:7 | BytesIO_1 = ImportStarRefinement(BytesIO_0) |
|
||||
| i_imports.py:7 | StringIO_1 = ImportStarRefinement(StringIO_0) |
|
||||
| i_imports.py:7 | __name___1 = ImportStarRefinement(__name___0) |
|
||||
| i_imports.py:7 | __package___1 = ImportStarRefinement(__package___0) |
|
||||
| i_imports.py:7 | _io_1 = ImportStarRefinement(_io_0) |
|
||||
| i_imports.py:7 | a_1 = ImportStarRefinement(a_0) |
|
||||
| i_imports.py:7 | b_1 = ImportStarRefinement(b_0) |
|
||||
| i_imports.py:7 | c_1 = ImportStarRefinement(c_0) |
|
||||
| i_imports.py:7 | io_1 = ImportStarRefinement(io_0) |
|
||||
| i_imports.py:7 | z_1 = ImportStarRefinement(z_0) |
|
||||
| i_imports.py:8 | xyz_1 = ImportMember |
|
||||
| i_imports.py:13 | argv_1 = ImportMember |
|
||||
| i_imports.py:17 | sys_1 = ImportExpr |
|
||||
| i_imports.py:23 | code_1 = ImportExpr |
|
||||
| i_imports.py:27 | __name___2 = ImportStarRefinement(__name___1) |
|
||||
| i_imports.py:27 | __package___2 = ImportStarRefinement(__package___1) |
|
||||
| i_imports.py:27 | a_2 = ImportStarRefinement(a_1) |
|
||||
| i_imports.py:27 | argv_2 = ImportStarRefinement(argv_1) |
|
||||
| i_imports.py:27 | b_2 = ImportStarRefinement(b_1) |
|
||||
| i_imports.py:27 | c_2 = ImportStarRefinement(c_1) |
|
||||
| i_imports.py:27 | sys_2 = ImportStarRefinement(sys_1) |
|
||||
| i_imports.py:27 | xyz_2 = ImportStarRefinement(xyz_1) |
|
||||
| i_imports.py:27 | z_2 = ImportStarRefinement(z_1) |
|
||||
| i_imports.py:29 | _io_2 = ImportExpr |
|
||||
| i_imports.py:33 | io_2 = ImportExpr |
|
||||
| i_imports.py:34 | StringIO_2 = Attribute |
|
||||
| i_imports.py:35 | BytesIO_2 = Attribute |
|
||||
| i_imports.py:37 | code_2 = ImportExpr |
|
||||
| j_convoluted_imports.py:0 | __name___0 = ScopeEntryDefinition |
|
||||
| j_convoluted_imports.py:0 | __package___0 = ScopeEntryDefinition |
|
||||
| j_convoluted_imports.py:0 | object_0 = ScopeEntryDefinition |
|
||||
| j_convoluted_imports.py:0 | p_0 = ScopeEntryDefinition |
|
||||
| j_convoluted_imports.py:0 | q_0 = ScopeEntryDefinition |
|
||||
| j_convoluted_imports.py:0 | r_0 = ScopeEntryDefinition |
|
||||
| j_convoluted_imports.py:0 | unknown_0 = ScopeEntryDefinition |
|
||||
| j_convoluted_imports.py:3 | module_0 = ImportMember |
|
||||
| j_convoluted_imports.py:6 | x_0 = ImportMember |
|
||||
| j_convoluted_imports.py:9 | C_0 = ClassExpr |
|
||||
| j_convoluted_imports.py:11 | module2_0 = ImportMember |
|
||||
| j_convoluted_imports.py:13 | f_0 = FunctionExpr |
|
||||
| j_convoluted_imports.py:13 | self_0 = ParameterDefinition |
|
||||
| j_convoluted_imports.py:14 | x_0 = ImportMember |
|
||||
| j_convoluted_imports.py:16 | moduleX_0 = ImportMember |
|
||||
| j_convoluted_imports.py:20 | C_1 = ImportStarRefinement(C_0) |
|
||||
| j_convoluted_imports.py:20 | __name___1 = ImportStarRefinement(__name___0) |
|
||||
| j_convoluted_imports.py:20 | __package___1 = ImportStarRefinement(__package___0) |
|
||||
| j_convoluted_imports.py:20 | moduleX_1 = ImportStarRefinement(moduleX_0) |
|
||||
| j_convoluted_imports.py:20 | module_1 = ImportStarRefinement(module_0) |
|
||||
| j_convoluted_imports.py:20 | object_1 = ImportStarRefinement(object_0) |
|
||||
| j_convoluted_imports.py:20 | p_1 = ImportStarRefinement(p_0) |
|
||||
| j_convoluted_imports.py:20 | q_1 = ImportStarRefinement(q_0) |
|
||||
| j_convoluted_imports.py:20 | r_1 = ImportStarRefinement(r_0) |
|
||||
| j_convoluted_imports.py:20 | unknown_1 = ImportStarRefinement(unknown_0) |
|
||||
| j_convoluted_imports.py:20 | x_1 = ImportStarRefinement(x_0) |
|
||||
| j_convoluted_imports.py:22 | C_2 = ImportStarRefinement(C_0) |
|
||||
| j_convoluted_imports.py:22 | __name___2 = ImportStarRefinement(__name___0) |
|
||||
| j_convoluted_imports.py:22 | __package___2 = ImportStarRefinement(__package___0) |
|
||||
| j_convoluted_imports.py:22 | moduleX_2 = ImportStarRefinement(moduleX_0) |
|
||||
| j_convoluted_imports.py:22 | module_2 = ImportStarRefinement(module_0) |
|
||||
| j_convoluted_imports.py:22 | object_2 = ImportStarRefinement(object_0) |
|
||||
| j_convoluted_imports.py:22 | p_2 = ImportStarRefinement(p_0) |
|
||||
| j_convoluted_imports.py:22 | q_2 = ImportStarRefinement(q_0) |
|
||||
| j_convoluted_imports.py:22 | r_2 = ImportStarRefinement(r_0) |
|
||||
| j_convoluted_imports.py:22 | unknown_2 = ImportStarRefinement(unknown_0) |
|
||||
| j_convoluted_imports.py:22 | x_2 = ImportStarRefinement(x_0) |
|
||||
| j_convoluted_imports.py:23 | C_3 = phi(C_1, C_2) |
|
||||
| j_convoluted_imports.py:23 | __name___3 = phi(__name___1, __name___2) |
|
||||
| j_convoluted_imports.py:23 | __package___3 = phi(__package___1, __package___2) |
|
||||
| j_convoluted_imports.py:23 | moduleX_3 = phi(moduleX_1, moduleX_2) |
|
||||
| j_convoluted_imports.py:23 | module_3 = phi(module_1, module_2) |
|
||||
| j_convoluted_imports.py:23 | object_3 = phi(object_1, object_2) |
|
||||
| j_convoluted_imports.py:23 | p_3 = phi(p_1, p_2) |
|
||||
| j_convoluted_imports.py:23 | q_3 = phi(q_1, q_2) |
|
||||
| j_convoluted_imports.py:23 | r_3 = phi(r_1, r_2) |
|
||||
| j_convoluted_imports.py:23 | unknown_3 = phi(unknown_1, unknown_2) |
|
||||
| j_convoluted_imports.py:23 | x_3 = phi(x_1, x_2) |
|
||||
| k_getsetattr.py:0 | __name___0 = ScopeEntryDefinition |
|
||||
| k_getsetattr.py:0 | __package___0 = ScopeEntryDefinition |
|
||||
| k_getsetattr.py:4 | C_0 = ClassExpr |
|
||||
| k_getsetattr.py:6 | meth1_0 = FunctionExpr |
|
||||
| k_getsetattr.py:6 | self_0 = ParameterDefinition |
|
||||
| k_getsetattr.py:7 | self_1 = ArgumentRefinement(self_0) |
|
||||
| k_getsetattr.py:8 | self_2 = ArgumentRefinement(self_1) |
|
||||
| k_getsetattr.py:9 | self_3 = ArgumentRefinement(self_2) |
|
||||
| k_getsetattr.py:10 | self_4 = ArgumentRefinement(self_3) |
|
||||
| k_getsetattr.py:12 | meth2_0 = FunctionExpr |
|
||||
| k_getsetattr.py:12 | self_0 = ParameterDefinition |
|
||||
| k_getsetattr.py:13 | self_1 = ArgumentRefinement(self_0) |
|
||||
| k_getsetattr.py:14 | self_2 = ArgumentRefinement(self_1) |
|
||||
| k_getsetattr.py:15 | self_3 = SelfCallsiteRefinement(self_2) |
|
||||
| k_getsetattr.py:16 | self_4 = ArgumentRefinement(self_3) |
|
||||
| k_getsetattr.py:17 | self_5 = ArgumentRefinement(self_4) |
|
||||
| k_getsetattr.py:18 | self_6 = ArgumentRefinement(self_5) |
|
||||
| k_getsetattr.py:21 | C_1 = ScopeEntryDefinition |
|
||||
| k_getsetattr.py:21 | cond_0 = ParameterDefinition |
|
||||
| k_getsetattr.py:21 | k_0 = FunctionExpr |
|
||||
| k_getsetattr.py:22 | c1_0 = C() |
|
||||
| k_getsetattr.py:23 | c2_0 = C() |
|
||||
| k_getsetattr.py:24 | c3_0 = C() |
|
||||
| k_getsetattr.py:25 | c1_1 = AttributeAssignment 'a'(c1_0) |
|
||||
| k_getsetattr.py:27 | c2_1 = AttributeAssignment 'a'(c2_0) |
|
||||
| k_getsetattr.py:27 | cond_1 = Pi(cond_0) [true] |
|
||||
| k_getsetattr.py:28 | c2_2 = phi(c2_0, c2_1) |
|
||||
| k_getsetattr.py:28 | cond_2 = Pi(cond_0) [false] |
|
||||
| k_getsetattr.py:28 | cond_3 = phi(cond_1, cond_2) |
|
||||
| k_getsetattr.py:31 | c3_1 = AttributeAssignment 'a'(c3_0) |
|
||||
| n_nesting.py:0 | D_0 = ScopeEntryDefinition |
|
||||
| n_nesting.py:0 | __name___0 = ScopeEntryDefinition |
|
||||
| n_nesting.py:0 | __package___0 = ScopeEntryDefinition |
|
||||
| n_nesting.py:8 | C_0 = ScopeEntryDefinition |
|
||||
| n_nesting.py:8 | compile_ops_0 = ParameterDefinition |
|
||||
| n_nesting.py:8 | foo_0 = FunctionExpr |
|
||||
| n_nesting.py:9 | C_1 = CallsiteRefinement(C_0) |
|
||||
| n_nesting.py:10 | C_5 = ScopeEntryDefinition |
|
||||
| n_nesting.py:10 | compile_ops_1 = Pi(compile_ops_0) [true] |
|
||||
| n_nesting.py:10 | compile_ops_2 = ScopeEntryDefinition |
|
||||
| n_nesting.py:10 | inner_0 = FunctionExpr |
|
||||
| n_nesting.py:10 | node_def_0 = ParameterDefinition |
|
||||
| n_nesting.py:11 | C_6 = CallsiteRefinement(C_5) |
|
||||
| n_nesting.py:11 | node_def_1 = ArgumentRefinement(node_def_0) |
|
||||
| n_nesting.py:13 | C_7 = ScopeEntryDefinition |
|
||||
| n_nesting.py:13 | compile_ops_3 = Pi(compile_ops_0) [false] |
|
||||
| n_nesting.py:13 | compile_ops_4 = ScopeEntryDefinition |
|
||||
| n_nesting.py:13 | inner_1 = FunctionExpr |
|
||||
| n_nesting.py:13 | node_def_0 = ParameterDefinition |
|
||||
| n_nesting.py:14 | C_8 = CallsiteRefinement(C_7) |
|
||||
| n_nesting.py:14 | node_def_1 = ArgumentRefinement(node_def_0) |
|
||||
| n_nesting.py:15 | attrs_0 = Dict |
|
||||
| n_nesting.py:16 | compile_ops_5 = phi(compile_ops_1, compile_ops_3) |
|
||||
| n_nesting.py:16 | inner_2 = phi(inner_0, inner_1) |
|
||||
| n_nesting.py:22 | C_9 = ScopeEntryDefinition |
|
||||
| n_nesting.py:22 | f1_0 = FunctionExpr |
|
||||
| n_nesting.py:23 | C_10 = AttributeAssignment 'flag'(C_9) |
|
||||
| n_nesting.py:24 | C_11 = ScopeEntryDefinition |
|
||||
| n_nesting.py:24 | f1_1 = ScopeEntryDefinition |
|
||||
| n_nesting.py:24 | f2_0 = FunctionExpr |
|
||||
| n_nesting.py:25 | C_12 = CallsiteRefinement(C_11) |
|
||||
| n_nesting.py:26 | C_13 = ScopeEntryDefinition |
|
||||
| n_nesting.py:26 | f2_1 = ScopeEntryDefinition |
|
||||
| n_nesting.py:26 | f3_0 = FunctionExpr |
|
||||
| n_nesting.py:27 | C_14 = CallsiteRefinement(C_13) |
|
||||
| n_nesting.py:28 | C_15 = ScopeEntryDefinition |
|
||||
| n_nesting.py:28 | f3_1 = ScopeEntryDefinition |
|
||||
| n_nesting.py:28 | f4_0 = FunctionExpr |
|
||||
| n_nesting.py:29 | C_16 = CallsiteRefinement(C_15) |
|
||||
| n_nesting.py:30 | C_2 = ClassExpr |
|
||||
| n_nesting.py:31 | C_3 = CallsiteRefinement(C_2) |
|
||||
| n_nesting.py:32 | D_1 = ClassExpr |
|
||||
| n_nesting.py:34 | C_4 = IntegerLiteral |
|
||||
| r_regressions.py:0 | TestFirst_0 = ScopeEntryDefinition |
|
||||
| r_regressions.py:0 | __name___0 = ScopeEntryDefinition |
|
||||
| r_regressions.py:0 | __package___0 = ScopeEntryDefinition |
|
||||
| r_regressions.py:0 | _names_0 = ScopeEntryDefinition |
|
||||
| r_regressions.py:0 | gv_0 = ScopeEntryDefinition |
|
||||
| r_regressions.py:0 | mod_gv_0 = ScopeEntryDefinition |
|
||||
| r_regressions.py:0 | sys_0 = ScopeEntryDefinition |
|
||||
| r_regressions.py:0 | t_0 = ScopeEntryDefinition |
|
||||
| r_regressions.py:5 | Queue_0 = ClassExpr |
|
||||
| r_regressions.py:7 | __init___0 = FunctionExpr |
|
||||
| r_regressions.py:7 | gv_5 = ScopeEntryDefinition |
|
||||
| r_regressions.py:7 | self_0 = ParameterDefinition |
|
||||
| r_regressions.py:9 | gv_6 = CallsiteRefinement(gv_5) |
|
||||
| r_regressions.py:9 | self_1 = SelfCallsiteRefinement(self_0) |
|
||||
| r_regressions.py:11 | _after_fork_0 = FunctionExpr |
|
||||
| r_regressions.py:11 | gv_7 = ScopeEntryDefinition |
|
||||
| r_regressions.py:11 | self_0 = ParameterDefinition |
|
||||
| r_regressions.py:12 | self_1 = AttributeAssignment '_closed'(self_0) |
|
||||
| r_regressions.py:13 | self_2 = AttributeAssignment '_close'(self_1) |
|
||||
| r_regressions.py:15 | close_0 = FunctionExpr |
|
||||
| r_regressions.py:15 | close_4 = Pi(close_0) [false] |
|
||||
| r_regressions.py:15 | close_5 = phi(close_3, close_4) |
|
||||
| r_regressions.py:15 | gv_8 = ScopeEntryDefinition |
|
||||
| r_regressions.py:15 | gv_33 = phi(gv_9, gv_11) |
|
||||
| r_regressions.py:15 | self_0 = ParameterDefinition |
|
||||
| r_regressions.py:15 | self_3 = phi(self_1, self_2) |
|
||||
| r_regressions.py:16 | self_1 = AttributeAssignment '_closed'(self_0) |
|
||||
| r_regressions.py:18 | gv_9 = CallsiteRefinement(gv_8) |
|
||||
| r_regressions.py:20 | close_0 = Attribute |
|
||||
| r_regressions.py:20 | close_1 = Attribute |
|
||||
| r_regressions.py:20 | gv_10 = phi(gv_8, gv_9) |
|
||||
| r_regressions.py:21 | close_2 = SingleSuccessorGuard(close_1) [true] |
|
||||
| r_regressions.py:22 | close_3 = Pi(close_0) [true] |
|
||||
| r_regressions.py:22 | self_2 = AttributeAssignment '_close'(self_1) |
|
||||
| r_regressions.py:23 | gv_11 = CallsiteRefinement(gv_9) |
|
||||
| r_regressions.py:27 | f_0 = FunctionExpr |
|
||||
| r_regressions.py:27 | gv_12 = ScopeEntryDefinition |
|
||||
| r_regressions.py:27 | gv_33 = phi(gv_12, gv_13) |
|
||||
| r_regressions.py:27 | x_0 = ParameterDefinition |
|
||||
| r_regressions.py:27 | x_5 = phi(x_3, x_4) |
|
||||
| r_regressions.py:27 | y_0 = ParameterDefinition |
|
||||
| r_regressions.py:27 | y_7 = Pi(y_2) [false] |
|
||||
| r_regressions.py:27 | y_8 = phi(y_3, y_6, y_7) |
|
||||
| r_regressions.py:27 | z_0 = ParameterDefinition |
|
||||
| r_regressions.py:27 | z_3 = Pi(z_0) [false] |
|
||||
| r_regressions.py:27 | z_4 = phi(z_0, z_2, z_3) |
|
||||
| r_regressions.py:31 | x_1 = Pi(x_0) [true] |
|
||||
| r_regressions.py:33 | x_2 = Pi(x_0) [false] |
|
||||
| r_regressions.py:33 | x_3 = phi(x_1, x_2) |
|
||||
| r_regressions.py:33 | y_1 = Pi(y_0) [false] |
|
||||
| r_regressions.py:33 | y_2 = phi(y_0, y_1) |
|
||||
| r_regressions.py:36 | y_3 = Pi(y_2) [true] |
|
||||
| r_regressions.py:39 | gv_13 = CallsiteRefinement(gv_12) |
|
||||
| r_regressions.py:39 | x_4 = phi(x_1, x_3) |
|
||||
| r_regressions.py:39 | y_4 = Pi(y_0) [true] |
|
||||
| r_regressions.py:39 | y_5 = phi(y_3, y_4) |
|
||||
| r_regressions.py:39 | y_6 = ArgumentRefinement(y_5) |
|
||||
| r_regressions.py:39 | z_1 = Pi(z_0) [true] |
|
||||
| r_regressions.py:39 | z_2 = phi(z_0, z_1) |
|
||||
| r_regressions.py:42 | find_library_0 = FunctionExpr |
|
||||
| r_regressions.py:42 | gv_14 = ScopeEntryDefinition |
|
||||
| r_regressions.py:42 | name_0 = ParameterDefinition |
|
||||
| r_regressions.py:43 | __0 = x()[1] |
|
||||
| r_regressions.py:43 | data_0 = x()[0] |
|
||||
| r_regressions.py:43 | gv_15 = CallsiteRefinement(gv_14) |
|
||||
| r_regressions.py:46 | fail_0 = FunctionExpr |
|
||||
| r_regressions.py:46 | gv_16 = ScopeEntryDefinition |
|
||||
| r_regressions.py:46 | msg_0 = ParameterDefinition |
|
||||
| r_regressions.py:49 | C_0 = ClassExpr |
|
||||
| r_regressions.py:51 | fail_0 = FunctionExpr |
|
||||
| r_regressions.py:51 | fail_1 = ScopeEntryDefinition |
|
||||
| r_regressions.py:51 | gv_17 = ScopeEntryDefinition |
|
||||
| r_regressions.py:51 | msg_0 = ParameterDefinition |
|
||||
| r_regressions.py:51 | self_0 = ParameterDefinition |
|
||||
| r_regressions.py:52 | gv_18 = CallsiteRefinement(gv_17) |
|
||||
| r_regressions.py:52 | msg_1 = ArgumentRefinement(msg_0) |
|
||||
| r_regressions.py:58 | decorator_0 = ParameterDefinition |
|
||||
| r_regressions.py:58 | gv_19 = ScopeEntryDefinition |
|
||||
| r_regressions.py:58 | method_decorator_0 = FunctionExpr |
|
||||
| r_regressions.py:58 | name_0 = ParameterDefinition |
|
||||
| r_regressions.py:61 | _dec_0 = FunctionExpr |
|
||||
| r_regressions.py:61 | func_0 = ScopeEntryDefinition |
|
||||
| r_regressions.py:61 | gv_20 = ScopeEntryDefinition |
|
||||
| r_regressions.py:61 | gv_33 = phi(gv_23, gv_25) |
|
||||
| r_regressions.py:61 | is_class_6 = phi(is_class_4, is_class_5) |
|
||||
| r_regressions.py:61 | name_1 = ScopeEntryDefinition |
|
||||
| r_regressions.py:61 | obj_0 = ParameterDefinition |
|
||||
| r_regressions.py:61 | obj_3 = phi(obj_1, obj_2) |
|
||||
| r_regressions.py:62 | gv_21 = CallsiteRefinement(gv_20) |
|
||||
| r_regressions.py:62 | is_class_0 = isinstance() |
|
||||
| r_regressions.py:62 | obj_1 = ArgumentRefinement(obj_0) |
|
||||
| r_regressions.py:64 | gv_22 = CallsiteRefinement(gv_21) |
|
||||
| r_regressions.py:64 | is_class_1 = Pi(is_class_0) [true] |
|
||||
| r_regressions.py:66 | func_1 = obj |
|
||||
| r_regressions.py:66 | is_class_2 = Pi(is_class_0) [false] |
|
||||
| r_regressions.py:68 | _wrapper_0 = FunctionExpr |
|
||||
| r_regressions.py:68 | args_0 = ParameterDefinition |
|
||||
| r_regressions.py:68 | func_2 = phi(func_0, func_1) |
|
||||
| r_regressions.py:68 | gv_23 = phi(gv_21, gv_22) |
|
||||
| r_regressions.py:68 | gv_24 = ScopeEntryDefinition |
|
||||
| r_regressions.py:68 | is_class_3 = phi(is_class_1, is_class_2) |
|
||||
| r_regressions.py:68 | kwargs_0 = ParameterDefinition |
|
||||
| r_regressions.py:68 | self_0 = ParameterDefinition |
|
||||
| r_regressions.py:73 | gv_25 = CallsiteRefinement(gv_23) |
|
||||
| r_regressions.py:73 | is_class_4 = Pi(is_class_3) [true] |
|
||||
| r_regressions.py:73 | obj_2 = ArgumentRefinement(obj_1) |
|
||||
| r_regressions.py:76 | is_class_5 = Pi(is_class_3) [false] |
|
||||
| r_regressions.py:80 | deco_0 = FunctionExpr |
|
||||
| r_regressions.py:80 | func_0 = ParameterDefinition |
|
||||
| r_regressions.py:80 | gv_26 = ScopeEntryDefinition |
|
||||
| r_regressions.py:81 | _wrapper_0 = FunctionExpr |
|
||||
| r_regressions.py:81 | args_0 = ParameterDefinition |
|
||||
| r_regressions.py:81 | gv_27 = ScopeEntryDefinition |
|
||||
| r_regressions.py:81 | kwargs_0 = ParameterDefinition |
|
||||
| r_regressions.py:85 | deco_1 = ArgumentRefinement(deco_0) |
|
||||
| r_regressions.py:85 | gv_1 = CallsiteRefinement(gv_0) |
|
||||
| r_regressions.py:85 | gv_2 = CallsiteRefinement(gv_1) |
|
||||
| r_regressions.py:86 | TestFirst_1 = method_decorator()() |
|
||||
| r_regressions.py:87 | gv_28 = ScopeEntryDefinition |
|
||||
| r_regressions.py:87 | method_0 = FunctionExpr |
|
||||
| r_regressions.py:87 | self_0 = ParameterDefinition |
|
||||
| r_regressions.py:90 | gv_3 = CallsiteRefinement(gv_2) |
|
||||
| r_regressions.py:90 | gv_4 = CallsiteRefinement(gv_3) |
|
||||
| r_regressions.py:93 | sys_1 = ImportExpr |
|
||||
| r_regressions.py:95 | _names_1 = Attribute |
|
||||
| r_regressions.py:98 | _names_2 = Pi(_names_1) [true] |
|
||||
| r_regressions.py:98 | t_1 = ImportExpr |
|
||||
| r_regressions.py:100 | _names_3 = Pi(_names_1) [false] |
|
||||
| r_regressions.py:100 | _names_4 = phi(_names_2, _names_3) |
|
||||
| r_regressions.py:100 | gv_29 = C() |
|
||||
| r_regressions.py:100 | t_2 = phi(t_0, t_1) |
|
||||
| r_regressions.py:102 | gv_30 = CallsiteRefinement(gv_29) |
|
||||
| r_regressions.py:106 | gv_31 = ScopeEntryDefinition |
|
||||
| r_regressions.py:106 | mod_gv_1 = FunctionExpr |
|
||||
| r_regressions.py:106 | x_0 = ParameterDefinition |
|
||||
| r_regressions.py:107 | gv_32 = AttributeAssignment 'attr'(gv_31) |
|
||||
| s_scopes.py:0 | __name___0 = ScopeEntryDefinition |
|
||||
| s_scopes.py:0 | __package___0 = ScopeEntryDefinition |
|
||||
| s_scopes.py:0 | float_0 = ScopeEntryDefinition |
|
||||
| s_scopes.py:0 | x_0 = ScopeEntryDefinition |
|
||||
| s_scopes.py:4 | float_1 = True |
|
||||
| s_scopes.py:5 | float_2 = phi(float_0, float_1) |
|
||||
| s_scopes.py:7 | C2_0 = ClassExpr |
|
||||
| s_scopes.py:7 | float_0 = ScopeEntryDefinition |
|
||||
| s_scopes.py:7 | float_3 = ScopeEntryDefinition |
|
||||
| s_scopes.py:7 | int_0 = ScopeEntryDefinition |
|
||||
| s_scopes.py:7 | str_0 = ScopeEntryDefinition |
|
||||
| s_scopes.py:9 | i1_0 = int |
|
||||
| s_scopes.py:10 | f1_0 = float |
|
||||
| s_scopes.py:12 | int_1 = IntegerLiteral |
|
||||
| s_scopes.py:15 | str_1 = FloatLiteral |
|
||||
| s_scopes.py:17 | float_1 = None |
|
||||
| s_scopes.py:18 | float_2 = phi(float_0, float_1) |
|
||||
| s_scopes.py:18 | i2_0 = int |
|
||||
| s_scopes.py:18 | str_2 = phi(str_0, str_1) |
|
||||
| s_scopes.py:19 | s_0 = str |
|
||||
| s_scopes.py:20 | f2_0 = float |
|
||||
| s_scopes.py:22 | x_1 = x |
|
||||
| s_scopes.py:23 | i_0 = int |
|
||||
| s_scopes.py:24 | f_0 = float |
|
||||
8
python/ql/test/library-tests/PointsTo/new/Dataflow.ql
Executable file
8
python/ql/test/library-tests/PointsTo/new/Dataflow.ql
Executable file
@@ -0,0 +1,8 @@
|
||||
|
||||
|
||||
import python
|
||||
import Util
|
||||
|
||||
from EssaVariable v, EssaDefinition def
|
||||
where def = v.getDefinition() and not v.getSourceVariable() instanceof SpecialSsaSourceVariable
|
||||
select locate(def.getLocation(), "abdefghijknrs_"), v.getRepresentation() + " = " + def.getRepresentation()
|
||||
119
python/ql/test/query-tests/Resources/Dataflow.expected
Normal file
119
python/ql/test/query-tests/Resources/Dataflow.expected
Normal file
@@ -0,0 +1,119 @@
|
||||
| f1_0 = open() | open | |
|
||||
| f1_1 = MethodCallsiteRefinement(f1_0) | open | |
|
||||
| f1_2 = MethodCallsiteRefinement(f1_1) | closed | exit |
|
||||
| f2_0 = open() | open | exit |
|
||||
| f3_0 = open() | open | |
|
||||
| f3_1 = MethodCallsiteRefinement(f3_0) | closed | exit |
|
||||
| f4_0 = with | closed | |
|
||||
| f4_1 = MethodCallsiteRefinement(f4_0) | closed | exit |
|
||||
| f5_0 = open() | open | |
|
||||
| f5_1 = MethodCallsiteRefinement(f5_0) | open | |
|
||||
| f5_2 = MethodCallsiteRefinement(f5_1) | closed | exit |
|
||||
| f5_3 = phi(f5_0, f5_1) | open | |
|
||||
| f6_0 = None | closed | |
|
||||
| f6_1 = open() | open | |
|
||||
| f6_2 = MethodCallsiteRefinement(f6_1) | open | |
|
||||
| f6_3 = phi(f6_0, f6_1, f6_2) | open | |
|
||||
| f6_4 = SingleSuccessorGuard(f6_3) [true] | open | |
|
||||
| f6_5 = Pi(f6_2) [true] | open | |
|
||||
| f6_6 = MethodCallsiteRefinement(f6_5) | closed | |
|
||||
| f6_7 = Pi(f6_2) [false] | closed | |
|
||||
| f6_8 = phi(f6_6, f6_7) | closed | exit |
|
||||
| f7_0 = None | closed | |
|
||||
| f7_1 = open() | open | |
|
||||
| f7_2 = MethodCallsiteRefinement(f7_1) | open | |
|
||||
| f7_3 = phi(f7_0, f7_1, f7_2) | open | |
|
||||
| f7_4 = SingleSuccessorGuard(f7_3) [true] | open | |
|
||||
| f7_5 = Pi(f7_2) [true] | open | |
|
||||
| f7_6 = MethodCallsiteRefinement(f7_5) | closed | |
|
||||
| f7_7 = Pi(f7_2) [false] | closed | |
|
||||
| f7_8 = phi(f7_6, f7_7) | closed | exit |
|
||||
| f8_0 = None | closed | |
|
||||
| f8_1 = open() | open | |
|
||||
| f8_2 = MethodCallsiteRefinement(f8_1) | open | |
|
||||
| f8_3 = phi(f8_0, f8_1, f8_2) | open | |
|
||||
| f8_4 = SingleSuccessorGuard(f8_3) [true] | open | |
|
||||
| f8_5 = Pi(f8_2) [true] | closed | |
|
||||
| f8_6 = MethodCallsiteRefinement(f8_5) | closed | |
|
||||
| f8_7 = Pi(f8_2) [false] | open | |
|
||||
| f8_8 = phi(f8_6, f8_7) | open | exit |
|
||||
| f9_0 = None | closed | |
|
||||
| f9_1 = open() | open | |
|
||||
| f9_2 = MethodCallsiteRefinement(f9_1) | open | |
|
||||
| f9_3 = phi(f9_0, f9_1, f9_2) | open | |
|
||||
| f9_4 = SingleSuccessorGuard(f9_3) [true] | open | |
|
||||
| f9_5 = Pi(f9_2) [true] | closed | |
|
||||
| f9_6 = MethodCallsiteRefinement(f9_5) | closed | |
|
||||
| f9_7 = Pi(f9_2) [false] | open | |
|
||||
| f9_8 = phi(f9_6, f9_7) | open | exit |
|
||||
| f10_0 = open() | open | |
|
||||
| f10_1 = MethodCallsiteRefinement(f10_0) | open | |
|
||||
| f10_2 = MethodCallsiteRefinement(f10_1) | open | |
|
||||
| f10_3 = MethodCallsiteRefinement(f10_2) | closed | |
|
||||
| f10_4 = phi(f10_0, f10_1, f10_2, f10_3) | open | |
|
||||
| f10_5 = MethodCallsiteRefinement(f10_4) | closed | |
|
||||
| f10_6 = phi(f10_3, f10_5) | closed | exit |
|
||||
| f11_0 = open() | open | |
|
||||
| f11_1 = MethodCallsiteRefinement(f11_0) | open | |
|
||||
| f11_2 = MethodCallsiteRefinement(f11_1) | open | |
|
||||
| f11_3 = MethodCallsiteRefinement(f11_2) | closed | |
|
||||
| f11_4 = phi(f11_0, f11_1, f11_2, f11_3) | open | |
|
||||
| f11_5 = MethodCallsiteRefinement(f11_4) | closed | |
|
||||
| f11_6 = phi(f11_3, f11_5) | closed | exit |
|
||||
| f12_0 = open() | open | |
|
||||
| f12_1 = MethodCallsiteRefinement(f12_0) | open | |
|
||||
| f12_2 = MethodCallsiteRefinement(f12_1) | open | |
|
||||
| f12_3 = MethodCallsiteRefinement(f12_2) | closed | |
|
||||
| f12_4 = phi(f12_0, f12_1, f12_2, f12_3) | open | |
|
||||
| f12_5 = MethodCallsiteRefinement(f12_4) | closed | |
|
||||
| f12_6 = phi(f12_3, f12_5) | closed | exit |
|
||||
| f13_0 = open() | open | |
|
||||
| f13_1 = MethodCallsiteRefinement(f13_0) | open | exit |
|
||||
| f14_0 = opener_func2() | open | |
|
||||
| f14_1 = MethodCallsiteRefinement(f14_0) | open | |
|
||||
| f14_2 = MethodCallsiteRefinement(f14_1) | closed | exit |
|
||||
| f15_0 = opener_func2() | open | |
|
||||
| f15_1 = ArgumentRefinement(f15_0) | closed | exit |
|
||||
| f16_0 = ScopeEntryDefinition | closed | |
|
||||
| f16_1 = open() | open | |
|
||||
| f16_2 = MethodCallsiteRefinement(f16_1) | open | |
|
||||
| f16_3 = MethodCallsiteRefinement(f16_2) | closed | |
|
||||
| f16_4 = phi(f16_0, f16_1, f16_2, f16_3) | open | |
|
||||
| f16_5 = phi(f16_3, f16_4) | open | exit |
|
||||
| f17_0 = open() | open | |
|
||||
| f17_1 = MethodCallsiteRefinement(f17_0) | open | |
|
||||
| f17_2 = MethodCallsiteRefinement(f17_1) | open | |
|
||||
| f17_3 = MethodCallsiteRefinement(f17_2) | closed | |
|
||||
| f17_4 = phi(f17_0, f17_1, f17_2, f17_3) | open | |
|
||||
| f17_5 = MethodCallsiteRefinement(f17_4) | closed | |
|
||||
| f17_6 = phi(f17_3, f17_5) | closed | exit |
|
||||
| f18_0 = open() | closed | |
|
||||
| f18_1 = MethodCallsiteRefinement(f18_0) | closed | exit |
|
||||
| f20_0 = open() | open | |
|
||||
| f20_1 = ArgumentRefinement(f20_0) | closed | exit |
|
||||
| f21_0 = open() | open | |
|
||||
| f21_1 = MethodCallsiteRefinement(f21_0) | open | |
|
||||
| f21_2 = MethodCallsiteRefinement(f21_1) | closed | |
|
||||
| f21_3 = phi(f21_1, f21_2) | open | |
|
||||
| f21_4 = phi(f21_0, f21_1, f21_2) | open | |
|
||||
| f21_5 = SingleSuccessorGuard(f21_4) [true] | open | |
|
||||
| f21_6 = Pi(f21_3) [true] | open | |
|
||||
| f21_7 = MethodCallsiteRefinement(f21_6) | closed | |
|
||||
| f21_8 = Pi(f21_3) [false] | closed | |
|
||||
| f21_9 = phi(f21_7, f21_8) | closed | exit |
|
||||
| f22_0 = open() | open | |
|
||||
| f22_1 = MethodCallsiteRefinement(f22_0) | open | |
|
||||
| f22_2 = MethodCallsiteRefinement(f22_1) | closed | |
|
||||
| f22_3 = phi(f22_1, f22_2) | open | |
|
||||
| f22_4 = phi(f22_0, f22_1, f22_2) | open | |
|
||||
| f22_5 = SingleSuccessorGuard(f22_4) [true] | open | |
|
||||
| f22_6 = Pi(f22_3) [true] | closed | |
|
||||
| f22_7 = MethodCallsiteRefinement(f22_6) | closed | |
|
||||
| f22_8 = Pi(f22_3) [false] | open | |
|
||||
| f22_9 = phi(f22_7, f22_8) | open | exit |
|
||||
| f_0 = FunctionExpr | closed | exit |
|
||||
| file_0 = open() | open | |
|
||||
| file_1 = open() | open | |
|
||||
| file_2 = None | closed | |
|
||||
| file_3 = phi(file_0, file_1, file_2) | open | exit |
|
||||
| fp_0 = ParameterDefinition | closed | exit |
|
||||
16
python/ql/test/query-tests/Resources/Dataflow.ql
Normal file
16
python/ql/test/query-tests/Resources/Dataflow.ql
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
import python
|
||||
import Resources.FileOpen
|
||||
|
||||
|
||||
from EssaVariable v, EssaDefinition def, string open, string exit
|
||||
where def = v.getDefinition() and v.getSourceVariable().getName().charAt(0) = "f" and
|
||||
(
|
||||
var_is_open(v, _) and open = "open"
|
||||
or
|
||||
not var_is_open(v, _) and open = "closed"
|
||||
)
|
||||
and
|
||||
if BaseFlow::reaches_exit(v) then exit = "exit" else exit = ""
|
||||
|
||||
select v.getRepresentation() + " = " + v.getDefinition().getRepresentation(), open, exit
|
||||
Reference in New Issue
Block a user