let get_new_offset my_host my_offset name=
match my_host with
| Cil_types.Var(var) ->
let var_info = var in
let my_comp =
if (my_offset = Cil_types.NoOffset) then
match var_info.Cil_types.vtype with
| Cil_types.TComp(mc,_,_) -> mc
| _ -> assert false
else begin
let get_field_from_offset my_offset = begin
match my_offset with
| Cil_types.Field(fieldinfo,_) -> fieldinfo
| _ -> Aorai_option.fatal "support only struct no array wtih struct"
end in
let field_info = get_field_from_offset my_offset in
let last_field_offset = get_last_field field_info my_offset in
let mc = last_field_offset.Cil_types.fcomp in
mc
end
in
let field_info = get_field_info_from_name my_comp.Cil_types.cfields name in
Cil_types.Field(field_info,Cil_types.NoOffset)
| _ -> Aorai_option.fatal "NOT YET IMPLEMENTED : mem is not supported"