### Parameters

`CFG : InferModules.ProcCfg.S`

### Signature

`module CFG = CFG`
`module Domain = RecordDomain`
`val report_intra : InferIR.AccessExpression.t ‑> InferBase.Location.t ‑> InferModules.Summary.t ‑> unit`
`type extras``= InferModules.FormalMap.t * InferModules.Summary.t```
`val is_struct : InferIR.Typ.t ‑> bool`
`val is_array : InferIR.Typ.t ‑> bool`
`val get_formals : InferIR.Typ.Procname.t ‑> (InferIR.Mangled.t * InferIR.Typ.t) list`
`val should_report_var : InferIR.Procdesc.t ‑> InferIR.Tenv.t ‑> D.t ‑> InferIR.AccessExpression.t ‑> bool`
`val nth_formal_param : InferIR.Typ.Procname.t ‑> int ‑> (InferIR.Mangled.t * InferIR.Typ.t) option`
`val function_expects_a_pointer_as_nth_param : InferIR.Typ.Procname.t ‑> int ‑> bool`
`val is_struct_field_passed_by_ref : InferIR.Typ.Procname.t ‑> InferIR.Typ.t ‑> InferIR.AccessExpression.t ‑> int ‑> bool`
`val is_array_element_passed_by_ref : InferIR.Typ.Procname.t ‑> InferIR.Typ.t ‑> InferIR.AccessExpression.t ‑> int ‑> bool`
`val is_fld_or_array_elem_passed_by_ref : InferIR.Typ.t ‑> InferIR.AccessExpression.t ‑> int ‑> InferIR.Typ.Procname.t ‑> bool`
`val report_on_function_params : InferIR.Procdesc.t ‑> InferIR.Tenv.t ‑> D.t ‑> InferIR.HilExp.t InferStdlib.IStd.List.t ‑> InferBase.Location.t ‑> ('a * InferModules.Summary.t) ‑> InferIR.Typ.Procname.t ‑> unit`
`val remove_all_fields : InferIR.Tenv.t ‑> InferIR.AccessPath.base ‑> D.t ‑> D.t`
`val remove_dereference_access : InferIR.AccessPath.base ‑> D.t ‑> D.t`
`val remove_all_array_elements : InferIR.AccessPath.base ‑> D.t ‑> D.t`
`val remove_init_fields : (InferIR.Var.t * InferIR.Typ.t) ‑> InferIR.Var.t ‑> D.t ‑> D.t ‑> D.t`
`val is_dummy_constructor_of_a_struct : InferIR.Typ.Procname.t ‑> bool`
`val is_pointer_assignment : InferIR.Tenv.t ‑> InferIR.AccessExpression.t ‑> InferIR.HilExp.t ‑> bool`
`val init_nth_actual_param : InferIR.Typ.Procname.t ‑> int ‑> D.t ‑> InferIR.Var.t option`
`val remove_initialized_params : InferIR.Procdesc.t ‑> InferIR.Typ.Procname.t ‑> D.t ‑> int ‑> D.elt ‑> bool ‑> D.t`
`val function_initializes_some_formal_params : InferIR.Procdesc.t ‑> InferIR.Typ.Procname.t ‑> bool`
`val exec_instr : Domain.astate ‑> (InferModules.FormalMap.t * InferModules.Summary.t) InferModules.ProcData.t ‑> 'a ‑> InferIR.HilInstr.t ‑> Domain.astate`
`val pp_session_name : CFG.Node.t ‑> F.formatter ‑> unit`