2024-10-14 09:47:37 +00:00
|
|
|
# Check that the Python bindings to wrap/unwrap arrays of structs of arrays work
|
|
|
|
|
# as expected.
|
|
|
|
|
|
2026-01-13 14:49:31 +00:00
|
|
|
from lexer_example import foo_lexer
|
2022-05-10 15:08:11 +02:00
|
|
|
|
2020-06-24 14:14:47 +02:00
|
|
|
@with_lexer(foo_lexer)
|
2020-04-27 15:42:41 +02:00
|
|
|
grammar foo_grammar {
|
|
|
|
|
@main_rule main_rule <- Example("example")
|
|
|
|
|
}
|
|
|
|
|
|
2024-06-27 17:49:11 +02:00
|
|
|
@abstract
|
|
|
|
|
class FooNode implements Node[FooNode] {
|
2020-04-27 15:42:41 +02:00
|
|
|
}
|
|
|
|
|
|
2023-09-22 09:47:18 +00:00
|
|
|
class Example: FooNode {
|
2024-06-27 17:49:11 +02:00
|
|
|
@exported
|
|
|
|
|
fun example_holders(): Array[ExampleHolder] =
|
|
|
|
|
[ExampleHolder(examples=[self])]
|
2021-10-08 08:31:14 +00:00
|
|
|
|
2024-06-27 17:49:11 +02:00
|
|
|
@exported
|
|
|
|
|
fun identity(a: Array[ExampleHolder]): Array[ExampleHolder] = a
|
2020-04-27 15:42:41 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
struct ExampleHolder {
|
2023-09-14 13:11:58 +00:00
|
|
|
examples: Array[Entity[Example]]
|
2020-04-27 15:42:41 +02:00
|
|
|
}
|