Commit Graph

95 Commits

Author SHA1 Message Date
Mathias Vorreiter Pedersen
7eac066118 Powershell: Fix dataflow/SSA consistency errors. 2024-10-03 11:11:44 +01:00
Mathias Vorreiter Pedersen
816aa79a45 PS: Add helper predicate on 'Call' for getting a runtime target. 2024-10-02 15:37:19 +01:00
Mathias Vorreiter Pedersen
b05409380a PS: Resolve non-member function calls using the dataflow's lambda call resolution features. 2024-10-02 15:36:39 +01:00
Mathias Vorreiter Pedersen
f6a5b4b182 PS: Resolve member function calls using the shared type-tracking library. 2024-10-02 15:34:45 +01:00
Mathias Vorreiter Pedersen
b6dfbc3182 PS: Instantiate most of the shared type-tracking library. 2024-10-02 15:30:50 +01:00
Mathias Vorreiter Pedersen
9049407fb4 PS: More AST cleanup. 2024-10-02 14:45:20 +01:00
Mathias Vorreiter Pedersen
655cb8ef9a PS: Fix 'getEnclosingScope' and add 'getEnclosingFunction'. 2024-10-02 14:44:09 +01:00
Mathias Vorreiter Pedersen
43c75504e1 PS: Also support method calls as calls. 2024-10-02 12:56:36 +01:00
Mathias Vorreiter Pedersen
32502a5be7 PS: Fix compile errors and warnings. 2024-10-02 12:31:51 +01:00
Mathias Vorreiter Pedersen
b6019655ce PS: Use named sets to model parameter and argument matching. 2024-09-26 18:53:31 +01:00
Mathias Vorreiter Pedersen
e4c702ef14 PS: Represent sets of parameter names. 2024-09-26 18:53:30 +01:00
Mathias Vorreiter Pedersen
7f25caf3f6 PS: Add various helper predicates. 2024-09-26 18:53:29 +01:00
Mathias Vorreiter Pedersen
5e2051bdea PS: Add test. 2024-09-26 18:53:28 +01:00
Mathias Vorreiter Pedersen
1ce4c2fcbf PS: Add tests. 2024-09-24 16:53:56 +01:00
Mathias Vorreiter Pedersen
f51e0b0133 PS: Add field flow. 2024-09-24 16:53:48 +01:00
Mathias Vorreiter Pedersen
f2d89a24f8 PS: Add flow steps from SSA and from right-hand of assignment to assignment. 2024-09-23 17:24:29 +01:00
Mathias Vorreiter Pedersen
6beb8ee576 PS: Autoformat. 2024-09-23 16:27:42 +01:00
Mathias Vorreiter Pedersen
15b33ee612 PS: Add tests. 2024-09-23 16:27:39 +01:00
Mathias Vorreiter Pedersen
7fc82194e8 PS: Add inline expectations test library. 2024-09-23 16:27:37 +01:00
Mathias Vorreiter Pedersen
ccbfe0f168 PS: Prepare AST and other libraries for inline expectations tests. 2024-09-23 16:27:36 +01:00
Mathias Vorreiter Pedersen
67631e2d36 PS: Update AST hierachy after #100. 2024-09-23 16:27:34 +01:00
Mathias Vorreiter Pedersen
974017bb70 PS: Accept test changes. 2024-09-23 13:12:35 +01:00
Mathias Vorreiter Pedersen
0e606e69f7 PS: Add up and downgrade scripts. 2024-09-23 13:12:31 +01:00
Mathias Vorreiter Pedersen
26a75da26f PS: Don't generate a 'Pipeline' element when the pipeline wraps a single element. 2024-09-23 12:58:17 +01:00
Mathias Vorreiter Pedersen
f14e1cc782 PS: Add more expression classes and a helper class for calls. 2024-09-16 20:32:25 +01:00
Mathias Vorreiter Pedersen
d616506f23 PS: Integrate SSA computations into dataflow. 2024-09-16 19:36:39 +01:00
Mathias Vorreiter Pedersen
c87873bd26 PS: Add more cfg classes and helper predicats. 2024-09-16 19:36:37 +01:00
Mathias Vorreiter Pedersen
88e32ba3e1 PS: Add local-flow test. 2024-09-16 19:16:23 +01:00
Mathias Vorreiter Pedersen
fbcac1020f PS: Add some simple SSA tests. 2024-09-16 13:36:57 +01:00
Mathias Vorreiter Pedersen
0312dce009 PS: Fix the scope of parameters. 2024-09-16 13:34:04 +01:00
Mathias Vorreiter Pedersen
a6a157a476 PS: Add initial parameter definitions. 2024-09-16 13:33:56 +01:00
Mathias Vorreiter Pedersen
cf59c60495 PS: Shorter names. 2024-09-13 13:47:39 +01:00
Mathias Vorreiter Pedersen
3cebf8ba75 PS: Also include parameter reads and writes as SSA reads and writes. 2024-09-13 13:47:15 +01:00
Mathias Vorreiter Pedersen
ec6422c1b6 PS: Add a concept of a local scope variable (which includes both parameters and local variables). 2024-09-13 13:43:45 +01:00
Mathias Vorreiter Pedersen
dfeb667b8a PS: Add SSA consistency query file. 2024-09-13 13:43:17 +01:00
Mathias Vorreiter Pedersen
e12fd07074 PS: Add more tests. 2024-09-13 13:37:03 +01:00
Mathias Vorreiter Pedersen
9499972878 PS: Run tests and accept test changes. 2024-09-13 12:14:30 +01:00
Mathias Vorreiter Pedersen
c26fdc3103 PS: A few CFG bugfixes. 2024-09-13 12:14:11 +01:00
Mathias Vorreiter Pedersen
645db5bc90 PS: Add SSA library. 2024-09-12 18:26:42 +01:00
Mathias Vorreiter Pedersen
8b4e065fa2 PS: Port the Ruby framework for lifting parent/child relations at the AST level to parent/child relations at the CFG level. 2024-09-12 18:26:41 +01:00
Mathias Vorreiter Pedersen
9107075f41 PS: Fixup CFG after the introduction of variables into the AST. 2024-09-12 18:26:39 +01:00
Mathias Vorreiter Pedersen
810978d3ab PS: Create an entity that represents a local variable and a parameter and introduce those into the AST. 2024-09-12 18:26:38 +01:00
Mathias Vorreiter Pedersen
e99404a051 PS: Fix missing parent relation for block statements. 2024-09-12 18:26:36 +01:00
Mathias Vorreiter Pedersen
faf774f79b PS: Add dataflow skeleton 2024-09-10 18:25:58 +01:00
Mathias Vorreiter Pedersen
dbbb9b32f8 Merge branch 'main' into powershell-cfg-for-if-and-match 2024-09-09 18:09:19 +01:00
Mathias Vorreiter Pedersen
e133b5cedb Merge pull request #88 from microsoft/more-specific-dbscheme-column-types
PS: Small dbscheme updates
2024-09-09 17:52:08 +01:00
Mathias Vorreiter Pedersen
5e4f52a52b Merge pull request #90 from microsoft/powershell-even-more-ast-classes
PS: Add more AST classes
2024-09-09 17:51:56 +01:00
Mathias Vorreiter Pedersen
f51a486c1c PS: CFG for try/catch and throw. 2024-09-06 10:48:19 +01:00
Mathias Vorreiter Pedersen
4c59de4fde PS: Implement CFG for if statements and switches. 2024-09-06 10:33:21 +01:00
Mathias Vorreiter Pedersen
fd29c470c0 PS: More cleanup of AST by fixing up toStrings and adding helper predicates. 2024-09-06 10:00:43 +01:00