Paolo Tranquilli
f48aa79927
Codegen: implement db_table_name in qlgen
2025-03-19 15:14:15 +01:00
Paolo Tranquilli
31b9b3adaa
Merge branch 'main' into redsun82/rust-perf-measures
2024-12-04 10:50:37 +01:00
Paolo Tranquilli
db18d1046b
Rust: rename getTy -> getTypeRepr
2024-12-03 11:17:08 +01:00
Paolo Tranquilli
b57a37479b
Rust: make File usable in codegen
2024-12-02 15:15:46 +01:00
Paolo Tranquilli
99bd75c429
Rust: expand Ty in documentation
2024-12-02 09:51:15 +01:00
Paolo Tranquilli
5d3c9d050d
Rust: expand Pat in documentation
2024-12-02 09:48:10 +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
Tom Hvitved
c8736e8a3d
Rust: Auto-generate CfgNodes.qll
2024-11-21 10:21:11 +01: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
70997e8189
Codegen: move default_doc_name to parametrized pragma
2024-09-20 11:09:21 +02:00
Tom Hvitved
1433363523
Codegen: Create internal folders
2024-09-17 20:06:35 +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
56e127849f
Rust/Codegen: fix generated list files
2024-09-09 12:31:09 +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
9264b2a6d6
Codegen: add internal to properties, rename ql_internal->internal
2023-11-24 06:56:55 +01:00
Paolo Tranquilli
a18f1ef7cd
Codegen: fix bug where stub rewriting globbles too much code
2023-11-23 17:14:32 +01:00
Paolo Tranquilli
ff529c34b4
Codegen: use re.escape
2023-11-23 09:37:44 +01:00
Paolo Tranquilli
369431125e
Codegen: insert doc explaining _patch_class_qldoc
2023-11-22 10:26:04 +01:00
Paolo Tranquilli
418118fc89
Codegen: use more robust regex to patch qldocs
2023-11-22 10:11:05 +01:00
Paolo Tranquilli
30161b0f12
Codegen: patch customized stubs with QLdoc
2023-11-21 17:51:27 +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
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
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
06a6450be4
Codegen: make --qltest-output optional
2023-02-27 09:46:48 +01:00
Paolo Tranquilli
cdd4e8021b
Move swift/codegen to misc/codegen
2023-02-27 09:46:48 +01:00