let get_concrete_value_of_call (f:string) sid paramlist =
let (stmt,_) = Kernel_function.find_from_sid sid in
let kfunc = Globals.Functions.find_by_name f in
let formall = Globals.Functions.get_params kfunc in
match stmt.skind with
| Instr(Cil_types.Call(_,_,concretel,_)) ->
List.fold_left
(fun fl p ->
(* for an observed formal param p, we are looking for its associated concrete parameter *)
(get_concrete_param_from_formal p formall concretel f sid)::fl
)
[]
paramlist
| _ -> Aorai_option.fatal "The stmt %d have to be a call of the function %s, but it is not a call stmt." sid f