sig
  module DF :
    sig
      type 'a action =
        'Dataflow.action =
          Default
        | Done of 'a
        | Post of ('-> 'a)
      type 'a stmtaction =
        'Dataflow.stmtaction =
          SDefault
        | SDone
        | SUse of 'a
      type 'a guardaction =
        'Dataflow.guardaction =
          GDefault
        | GUse of 'a
        | GUnreachable
      module type StmtStartData =
        sig
          type data
          type key
          val clear : unit -> unit
          val mem : key -> bool
          val find : key -> data
          val replace : key -> data -> unit
          val add : key -> data -> unit
          val iter : (key -> data -> unit) -> unit
          val length : unit -> int
        end
      module StmtStartData :
        functor (X : sig type t val size : int end->
          sig
            type data = X.t
            type key = int
            val clear : unit -> unit
            val mem : key -> bool
            val find : key -> data
            val replace : key -> data -> unit
            val add : key -> data -> unit
            val iter : (key -> data -> unit) -> unit
            val length : unit -> int
          end
      module StartData :
        functor (X : sig type t val size : int end->
          sig
            type data = X.t
            type key = Cil_types.stmt
            val clear : unit -> unit
            val mem : key -> bool
            val find : key -> data
            val replace : key -> data -> unit
            val add : key -> data -> unit
            val iter : (key -> data -> unit) -> unit
            val length : unit -> int
          end
      module type ForwardsTransfer =
        sig
          val name : string
          val debug : bool ref
          type t
          val copy : t -> t
          val pretty : Format.formatter -> t -> unit
          val computeFirstPredecessor : Cil_types.stmt -> t -> t
          val combinePredecessors : Cil_types.stmt -> old:t -> t -> t option
          val doInstr : Cil_types.stmt -> Cil_types.instr -> t -> t action
          val doGuard :
            Cil_types.stmt ->
            Cil_types.exp -> t -> t guardaction * t guardaction
          val doStmt : Cil_types.stmt -> t -> t stmtaction
          val filterStmt : Cil_types.stmt -> bool
          val stmt_can_reach : Cil_types.stmt -> Cil_types.stmt -> bool
          val doEdge : Cil_types.stmt -> Cil_types.stmt -> t -> t
          module StmtStartData :
            sig
              type data = t
              type key
              val clear : unit -> unit
              val mem : key -> bool
              val find : key -> data
              val replace : key -> data -> unit
              val add : key -> data -> unit
              val iter : (key -> data -> unit) -> unit
              val length : unit -> int
            end
        end
      module Forwards :
        functor
          (T : sig
                 val name : string
                 val debug : bool ref
                 type t
                 val copy : t -> t
                 val pretty : Format.formatter -> t -> unit
                 val computeFirstPredecessor : Cil_types.stmt -> t -> t
                 val combinePredecessors :
                   Cil_types.stmt -> old:t -> t -> t option
                 val doInstr :
                   Cil_types.stmt -> Cil_types.instr -> t -> t action
                 val doGuard :
                   Cil_types.stmt ->
                   Cil_types.exp -> t -> t guardaction * t guardaction
                 val doStmt : Cil_types.stmt -> t -> t stmtaction
                 val filterStmt : Cil_types.stmt -> bool
                 val stmt_can_reach :
                   Cil_types.stmt -> Cil_types.stmt -> bool
                 val doEdge : Cil_types.stmt -> Cil_types.stmt -> t -> t
                 module StmtStartData :
                   sig
                     type data = t
                     type key = Cil_types.stmt
                     val clear : unit -> unit
                     val mem : key -> bool
                     val find : key -> data
                     val replace : key -> data -> unit
                     val add : key -> data -> unit
                     val iter : (key -> data -> unit) -> unit
                     val length : unit -> int
                   end
               end->
          sig
            val reachedStatement :
              Cil_types.stmt -> Cil_types.stmt -> T.t -> unit
            val compute : Cil_types.stmt list -> unit
          end
      module ForwardsDataFlow :
        functor
          (T : sig
                 val name : string
                 val debug : bool ref
                 type t
                 val copy : t -> t
                 val pretty : Format.formatter -> t -> unit
                 val computeFirstPredecessor : Cil_types.stmt -> t -> t
                 val combinePredecessors :
                   Cil_types.stmt -> old:t -> t -> t option
                 val doInstr :
                   Cil_types.stmt -> Cil_types.instr -> t -> t action
                 val doGuard :
                   Cil_types.stmt ->
                   Cil_types.exp -> t -> t guardaction * t guardaction
                 val doStmt : Cil_types.stmt -> t -> t stmtaction
                 val filterStmt : Cil_types.stmt -> bool
                 val stmt_can_reach :
                   Cil_types.stmt -> Cil_types.stmt -> bool
                 val doEdge : Cil_types.stmt -> Cil_types.stmt -> t -> t
                 module StmtStartData :
                   sig
                     type data = t
                     type key = int
                     val clear : unit -> unit
                     val mem : key -> bool
                     val find : key -> data
                     val replace : key -> data -> unit
                     val add : key -> data -> unit
                     val iter : (key -> data -> unit) -> unit
                     val length : unit -> int
                   end
               end->
          sig
            val reachedStatement :
              Cil_types.stmt -> Cil_types.stmt -> T.t -> unit
            val compute : Cil_types.stmt list -> unit
          end
      module type BackwardsTransfer =
        sig
          val name : string
          val debug : bool ref
          type t
          val pretty : Format.formatter -> t -> unit
          val funcExitData : t
          val combineStmtStartData : Cil_types.stmt -> old:t -> t -> t option
          val combineSuccessors : t -> t -> t
          val doStmt : Cil_types.stmt -> t action
          val doInstr : Cil_types.stmt -> Cil_types.instr -> t -> t action
          val filterStmt : Cil_types.stmt -> Cil_types.stmt -> bool
          module StmtStartData :
            sig
              type data = t
              type key
              val clear : unit -> unit
              val mem : key -> bool
              val find : key -> data
              val replace : key -> data -> unit
              val add : key -> data -> unit
              val iter : (key -> data -> unit) -> unit
              val length : unit -> int
            end
        end
      module Backwards :
        functor
          (T : sig
                 val name : string
                 val debug : bool ref
                 type t
                 val pretty : Format.formatter -> t -> unit
                 val funcExitData : t
                 val combineStmtStartData :
                   Cil_types.stmt -> old:t -> t -> t option
                 val combineSuccessors : t -> t -> t
                 val doStmt : Cil_types.stmt -> t action
                 val doInstr :
                   Cil_types.stmt -> Cil_types.instr -> t -> t action
                 val filterStmt : Cil_types.stmt -> Cil_types.stmt -> bool
                 module StmtStartData :
                   sig
                     type data = t
                     type key = Cil_types.stmt
                     val clear : unit -> unit
                     val mem : key -> bool
                     val find : key -> data
                     val replace : key -> data -> unit
                     val add : key -> data -> unit
                     val iter : (key -> data -> unit) -> unit
                     val length : unit -> int
                   end
               end->
          sig val compute : Cil_types.stmt list -> unit end
      module BackwardsDataFlow :
        functor
          (T : sig
                 val name : string
                 val debug : bool ref
                 type t
                 val pretty : Format.formatter -> t -> unit
                 val funcExitData : t
                 val combineStmtStartData :
                   Cil_types.stmt -> old:t -> t -> t option
                 val combineSuccessors : t -> t -> t
                 val doStmt : Cil_types.stmt -> t action
                 val doInstr :
                   Cil_types.stmt -> Cil_types.instr -> t -> t action
                 val filterStmt : Cil_types.stmt -> Cil_types.stmt -> bool
                 module StmtStartData :
                   sig
                     type data = t
                     type key = int
                     val clear : unit -> unit
                     val mem : key -> bool
                     val find : key -> data
                     val replace : key -> data -> unit
                     val add : key -> data -> unit
                     val iter : (key -> data -> unit) -> unit
                     val length : unit -> int
                   end
               end->
          sig val compute : Cil_types.stmt list -> unit end
      val find_stmts :
        Cil_types.fundec -> Cil_types.stmt list * Cil_types.stmt list
      val stmt_of_sid : (int -> Cil_types.stmt) ref
    end
  module UD :
    sig
      module VS :
        sig
          type elt = Cil_types.varinfo
          type t = Usedef.VS.t
          val empty : t
          val is_empty : t -> bool
          val mem : elt -> t -> bool
          val add : elt -> t -> t
          val singleton : elt -> t
          val remove : elt -> t -> t
          val union : t -> t -> t
          val inter : t -> t -> t
          val diff : t -> t -> t
          val compare : t -> t -> int
          val equal : t -> t -> bool
          val subset : t -> t -> bool
          val iter : (elt -> unit) -> t -> unit
          val fold : (elt -> '-> 'a) -> t -> '-> 'a
          val for_all : (elt -> bool) -> t -> bool
          val exists : (elt -> bool) -> t -> bool
          val filter : (elt -> bool) -> t -> t
          val partition : (elt -> bool) -> t -> t * t
          val cardinal : t -> int
          val elements : t -> elt list
          val min_elt : t -> elt
          val max_elt : t -> elt
          val choose : t -> elt
          val split : elt -> t -> t * bool * t
        end
      val getUseDefFunctionRef :
        (Cil_types.exp ->
         Cil_types.exp list -> VS.t * VS.t * Cil_types.exp list)
        ref
      val considerVariableUse : (VS.elt -> bool) ref
      val considerVariableDef : (VS.elt -> bool) ref
      val considerVariableAddrOfAsUse : (VS.elt -> bool) ref
      val extraUsesOfExpr : (Cil_types.exp -> VS.t) ref
      val onlyNoOffsetsAreDefs : bool ref
      val ignoreSizeof : bool ref
      val varUsed : VS.t ref
      val varDefs : VS.t ref
      class useDefVisitorClass : Cil.cilVisitor
      val useDefVisitor : useDefVisitorClass
      val computeUseExp : ?acc:VS.t -> Cil_types.exp -> VS.t
      val computeUseDefInstr :
        ?acc_used:VS.t -> ?acc_defs:VS.t -> Cil_types.instr -> VS.t * VS.t
      val computeUseDefStmtKind :
        ?acc_used:VS.t -> ?acc_defs:VS.t -> Cil_types.stmtkind -> VS.t * VS.t
      val computeDeepUseDefStmtKind :
        ?acc_used:VS.t -> ?acc_defs:VS.t -> Cil_types.stmtkind -> VS.t * VS.t
      val computeUseLocalTypes : ?acc_used:VS.t -> Cil_types.fundec -> VS.t
    end
  module IH :
    sig
      type key = int
      type 'a t = 'Inthash.t
      val create : int -> 'a t
      val clear : 'a t -> unit
      val length : 'a t -> int
      val copy : 'a t -> 'a t
      val copy_into : 'a t -> 'a t -> unit
      val add : 'a t -> int -> '-> unit
      val replace : 'a t -> int -> '-> unit
      val remove : 'a t -> int -> unit
      val remove_all : 'a t -> int -> unit
      val mem : 'a t -> int -> bool
      val find : 'a t -> int -> 'a
      val find_all : 'a t -> int -> 'a list
      val iter : (int -> '-> unit) -> 'a t -> unit
      val fold : (int -> '-> '-> 'b) -> 'a t -> '-> 'b
      val memoize : 'a t -> int -> (int -> 'a) -> 'a
      val tolist : 'a t -> (int * 'a) list
    end
  val debug : bool ref
  val live_label : String.t ref
  val live_func : String.t ref
  module VS :
    sig
      type elt = Cil_types.varinfo
      type t = Usedef.VS.t
      val empty : t
      val is_empty : t -> bool
      val mem : elt -> t -> bool
      val add : elt -> t -> t
      val singleton : elt -> t
      val remove : elt -> t -> t
      val union : t -> t -> t
      val inter : t -> t -> t
      val diff : t -> t -> t
      val compare : t -> t -> int
      val equal : t -> t -> bool
      val subset : t -> t -> bool
      val iter : (elt -> unit) -> t -> unit
      val fold : (elt -> '-> 'a) -> t -> '-> 'a
      val for_all : (elt -> bool) -> t -> bool
      val exists : (elt -> bool) -> t -> bool
      val filter : (elt -> bool) -> t -> t
      val partition : (elt -> bool) -> t -> t * t
      val cardinal : t -> int
      val elements : t -> elt list
      val min_elt : t -> elt
      val max_elt : t -> elt
      val choose : t -> elt
      val split : elt -> t -> t * bool * t
    end
  val debug_print : Format.formatter -> VS.t -> unit
  val min_print : Format.formatter -> VS.t -> unit
  val printer : (Format.formatter -> VS.t -> unit) ref
  module LiveFlow :
    sig
      val name : string
      val debug : bool ref
      type t = VS.t
      module StmtStartData :
        sig
          type data = VS.t
          type key = Cil_types.stmt
          val clear : unit -> unit
          val mem : key -> bool
          val find : key -> data
          val replace : key -> data -> unit
          val add : key -> data -> unit
          val iter : (key -> data -> unit) -> unit
          val length : unit -> int
        end
      val pretty : Format.formatter -> VS.t -> unit
      val funcExitData : VS.t
      val combineStmtStartData : Cil_types.stmt -> old:t -> t -> VS.t option
      val combineSuccessors : VS.t -> VS.t -> VS.t
      val doStmt : Cil_types.stmt -> UD.VS.t DF.action
      val doInstr : '-> Cil_types.instr -> '-> VS.t DF.action
      val filterStmt : '-> '-> bool
    end
  module L : sig val compute : Cil_types.stmt list -> unit end
  val all_stmts : LiveFlow.StmtStartData.key list ref
  class nullAdderClass :
    object
      method behavior : Cil.visitor_behavior
      method current_func : Cil_types.fundec option
      method current_kinstr : Cil_types.kinstr
      method current_stmt : Cil_types.stmt option
      method fill_global_tables : unit
      method get_filling_actions : (unit -> unit) Queue.t
      method plain_copy_visitor : Cil.cilVisitor
      method pop_stmt : Cil_types.stmt -> unit
      method push_stmt : Cil_types.stmt -> unit
      method queueInstr : Cil_types.instr list -> unit
      method reset_current_func : unit -> unit
      method set_current_func : Cil_types.fundec -> unit
      method unqueueInstr : unit -> Cil_types.instr list
      method vannotation :
        Cil_types.global_annotation ->
        Cil_types.global_annotation Cil.visitAction
      method vassigns :
        Cil_types.identified_term Cil_types.assigns ->
        Cil_types.identified_term Cil_types.assigns Cil.visitAction
      method vattr :
        Cil_types.attribute -> Cil_types.attribute list Cil.visitAction
      method vattrparam :
        Cil_types.attrparam -> Cil_types.attrparam Cil.visitAction
      method vbehavior :
        Cil_types.funbehavior -> Cil_types.funbehavior Cil.visitAction
      method vblock : Cil_types.block -> Cil_types.block Cil.visitAction
      method vcode_annot :
        Cil_types.code_annotation ->
        Cil_types.code_annotation Cil.visitAction
      method vcompinfo :
        Cil_types.compinfo -> Cil_types.compinfo Cil.visitAction
      method vdeps :
        Cil_types.identified_term Cil_types.deps ->
        Cil_types.identified_term Cil_types.deps Cil.visitAction
      method venuminfo :
        Cil_types.enuminfo -> Cil_types.enuminfo Cil.visitAction
      method venumitem :
        Cil_types.enumitem -> Cil_types.enumitem Cil.visitAction
      method vexpr : Cil_types.exp -> Cil_types.exp Cil.visitAction
      method vfieldinfo :
        Cil_types.fieldinfo -> Cil_types.fieldinfo Cil.visitAction
      method vfile : Cil_types.file -> Cil_types.file Cil.visitAction
      method vfrom :
        Cil_types.identified_term Cil_types.from ->
        Cil_types.identified_term Cil_types.from Cil.visitAction
      method vfunc : Cil_types.fundec -> Cil_types.fundec Cil.visitAction
      method vglob :
        Cil_types.global -> Cil_types.global list Cil.visitAction
      method vimpact_pragma :
        Cil_types.term Cil_types.impact_pragma ->
        Cil_types.term Cil_types.impact_pragma Cil.visitAction
      method vinit :
        Cil_types.varinfo ->
        Cil_types.offset -> Cil_types.init -> Cil_types.init Cil.visitAction
      method vinitoffs : Cil_types.offset -> Cil_types.offset Cil.visitAction
      method vinst : Cil_types.instr -> Cil_types.instr list Cil.visitAction
      method vlogic_ctor_info_decl :
        Cil_types.logic_ctor_info ->
        Cil_types.logic_ctor_info Cil.visitAction
      method vlogic_ctor_info_use :
        Cil_types.logic_ctor_info ->
        Cil_types.logic_ctor_info Cil.visitAction
      method vlogic_info_decl :
        Cil_types.logic_info -> Cil_types.logic_info Cil.visitAction
      method vlogic_info_use :
        Cil_types.logic_info -> Cil_types.logic_info Cil.visitAction
      method vlogic_label :
        Cil_types.logic_label -> Cil_types.logic_label Cil.visitAction
      method vlogic_type :
        Cil_types.logic_type -> Cil_types.logic_type Cil.visitAction
      method vlogic_type_def :
        Cil_types.logic_type_def -> Cil_types.logic_type_def Cil.visitAction
      method vlogic_type_info_decl :
        Cil_types.logic_type_info ->
        Cil_types.logic_type_info Cil.visitAction
      method vlogic_type_info_use :
        Cil_types.logic_type_info ->
        Cil_types.logic_type_info Cil.visitAction
      method vlogic_var_decl :
        Cil_types.logic_var -> Cil_types.logic_var Cil.visitAction
      method vlogic_var_use :
        Cil_types.logic_var -> Cil_types.logic_var Cil.visitAction
      method vloop_pragma :
        Cil_types.term Cil_types.loop_pragma ->
        Cil_types.term Cil_types.loop_pragma Cil.visitAction
      method vlval : Cil_types.lval -> Cil_types.lval Cil.visitAction
      method voffs : Cil_types.offset -> Cil_types.offset Cil.visitAction
      method vpredicate :
        Cil_types.predicate -> Cil_types.predicate Cil.visitAction
      method vpredicate_named :
        Cil_types.predicate Cil_types.named ->
        Cil_types.predicate Cil_types.named Cil.visitAction
      method vquantifiers :
        Cil_types.quantifiers -> Cil_types.quantifiers Cil.visitAction
      method vslice_pragma :
        Cil_types.term Cil_types.slice_pragma ->
        Cil_types.term Cil_types.slice_pragma Cil.visitAction
      method vspec : Cil_types.funspec -> Cil_types.funspec Cil.visitAction
      method vstmt :
        LiveFlow.StmtStartData.key -> Cil_types.stmt Cil.visitAction
      method vterm : Cil_types.term -> Cil_types.term Cil.visitAction
      method vterm_lhost :
        Cil_types.term_lhost -> Cil_types.term_lhost Cil.visitAction
      method vterm_lval :
        Cil_types.term_lval -> Cil_types.term_lval Cil.visitAction
      method vterm_node :
        Cil_types.term_node -> Cil_types.term_node Cil.visitAction
      method vterm_offset :
        Cil_types.term_offset -> Cil_types.term_offset Cil.visitAction
      method vtype : Cil_types.typ -> Cil_types.typ Cil.visitAction
      method vvdec : Cil_types.varinfo -> Cil_types.varinfo Cil.visitAction
      method vvrbl : Cil_types.varinfo -> Cil_types.varinfo Cil.visitAction
    end
  val null_adder : Cil_types.fundec -> LiveFlow.StmtStartData.key list
  val computeLiveness : Cil_types.fundec -> unit
  val getLiveSet :
    LiveFlow.StmtStartData.key -> LiveFlow.StmtStartData.data option
  val print_everything : unit -> unit
  val match_label : Cil_types.label -> bool
  class doFeatureClass :
    object
      method behavior : Cil.visitor_behavior
      method current_func : Cil_types.fundec option
      method current_kinstr : Cil_types.kinstr
      method current_stmt : Cil_types.stmt option
      method fill_global_tables : unit
      method get_filling_actions : (unit -> unit) Queue.t
      method plain_copy_visitor : Cil.cilVisitor
      method pop_stmt : Cil_types.stmt -> unit
      method push_stmt : Cil_types.stmt -> unit
      method queueInstr : Cil_types.instr list -> unit
      method reset_current_func : unit -> unit
      method set_current_func : Cil_types.fundec -> unit
      method unqueueInstr : unit -> Cil_types.instr list
      method vannotation :
        Cil_types.global_annotation ->
        Cil_types.global_annotation Cil.visitAction
      method vassigns :
        Cil_types.identified_term Cil_types.assigns ->
        Cil_types.identified_term Cil_types.assigns Cil.visitAction
      method vattr :
        Cil_types.attribute -> Cil_types.attribute list Cil.visitAction
      method vattrparam :
        Cil_types.attrparam -> Cil_types.attrparam Cil.visitAction
      method vbehavior :
        Cil_types.funbehavior -> Cil_types.funbehavior Cil.visitAction
      method vblock : Cil_types.block -> Cil_types.block Cil.visitAction
      method vcode_annot :
        Cil_types.code_annotation ->
        Cil_types.code_annotation Cil.visitAction
      method vcompinfo :
        Cil_types.compinfo -> Cil_types.compinfo Cil.visitAction
      method vdeps :
        Cil_types.identified_term Cil_types.deps ->
        Cil_types.identified_term Cil_types.deps Cil.visitAction
      method venuminfo :
        Cil_types.enuminfo -> Cil_types.enuminfo Cil.visitAction
      method venumitem :
        Cil_types.enumitem -> Cil_types.enumitem Cil.visitAction
      method vexpr : Cil_types.exp -> Cil_types.exp Cil.visitAction
      method vfieldinfo :
        Cil_types.fieldinfo -> Cil_types.fieldinfo Cil.visitAction
      method vfile : Cil_types.file -> Cil_types.file Cil.visitAction
      method vfrom :
        Cil_types.identified_term Cil_types.from ->
        Cil_types.identified_term Cil_types.from Cil.visitAction
      method vfunc : Cil_types.fundec -> Cil_types.fundec Cil.visitAction
      method vglob :
        Cil_types.global -> Cil_types.global list Cil.visitAction
      method vimpact_pragma :
        Cil_types.term Cil_types.impact_pragma ->
        Cil_types.term Cil_types.impact_pragma Cil.visitAction
      method vinit :
        Cil_types.varinfo ->
        Cil_types.offset -> Cil_types.init -> Cil_types.init Cil.visitAction
      method vinitoffs : Cil_types.offset -> Cil_types.offset Cil.visitAction
      method vinst : Cil_types.instr -> Cil_types.instr list Cil.visitAction
      method vlogic_ctor_info_decl :
        Cil_types.logic_ctor_info ->
        Cil_types.logic_ctor_info Cil.visitAction
      method vlogic_ctor_info_use :
        Cil_types.logic_ctor_info ->
        Cil_types.logic_ctor_info Cil.visitAction
      method vlogic_info_decl :
        Cil_types.logic_info -> Cil_types.logic_info Cil.visitAction
      method vlogic_info_use :
        Cil_types.logic_info -> Cil_types.logic_info Cil.visitAction
      method vlogic_label :
        Cil_types.logic_label -> Cil_types.logic_label Cil.visitAction
      method vlogic_type :
        Cil_types.logic_type -> Cil_types.logic_type Cil.visitAction
      method vlogic_type_def :
        Cil_types.logic_type_def -> Cil_types.logic_type_def Cil.visitAction
      method vlogic_type_info_decl :
        Cil_types.logic_type_info ->
        Cil_types.logic_type_info Cil.visitAction
      method vlogic_type_info_use :
        Cil_types.logic_type_info ->
        Cil_types.logic_type_info Cil.visitAction
      method vlogic_var_decl :
        Cil_types.logic_var -> Cil_types.logic_var Cil.visitAction
      method vlogic_var_use :
        Cil_types.logic_var -> Cil_types.logic_var Cil.visitAction
      method vloop_pragma :
        Cil_types.term Cil_types.loop_pragma ->
        Cil_types.term Cil_types.loop_pragma Cil.visitAction
      method vlval : Cil_types.lval -> Cil_types.lval Cil.visitAction
      method voffs : Cil_types.offset -> Cil_types.offset Cil.visitAction
      method vpredicate :
        Cil_types.predicate -> Cil_types.predicate Cil.visitAction
      method vpredicate_named :
        Cil_types.predicate Cil_types.named ->
        Cil_types.predicate Cil_types.named Cil.visitAction
      method vquantifiers :
        Cil_types.quantifiers -> Cil_types.quantifiers Cil.visitAction
      method vslice_pragma :
        Cil_types.term Cil_types.slice_pragma ->
        Cil_types.term Cil_types.slice_pragma Cil.visitAction
      method vspec : Cil_types.funspec -> Cil_types.funspec Cil.visitAction
      method vstmt :
        LiveFlow.StmtStartData.key -> Cil_types.stmt Cil.visitAction
      method vterm : Cil_types.term -> Cil_types.term Cil.visitAction
      method vterm_lhost :
        Cil_types.term_lhost -> Cil_types.term_lhost Cil.visitAction
      method vterm_lval :
        Cil_types.term_lval -> Cil_types.term_lval Cil.visitAction
      method vterm_node :
        Cil_types.term_node -> Cil_types.term_node Cil.visitAction
      method vterm_offset :
        Cil_types.term_offset -> Cil_types.term_offset Cil.visitAction
      method vtype : Cil_types.typ -> Cil_types.typ Cil.visitAction
      method vvdec : Cil_types.varinfo -> Cil_types.varinfo Cil.visitAction
      method vvrbl : Cil_types.varinfo -> Cil_types.varinfo Cil.visitAction
    end
  val do_live_feature : Cil_types.file -> unit
  val feature : Cil.featureDescr
end