let get_kf_stmt_opt localizable =
match localizable with
| Pretty_source.PTermLval(Some kf, Kstmt stmt, _)
| Pretty_source.PLval (Some kf, Kstmt stmt, _)
| Pretty_source.PStmt (kf,stmt)
| Pretty_source.PCodeAnnot (kf, stmt, _)
| Pretty_source.PAssigns (kf, Kstmt stmt, _, _)
| Pretty_source.PPredicate (Some kf, Kstmt stmt, _)
| Pretty_source.PPost_cond (kf,Kstmt stmt,_,_)
| Pretty_source.PAssumes (kf,Kstmt stmt,_,_)
| Pretty_source.PDisjoint_behaviors (kf,Kstmt stmt,_)
| Pretty_source.PComplete_behaviors (kf,Kstmt stmt,_)
| Pretty_source.PTerminates (kf,Kstmt stmt,_)
| Pretty_source.PVariant (kf,Kstmt stmt,_)
| Pretty_source.PRequires (kf,Kstmt stmt,_,_)
-> Some (kf, stmt)
| Pretty_source.PTermLval (_, _, _)
| Pretty_source.PLval (_, _, _)
| Pretty_source.PGlobal _
| Pretty_source.PVDecl _
| Pretty_source.PBehavior _
| Pretty_source.PPredicate (_, _, _)
| Pretty_source.PAssigns _
| Pretty_source.PPost_cond _| Pretty_source.PAssumes _
| Pretty_source.PDisjoint_behaviors _| Pretty_source.PComplete_behaviors _
| Pretty_source.PTerminates _| Pretty_source.PVariant _
| Pretty_source.PRequires _
-> None