Commit Graph

1092 Commits

Author SHA1 Message Date
Simon Friis Vindum
b05d290bf0 Rust: Exclude data flow inconsistencies that stem from other inconsistencies 2024-11-28 12:46:32 +01:00
Paolo Tranquilli
50c917d2eb Rust: restrict extracted files queries 2024-11-28 12:02:57 +01:00
Simon Friis Vindum
e8ddb6b180 Rust: Add getStaticTarget to CallExprBase 2024-11-28 10:57:07 +01:00
Paolo Tranquilli
a8188598b0 Merge branch 'main' into redsun82/rust-canonical-enum 2024-11-27 15:01:47 +01:00
Paolo Tranquilli
4e7115538b Rust: move steps breakdown from JSON diagnostics to the DB 2024-11-27 14:55:46 +01:00
Simon Friis Vindum
d89678f49f Rust: Data flow through tuple and struct fields 2024-11-27 14:53:01 +01:00
Paolo Tranquilli
5251dc2058 Rust: use check_diagnostics improvements 2024-11-27 13:36:27 +01:00
Paolo Tranquilli
27738eaacc Rust: reorganize perf diagnostics 2024-11-27 12:05:06 +01:00
Geoffrey White
c113a0b5a1 Rust: Fix typo. 2024-11-27 10:51:42 +00:00
Geoffrey White
60c212bb10 Rust: Update for changes on main. 2024-11-27 10:42:24 +00:00
Geoffrey White
ba560f2fe9 Rust: Model SQLx. 2024-11-27 10:31:05 +00:00
Geoffrey White
e96f15d9b4 Rust: Add a test exposing SQL Injection sinks directly. 2024-11-27 10:31:04 +00:00
Simon Friis Vindum
9ec9d79b4f Rust: Add additional tests for flow through structs 2024-11-27 10:10:49 +01:00
Simon Friis Vindum
46abb9083b Merge pull request #18115 from paldepind/rust-rename-expr
Rust: Rename `expr` on `CallExpr` and `LetExpr`
2024-11-27 09:41:04 +01:00
Simon Friis Vindum
8f886c6603 Merge pull request #18088 from paldepind/rust-self-parameters
Rust: Handle `self` parameters in variables and SSA library
2024-11-27 08:42:58 +01:00
Paolo Tranquilli
556774edc7 Rust: do not put extraction steps in the expected diagnostics 2024-11-26 18:00:15 +01:00
Simon Friis Vindum
92427ab0c1 Merge branch 'main' into rust-rename-expr 2024-11-26 17:40:47 +01:00
Paolo Tranquilli
8abd3c4707 Rust: Remove windows difference from diagnostics 2024-11-26 16:48:49 +01:00
Paolo Tranquilli
24eb65692f Rust: add some performance diagnostics
This outputs some duration counts for various parts of the extraction
process in the database in the form of telemetry diagnostics.

