Commit Graph

313 Commits

Author SHA1 Message Date
Mathias Vorreiter Pedersen
22bdcf0af2 PS: Force lower casing on method edges. 2025-04-03 20:33:04 +01:00
Mathias Vorreiter Pedersen
4df449d4b0 PS: Add an edge from the root node to automatic variables, and from a member read qualifier to a read. 2025-04-03 20:30:52 +01:00
Mathias Vorreiter Pedersen
4b14e5e7ec PS: Lift automatic variables to the cfg and dataflow layers. 2025-04-03 20:30:15 +01:00
Mathias Vorreiter Pedersen
50c57c2cb2 PS: Drive-by: Assign a location to top-level functions. 2025-04-03 20:29:44 +01:00
Mathias Vorreiter Pedersen
38536a9e38 PS: Accept test changes. 2025-04-03 18:46:12 +01:00
Mathias Vorreiter Pedersen
5151eb3b64 PS: Add dataflow for pipeline-by-property-name variables. 2025-04-03 18:46:11 +01:00
Mathias Vorreiter Pedersen
86ec291145 PS: Improve toString on phi nodes. 2025-04-03 18:46:10 +01:00
Mathias Vorreiter Pedersen
3acbd83297 PS: Drive-by fix: The variable access in a foreach loop implicitly writes to the variable. 2025-04-03 18:46:09 +01:00
Mathias Vorreiter Pedersen
4d04b11468 PS: Add some implicit reads at process blocks, and fix CFG for process blocks so that these reads appear in the CFG. 2025-04-03 18:46:08 +01:00
Mathias Vorreiter Pedersen
cd8e5e6d8d PS: Subclass AnyElement into positional or key-ional. 2025-04-03 18:46:06 +01:00
Mathias Vorreiter Pedersen
5fa3beb13d PS: Normalize parameter keywords and accept test changes. 2025-04-01 19:21:42 +01:00
Mathias Vorreiter Pedersen
1c380fb7fb PS: Add another missing flow found by Chanel. 2025-04-01 19:21:41 +01:00
Mathias Vorreiter Pedersen
8ae92a5cdb PS: Accept test changes. 2025-04-01 15:08:36 +01:00
Mathias Vorreiter Pedersen
129b7876d7 PS: Allow shadowing of automatic variables. 2025-04-01 15:08:35 +01:00
Mathias Vorreiter Pedersen
08dc8183e0 PS: Add Chanel's missing flow example. 2025-04-01 15:08:33 +01:00
Mathias Vorreiter Pedersen
0b9720c908 PS: Accept test changes. 2025-03-31 20:12:51 +01:00
Mathias Vorreiter Pedersen
88f638dc5c PS: Fix more pipeline flow. 2025-03-31 20:12:43 +01:00
Mathias Vorreiter Pedersen
ee4104b78c PS: Fix parent-child mapping for iterator pipeline access synthesis. 2025-03-29 11:51:33 +00:00
Mathias Vorreiter Pedersen
a6a17344ff PS: Easier debugging with strings for child indices. 2025-03-29 11:18:23 +00:00
Mathias Vorreiter Pedersen
7102ebbcf7 PS: Accept test changes. 2025-03-28 19:39:54 +00:00
Mathias Vorreiter Pedersen
3643b93033 fixup! PS: Define pre-return node and implicit-wrapping nodes using the script block instead of the individual elements. 2025-03-28 19:36:18 +00:00
Mathias Vorreiter Pedersen
5d5448df62 PS: Also use the new library to handle array expressions. 2025-03-28 19:36:06 +00:00
Mathias Vorreiter Pedersen
b2cf155ff5 PS: Define pre-return node and implicit-wrapping nodes using the script block instead of the individual elements. 2025-03-28 19:35:41 +00:00
Mathias Vorreiter Pedersen
ee8c586200 PS: Use the new library to calculate returned expressions. 2025-03-28 19:34:50 +00:00
Mathias Vorreiter Pedersen
a9861e13e9 PS: Add a library that calculated escaping values much more efficiently using the forward/reverse pruning technique. 2025-03-28 19:33:23 +00:00
Mathias Vorreiter Pedersen
f85767f47e PS: add a super class for all loop-related CFG nodes. 2025-03-28 19:32:36 +00:00
Mathias Vorreiter Pedersen
19454a50e9 PS: Small additions to the CFG classes and a small bugfix. 2025-03-28 19:32:07 +00:00
Mathias Vorreiter Pedersen
18d94f2078 PS: Don't include the variable in the IPA definition for variable accesses. 2025-03-28 19:31:15 +00:00
Mathias Vorreiter Pedersen
2da8da0777 PS: Add helper predicates for if statements. 2025-03-28 19:30:16 +00:00
Mathias Vorreiter Pedersen
ee0a21e67f PS: Make child mapping classes private. 2025-03-28 19:29:45 +00:00
Mathias Vorreiter Pedersen
7b9a41aa92 PS: Handle this parameters in a few more places. 2025-03-27 18:03:06 +00:00
Mathias Vorreiter Pedersen
dcb98ab5a1 PS: Don't include the this parameter in getParameter. 2025-03-27 18:01:28 +00:00
Mathias Vorreiter Pedersen
0fc57789bf PS: Accept dataflow/taint-tracking/type-tracking regressions. 2025-03-27 16:01:42 +00:00
Mathias Vorreiter Pedersen
c840f86707 PS: Accept CFG test changes. 2025-03-27 16:01:41 +00:00
Mathias Vorreiter Pedersen
655d80ee7b PS: Repair tests and accept test changes in syntax tests. 2025-03-27 16:01:39 +00:00
Mathias Vorreiter Pedersen
7551cce537 PS: Make API graphs compile again. There is still some TODOs here, but at least it compiles. 2025-03-27 16:01:38 +00:00
Mathias Vorreiter Pedersen
8092345fee PS: Make type-tracking and taint-tracking compile again. 2025-03-27 16:01:36 +00:00
Mathias Vorreiter Pedersen
8f9bc1e4b2 PS: Make SSA compile again. 2025-03-27 16:01:35 +00:00
Mathias Vorreiter Pedersen
c2e24ea3a4 PS: Make CFG construction compile again. 2025-03-27 16:01:33 +00:00
Mathias Vorreiter Pedersen
9efc3ec380 PS: Make dataflow compile again. 2025-03-27 16:01:30 +00:00
Mathias Vorreiter Pedersen
cc13922206 PS: Make the experimental query compile again. 2025-03-27 16:01:28 +00:00
Mathias Vorreiter Pedersen
171f5ca698 PS: Inside a process block the name of a pipeline parameter actually refers to the individual elements in the pipeline. Add a synthesized variable access that represents this. 2025-03-27 16:01:26 +00:00
Mathias Vorreiter Pedersen
9f4d1c624d PS: PowerShell doesn't have a notion of true, false, null, etc. In the extracted AST these are just variables with special names. We insert synthesized AST elements that represent these special variables. 2025-03-27 16:01:24 +00:00
Mathias Vorreiter Pedersen
7adb020977 PS: Remove arguments that are just names for a named argument. 2025-03-27 16:01:23 +00:00
Mathias Vorreiter Pedersen
3bb6021cb2 PS: Remove the CmdExpr AST elements and synthesize StmtExpr instead where needed. 2025-03-27 16:01:21 +00:00
Mathias Vorreiter Pedersen
8eb5e65ac4 PS: Synthesize Function and Type classes instead of relying on the statement that defines them. 2025-03-27 16:01:20 +00:00
Mathias Vorreiter Pedersen
17661342f8 PS: expr-to-stmt conversions. 2025-03-27 16:01:18 +00:00
Mathias Vorreiter Pedersen
0b4a7f9436 PS: Synthesize a simpler notion of parameters. 2025-03-27 16:01:17 +00:00
Mathias Vorreiter Pedersen
5bc0a263ec PS: A call to set-variable is an explicit assignment. 2025-03-27 16:01:15 +00:00
Mathias Vorreiter Pedersen
faa94735bf PS: Add an implicit this parameter to all methods. 2025-03-27 16:01:14 +00:00