Paolo Tranquilli
bcca47c873
Rust: make AssocItem and ExternItem subclasses of Item
2025-06-25 10:25:24 +02:00
Paolo Tranquilli
02b6e856a3
Rust: remove VariantDef
2025-06-20 15:59:18 +02:00
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
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
1c89b5185a
Rust: rename RecordFieldList to StructFieldList
2025-03-31 13:11:45 +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
b48d9a255e
Rust: undo rename of Path::segment to Path::part
2025-03-20 16:30:35 +01:00
Simon Friis Vindum
b2b650ddd3
Rust: Rename classes with Record to Struct
2025-03-19 12:05:39 +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
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
Simon Friis Vindum
2ef9339d00
Rust: Generate CFG node for FormatArgsArg
2025-01-03 13:58:25 +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
2ada999728
Rust: Include as expression in CFG nodes
2024-12-04 12:56:54 +01:00
Paolo Tranquilli
59ea563d2a
Merge branch 'main' into redsun82/rust-less-canonical-paths
2024-12-04 10:44:11 +01:00
Paolo Tranquilli
e30a429c3d
Rust: revert TupleStructPat.toString improvements
2024-12-04 10:34:28 +01:00
Paolo Tranquilli
53503002a1
Merge branch 'main' into redsun82/rust-tweaks
2024-12-04 09:35:01 +01:00
Paolo Tranquilli
277c9f4087
Rust: add back getAttr to ArrayExpr
2024-12-03 16:12:56 +01:00
Paolo Tranquilli
c113503b41
Rust: fix doc typo
2024-12-03 15:18:17 +01:00
Paolo Tranquilli
353f1cafe6
Rust: distinguish [a, b] from [a; b]
...
This splits the `ArrayExpr` class into `ArrayListExpr` and `ArrayRepeatExpr`.
This uses the `synth.from_class` machinery to integrate seamlessly into the
generated code, by hiding the extracted `ArrayExpr` behind an internal class
and replacing it with a hierarchy of those two classes under a new
`ArrayExpr` class.
2024-12-03 15:09:20 +01:00
Paolo Tranquilli
db18d1046b
Rust: rename getTy -> getTypeRepr
2024-12-03 11:17:08 +01:00
Paolo Tranquilli
e89cf303e7
Rust: rename TypeRef -> TypeRepr
2024-12-02 17:58:40 +01:00
Paolo Tranquilli
e7ffddd52c
Rust: rename all *Type to *TypeRef
2024-12-02 10:13:05 +01: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
a8188598b0
Merge branch 'main' into redsun82/rust-canonical-enum
2024-11-27 15:01:47 +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
Paolo Tranquilli
c3b4447586
Merge branch 'main' into redsun82/rust-canonical-enum
2024-11-25 17:46:48 +01:00