123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149(* yojson_conv: Preprocessing Module for Automated Yojson Conversions *)openPpxlibmoduleAttrs=Ppx_yojson_conv_expander.AttrsmoduleYojson_of=structmoduleE=Ppx_yojson_conv_expander.Yojson_ofletname="yojson_of"letstr_type_decl=Deriving.Generator.make_noargE.str_type_decl~attributes:[Attribute.TAttrs.default;Attribute.TAttrs.drop_default;Attribute.TAttrs.drop_if];;letsig_type_decl=Deriving.Generator.make_noargE.sig_type_declletextension~loc:_~path:_ctyp=E.core_typectypletderiver=Deriving.addname~str_type_decl~sig_type_decl~extensionlet()=Driver.register_transformationname~rules:[Context_free.Rule.extension(Extension.declarenameCore_typeAst_pattern.(ptyp__)(fun~loc:_~path:_ty->E.type_extensionty))];;endmoduleYojson_fields=structmoduleE=Ppx_yojson_conv_expander.Yojson_fieldsletname="yojson_fields"letstr_type_decl=Deriving.Generator.make_noargE.str_type_decl~attributes:[]letderiver=Deriving.addname~str_type_declendmoduleOf_yojson=structmoduleE=Ppx_yojson_conv_expander.Of_yojsonletname="of_yojson"letname'="of_yojson'"letstr_type_decl=Deriving.Generator.make_noarg(E.str_type_decl~poly:false)~attributes:[Attribute.TAttrs.default];;letsig_type_decl=Deriving.Generator.make_noarg(E.sig_type_decl~poly:false)letextension~loc:_~pathctyp=E.core_type~pathctypletextension'~loc:_~pathctyp=E.core_type'~pathctypletderiver=Deriving.addname~str_type_decl~sig_type_decl~extensionletderiver'=Deriving.addname'~extension:extension'let()=Driver.register_transformationname~rules:[Context_free.Rule.extension(Extension.declarenameCore_typeAst_pattern.(ptyp__)(fun~loc:_~path:_ty->E.type_extensionty))];;let()=Driver.register_transformationname'~rules:[Context_free.Rule.extension(Extension.declarename'Core_typeAst_pattern.(ptyp__)(fun~loc:_~path:_ty->E.type_extension'ty))];;endmoduleOf_yojson_poly=structmoduleE=Ppx_yojson_conv_expander.Of_yojsonletstr_type_decl=Deriving.Generator.make_noarg(E.str_type_decl~poly:true)~attributes:[Attribute.TAttrs.default];;letsig_type_decl=Deriving.Generator.make_noarg(E.sig_type_decl~poly:true)letderiver=Deriving.add"of_yojson_poly"~sig_type_decl~str_type_declendletyojson_of=Yojson_of.deriverletyojson_fields_of=Yojson_fields.deriverletof_yojson'=Of_yojson.deriver'letof_yojson=Of_yojson.deriverletof_yojson_poly=Of_yojson_poly.derivermoduleYojson_in_sig=structmoduleE=Ppx_yojson_conv_expander.Sig_yojsonletsig_type_decl=Deriving.Generator.make_noargE.sig_type_declletderiver=Deriving.add"ppx_yojson_conv: let this be a string that wouldn't parse if put in the source"~sig_type_decl;;endletyojson=Deriving.add_alias"yojson"[yojson_of;of_yojson]~sig_type_decl:[Yojson_in_sig.deriver];;letyojson_poly=Deriving.add_alias"yojson_poly"[yojson_of;of_yojson_poly]let_=letprimitives=Longident.parse(Printf.sprintf"Ppx_yojson_conv_lib.Yojson_conv.Primitives")inDriver.register_transformation"Ppx_yojson_conv.enclose_impl"~enclose_impl:(function|None->[],[]|Someloc->letloc={locwithloc_end=loc.loc_start}in([Ast_builder.Default.(pstr_open~loc(open_description~loc~lid:(Located.mk~locprimitives)~override:Override))],[]));;