let initFile f =
file:=f ;
Data_for_aorai.setCData ();
Globals.Vars.iter (fun vi _ -> set_varinfo vi.vname vi);
Globals.Functions.iter
(fun kf ->
let fname = Kernel_function.get_name kf in
List.iter
(fun vi -> set_paraminfo fname vi.vname vi)
(Kernel_function.get_formals kf);
if not (Data_for_aorai.isIgnoredFunction fname) then
begin
try
let ret = Kernel_function.find_return kf in
match ret.skind with
| Cil_types.Return (Some e,_) ->
(match e.enode with
| Lval (Var vi,NoOffset) ->
set_returninfo fname vi
| _ -> () )
| _ -> ()
with Kernel_function.No_Statement ->
Aorai_option.fatal
"Don't know what to do with a function declaration"
end)