let ae_lval_to_exp lvh _sid lv _fd nofrm =
match lv, nofrm with
| (Var vi, NoOffset), false ->
if check_forms vi.vname forms then begin
try
let e = AELV.LvExpHash.find lvh lv in
match e.enode with
| Const(CStr _)
| Const(CWStr _) -> None
| _ -> begin
ae_lval_to_exp_change := true;
if !debug then Cilmsg.debug "ae: replacing %a with %a"
d_lval lv d_exp e;
Some e
end
with Not_found -> None
end else None
| _, true -> begin
try
let e = AELV.LvExpHash.find lvh lv in
match e.enode with
| Const(CStr _)
| Const(CWStr _) -> None
| _ -> begin
ae_lval_to_exp_change := true;
Cilmsg.debug "ae: replacing %a with %a"
d_lval lv d_exp e;
Some e
end
with Not_found -> None
end
| _, _ -> None