Commit Graph

915 Commits

Author SHA1 Message Date
Tom Hvitved
3e5f4b7f89 Rust: Add a model for unwrap 2024-12-03 09:12:01 +01:00
Tom Hvitved
fbeb6f3940 Shared: Move shared logic into FlowSummaryImpl.qll 2024-12-03 09:11:11 +01:00
Tom Hvitved
395901b8e0 Rust: Adopt shared flow summaries library 2024-12-03 09:11:06 +01:00
Simon Friis Vindum
8e2beb7410 Merge pull request #18131 from paldepind/rust-field-flow
Rust: Data flow through tuple and struct fields
2024-12-02 20:44:37 +01:00
Paolo Tranquilli
e89cf303e7 Rust: rename TypeRef -> TypeRepr 2024-12-02 17:58:40 +01:00
Paolo Tranquilli
c0e55a06e7 Merge branch 'main' into redsun82/rust-perf-measures 2024-12-02 15:20:42 +01:00
Paolo Tranquilli
b57a37479b Rust: make File usable in codegen 2024-12-02 15:15:46 +01:00
Simon Friis Vindum
e1c65aae90 Rust: Tuple writes target post update node 2024-12-02 14:48:20 +01:00
Paolo Tranquilli
43eba85589 Merge branch 'main' into redsun82/rust-tweaks 2024-12-02 14:48:03 +01:00
Simon Friis Vindum
3420f1f43f Address review comments, store step for tuple indexing 2024-12-02 13:27:26 +01:00
Simon Friis Vindum
10be890cab Merge pull request #18144 from paldepind/rust-df-inconsistency-no-location
Rust: Exclude data flow inconsistencies that stem from other inconsis…
2024-12-02 10:48:51 +01:00
Paolo Tranquilli
e7ffddd52c Rust: rename all *Type to *TypeRef 2024-12-02 10:13:05 +01:00
Paolo Tranquilli
99bd75c429 Rust: expand Ty in documentation 2024-12-02 09:51:15 +01:00
Paolo Tranquilli
5d3c9d050d Rust: expand Pat in documentation 2024-12-02 09:48:10 +01:00
Paolo Tranquilli
6a8188f8eb Rust: fix QL compilation errors after merge from main 2024-12-02 08:30:16 +01:00
Paolo Tranquilli
31775e21b7 Merge branch 'main' into redsun82/rust-less-canonical-paths 2024-12-02 08:27:05 +01:00
Geoffrey White
fbf7e0584f Merge pull request #18129 from geoffw0/sinkmodels
Rust: Sink models for rust/sql-injection
2024-11-29 19:11:27 +00:00
Paolo Tranquilli
c46f44da5f Rust: fix QL compilation errors 2024-11-29 15:55:51 +01:00
Paolo Tranquilli
9cf2420c3b Rust: restrict canonical path calculations 2024-11-29 14:43:51 +01:00
Paolo Tranquilli
4bcc4254c6 Merge branch 'main' into redsun82/rust-perf-measures 2024-11-29 11:59:22 +01:00
Simon Friis Vindum
b8d60cbb13 Rust: Implement predicates for lambdas/closures in the data flow library 2024-11-29 09:32:04 +01:00
Geoffrey White
5b50a8270d Rust: Clarify the doc on the two models a little. 2024-11-28 14:11:15 +00:00
Geoffrey White
1d0338444a Rust: Fix SqlExecute. 2024-11-28 14:11:14 +00:00
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
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
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
Simon Friis Vindum
92427ab0c1 Merge branch 'main' into rust-rename-expr 2024-11-26 17:40:47 +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
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
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
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
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
Paolo Tranquilli
adafe3e5b0 Merge branch 'main' into redsun82/rust-canonical-enum 2024-11-25 15:28:45 +01:00
Simon Friis Vindum
d5c8dfd88c Merge pull request #18092 from paldepind/rust-param-base
Rust: Generate `ParamBase`, a superclass of `Param` and `SelfParam`
2024-11-25 14:58:07 +01:00