method vfunc f =
List.iter (ignore $ visitFramacVarDecl (self:>frama_c_visitor)) f.slocals;
List.iter (ignore $ visitFramacVarDecl (self:>frama_c_visitor)) f.sformals;
List.iter (fun v ->
if VarinfoSet.mem v !allocvarset then
let ty = VarinfoHashtbl.find var_to_array_type v in
let elemty = element_type ty in
let ast = mkalloc_array_statement v elemty (array_size ty) v.vdecl in
add_pending_statement ~beginning:true ast;
let fst = mkfree_statement v v.vdecl in
add_pending_statement ~beginning:false fst
) f.slocals;
DoChildren