Commit Graph

122 Commits

Author SHA1 Message Date
Mathias Vorreiter Pedersen
9278f03753 PS: Include parameter positions for top levels. 2024-10-17 11:52:31 +01:00
Mathias Vorreiter Pedersen
b426c1fc62 PS: Make top level a function as well. 2024-10-16 20:12:10 +01:00
Mathias Vorreiter Pedersen
56c703ec80 PS: Move a bunch of predicates into ScriptBlock. 2024-10-16 20:11:49 +01:00
Mathias Vorreiter Pedersen
3c18124faf PS: Add taint-tracking files. 2024-10-16 18:26:34 +01:00
Mathias Vorreiter Pedersen
70bc32a542 PS: Make sure we handle pipeline-value-from-property-name variables when passed an array. 2024-10-16 16:39:30 +01:00
Mathias Vorreiter Pedersen
b66f3b02aa PS: Rename a few classes and tests. 2024-10-16 16:26:51 +01:00
Mathias Vorreiter Pedersen
34c821fd2d PS: Drive-by fix. 2024-10-15 16:09:42 +01:00
Mathias Vorreiter Pedersen
3c38133bf3 PS: Drive-by fix. 2024-10-15 16:09:40 +01:00
Mathias Vorreiter Pedersen
fad9133343 PS: Add a read step out of property name parameter nodes. 2024-10-15 16:09:32 +01:00
Mathias Vorreiter Pedersen
87cc9cd88a PS: Also ignore pipeline property name parameters in the pipeline-related predicates. 2024-10-15 15:48:05 +01:00
Mathias Vorreiter Pedersen
0e298a80e8 PS: Flow through parentheses. 2024-10-15 13:37:20 +01:00
Mathias Vorreiter Pedersen
e683f04e7b PS: Rename getExpr to getBase on ParenExpr. 2024-10-15 13:37:03 +01:00
Mathias Vorreiter Pedersen
72e18ac135 PS: Flow through conversions. 2024-10-15 13:26:39 +01:00
Mathias Vorreiter Pedersen
43fcbcaffb PS: Rename getExpr to getBase on ConvertExpr. 2024-10-15 13:26:18 +01:00
Mathias Vorreiter Pedersen
96de8111b5 PS: Dataflow through hash table creation, reads and writes. 2024-10-15 12:53:34 +01:00
Mathias Vorreiter Pedersen
656f98d361 PS: AST and CFG improvements to hash tables. 2024-10-15 12:53:07 +01:00
Mathias Vorreiter Pedersen
37c12639ed PS: Improve constant expression AST hierachy. 2024-10-15 12:52:41 +01:00
Mathias Vorreiter Pedersen
8bed9536bf PS: Flow through array expressions. 2024-10-14 20:09:19 +01:00
Mathias Vorreiter Pedersen
e63778a009 PS: CFG and AST helpers. 2024-10-14 20:08:54 +01:00
Mathias Vorreiter Pedersen
efee104f3d PS: Generalize the current ReturnContainer computation. 2024-10-14 20:06:46 +01:00
Mathias Vorreiter Pedersen
0aa6670247 PS: Model underscore parameters as pipeline parameters. 2024-10-14 18:14:50 +01:00
Mathias Vorreiter Pedersen
a0e17ee37b PS: Implicitly read any element content at sinks when doing taint flow. 2024-10-14 18:14:47 +01:00
Mathias Vorreiter Pedersen
1ec0f53a18 PS: Don't perform store steps and (and index removal, and all the othe complex return business) when there is only a single returned expression. 2024-10-14 18:14:45 +01:00
Mathias Vorreiter Pedersen
b2225fe7b5 PS: Drive-by performance fix: Don't generate N store steps when storing into an unknown index. 2024-10-14 18:14:43 +01:00
Mathias Vorreiter Pedersen
01a556e583 PS: Ensure the constants 0 .. 10 always exists. 2024-10-14 18:14:42 +01:00
Mathias Vorreiter Pedersen
51269633b0 PS: Pipeline flow. 2024-10-14 18:14:40 +01:00
Mathias Vorreiter Pedersen
cc995b1059 PS: Generalize getARead. 2024-10-14 18:14:38 +01:00
Mathias Vorreiter Pedersen
950a10be90 PS: Fix CFG ordering on CmdExpr. 2024-10-14 18:14:35 +01:00
Mathias Vorreiter Pedersen
830bf57d3a PS: Pipeline parameter and argument positions. 2024-10-14 18:14:33 +01:00
Mathias Vorreiter Pedersen
cbf9496202 PS: Helper predicates and classes. 2024-10-14 18:14:31 +01:00
Mathias Vorreiter Pedersen
3c19578e89 PS: Hide the new nodes and enure that we still show the old return node. 2024-10-14 18:14:28 +01:00
Mathias Vorreiter Pedersen
6797f8f729 PS: Add flow into, and out of, the new implicit unwrapping nodes. 2024-10-14 18:14:23 +01:00
Mathias Vorreiter Pedersen
15a22e5746 PS: Make the new return node an acual return node. 2024-10-14 18:14:21 +01:00
Mathias Vorreiter Pedersen
91a6dce01b PS: Add read step when we need unwrapping. 2024-10-14 18:14:17 +01:00
Mathias Vorreiter Pedersen
ea2f155a1f PS: Add two new kinds of nodes: A node that represents implicit unwrapping and a new node to hold the final return value of a function. 2024-10-14 16:51:55 +01:00
Mathias Vorreiter Pedersen
706eff2b14 PS: Us control-flow nodes in 'ReturnContainer' instead of dataflow nodes. 2024-10-11 11:59:44 +01:00
Mathias Vorreiter Pedersen
76bd4150b4 PS: Drive-by fix: '' is the same thing as '' 2024-10-11 11:17:37 +01:00
Mathias Vorreiter Pedersen
a6b256371f PS: Add return and out nodes. 2024-10-09 19:29:03 +01:00
Mathias Vorreiter Pedersen
54521ad54d PS: Add a 'CallNode' helper class. 2024-10-09 19:29:02 +01:00
Mathias Vorreiter Pedersen
7eb98c1122 PS: Add an emptiness successor to get rid of CFG inconsistencies. 2024-10-08 18:57:00 +01:00
Mathias Vorreiter Pedersen
892b038565 PS: Support missing elements in for statements. 2024-10-08 15:38:46 +01:00
Mathias Vorreiter Pedersen
455e56d804 PS: Support 'this' as a parameter in SSA and dataflow. 2024-10-08 15:20:36 +01:00
Mathias Vorreiter Pedersen
61d5f4412c PS: AST support for 'this'. 2024-10-08 15:20:33 +01:00
Mathias Vorreiter Pedersen
a429485b56 PS: Create an internal class to model 'Arguments'. 2024-10-08 15:20:31 +01:00
Mathias Vorreiter Pedersen
597147be71 PS: Refactor the way we do 'internal' AST related classes. 2024-10-08 15:20:29 +01:00
Mathias Vorreiter Pedersen
494ef7a44c PS: Fix missing flow. 2024-10-04 20:08:20 +01:00
Mathias Vorreiter Pedersen
3c80652b91 PS: Autoformat and silence 'unused paramter' warning. 2024-10-04 19:33:29 +01:00
Mathias Vorreiter Pedersen
cbfd0b363b PS: Add element content flow for reads and writes into arrays. 2024-10-04 19:33:28 +01:00
Mathias Vorreiter Pedersen
1f558a0b7f PS: Add CFG classes for array literals. 2024-10-04 19:33:27 +01:00
Mathias Vorreiter Pedersen
28b654df46 PS: Add helper clases for index expression. 2024-10-04 19:33:26 +01:00