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
Tom Hvitved
86a7c486f9
Rust: "control-flow" -> "control flow"
2024-11-21 10:42:11 +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
bd08bc7923
Rust: address review
2024-10-15 14:21:11 +02:00
Tom Hvitved
b284a2a7c0
Rust: Add Callable as a base class of Function and ClosureExpr
2024-10-11 12:00:30 +02:00
Paolo Tranquilli
c364fd7e56
Codegen: allow annotations to replace bases and drop fields
2024-10-10 14:33:06 +02:00
Tom Hvitved
062127b42e
Codegen: Do not cache injectors/projectors in Synth module
2024-09-24 14:41:20 +02:00
Arthur Baars
04e3b39ffb
Merge pull request #17537 from github/redsun82/rust-doctest-gen
...
Rust: take test code also from property descriptions
2024-09-23 11:41:32 +02:00
Arthur Baars
05173fa7ac
Merge pull request #17539 from github/redsun82/rust-codegen-detach
...
Rust/Codegen: allow to "detach" property emission
2024-09-23 11:40:11 +02:00
Paolo Tranquilli
c74b6be136
Rust/Codegen: allow to "detach" property emission
...
By using the `rust.detach` pragma on a property, we make that property
not appear in the generated struct as a field, and provide instead
a `generated::Class::emit_property` function that can be used to emit
the corresponding TRAP entry independently.
2024-09-20 16:06:22 +02:00
Paolo Tranquilli
2a95068a0a
Rust: take test code also from property descriptions
2024-09-20 15:12:13 +02:00
Paolo Tranquilli
4e59fa9035
Codegen: remove unneeded code
2024-09-20 12:47:45 +02:00
Paolo Tranquilli
f7afcd038a
Codegen: move use_for_null to pragmas
2024-09-20 12:47:45 +02:00
Paolo Tranquilli
d2ebe00492
Codegen: move group to parametrized pragmas
2024-09-20 12:47:44 +02:00
Paolo Tranquilli
2533f18a6e
Codegen: move ql.hideable to pragmas
2024-09-20 12:47:44 +02:00
Paolo Tranquilli
8d291ab938
Codegen: move qltest.test_with to parametrized pragmas
2024-09-20 12:47:44 +02:00
Paolo Tranquilli
3e2f886595
Codegen: allow inheritable pragmas
2024-09-20 12:47:43 +02:00
Paolo Tranquilli
db00cb6827
Codegen: move class synth decorators to pragmas
2024-09-20 11:09:22 +02:00
Paolo Tranquilli
9d6ee09f65
Codegen: move rust.doc_test_signature to parametrized pragmas
2024-09-20 11:09:21 +02:00
Paolo Tranquilli
70997e8189
Codegen: move default_doc_name to parametrized pragma
2024-09-20 11:09:21 +02:00
Paolo Tranquilli
9f1d50ebd1
Codegen: allow parametrized pragmas
2024-09-20 11:09:21 +02:00
Paolo Tranquilli
74c0fa7154
Codegen: allow annotations to add class decorations
2024-09-20 08:40:34 +02:00
Paolo Tranquilli
cc5882a3c3
Codegen: allow full annotation of classes
2024-09-20 06:55:17 +02:00
Paolo Tranquilli
97cca76970
Revert "Codegen: allow to include .py files in schema.py"
2024-09-19 16:58:20 +02:00
Paolo Tranquilli
6a540d833e
Merge pull request #17523 from github/redsun82/rust-break-up-schema
...
Codegen/Rust: allow breaking up schema file
2024-09-19 16:57:58 +02:00
Paolo Tranquilli
a5e3fbf367
Codegen/Rust: allow breaking up schema file
2024-09-19 15:57:42 +02:00
Arthur Baars
f38f818578
Merge pull request #17516 from github/redsun82/codegen-annotate
...
Codegen: allow to attach docstrings after the definition
2024-09-19 15:35:16 +02:00
Paolo Tranquilli
c117a53fb0
Codegen: allow to attach docstrings after the definition
2024-09-19 12:43:34 +02:00
Paolo Tranquilli
ec9bb1da56
Codegen: allow to include .py files in schema.py
2024-09-19 12:18:52 +02:00
Tom Hvitved
5554c0f28f
Rust: Use ```rust for code block examples
...
Also added some missing code block terminators.
2024-09-18 13:47:45 +02:00
Tom Hvitved
98b5ef5e01
Rust: Halt codegen on code block without ``` terminator
2024-09-18 13:47:44 +02:00
Tom Hvitved
1433363523
Codegen: Create internal folders
2024-09-17 20:06:35 +02:00
Paolo Tranquilli
0d8d9a3447
Merge branch 'main' into redsun82/rust-default-doc-signature
2024-09-17 08:29:01 +02:00
Paolo Tranquilli
1ce4707ff9
Merge branch 'main' into redsun82/rust-typed-labels
2024-09-16 16:44:55 +02:00
Tom Hvitved
964e97c842
Update misc/codegen/lib/ql.py
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2024-09-16 15:48:13 +02:00
Paolo Tranquilli
10e42237f3
Codegen: fix test
2024-09-16 14:46:42 +02:00
Tom Hvitved
8d68bdf4d6
Codegen: Fix return type of getResolveStep and resolve
2024-09-16 14:19:29 +02:00
Paolo Tranquilli
95b32fb541
Pre-commit: bump up autopep8 check version and fix formatting
2024-09-16 14:03:48 +02:00
Tom Hvitved
9c0cafeeb8
Codegen: Make public AST classes final
2024-09-16 13:39:53 +02:00
Paolo Tranquilli
73e9b46853
Rust/Codegen: make () -> () the default signature
2024-09-16 13:32:55 +02:00
Paolo Tranquilli
f1233b14e8
Rust: fix generated hierarchy
2024-09-16 10:06:01 +02:00
Paolo Tranquilli
8f93f5e34b
Rust: move to Label<T> and mark unsafety of from_untyped
2024-09-13 17:17:19 +02:00
Paolo Tranquilli
faf1eeeb0d
Rust: introduce typed labels
2024-09-13 13:57:14 +02:00
Paolo Tranquilli
beb27bf5e3
Rust: fix QL compilation and schema includes ordering
2024-09-12 15:05:30 +02:00
Paolo Tranquilli
573b8b9373
Merge branch 'rust-experiment' into redsun82/rust-ci
2024-09-09 12:32:02 +02:00
Paolo Tranquilli
56e127849f
Rust/Codegen: fix generated list files
2024-09-09 12:31:09 +02:00
Paolo Tranquilli
10a23c0843
Merge branch 'rust-experiment' into redsun82/rust-doctest-gen
2024-09-09 12:20:55 +02:00
Paolo Tranquilli
ee2a8b09f6
Rust: fix formatting
2024-09-09 12:11:50 +02:00
Paolo Tranquilli
3cd8aaf4b0
Rust: simplify rust doc test annotation
2024-09-09 08:59:17 +02:00