-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.mli
38 lines (26 loc) · 1.02 KB
/
app.mli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
(** Android application *)
(** Type of an Android application. *)
type t
(** Manifest of an application. *)
type manifest
(** Classes of an application. *)
type classes
(** Methods of a class. *)
type methods
(** Formal parameters of a method. *)
type params = string list
(** Fold on initial global states. *)
val fold_on_init_states : (Global.t -> 'a -> 'a) -> t -> 'a -> 'a
(** Build a manifest from a string. *)
val manifest_from_string : string -> manifest
(** Build a class from a list of methods. *)
val methods_from_list : (string * (params * Cfg.t)) list -> methods
(** Build a set of classes for an app from a list of classes. *)
val classes_from_list : (string * methods) list -> classes
(** Build an app from a manifest and classes. *)
val make : manifest -> classes -> t
(** Build an app from a mini AST. *)
val from_ast : Lang.Ast.app -> t
(** Get CFG associated with a class and a method in an application. Return an
empty CFG if it cannot be found. *)
val get_method : t -> string -> string -> (params * Cfg.t)