class FooNode(ASTNode): v = UserField(type=T.LogicVar, public=False)
class FooNodeStruct(Struct): node = UserField(T.FooNode.entity)
class Metadata(Struct): node = UserField(T.FooNode)
class MyStruct(Struct): A = UserField(type=BoolType)
class NodeResult(Struct): n = UserField(type=T.Example)
class TestStruct(Struct): count = UserField(type=T.Int) nodes = UserField(type=T.Example.entity.array)
class EnvStruct(Struct): env = UserField(type=T.LexicalEnv)
class Metadata(Struct): is_first = UserField(Bool) is_second = UserField(Bool)
class Metadata(Struct): flag = UserField(type=T.Bool)
class KV(Struct): key = UserField(type=T.String) value = UserField(type=T.Int, default_value=42) node = UserField(type=T.FooNode, default_value=No(T.FooNode))
class Str(Struct): value = UserField(type=T.String)
class MyStruct(Struct): a = UserField(type=LongType) b = UserField(type=LongType)
class MyStruct(Struct): children = UserField(type=T.MyStruct.array)
class SomeStruct(Struct): examples = UserField(T.Example.entity.array)
class KV(Struct): key = UserField(type=T.String) value = UserField(type=T.String)
class Point(Struct): label = UserField(type=T.String) x = UserField(type=T.BigInt) y = UserField(type=T.BigInt)
class SynthId(FooNode): sym = UserField(type=T.Symbol, public=False) @langkit_property(return_type=T.String, public=True) def get_sym(): return Self.sym.image
class FooNode(ASTNode): ref_var = UserField(LogicVar, public=False) type_var = UserField(LogicVar, public=False)
class Metadata(Struct): node = UserField(type=FooNode)
class Example(FooNode): f = UserField(FooNode)
class Metadata(Struct): b = UserField(type=BoolType)
class StructB(StructA): b = UserField(type=Int)
class MyStruct(Struct): entity_field = UserField(type=T.FooNode) array_field = UserField(type=T.FooNode.entity.array) bigint_field = UserField(type=T.BigInt)
class StructA(Struct): a = UserField(type=Int)
class PrivatePoint(Struct): x = UserField(type=T.BigInt) y = UserField(type=T.BigInt)
class KV(Struct): key = UserField(type=T.String) val = UserField(type=T.BigInt)