package mopsa

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
include module type of struct include EquivBaseAddrs end
include sig ... end
val bottom : t
val top : t
val singleton : t -> t
val map_fst : (AddrSet.t -> AddrSet.t) -> t -> t
val map_snd : (OtherMap.t -> OtherMap.t) -> t -> t
val subset : t -> t -> bool
val apply : ('a -> 'a) -> ('b -> 'b) -> ('a * 'b) -> 'a * 'b
val apply2 : ('a -> 'a -> 'a) -> ('b -> 'b -> 'b) -> ('a * 'b) -> ('a * 'b) -> 'a * 'b
val join : t -> t -> t
val meet : t -> t -> t
val print : Core.All.printer -> t -> unit
val empty : AddrSet.t * OtherMap.t
val is_bottom : (AddrSet.t * OtherMap.t) -> bool
val widen : 'a -> t -> t -> t
include sig ... end
val id : t Core__Id.id
val name : string
val debug : ('a, Format.formatter, unit, unit) format4 -> 'a
val checks : 'a list
val materialize_builtin_val_addr : Mopsa.addr -> ('a, 'b) Mopsa.man -> Mopsa_utils.Location.range -> 'a Core.Flow.flow -> ('c, Ast.Addr.addr) Mopsa.Cases.cases
val mk_avalue_from_pyaddr : Mopsa.addr -> Ast.Typ.typ -> Mopsa_utils.Location.range -> Mopsa.expr
val safe_get_name_of : Mopsa.expr -> ('a, 'b) Mopsa.man -> 'a Core.Flow.flow -> ('c, string Mopsa.Top.with_top option) Mopsa.Cases.cases
val bind_in_python : Mopsa.addr -> string -> Mopsa.addr -> Mopsa_utils.Location.range -> ('a, 'b) Mopsa.man -> 'a Core.Flow.flow -> ('c, unit) Mopsa.Cases.cases
val fold_until_null : (int -> 'a Core.Flow.flow -> ('a, bool) Mopsa.Cases.cases) -> int -> 'a Core.Flow.flow -> ('a, unit) Mopsa.Cases.cases
val add_pymethoddef : string -> Mopsa.addr -> Python.Addr.py_c_function_kind -> Mopsa.expr -> ('a, AddrSet.t * OtherMap.t) Mopsa.man -> 'b Core.Flow.flow -> ('b, unit) Core.Cases.cases
val add_pymemberdef : Mopsa.addr -> Mopsa.expr -> ('a, 'b * OtherMap.t) Mopsa.man -> 'c Core.Flow.flow -> ('c, unit) Core.Cases.cases
val new_module_from_def : Mopsa.expr -> ('a, AddrSet.t * OtherMap.t) Mopsa.man -> 'a Core.Flow.flow -> ('b, Ast.Expr.expr) Mopsa.Cases.cases
val resolve_c_pointer_into_addr : Mopsa.expr -> ('a, EquivBaseAddrs.t) Mopsa.man -> 'a Core.Flow.flow -> ('b, Mopsa.addr Mopsa.Top.with_top option) Mopsa.Cases.cases
val c_to_python_boundary : ?safe_check:Core.Alarm.check option -> ?on_null:('a Core.Flow.flow -> ('a, Ast.Expr.expr) Mopsa.Cases.cases) -> ?on_top:('a Core.Flow.flow -> ('a, Ast.Expr.expr) Mopsa.Cases.cases) -> Mopsa.expr -> ('b, EquivBaseAddrs.t) Mopsa.man -> 'b Core.Flow.flow -> Mopsa_utils.Location.range -> ('a, Ast.Expr.expr) Mopsa.Cases.cases
val bind_function_in : string -> Mopsa.expr -> Mopsa.addr -> Python.Addr.py_c_function_kind -> ('a, 'b * OtherMap.t) Mopsa.man -> 'a Core.Flow.flow -> ('c, unit) Mopsa.Cases.cases
val search_c_globals_for : 'a Mopsa.Flow.flow -> string -> Mopsa.var
val check_consistent_null : string -> ('a, EquivBaseAddrs.t) Mopsa.man -> 'b Mopsa.Flow.flow -> Mopsa_utils.Location.range -> ('c, Ast.Expr.expr) Mopsa.Cases.cases
val is_py_addr : Mopsa.addr -> bool
val python_to_c_boundary : Mopsa.addr -> Mopsa.typ option -> Mopsa.expr option -> ?size:Mopsa.expr option -> Mopsa_utils.Location.range -> ('a, AddrSet.t * OtherMap.t) Core.Manager.man -> 'a0 Mopsa.flow -> Mopsa.expr * 'a0 Mopsa.flow
val new_class_from_def : Mopsa.expr -> ('a, AddrSet.t * OtherMap.t) Mopsa.man -> 'a Core.Flow.flow -> ('b, Ast.Addr.addr) Mopsa.Cases.cases
val c_set_exception : string -> string -> Mopsa_utils.Location.range -> ('a, 'b) Mopsa.man -> 'c Mopsa.Flow.flow -> 'a Core.Post.post
val normalize_fmt_str : string -> string * int * int
val len_of : ('a, 'b) Mopsa.man -> Mopsa.addr -> 'a Core.Flow.flow -> Mopsa_utils.Location.range -> ('c, int) Mopsa.Cases.cases
val pylong_to_c_type : Mopsa.expr -> Mopsa_utils.Location.range -> ('a, EquivBaseAddrs.t) Mopsa.man -> 'a Core.Flow.flow -> (Z.t * Z.t * string) -> ('b, Ast.Expr.expr) Mopsa.Cases.cases
val fold_c_to_python_boundary : ?safe_check:Core.Alarm.check option -> ('a, EquivBaseAddrs.t) Mopsa.man -> Mopsa_utils.Location.range -> Mopsa.expr list -> 'b Core.Flow.flow -> ('b, Ast.Expr.expr list) Mopsa.Cases.cases
val build_value : ('a, EquivBaseAddrs.t) Mopsa.man -> 'b Core.Flow.flow -> Mopsa.range -> string -> Mopsa.expr list -> ('b, Mopsa.expr list) Mopsa.Cases.cases
val convert_single : ('a, AddrSet.t * OtherMap.t) Mopsa.man -> Mopsa.expr -> char -> Mopsa.expr -> Mopsa_utils.Location.range -> 'a Core.Flow.flow -> ('b, int) Mopsa.Cases.cases
val exec : Mopsa.stmt -> ('a, AddrSet.t * OtherMap.t) Core.Manager.man -> 'a Core.Flow.flow -> ('b, unit) Core.Cases.cases option
val ask : 'a -> 'b -> 'c -> 'd option
val print_expr : 'a -> 'b -> 'c -> 'd -> unit
val print_state : Mopsa.printer -> EquivBaseAddrs.t -> unit
val merge : 'a -> 'b -> 'c -> 'd
OCaml

Innovation. Community. Security.