let get_lval_opt main_ui kf_stmt_opt localizable =
match localizable with
| Pretty_source.PLval (Some _kf, (Kstmt _stmt), lv) ->
let lv_txt = Pretty_utils.sfprintf "%a" Cil.d_lval lv in
Some (lv_txt, lv)
| _ ->
match kf_stmt_opt with None -> None
| Some (kf, stmt) ->
match (ask_for_lval main_ui kf stmt) with None -> None
| Some (lv_txt, lv) -> Some (lv_txt, lv)