Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file encoding_506.ml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149openStdlib0moduleExt_name=structletpstr_primitive_alias="ppxlib.migration.pstr_primitive_alias_5_6"letpsig_primitive_alias="ppxlib.migration.psig_primitive_alias_5_6"letnone="ppxlib.migration.none_5_6"letprimitive_alias="ppxlib.migration.primitive_alias_5_6"letpexp_hole="ppxlib.migration.pexp_hole"letpmod_hole="ppxlib.migration.pmod_hole"endletinvalid_encoding~locname=Error.invalid_encoding~loc ~version:"5.6"namemoduletypeAST=sigtype payloadtypeexpression_desctypemodule_expr_descmoduleConstruct:sigvalempty_payload:payloadvalpexp_extension_desc:stringLocation.loc->payload->expression_descvalpmod_extension_desc :stringLocation.loc->payload->module_expr_descendendmoduleAst_505_arg=structincludeAst_505.ParsetreemoduleConstruct=structletempty_payload=PStr[]letpexp_extension_descextp=Pexp_extension(ext,p)letpmod_extension_descextm=Pmod_extension(ext,m)endendmoduleAst_502_arg=structincludeAst_502.ParsetreemoduleConstruct=structletempty_payload=PStr[]letpexp_extension_descextp=Pexp_extension(ext,p)letpmod_extension_descextm=Pmod_extension(ext,m)endend(** The X module is only for things we wish to expose to users to pattern-match
or construct. Anything else can go directly in [To_505]. *)moduleX(Ast:AST)=structletencode_pexp_hole~loc=letext=Asttypes.{txt =Ext_name.pexp_hole;loc}inAst.Construct.pexp_extension_descextAst.Construct.empty_payloadletencode_pmod_hole~loc=letext=Asttypes.{txt =Ext_name.pmod_hole;loc}inAst.Construct.pmod_extension_descextAst.Construct.empty_payloadendmoduleTo_505=structopenAst_505.AsttypesopenAst_505.Parsetreeletencode_typ_opt~loctyp_opt=matchtyp_opt with|Sometyp->typ|None->letptyp_desc =Ptyp_extension({txt=Ext_name.none;loc},PStr[])in{ptyp_desc;ptyp_loc=loc;ptyp_attributes=[];ptyp_loc_stack=[]}letdecode_typ_opt~loccore_type=matchcore_type.ptyp_desc with|Ptyp_extension ({txt;_},payload)whenString.equaltxtExt_name.none->(matchpayloadwith|PStr[]->None|_->invalid_encoding~locExt_name.none)|_->Some core_typeletencode_alias~loclident_loc =letattr_name ={txt=Ext_name.primitive_alias;loc}inletident_expr=letpexp_desc=Pexp_identlident_locin{pexp_desc;pexp_loc=loc;pexp_attributes=[];pexp_loc_stack=[]}inletident_stri=letpstr_desc=Pstr_eval(ident_expr,[])in{pstr_desc;pstr_loc=loc}inletattr_payload=PStr[ident_stri]in{attr_name;attr_payload;attr_loc=loc}letdecode_alias ~locattr_payload=matchattr_payloadwith|PStr[{pstr_desc=Pstr_eval({pexp_desc=Pexp_identident;_},[])}]->ident|_->invalid_encoding~locExt_name.primitive_aliasletencode_primitive_alias~locpval_nametyp_optidentattrs=letpval_type =encode_typ_opt~loctyp_optinletalias_attr=encode_alias ~locidentinletpval_attributes =alias_attr::attrs inletvd={pval_name;pval_type;pval_attributes;pval_loc=loc;pval_prim=[]}inletstri={pstr_desc=Pstr_primitivevd;pstr_loc=loc}inPStr[stri]let decode_primitive_alias~loc~namepayload=matchpayload with|PStr[{pstr_desc=Pstr_primitivevd;_}]->(letalias_attr_and_remainder=List.without_first vd.pval_attributes~pred:(funa->String.equala.attr_name.txtExt_name.primitive_alias)inmatchalias_attr_and_remainderwith|None->invalid_encoding ~locname|Some(alias_attr,remainder_attrs)->letlident_loc =decode_alias~localias_attr.attr_payloadinlettyp_opt=decode_typ_opt~locvd.pval_type in(vd.pval_name,typ_opt,lident_loc,remainder_attrs))|_-> invalid_encoding~locnameletencode_psig_primitive_alias~locpval_nametyp_optidentattrs=letpayload=encode_primitive_alias ~loc pval_nametyp_optidentattrsinPsig_extension (({txt =Ext_name.psig_primitive_alias;loc},payload),[])letdecode_psig_primitive_alias~locpayloadattrs=matchattrs with|[]->decode_primitive_alias ~loc~name:Ext_name.psig_primitive_alias payload|_->invalid_encoding~locExt_name.psig_primitive_aliasletencode_pstr_primitive_alias~locpval_nametyp_optidentattrs=letpayload=encode_primitive_alias ~loc pval_nametyp_optidentattrsinPstr_extension (({txt =Ext_name.pstr_primitive_alias;loc},payload),[])letdecode_pstr_primitive_alias~locpayloadattrs=matchattrs with|[]->decode_primitive_alias ~loc~name:Ext_name.pstr_primitive_aliaspayload|_->invalid_encoding~locExt_name.psig_primitive_aliasincludeX(Ast_505_arg)endmoduleTo_502=X(Ast_502_arg)