1234567891011121314151617181920212223242526272829303132333435363738394041424344(************************************************************************)(* v * The Coq Proof Assistant / The Coq Development Team *)(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2016 *)(* \VV/ **************************************************************)(* // * This file is distributed under the terms of the *)(* * GNU Lesser General Public License Version 2.1 *)(************************************************************************)(************************************************************************)(* Coq serialization API/Plugin *)(* Copyright 2016 MINES ParisTech *)(************************************************************************)(* Status: Very Experimental *)(************************************************************************)openSexplib.StdmoduleLoc=Ser_locmoduleL=structtype'at={v:'a;loc:Loc.toption;}[@@derivingsexp,yojson]endtype'at='aCAst.t=private{v:'a;loc:Loc.toption;}lett_of_sexpfs=let{L.v;loc}=L.t_of_sexpfsinCAst.make?loc:locvletsexp_of_tf{CAst.v;loc}=L.sexp_of_tf{L.v;loc}letof_yojsonfjson=Ppx_deriving_yojson_runtime.(L.of_yojsonfjson>|=fun{L.v;loc}->CAst.make?loc:locv)letto_yojsonf{CAst.v;loc}=L.to_yojsonf{L.v;loc}letomit_att=reffalseletsexp_of_tfx=if!omit_attthenfx.CAst.velsesexp_of_tfx(* let to_yojson f x =
if !omit_att then ... *)