Commit Graph

112 Commits

Author SHA1 Message Date
Paolo Tranquilli
0d292b785c Rust: remove reduntant Item superclass from Adt subclasses 2025-06-20 15:45:18 +02:00
Paolo Tranquilli
52c0028f85 Rust: make Adt be generated 2025-06-20 14:35:08 +02:00
Paolo Tranquilli
e935bd6faf Rust: expand derive macros 2025-06-20 11:19:06 +02:00
Paolo Tranquilli
ad7fb9c061 Merge branch 'main' into redsun82/rust-has-implementation 2025-06-12 15:25:59 +02:00
Paolo Tranquilli
a405a12e93 Rust: add Callable::getParam and CallExprBase::getArg shortcuts 2025-06-10 09:51:26 +02:00
Arthur Baars
7a13c981b8 Rust: address comments 2025-06-04 15:38:23 +02:00
Arthur Baars
348dc9969b Rust: remove stray space 2025-06-03 10:55:34 +02:00
Paolo Tranquilli
667eed9b9b Rust: store in the DB if a library function or const had a body
When skipping bodies in library code, we lose the information whether a
body was originally present. This can be important, for example when
determining whether a trait method has a default implementation.

With this change that information can be recovered via the
`hasImplementation` predicate.
2025-06-03 10:41:31 +02:00
Arthur Baars
0c8e886821 Rust: fix QLdoc examples 2025-05-30 22:55:50 +02:00
Arthur Baars
0dd0f9a22a Rust: add missing AST nodes to annotations.py 2025-05-30 11:46:27 +02:00
Arthur Baars
460984bee5 Rust: add documentation for AST nodes 2025-05-30 11:46:17 +02:00
Arthur Baars
f05bed685d Rust: remove module data from Crate elements 2025-05-22 09:51:34 +02:00
Paolo Tranquilli
a99556e021 Merge branch 'main' into redsun82/rust-expand-attr-macros 2025-05-13 16:21:29 +02:00
Arthur Baars
bc35599f1a Rust: rename MacroStmts to MacroBlockExpr 2025-05-02 16:23:02 +02:00
Arthur Baars
9ca6706550 Rust: make MacroStmts a CFG Expr 2025-05-02 16:22:59 +02:00
Paolo Tranquilli
a7a887c828 Rust: separate attribute macro and macro call expansions 2025-04-29 16:18:40 +02:00
Paolo Tranquilli
49cf1739a4 Rust: expand attribute macros 2025-04-25 16:16:49 +02:00
Paolo Tranquilli
afb97d2797 Rust: regenerate schema 2025-04-07 14:34:33 +02:00
Paolo Tranquilli
1c89b5185a Rust: rename RecordFieldList to StructFieldList 2025-03-31 13:11:45 +02:00
Paolo Tranquilli
8bfc1c424e Rust: rename several entities using more accepted names 2025-03-31 13:07:43 +02:00
Paolo Tranquilli
01a69bffbe Merge branch 'main' into redsun82/codegen-rename-dbscheme 2025-03-28 15:06:08 +01:00
Paolo Tranquilli
76b1349068 Merge branch 'main' into redsun82/rust-analyzer-update 2025-03-28 13:36:48 +01:00
Paolo Tranquilli
cf63dae608 Merge branch 'main' into redsun82/codegen-rename-dbscheme 2025-03-27 15:12:16 +01:00
Simon Friis Vindum
0d75054955 Rust: Implement toString on type aliases and add docs 2025-03-27 11:34:39 +01:00
Paolo Tranquilli
7cf3cac24a Rust: reinstate Variant as Addressable 2025-03-20 16:55:37 +01:00
Paolo Tranquilli
ea11b08f28 Rust: rerun code generation 2025-03-20 16:51:35 +01:00
Paolo Tranquilli
b48d9a255e Rust: undo rename of Path::segment to Path::part 2025-03-20 16:30:35 +01:00
Tom Hvitved
cbb9987a20 Merge remote-tracking branch 'upstream/main' into rust/dependency-renaming 2025-03-20 11:45:03 +01:00
Tom Hvitved
d19188db8f Address review comment 2025-03-20 11:39:52 +01:00
Simon Friis Vindum
b2b650ddd3 Rust: Rename classes with Record to Struct 2025-03-19 12:05:39 +01:00
Tom Hvitved
0bf2bfa2f1 Rust: Take depdency renaming into account when extracting the crate graph 2025-03-19 08:39:22 +01:00
Tom Hvitved
0dd59cbb25 Rust: Make Crate a sub class of Locatable 2025-03-14 13:18:02 +01:00
Arthur Baars
75ca04f3dd Rust: add Crate to dbscheme 2025-03-10 10:16:12 +01:00
Paolo Tranquilli
cbae16b392 Rust: rerun code generation 2025-02-25 13:31:16 +01:00
Paolo Tranquilli
689e7b8440 Rust: fix <X as Y> path extraction
This works around a quirk in rust-analyzer's AST generation machinery,
where for an `<X as Y>` path there might be no way to directly get `Y`
from the path segment.
2025-02-24 10:38:15 +01:00
Simon Friis Vindum
7476aeaabf Rust: Handle ref patterns in data flow
To do this we:
* Let SSA writes target the name inside identifier patterns instead of
  the pattern itself
* Include relevant names in the data flow graph
* Add a store step from a identifier patterns with `ref` into the
  contained name. So we have an edge `ref a` -> `a` that stores in the
  reference content type.
2025-02-12 13:20:11 +01:00
Arthur Baars
8d96c87abe Rust: add UseTree::is_star 2025-01-28 16:12:25 +01:00
Paolo Tranquilli
3c064284b0 Rust: aggregate projects into workspaces 2025-01-15 17:17:19 +01:00
Tom Hvitved
b5982643c7 Merge pull request #18445 from hvitved/rust/format-args-index
Rust: Remove `Format.getArgument`
2025-01-10 15:06:43 +01:00
Tom Hvitved
0795c244e9 Rust: Move QL doc into annotations.py 2025-01-10 14:27:53 +01:00
Tom Hvitved
166f8916cc Rust: Remove Format.getArgument 2025-01-10 12:51:42 +01:00
Tom Hvitved
033cd1778e Rust: Include index in Format.getArgument 2025-01-08 14:04:48 +01:00
Paolo Tranquilli
b390fac105 Rust: make ast-generator use mustache templates
This simplifies the code and decouples the code template from the data
that is fed into it.
2025-01-07 18:05:59 +01:00
Simon Friis Vindum
2ef9339d00 Rust: Generate CFG node for FormatArgsArg 2025-01-03 13:58:25 +01:00
Arthur Baars
029e2604a3 Rust: //rust/codegen 2024-12-17 14:07:44 +01:00
Paolo Tranquilli
4c4a8d7619 Rust: extract isRef for SelfParam 2024-12-16 14:24:56 +01:00
Simon Friis Vindum
5b6ce3e0d0 Merge branch 'main' into rust-taint 2024-12-05 09:34:25 +01:00
Simon Friis Vindum
d6ab7d2aff Merge branch 'main' into rust-taint 2024-12-04 15:28:30 +01:00
Paolo Tranquilli
08de0b40ed Merge branch 'main' into redsun82/rust-less-canonical-paths 2024-12-04 14:35:10 +01:00
Simon Friis Vindum
2ada999728 Rust: Include as expression in CFG nodes 2024-12-04 12:56:54 +01:00