Simon Friis Vindum
aebce746df
Rust: Create data flow nodes for parameters in the CFG
...
Before data flow nodes where created for all parameters in the AST. But
some AST parameters does not lead to any data flow (for instance
parameters in function pointer types).
2024-11-11 11:46:10 +01:00
Simon Friis Vindum
6a3d417836
Rust: Implement enclosing callable for additional classes
2024-11-11 11:11:29 +01:00
Simon Friis Vindum
8e6844e4da
Merge branch 'main' into rust-async-blocks
2024-11-10 09:28:14 +01:00
Simon Friis Vindum
d52a2d67a2
Rust: Create CFG scope for async blocks
2024-11-08 15:00:02 +01:00
Simon Friis Vindum
e05b126215
Rust: Add CFG tests for async/await and const
2024-11-08 14:50:07 +01:00
Paolo Tranquilli
26839f5e15
Merge pull request #17882 from github/redsun82/rust-resolve
...
Rust: extract some resolved paths
2024-11-08 13:33:41 +01:00
Simon Friis Vindum
dadc6059a8
Rust: Implement enclosing callable
2024-11-06 16:23:24 +01:00
Simon Friis Vindum
ff80b249ca
Merge pull request #17917 from paldepind/rust-df-types
...
Rust: Fix unique type data flow inconsistency
2024-11-06 14:02:00 +01:00
Simon Friis Vindum
60986d8c9b
Rust: Fix unique type data flow inconsistency
2024-11-06 13:48:10 +01:00
Tom Hvitved
9392bf796a
Rust: Include literals in the CFG for literal patterns
2024-11-06 09:21:52 +01:00
Simon Friis Vindum
7f344fab78
Rust: Add data flow consistency queries
2024-11-04 10:17:50 +01:00
Paolo Tranquilli
e5a199b821
Rust: accept test changes due to toString implementations
2024-10-31 16:02:56 +01:00
Paolo Tranquilli
3f8d438851
Rust: move qltest to rust code, add options with cargo check
2024-10-24 12:55:23 +02:00
Simon Friis Vindum
9c172f62a4
Rust: Fix dead end in CFG for match expressions with no arms
2024-10-21 09:59:23 +02:00
Simon Friis Vindum
381f061e7f
Rust: Add CFG test for match with no arms
2024-10-21 09:29:28 +02:00
Simon Friis Vindum
28f111b7c0
Rust: Remove erroneous CFG edge from return to break
2024-10-18 13:26:11 +02:00
Simon Friis Vindum
4ca6b0eceb
Rust: Add a CFG test for a return within a break
2024-10-18 13:22:39 +02:00
Simon Friis Vindum
7aa28a0449
Rust: Fix multiple CFG successors in range pattern without lower bound
2024-10-18 11:19:21 +02:00
Simon Friis Vindum
b0625f83c6
Rust: Add CFG test of range patterns
2024-10-18 11:19:19 +02:00
Simon Friis Vindum
272d12fee1
Rust: Step correctly over method arguments
...
Previously the math was wrong and the first argument (with `i` being `0`) had two edges out of it.
2024-10-18 11:19:07 +02:00
Simon Friis Vindum
b2032fc6fd
Rust: Only normal completion of a let statement initializer steps to the pattern
2024-10-17 16:28:57 +02:00
Simon Friis Vindum
e6f1edcbb5
Rust: Conditional completion of match arm expression should now flow to next arm
2024-10-17 16:25:19 +02:00
Simon Friis Vindum
04f2062942
Rust: Label the non-return CFG edge out of question mark as match
2024-10-17 16:22:07 +02:00
Simon Friis Vindum
fd5d6255c1
Rust: Avoid creating CFG scopes for trait signatures without implementations
2024-10-17 16:20:30 +02:00
Simon Friis Vindum
b0cd44e47f
Rust: Add CFG test cases
2024-10-17 16:09:17 +02:00
Simon Friis Vindum
2d1c62b6df
Rust: Fix dead end in CFG for empty tuple and struct patterns
2024-10-17 10:40:34 +02:00
Simon Friis Vindum
b97ec405d0
Rust: Add CFG tests with empty tuple and struct patterns
2024-10-17 10:34:49 +02:00
Simon Friis Vindum
8e4e663739
Rust: Handle question mark operator in CFG
2024-10-14 11:38:35 +02:00
Simon Friis Vindum
2f07f1c730
Rust: Abnormal completion in scrutinee does not continue to match arms
2024-10-14 11:32:22 +02:00
Simon Friis Vindum
23ee7b955c
Rust: Add CFG tests for question mark operator and scrutinee with return
2024-10-14 11:27:32 +02:00
Tom Hvitved
756affa4aa
Rust: Fix bugs in LetExprTree and MethodCallExprTree
2024-10-10 21:05:01 +02:00
Tom Hvitved
2f14ec9f2a
Rust: Include patterns in the CFG
2024-10-10 21:05:00 +02:00
Tom Hvitved
f6f54c6e3b
Rust: Include parameters in the CFG
2024-10-10 21:04:58 +02:00
Tom Hvitved
665da3958a
Rust: Add CFG test for nested function
2024-10-10 21:04:57 +02:00
Tom Hvitved
5afd2d5bf0
Rust: Account for captured variables
2024-10-09 10:17:01 +02:00
Tom Hvitved
aa5e0c39ba
Rust: Implement ConditionalCompletionSplitting
2024-10-03 21:25:50 +02:00
Tom Hvitved
6da3972433
Rust: Simplify break/continue CFG labels
2024-10-02 15:45:18 +02:00
Tom Hvitved
1266f9757d
Rust: Add {BreakExpr,ContinueExpr}.getTarget()
2024-10-02 15:45:16 +02:00
Tom Hvitved
000dedf3e8
Rust: Output CFG for library-tests/variables
2024-10-02 15:45:14 +02:00
Tom Hvitved
9c7216fe4f
Rust: Add another CFG test
2024-10-02 10:59:26 +02:00
Tom Hvitved
c4eafb2cf3
Rust: Skip ParenExprs in the CFG
2024-10-01 21:26:49 +02:00
Tom Hvitved
8b66dc16ad
Rust: Fix CFG for labelled block expressions
2024-10-01 21:03:36 +02:00
Tom Hvitved
85957767c9
Rust: Fix CFG for while let loops
2024-10-01 21:02:17 +02:00
Tom Hvitved
26c69b8f8a
Rust: Add more CFG tests
2024-10-01 21:01:49 +02:00
Tom Hvitved
17770af491
Rust: Account for let statement else blocks in deadEnd
2024-10-01 21:00:39 +02:00
Tom Hvitved
a507854288
Rust: Fix bug in BooleanCompletion.isValidForSpecific0
2024-10-01 21:00:33 +02:00
Tom Hvitved
8c1fd8fa7a
Rust: Implement CFG for ForExprs
2024-10-01 21:00:09 +02:00
Tom Hvitved
f3e3734424
Rust: Implement CFG for WhileExprs
2024-10-01 20:59:41 +02:00
Tom Hvitved
5444a5bf8a
Rust: Extend while and for CFG tests
2024-10-01 20:59:13 +02:00
Tom Hvitved
b0efffd8f0
Rust: AST support for variables
2024-10-01 10:10:08 +02:00