You can search for identifiers within the package.
in-package search v0.2.0
Source file funcDatatype.ml
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091openCil(* Finds definition of a user-defined type *)letfind_defnamefile=BatList.filter_map(function|GType(info,loc)->ifString.comparenameinfo.tname=0thenSome("",loc,name,-1)elseNone|GCompTag(info,loc)->ifString.comparenameinfo.cname=0thenSome("",loc,name,-1)elseNone|GEnumTag(info,loc)->ifString.comparenameinfo.ename=0thenSome("",loc,name,-1)elseNone|_->None)file.globals(* Finds all definition of user-defined types *)letfind_def_allfile=BatList.filter_map(function|GType(info,loc)->Some("",loc,info.tname,-1)|GCompTag(info,loc)->Some("",loc,info.cname,-1)|GEnumTag(info,loc)->Some("",loc,info.ename,-1)|_->None)file.globalsletfind_in_globalslistname=BatList.filter_map(function|GVar(info,_,_)->ifString.comparename(String.trim(Pretty.sprint~width:1(d_type()info.vtype)))=0thenSomeinfo.videlseNone|_->None)listletfind_in_varinfoslistname=BatList.filter_map(funinfo->ifString.comparename(String.trim(Pretty.sprint~width:1(d_type()info.vtype)))=0thenSomeinfo.videlseNone)listletfind_fundecglobalsname=letgfun=BatList.find_opt(function|GFun(fundec,_)->String.comparefundec.svar.vnamename=0|_->false)globalsinmatchgfunwithSome(GFun(fundec,_))->Somefundec|_->Noneletfind_typevar_uses_in_funlistfunnamefile=List.flatten@@List.map(funx->FuncVar.find_uses_in_fun""xfunnamefilefalse)list(* Finds uses of a datatype in a function *)letfind_uses_in_funtypenamefunnamefile=matchfind_fundecfile.globalsfunnamewith|None->[]|Somef->find_typevar_uses_in_fun(find_in_globalsfile.globalstypename@find_in_varinfosf.slocalstypename@find_in_varinfosf.sformalstypename)f.svar.vnamefile(* Finds all uses of a datatype in all functions *)letfind_usestypenamefile=letlist=FuncVar.find_uses_allfilefalseinList.filter(fun(_,_,typ,_)->String.comparetyptypename=0)list(* Finds all uses of a datatype in conditions *)letfind_uses_in_condtypenamefile=letlist=FuncVar.find_uses_in_cond_allfilefalseinList.filter(fun(_,_,typ,_)->String.comparetyptypename=0)list(* Finds all uses of a datatype in non-conditions *)letfind_uses_in_noncondtypenamefile=letlist=FuncVar.find_uses_in_noncond_allfilefalseinList.filter(fun(_,_,typ,_)->String.comparetyptypename=0)list