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
9c0cafeeb8
Codegen: Make public AST classes final
2024-09-16 13:39:53 +02:00
Paolo Tranquilli
f1233b14e8
Rust: fix generated hierarchy
2024-09-16 10:06:01 +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
3cd8aaf4b0
Rust: simplify rust doc test annotation
2024-09-09 08:59:17 +02:00
Paolo Tranquilli
8c5cc2efdc
Rust: generate test code from schema docstrings
...
This generates test source files from code blocks in class docstrings.
By default the test code is generated as is, but it can optionally:
* be wrapped in a function providing an adequate context using
`@rust.doc_test_function(name, *, lifetimes=(), return_type="()", **kwargs)`,
with `kwargs` providing both generic and normal params depending on
capitalization
* be skipped altogether using `@rust.skip_doc_test`
So for example an annotation like
```python
@rust.doc_test_function("foo",
lifetimes=("a",),
T="Eq",
x="&'a T",
y="&'a T",
return_type="&'a T")
```
will result in the following wrapper:
```rust
fn foo<'a, T: Eq>(x: &'a T, y: &'a T) -> &'a T {
// example code here
}
```
2024-09-06 14:24:42 +02:00
Paolo Tranquilli
7e1290aa74
Rust: reuse shared rust trap library
2024-08-30 16:08:37 +02:00
Paolo Tranquilli
4f0fe1ce3a
Rust: bazel packaging
2024-08-30 13:05:46 +02:00
Paolo Tranquilli
590a146b49
Rust: some basic extraction of function names (with locations!)
2024-08-29 17:58:50 +02:00
Paolo Tranquilli
f40901f391
Rust: archiving + skeleton def translator
2024-08-28 17:15:49 +02:00
Paolo Tranquilli
2d34fec0a2
Codegen: remove unneeded has_description property
2023-11-24 06:56:55 +01:00
Paolo Tranquilli
9264b2a6d6
Codegen: add internal to properties, rename ql_internal->internal
2023-11-24 06:56:55 +01:00
Paolo Tranquilli
f5633be837
Codegen: rename has_doc to has_qldoc
2023-11-22 10:19:36 +01:00
Paolo Tranquilli
30161b0f12
Codegen: patch customized stubs with QLdoc
2023-11-21 17:51:27 +01:00
Paolo Tranquilli
d659709695
Codegen: add render_str
2023-11-21 17:28:12 +01:00
Paolo Tranquilli
b7543f5dc7
Codegen: pass ql_internal to Stub
2023-11-08 09:54:21 +01:00
Paolo Tranquilli
7cc20587ad
Codegen: add @qltest.test_with
...
This allows to group together related AST classes to reuse the same
test source and extraction. For example this is useful for
`EnumDecl/EnumCaseDecl/EnumElementDecl`, where this is applied to.
2023-10-23 14:51:22 +02:00
Paolo Tranquilli
700e3d5e53
Codegen: rename ipa to synth
2023-06-07 09:12:39 +02:00
Nora Dimitrijević
928da77d10
Merge branch 'main' into redsun82/swift-synth-properties
2023-06-06 15:34:02 +02:00
Paolo Tranquilli
d2c9847a79
Codegen: parse synth property modifier
2023-05-25 16:05:12 +02:00
Paolo Tranquilli
165ac3eeaa
Codegen: define and propagate synth property flag
2023-05-25 16:05:12 +02:00
Paolo Tranquilli
242d263e8a
Codegen: move ipa info from ql.Class to ql.Property
2023-05-25 16:05:11 +02:00
Paolo Tranquilli
b4edc92079
Swift: make hideability spread upward in the hierarchy
2023-05-23 12:45:18 +02:00
Paolo Tranquilli
a087fef335
Swift: implement @ql.hideable
2023-05-23 12:45:18 +02:00
Paolo Tranquilli
7dd18ff801
Swift: add @ql.hideable to schema loading
2023-05-23 12:45:18 +02:00
Paolo Tranquilli
95248d17d1
Codegen: prepend .gitattributes entries with /
2023-05-05 10:08:44 +02:00
Paolo Tranquilli
436f2437ef
Codegen: also mark generated .gitattributes as linguist-generated
2023-05-05 09:59:44 +02:00
Paolo Tranquilli
1155b97232
Codegen: mark generated checked in files as such
2023-05-05 09:29:16 +02:00
Paolo Tranquilli
92197bf9f2
Codegen: fix autopep8 pre-commit hook
2023-03-29 15:57:45 +02:00
Paolo Tranquilli
d7a3cb2d01
Codegen: implement set in ql test generation
2023-03-29 15:44:07 +02:00
Paolo Tranquilli
d5ee728657
Codegen: implement set in qlgen (excluding QL tests)
2023-03-29 15:44:07 +02:00
Paolo Tranquilli
00b59f83f2
Codegen: disallow child on set properties
2023-03-29 15:44:06 +02:00
Paolo Tranquilli
442e85099b
Codegen: implement set in cppgen
2023-03-29 15:44:06 +02:00
Paolo Tranquilli
bba5d9dbd6
Codegen: add set to schema definitions
2023-03-29 15:44:06 +02:00
Paolo Tranquilli
cdd4e8021b
Move swift/codegen to misc/codegen
2023-02-27 09:46:48 +01:00