Simon Friis Vindum
0e025abd13
Rust: Add custom toString predicate for path expression
2024-11-18 09:09:03 +01:00
Simon Friis Vindum
9bf53f50fa
Rust: Get CFG scope and update expected results
2024-11-15 10:00:43 +01:00
Simon Friis Vindum
d3f5b479f6
Merge branch 'main' into rust-df-patterns
2024-11-13 16:22:07 +01:00
Simon Friis Vindum
78edafc94c
Rust: Include patterns as data flow nodes
2024-11-12 18:43:06 +01:00
Simon Friis Vindum
274d9421a7
Rust: Cache getEnclosingCfgScope
2024-11-12 13:15:20 +01:00
Simon Friis Vindum
03292310b6
Merge branch 'main' into rust-async-blocks
2024-11-12 09:36:04 +01:00
Simon Friis Vindum
63d84edfae
Rust: Fix minor issues from PR feedback
2024-11-12 08:37:56 +01:00
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
9f0fba16cd
Rust: Fix grammar and add documentation comments
2024-11-11 09:46:47 +01:00
Simon Friis Vindum
55796badaf
Rust: Mark SSA data flow nodes in output and hide them in paths
2024-11-11 08:48:48 +01:00
Simon Friis Vindum
a5e13ee71b
Rust: Handle async blocks in SSA analysis
2024-11-10 11:59:37 +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
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
Geoffrey White
fc444f1f9a
Merge branch 'main' into unusedvar8
2024-11-08 11:20:12 +00:00
Simon Friis Vindum
22835c28ff
Rust: Make a return node the last node before function exit
2024-11-07 15:21:11 +01:00
Simon Friis Vindum
1a000ecb46
Rust: Make minor data flow changes based on PR feedback
2024-11-07 13:04:54 +01:00
Geoffrey White
18ce8be302
Update rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2024-11-06 19:00:10 +00: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
f8058e40af
Merge pull request #17915 from hvitved/rust/pat-literal-cfg
...
Rust: Include literals in the CFG for literal patterns
2024-11-06 13:09:49 +01:00
Geoffrey White
8a35e151d1
Rust: Move the function pointer parameter exclusion into VariableImpl.qll.
2024-11-06 10:51:41 +00:00
Tom Hvitved
9392bf796a
Rust: Include literals in the CFG for literal patterns
2024-11-06 09:21:52 +01:00
Simon Friis Vindum
6054855edb
Merge pull request #17888 from paldepind/rust-data-flow-consistency
...
Rust: Data flow additions
2024-11-05 21:29:18 +01:00
Simon Friis Vindum
262a9f0cfa
Rust: Make fixes in data flow based on PR feedback
2024-11-05 15:37:44 +01:00
Simon Friis Vindum
c7b4e7c30a
Rust: Small improvements to data flow
...
The predicate `ssaDefAssigns` was definitely broken before
2024-11-04 20:01:58 +01:00
Simon Friis Vindum
8d59b9289b
Rust: Make improvements to data flow based on PR feedback
2024-11-04 16:42:05 +01:00
Simon Friis Vindum
2818893010
Rust: Refactor AstCfgNode to use a field
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2024-11-04 15:01:25 +01:00
Simon Friis Vindum
a3c7d5a469
Merge branch 'main' into rust-data-flow-consistency
2024-11-04 11:10:48 +01:00
Simon Friis Vindum
633bac633c
Rust: CFG classes are in expression module iff they correspond to expressions
2024-11-04 10:34:08 +01:00
Simon Friis Vindum
82076ee0b8
Rust: Propagate data flow through a few expression types
2024-11-03 16:12:59 +01:00
Simon Friis Vindum
01141ccdc9
Rust: Integrate SSA into data flow
2024-11-03 16:12:56 +01:00
Paolo Tranquilli
cee2ed0ec4
Rust: extract some resolved paths
2024-10-31 14:19:15 +01:00
Tom Hvitved
2b340b18dd
Rust: Exclude results inside macro expansions from unused entity queries
2024-10-31 11:42:43 +01:00
Simon Friis Vindum
00b8a29da7
Rust: Add predicate for speculative taint step
2024-10-31 09:09:39 +01:00
Simon Friis Vindum
b96698aee3
Merge pull request #17871 from paldepind/rust-data-flow-skeleton
...
Rust: Add basic skeleton setup for data flow
2024-10-31 08:26:11 +01:00
Paolo Tranquilli
7e8a09aea1
Merge pull request #17825 from github/redsun82/rust-canonical-path
...
Rust: add `extended_canonical_path` and `crate_origin` to `Item`
2024-10-30 18:13:05 +01:00
Simon Friis Vindum
efa59fd2b6
Rust: Make changes based on PR feedback
2024-10-30 16:01:26 +01:00
Simon Friis Vindum
44bebedae6
Rust: Add basic skeleton setup for data flow
2024-10-30 13:16:26 +01:00
Tom Hvitved
7ddc8f087d
Merge pull request #17786 from paldepind/rust-saa-additions
...
Rust: SSA additions
2024-10-29 09:51:38 +01:00
Simon Friis Vindum
8f8564ddfd
Rust: Address PR comments
2024-10-28 15:15:38 +01:00
Tom Hvitved
cfa1ed38b4
Merge pull request #17844 from hvitved/rust/location-impl
...
Rust: Cache `Locatable.getLocation` and `Location`
2024-10-28 14:41:36 +01:00
Arthur Baars
2326861b23
Merge pull request #17805 from github/aibaars/local-defs
...
Rust: Rust: add jump to definition for format arguments
2024-10-28 14:17:40 +01:00
Tom Hvitved
711dfc3592
Rust: Cache Locatable.getLocation and Location
2024-10-28 13:33:49 +01:00
Paolo Tranquilli
9c95a17882
Rust: add block ids to canonical paths, making them "extended"
2024-10-28 12:41:05 +01:00
Simon Friis Vindum
b86a5810b3
Rust: Small refactor based on PR feedback
2024-10-28 11:45:46 +01:00
Simon Friis Vindum
c5b01eb629
Merge branch 'main' into rust-saa-additions
2024-10-28 11:42:32 +01:00
Arthur Baars
fdf99e2f50
Rust: filter out definitions that are inside expanded macros
2024-10-28 11:27:59 +01:00