Commit Graph

39 Commits

Author SHA1 Message Date
Paolo Tranquilli
71edc48c0e Merge branch 'main' into redsun82/cargo-upgrade-2 2025-08-15 10:15:26 +02:00
Paolo Tranquilli
0924d795b4 Rust: accept test changes 2025-08-15 10:12:12 +02:00
Tom Hvitved
f63e55c1fd Rust: Handle chained let expressions 2025-08-14 10:36:43 +02:00
Tom Hvitved
fd1d9401c0 Rust: Add tests for chained let expressions 2025-08-14 10:36:41 +02:00
Tom Hvitved
d1dd05e7bb Rust: Fix SSA inconsistencies 2025-07-04 14:43:10 +02:00
Tom Hvitved
2b2bd17d10 Rust: Add more SSA tests 2025-07-04 10:47:56 +02:00
Tom Hvitved
57661df306 Rust: Fix variable capture inconsistencies 2025-06-30 10:19:42 +02:00
Tom Hvitved
01810cbac9 Rust: Update PhiDefinition.toString 2025-04-01 14:59:05 +02:00
Anders Schack-Mulligen
8474a47c2b Rust: Switch test to use dedicated test module. 2025-03-04 12:24:23 +01:00
Simon Friis Vindum
476fef49da Rust: Allow SSA and some data flow for mutable borrows 2025-02-26 16:00:52 +01:00
Tom Hvitved
889ef33006 Rust: Update expected test output 2025-02-20 10:19:41 +01:00
Simon Friis Vindum
7476aeaabf Rust: Handle ref patterns in data flow
To do this we:
* Let SSA writes target the name inside identifier patterns instead of
  the pattern itself
* Include relevant names in the data flow graph
* Add a store step from a identifier patterns with `ref` into the
  contained name. So we have an edge `ref a` -> `a` that stores in the
  reference content type.
2025-02-12 13:20:11 +01:00
Simon Friis Vindum
a09b37edc3 Rust: Expand on toString of IdentPat 2025-02-11 15:25:54 +01:00
Anders Schack-Mulligen
34edda6b9b C#/Ruby/Rust: Deprecate dead code. 2025-02-10 14:24:38 +01:00
Tom Hvitved
1bbb3fde96 Rust: Take nested functions into account when resolving variables 2025-01-15 09:44:53 +01:00
Tom Hvitved
fe216aefc7 Rust: Add tests for nested functions 2025-01-15 09:43:43 +01:00
Tom Hvitved
33e6d6392c Rust: Avoid location-based variable analysis 2025-01-13 11:08:00 +01:00
Tom Hvitved
d03b284a0a Rust: Add more variable tests 2025-01-13 10:46:54 +01:00
Tom Hvitved
7376449d38 Rust: Rename variables.rs to main.rs 2025-01-13 10:46:53 +01:00
Simon Friis Vindum
a28ddd642c Rust: Add variables example with let statement in macro 2024-12-19 13:12:45 +01:00
Simon Friis Vindum
c1e21974c6 Rust: Address review comments 2024-12-17 17:24:42 +01:00
Simon Friis Vindum
aab3428bc7 Rust: Model address-of and dereference as stores and loads 2024-12-16 11:31:15 +01:00
Simon Friis Vindum
94b037fad1 Rust: Instantiate variable capture library for data flow 2024-12-11 15:44:17 +01:00
Simon Friis Vindum
ed68423d6e Rust: Handle captured self parameter in variable implementation 2024-12-06 14:12:27 +01:00
Simon Friis Vindum
43dd3ebf14 Rust: Add variables test with captured self parameter 2024-12-06 14:07:42 +01:00
Simon Friis Vindum
cac4514eae Rust: Add basic data flow through arrays 2024-12-03 14:15:54 +01:00
Simon Friis Vindum
3346b64e96 Rust: Add variables and data flow array tests 2024-12-03 14:14:41 +01:00
Simon Friis Vindum
44b1ad52d9 Rust: Support self parameters in variable and SSA library 2024-11-26 09:02:13 +01:00
Simon Friis Vindum
d06b5833cf Rust: Add an additional variables test with a self parameter 2024-11-25 16:08:26 +01:00
Paolo Tranquilli
fd45e11f4b Rust: accept test changes 2024-11-20 16:49:20 +01:00
Paolo Tranquilli
57973df795 Rust: make CallExpr.toString use call identifier if present 2024-11-20 10:00:10 +01:00
Paolo Tranquilli
fce13aeb35 Rust: accept test changes 2024-11-19 17:50:14 +01:00
Simon Friis Vindum
a5e13ee71b Rust: Handle async blocks in SSA analysis 2024-11-10 11:59:37 +01:00
Simon Friis Vindum
74a6d9812d Rust: Add SSA test for async blocks 2024-11-10 11:33:03 +01:00
Simon Friis Vindum
334602a50a Rust: Handle calls that might read/write variables through closures
This implementation is copied and adapted from the Ruby SSA
implementation.
2024-10-25 10:50:32 +02:00
Simon Friis Vindum
76e1885355 Rust: Make mutable variables that are only borrowed immutably amenable for SSA 2024-10-16 15:07:46 +02:00
Simon Friis Vindum
577afc3fd5 Rust: Support capture of mutable variables in SSA 2024-10-16 14:57:46 +02:00
Simon Friis Vindum
a1db359ba1 Rust: Add variable tests involving borrowing and capture 2024-10-16 13:05:53 +02:00
Tom Hvitved
6290be2922 Rust: Initial SSA implementation 2024-10-11 19:39:28 +02:00