method visit_addr lv =
begin match lv with
Var v, offset ->
let offset' = visitCilOffset (self :> cilVisitor) offset in
let v' = Cil.get_varinfo self#behavior v in
if offset' == offset && v == v'
then SkipChildren
else ChangeTo (Var v', offset')
| Mem e, offset ->
let e' = visitCilExpr (self :> cilVisitor) e in
let offset' = visitCilOffset (self :> cilVisitor) offset in
if offset' == offset && e == e'
then SkipChildren
else ChangeTo (Mem e', offset')
end;