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
Paolo Tranquilli
269ea75036
Rust: matched_expr -> scrutinee
2024-11-25 17:23:47 +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
0d02126f12
Generate ParamBase, superclass of Param and SelfParam
2024-11-25 14:07:50 +01:00
Paolo Tranquilli
f3cd61f043
Rust: add extended canonical paths on enum variants
2024-11-22 17:00:57 +01:00
Paolo Tranquilli
e7c10c6325
Merge branch 'main' into redsun82/rust-str
2024-11-22 14:44:48 +01:00
Paolo Tranquilli
e49a5be62f
Rust: fix parent/child relationship for format entities
2024-11-22 12:20:49 +01:00
Paolo Tranquilli
6776b31c0d
Rust: tweak PathType string representations and add one for InferType
2024-11-21 15:27:34 +01:00
Paolo Tranquilli
6a6154913b
Merge branch 'main' into redsun82/rust-str
2024-11-21 11:50:38 +01:00
Paolo Tranquilli
5012332bb2
Rust: fix Path.toString and address some review comments
2024-11-21 11:13:06 +01:00
Tom Hvitved
be7aca9780
Address review comments
2024-11-21 10:32:06 +01:00
Tom Hvitved
c8736e8a3d
Rust: Auto-generate CfgNodes.qll
2024-11-21 10:21:11 +01:00
Paolo Tranquilli
b4af5a61d1
Rust: more advanced toString
2024-11-20 16:21:23 +01:00
Paolo Tranquilli
cee2ed0ec4
Rust: extract some resolved paths
2024-10-31 14:19:15 +01:00
Paolo Tranquilli
9c95a17882
Rust: add block ids to canonical paths, making them "extended"
2024-10-28 12:41:05 +01:00
Paolo Tranquilli
9789059e9f
Rust: add more thourough canonical path testing
2024-10-25 16:58:05 +02:00
Paolo Tranquilli
194e0daa8c
Rust: add canonical_path and crate_origin to Item
2024-10-25 16:58:04 +02:00
Arthur Baars
ca469f6d5c
Rust: introduce PathExprBase class
2024-10-24 15:14:07 +02:00
Arthur Baars
a3b903f13a
Rust: simplify synth constructors
2024-10-24 15:13:25 +02:00