Commit Graph

766 Commits

Author SHA1 Message Date
Tom Hvitved
e6887f982e Rust: Use nodes from CfgNodes.qll in DataFlowImpl.qll 2024-11-21 10:21:13 +01:00
Tom Hvitved
ca18005e44 Rust: Add some manual classes to CfgNodes.qll 2024-11-21 10:21:12 +01:00
Tom Hvitved
c8736e8a3d Rust: Auto-generate CfgNodes.qll 2024-11-21 10:21:11 +01:00
Tom Hvitved
1c2fdc29a3 Rust: Add more local data flow tests 2024-11-21 10:21:09 +01:00
Tom Hvitved
fab29361cb Rust: Add more CFG tests 2024-11-21 10:21:06 +01:00
Simon Friis Vindum
8c74478ef4 Merge pull request #18041 from paldepind/rust-cfg-self
Rust: Include `self` parameters in the CFG
2024-11-21 08:53:52 +01:00
Tom Hvitved
42e0d7ce10 Util: Refactor DenseRank implementation 2024-11-20 13:09:59 +01:00
Simon Friis Vindum
93f6f042e1 Rust: Update expected file 2024-11-20 12:39:31 +01:00
Simon Friis Vindum
aab0d5e9e4 Rust: Refactor to avoid needing getNumberOfSelfParams 2024-11-20 12:35:52 +01:00
Simon Friis Vindum
24adbb80c7 Rust: Include self parameters in the CFG 2024-11-20 11:50:46 +01:00
Simon Friis Vindum
55121d866c Rust: Add CFG tests for method definitions with self parameters 2024-11-20 11:45:42 +01:00
Simon Friis Vindum
e5951516b8 Merge pull request #18026 from paldepind/rust-df-local
Rust: Add local data flow edge for SSA nodes
2024-11-19 15:41:25 +01:00
Tom Hvitved
7a065746d6 Merge pull request #18024 from hvitved/rust/cfg/async-block-return
Rust: Handle early returns in `async` blocks in CFG
2024-11-19 15:21:34 +01:00
Simon Friis Vindum
2c9bee6208 Rust: Only add data flow edge to SSA write definitions from their underlying CFG node 2024-11-19 14:32:31 +01:00
Paolo Tranquilli
2f3624b625 Merge pull request #18023 from github/redsun82/installer-shortcut
Bazel: add an `install` shortcut and an `experimental` attribute to `codeql_pack`
2024-11-19 14:00:52 +01:00
Simon Friis Vindum
6ae979293c Rust: Accept inconsistencies 2024-11-19 13:26:01 +01:00
Paolo Tranquilli
918b0bfc53 Bazel: add experimental to codeql_pack 2024-11-19 12:48:36 +01:00
Simon Friis Vindum
23bfa8a9bc Rust: Add local data flow edge for SSA definitons 2024-11-19 12:19:47 +01:00
Simon Friis Vindum
bacc37d886 Rust: Add additional tests for intraprocedural data flow 2024-11-19 12:07:26 +01:00
Simon Friis Vindum
b3668f8183 Merge pull request #17971 from paldepind/rust-df-patterns
Rust: Include patterns as data flow nodes
2024-11-19 11:12:12 +01:00
Simon Friis Vindum
2307df41ed Merge pull request #18010 from paldepind/rust-df-viable-callable
Rust: Include method calls in DataFlowCall and implement simple call target resolution
2024-11-19 11:10:34 +01:00
Paolo Tranquilli
e8677b46d5 Bazel: rename shortcut to install 2024-11-19 10:34:40 +01:00
Tom Hvitved
bb8d0b4881 Rust: Handle early returns in async blocks in CFG 2024-11-19 10:33:25 +01:00
Tom Hvitved
b6103e1ef4 Rust: Add CFG test for early return in async block
Also made the test comply with `cargo check`.
2024-11-19 10:32:43 +01:00
Paolo Tranquilli
40b8406d62 Bazel: use installer shortcut in docs and workflows 2024-11-19 10:32:21 +01:00
Paolo Tranquilli
6e33f979c7 Bazel: add an installer shortcut to codeql_pack
This makes the first `codeql_pack` in a package add an `installer` target
aliasing the `<name>-installer` one. This makes it so that one can for
example do `bazel run //rust:installer` instead of the stuttering
`bazel run //rust:rust-installer`. If a bazel package defines multiple
`codeql_pack` targets, the first one only will get the `installer` alias.
2024-11-19 10:25:31 +01:00
Tom Hvitved
ef9f3835e5 Merge pull request #18007 from hvitved/rust/cfg/and-let
Rust: Improve CFG for `let` expressions
2024-11-19 10:23:32 +01:00
Paolo Tranquilli
99494dd540 Merge pull request #18012 from github/revert-18011-revert-17937-redsun82/rust-cargo-options
Revert "Revert "Rust: allow to specify more cargo configuration options""
2024-11-19 09:03:52 +01:00
Tom Hvitved
46b4bad510 Rust: Update expected test output 2024-11-19 08:59:12 +01:00
Tom Hvitved
c85a5f9644 Rust: Run cargo fmt 2024-11-19 08:58:34 +01:00
Paolo Tranquilli
f7ee5f4bf5 Merge pull request #18003 from github/redsun82/rust-qltest
Rust: only accept `options.yml` in QL tests
2024-11-18 17:24:57 +01:00
Paolo Tranquilli
8377ee545f Rust: fix reading lists from options.yml 2024-11-18 17:22:23 +01:00
Paolo Tranquilli
0943389ca1 Rust: add rust-specific deps updater script 2024-11-18 16:16:54 +01:00
Simon Friis Vindum
86672b7e8c Merge branch 'main' into rust-df-viable-callable 2024-11-18 15:52:57 +01:00
Paolo Tranquilli
abd73e16d4 Revert "Revert "Rust: allow to specify more cargo configuration options"" 2024-11-18 15:52:03 +01:00
Tom Hvitved
74b5ebe4bf Rust: Improve CFG for let expressions 2024-11-18 15:51:16 +01:00
Tom Hvitved
8be1127e8c Rust: Add more CFG tests 2024-11-18 15:51:15 +01:00
Paolo Tranquilli
04072591c4 Revert "Rust: allow to specify more cargo configuration options" 2024-11-18 15:36:06 +01:00
Simon Friis Vindum
58a1b004ab Rust: Include method calls in DataFlowCall and implement simple call
target resolution
2024-11-18 15:27:21 +01:00
Simon Friis Vindum
4e97a9554a Rust: Add interprocedural tests 2024-11-18 15:21:15 +01:00
Paolo Tranquilli
fa52d03194 Merge pull request #17937 from github/redsun82/rust-cargo-options
Rust: allow to specify more cargo configuration options
2024-11-18 13:24:39 +01:00
Paolo Tranquilli
b11388c49b Rust: accept test changes 2024-11-18 12:06:25 +01:00
Paolo Tranquilli
8137419d93 Rust: only accept options.yml in QL tests 2024-11-18 10:40:29 +01:00
Paolo Tranquilli
0356cdc3cc Merge pull request #18002 from github/redsun82/rust-ql-test-deps
Rust: add optional dependencies to ql tests
2024-11-18 10:32:09 +01:00
Simon Friis Vindum
1a198bfb3a Merge branch 'main' into rust-df-patterns 2024-11-18 10:06:01 +01:00
Paolo Tranquilli
75375be7ac Rust: add optional dependencies to ql tests
Also accept `options.yml` and `options.yaml` files as well for test options,
to get YAML syntax highlighting. In a follow up PR we might make the extension
mandatory.
2024-11-18 09:42:01 +01:00
Simon Friis Vindum
0e025abd13 Rust: Add custom toString predicate for path expression 2024-11-18 09:09:03 +01:00
Simon Friis Vindum
7cb9d07f59 Rust: Fix default source and sink in inline flow test 2024-11-15 11:59:48 +01:00
Simon Friis Vindum
9bf53f50fa Rust: Get CFG scope and update expected results 2024-11-15 10:00:43 +01:00
Cornelius Riemenschneider
3fdd35cfdc Merge pull request #17976 from github/criemen/rust-3rdparty
Rust: Vendor build files for 3rdparty dependencies.
2024-11-14 12:58:00 +01:00