123456789101112131415161718192021222324252627282930313233343536373839404142434445464748(* Yoann Padioleau
*
* Copyright (C) 2013 Facebook
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* version 2.1 as published by the Free Software Foundation, with the
* special exception on linking described in file license.txt.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file
* license.txt for more details.
*)openCommon(*****************************************************************************)(* Prelude *)(*****************************************************************************)(*
* - zamcov
* - mlcov
* - #trace
* - ocamldebug?
* - ?
*)(*****************************************************************************)(* Helpers *)(*****************************************************************************)(*****************************************************************************)(* API *)(*****************************************************************************)letbasename_coverage_to_readable_coveragexsroot=letfiles=Lib_parsing_ml.find_ml_files_of_dir_or_files[root]inletfinder=Graph_code.basename_to_readable_disambiguator~rootfilesinxs|>List.map(fun(file,cover)->matchfinderfilewith|[]->failwith(spf"could not find basename %s in directory %s"fileroot)|[x]->x,cover|x::y::_xs->failwith(spf"ambiguity on %s (%s, %s, ...)"filexy))