3 <<file
:__EnableUnstableFeatures('expression_trees')>>
8 const type TAst
= mixed;
10 public static function makeTree
<<<__Explicit>> TInfer>(
13 'splices' => dict<string, mixed>,
14 'functions' => vec<mixed>,
15 'static_methods' => vec<mixed>,
17 (function(MyExampleDsl): MyExampleDsl::TAst) $ast,
18 ): \ExprTree<MyExampleDsl, MyExampleDsl::TAst, TInfer> {
19 throw new \Exception();
22 // Virtual types (These do not have to be implemented)
23 public static function intType(): \ExampleInt {
24 throw new \Exception();
27 // Desugared nodes (These should be implemented)
28 public function visitInt(?\ExprPos $_, int $_): MyExampleDsl::TAst {
29 throw new \Exception();
37 function test(): void {