@@ -13,18 +13,19 @@ type tydef = TR.Ty_def.t
1313let prelude =
1414 {|
1515# automatically generated using genbindings.ml, do not edit
16+ # pyright : reportPrivateUsage = false , reportUnusedVariable = false
1617
1718from __future__ import annotations # delaying typing : https :// peps.python.org/ pep-0563 /
1819from dataclasses import dataclass
1920from zipfile import ZipFile
2021import json
21- from typing import Any , assert_never , Callable , Never
22+ from typing import Any , assert_never , Callable , Never # pyright : ignore [reportUnusedImport]
2223from . import twine
2324
2425__all__ = ['twine']
2526
2627type Error = Error_Error_core
27- def twine_result [T ,E ](d : twine .Decoder , off : int , d0 : Callable [..., T ], d1 : Callable [..., E ]) -> T | E :
28+ def twine_result [T ,E ](d : twine .Decoder , off : int , d0 : twine . DecoderFn [ T ], d1 : twine . DecoderFn [ E ]) -> T | E :
2829 match d .get_cstor(off = off):
2930 case twine .Constructor (idx = 0 , args = args):
3031 args = tuple (args )
@@ -38,7 +39,7 @@ def twine_result[T,E](d: twine.Decoder, off: int, d0: Callable[...,T], d1: Calla
3839type WithTag6[T] = T
3940type WithTag7[T] = T
4041
41- def decode_with_tag [T ](tag : int , d : twine .Decoder , off : int , d0 : Callable [..., T ]) -> WithTag7 [T ]:
42+ def decode_with_tag [T ](tag : int , d : twine .Decoder , off : int , d0 : twine . DecoderFn [ T ]) -> WithTag7 [T ]:
4243 dec_tag = d .get_tag(off = off)
4344 if dec_tag .tag != tag :
4445 raise twine .Error (f 'Expected tag {tag}, got tag {dec_tag.tag} at off = 0 x{off :x}')
@@ -49,6 +50,13 @@ def decode_q(d: twine.Decoder, off:int) -> tuple[int,int]:
4950 num = d .get_int(off = num)
5051 denum = d .get_int(off = denum)
5152 return num , denum
53+
54+ def Void_of_twine (d : twine .Decoder , off : int ) -> Never :
55+ raise twine .Error (f 'Cannot decode Void at off = 0 x{off :x}')
56+
57+ type Eval__Value_Custom_value = Any
58+ def Eval__Value_Custom_value_of_twine (d : twine .Decoder , off : int ) -> Eval__Value_Custom_value :
59+ raise twine .Error (f 'Cannot decode Eval__Value_Custom_value at off = 0 x{off :x}')
5260 |}
5361
5462let footer =
@@ -212,7 +220,7 @@ let rec gen_type_expr (ty : tyexpr) : string =
212220 gen_type_expr ty
213221 | Cstor (s , args ) ->
214222 (match s, args with
215- | ("int" | "Util_twine.Z.t" | "Z.t" | "_Z.t" ), [] -> " int"
223+ | ("int" | "int64" | " Util_twine.Z.t" | "Z.t" | "_Z.t" ), [] -> " int"
216224 | "string" , [] -> " str"
217225 | "bool" , [] -> " bool"
218226 | "array" , [ x ] | "list" , [ x ] -> spf " list[%s]" (gen_type_expr x)
@@ -252,7 +260,7 @@ let rec of_twine_of_type_expr (ty : tyexpr) ~off : string =
252260 | Attrs (ty , _ ) -> of_twine_of_type_expr ty ~off
253261 | Cstor (s , args ) ->
254262 (match s, args with
255- | ("int" | "Util_twine.Z.t" | "Z.t" | "_Z.t" ), [] ->
263+ | ("int" | "int64" | " Util_twine.Z.t" | "Z.t" | "_Z.t" ), [] ->
256264 spf " d.get_int(off=%s)" off
257265 | "string" , [] -> spf " d.get_str(off=%s)" off
258266 | "bool" , [] -> spf " d.get_bool(off=%s)" off
@@ -312,13 +320,13 @@ let special_defs =
312320 ( " Imandrax_api.Uid_set.t" ,
313321 {| type Uid_set = set[Uid ]
314322
315- def Uid_set_of_twine (d, off:int ) -> Uid_set :
323+ def Uid_set_of_twine (d: twine.Decoder , off:int ) -> Uid_set :
316324 return set(Uid_of_twine (d,off= x) for x in d.get_array(off= off))| }
317325 );
318326 ( " Imandrax_api.Chash.t" ,
319327 {| type Chash = bytes
320328
321- def Chash_of_twine (d, off:int ) -> Chash :
329+ def Chash_of_twine (d: twine.Decoder , off:int ) -> Chash :
322330 return d.get_bytes(off= off)| }
323331 );
324332 ]
@@ -344,7 +352,7 @@ let gen_clique ~oc (tys : Ty_set.t) : unit =
344352 spf " %s,"
345353 (String. concat " ,"
346354 @@ List. mapi
347- (fun i v -> spf " d%d: Callable[..., _V%s]" i v)
355+ (fun i v -> spf " d%d: twine.DecoderFn[ _V%s]" i v)
348356 def.params)
349357 and params_decls =
350358 List. mapi (fun i v -> spf " decode_%s = d%d" v i) def.params
@@ -367,10 +375,10 @@ let gen_clique ~oc (tys : Ty_set.t) : unit =
367375 match def.decl with
368376 | Alias ty ->
369377 bpf buf " type %s%s = %s\n\n " pyname pyparams (gen_type_expr ty);
370- bpf buf " %sdef %s(d: twine.Decoder, %soff: int) -> %s:\n "
378+ bpf buf " %sdef %s%s (d: twine.Decoder, %soff: int) -> %s %s:\n "
371379 cached_decorator
372380 (of_twine_of_ty_name def.name)
373- pytwine_params pyname;
381+ pyparams pytwine_params pyname pyparams ;
374382 List. iter (fun s -> bpf buf " %s\n " s) params_decls;
375383 bpf buf " return %s\n " (of_twine_of_type_expr ty ~off: " off" )
376384 | Record r ->
@@ -382,8 +390,8 @@ let gen_clique ~oc (tys : Ty_set.t) : unit =
382390 r.fields;
383391 bpf buf " \n " ;
384392
385- bpf buf " %sdef %s_of_twine%s(d: twine.Decoder, %soff: int) -> %s:\n "
386- cached_decorator pyname pyparams pytwine_params pyname;
393+ bpf buf " %sdef %s_of_twine%s(d: twine.Decoder, %soff: int) -> %s%s :\n "
394+ cached_decorator pyname pyparams pytwine_params pyname pyparams ;
387395 if def.unboxed then (
388396 let field_name, field_ty =
389397 match r.fields with
@@ -483,8 +491,8 @@ let gen_clique ~oc (tys : Ty_set.t) : unit =
483491 cstors;
484492 bpf buf " \n\n " ;
485493
486- bpf buf " %sdef %s_of_twine%s(d: twine.Decoder, %soff: int) -> %s:\n "
487- cached_decorator pyname pyparams pytwine_params pyname;
494+ bpf buf " %sdef %s_of_twine%s(d: twine.Decoder, %soff: int) -> %s%s :\n "
495+ cached_decorator pyname pyparams pytwine_params pyname pyparams ;
488496 bpf buf " match d.get_cstor(off=off):\n " ;
489497 List. iteri
490498 (fun i (c : TR.Ty_def.cstor ) ->
@@ -528,7 +536,7 @@ let gen_artifacts (artifacts : Artifact.t list) : string =
528536 @@ String. concat " |"
529537 @@ List. map (fun (a : Artifact.t ) -> gen_type_expr a.ty) artifacts;
530538
531- bpf buf " artifact_decoders = {\\\n " ;
539+ bpf buf " artifact_decoders: dict[str, twine.DecoderFn[Artifact]] = {\\\n " ;
532540 List. iter
533541 (fun (a : Artifact.t ) ->
534542 bpf buf " '%s': (lambda d, off: %s),\n " a.tag
0 commit comments