`val add_models : string ‑> unit`

Adds the set of procnames for the models of Java libraries so that methods with similar names are skipped during the capture

`val is_model : InferIR.Typ.Procname.t ‑> bool`

Check if there is a model for the given procname

`type file_entry````=`

`|` `Singleton of InferBase.SourceFile.t`
`|` `Duplicate of (string * InferBase.SourceFile.t) list`

``

map entry for source files with potential basename collision within the same compiler call

`type t``= string * file_entry InferStdlib.IStd.String.Map.t * Javalib_pack.JBasics.ClassSet.t```
`val load_from_verbose_output : string ‑> t`

load the list of source files and the list of classes from the javac verbose file

`val load_from_arguments : string ‑> t`

load the list of source files and the list of classes from Config.generated_classes

`type classmap``= Javalib_pack.JCode.jcode Javalib_pack.Javalib.interface_or_class Javalib_pack.JBasics.ClassMap.t```
`type program`````
`val get_classmap : program ‑> classmap`
`val get_models : program ‑> classmap`
`val cleanup : program ‑> unit`
`val load_program : string ‑> Javalib_pack.JBasics.ClassSet.t ‑> program`

load a java program

`val lookup_node : Javalib_pack.JBasics.class_name ‑> program ‑> Javalib_pack.JCode.jcode Javalib_pack.Javalib.interface_or_class option`

retrieve a Java node from the classname

`val add_missing_callee : program ‑> InferIR.Typ.Procname.t ‑> Javalib_pack.JBasics.class_name ‑> Javalib_pack.JBasics.method_signature ‑> unit`

add the class name of method signature to the list of callees

`val set_callee_translated : program ‑> InferIR.Typ.Procname.t ‑> unit`

set that the CFG for the procedure has been created

`val iter_missing_callees : program ‑> f:(InferIR.Typ.Procname.t ‑> Javalib_pack.JBasics.class_name ‑> Javalib_pack.JBasics.method_signature ‑> unit) ‑> unit`