Arthur Baars
029e2604a3
Rust: //rust/codegen
2024-12-17 14:07:44 +01:00
Paolo Tranquilli
720bfc8ff1
Rust: tweak/define more toString implementations
2024-12-05 17:43:47 +01:00
Paolo Tranquilli
08de0b40ed
Merge branch 'main' into redsun82/rust-less-canonical-paths
2024-12-04 14:35:10 +01:00
Paolo Tranquilli
80d466ffea
Merge pull request #18116 from github/redsun82/rust-perf-measures
...
Rust: add some performance diagnostics
2024-12-04 14:31:06 +01:00
Paolo Tranquilli
7e107a4520
Merge branch 'main' into redsun82/rust-less-canonical-paths
2024-12-04 11:24:48 +01:00
Paolo Tranquilli
31b9b3adaa
Merge branch 'main' into redsun82/rust-perf-measures
2024-12-04 10:50:37 +01:00
Paolo Tranquilli
b9be002e01
Rust: improve TupleStructPat.toString
2024-12-04 10:47:41 +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
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
b57a37479b
Rust: make File usable in codegen
2024-12-02 15:15:46 +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
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
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
d30f3e2822
Rust: Renamed expr on CallExpr and LetExpr
2024-11-26 15:22:14 +01:00
Simon Friis Vindum
44b1ad52d9
Rust: Support self parameters in variable and SSA library
2024-11-26 09:02: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
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
4d04c5af83
Rust: fix non-existent string representations
2024-11-20 12:08:51 +01:00
Paolo Tranquilli
a709fc6a54
Rust: add some toString implementations
2024-11-19 17:21:08 +01:00
Simon Friis Vindum
0e025abd13
Rust: Add custom toString predicate for path expression
2024-11-18 09:09:03 +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
8843a7c389
Rust: rename {Implicit,FormatTemplate}VariableAccess
2024-10-24 15:13:24 +02:00
Arthur Baars
fc4ac9bcf8
Rust: implement Format and FormatArgument classes
2024-10-24 15:13:23 +02:00
Arthur Baars
58dfe6c667
Rust: run codegen
2024-10-24 15:13:22 +02:00
Arthur Baars
8a5fa9b72f
Rust: add ImplicitVariableAccess class
2024-10-24 15:11:00 +02:00
Arthur Baars
8f2c7c1239
Rust: parse formatting templates
2024-10-24 15:10:59 +02:00