The diagnostics format was preferred to putting things in the relational
database as that will scale better to code scanning and is more flexible
as for the data we can put into it without passing through the dbscheme.
Also, although it's not the case yet, it will be possible to output
diagnostics even if creation of the database fails.
2024-11-26 16:35:38 +01:00
Simon Friis Vindum
7ab5663fa6 Rust: Address PR feedback 2024-11-26 15:42:19 +01:00
Simon Friis Vindum
d30f3e2822 Rust: Renamed expr on CallExpr and LetExpr 2024-11-26 15:22:14 +01:00
Tom Hvitved
0c6b4cdb8f Merge pull request #18078 from hvitved/rust/variant-flow
Rust: Data flow through variants
2024-11-26 14:45:00 +01:00
Tom Hvitved
8c111382ad Address review comments 2024-11-26 13:00:59 +01:00
Paolo Tranquilli
9f09454db9 Merge pull request #18107 from github/redsun82/rust-rename
Rust: rename `MatchExpr.expr` to `scrutinee` in all layers
2024-11-26 12:59:06 +01:00
Paolo Tranquilli
cb0ac61db6 Merge pull request #18069 from geoffw0/sourcemodels
Rust: Add some flow source models
2024-11-26 12:08:02 +01:00
Paolo Tranquilli
7a86257968 Merge branch 'main' into redsun82/rust-rename 2024-11-26 10:48:19 +01:00
Paolo Tranquilli
8a01161d4a Rust: rename MatchExpr.expr to scrutinee in all layers
This doesn't require `ql.name` and is simpler while we don't have
to write upgrade scripts. The `ql.name` mechanism might get useful
once we do have to write upgrade scripts, as that doesn't change the
dbscheme.
2024-11-26 10:42:13 +01:00
Simon Friis Vindum
8252e1da02 Rust: Change &String to &str 2024-11-26 09:21:44 +01:00
Simon Friis Vindum
44b1ad52d9 Rust: Support self parameters in variable and SSA library 2024-11-26 09:02:13 +01:00
Geoffrey White
1090164b77 Merge branch 'main' into sourcemodels 2024-11-25 21:12:24 +00:00
Geoffrey White
28c0e899b7 Rust: Autoformat. 2024-11-25 20:50:56 +00:00
Geoffrey White
e6302cae53 Rust: Address CI and ql-for-ql issues. 2024-11-25 20:07:47 +00:00
Geoffrey White
e8981a505d Rust: Fix qhelp. 2024-11-25 20:00:22 +00:00
Geoffrey White
77f5168590 Rust: Query metadata and path edges. 2024-11-25 19:54:06 +00:00
Geoffrey White
be5bd1da0a Rust: Also add the good example and a couple of other cited good cases to the test. 2024-11-25 19:54:04 +00:00
Geoffrey White
82f2c6075f Rust: Add qhelp + examples. 2024-11-25 19:54:03 +00:00
Geoffrey White
88fc7be0a2 Rust: Implement the query. 2024-11-25 19:22:13 +00:00
Geoffrey White
9ead2dc03c Rust: Add a query test. 2024-11-25 19:14:16 +00:00
Geoffrey White
93e7202a69 Merge pull request #17940 from geoffw0/resolvable
Rust: Add unresolved macro calls diagnostic
2024-11-25 19:08:29 +00:00
Tom Hvitved
5e7cd46117 Rust: Flow through variants 2024-11-25 19:17:57 +01:00
Tom Hvitved
2fb670a27c Rust: Do not print unit type in data flow 2024-11-25 19:14:44 +01:00
Tom Hvitved
511f791511 Rust: Add more flow tests 2024-11-25 19:14:42 +01:00
Paolo Tranquilli
c3b4447586 Merge branch 'main' into redsun82/rust-canonical-enum 2024-11-25 17:46:48 +01:00
Paolo Tranquilli
269ea75036 Rust: matched_expr -> scrutinee 2024-11-25 17:23:47 +01:00
Paolo Tranquilli
b47e9612eb Rust: fix MatchExpr.getExpr renaming 2024-11-25 17:14:05 +01:00
Paolo Tranquilli
261e0a1a53 Codegen/Rust: allow renaming in QL
This adds a `ql.name` codegen pragma to change the name of a property on
the QL side. This is useful to give more meaningful names than what we
get from the generated rust AST.
2024-11-25 17:04:03 +01:00
Simon Friis Vindum
d06b5833cf Rust: Add an additional variables test with a self parameter 2024-11-25 16:08:26 +01:00
Geoffrey White
f92e8555a6 Rust: update for toString changes in main. 2024-11-25 14:35:12 +00:00
Geoffrey White
e9a13aec1d Merge branch 'main' into resolvable 2024-11-25 14:33:56 +00:00
Paolo Tranquilli
adafe3e5b0 Merge branch 'main' into redsun82/rust-canonical-enum 2024-11-25 15:28:45 +01:00