package sawja

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type !'a class_node = private {
  1. c_info : 'a Javalib_pack.Javalib.jclass;
  2. c_super : 'a class_node option;
  3. c_interfaces : 'a interface_node Javalib_pack.JBasics.ClassMap.t;
  4. mutable c_children : 'a class_node list;
}
and !'a interface_node = private {
  1. i_info : 'a Javalib_pack.Javalib.jinterface;
  2. i_super : 'a class_node;
  3. i_interfaces : 'a interface_node Javalib_pack.JBasics.ClassMap.t;
  4. mutable i_children_interfaces : 'a interface_node list;
  5. mutable i_children_classes : 'a class_node list;
}
and !'a node =
  1. | Interface of 'a interface_node
  2. | Class of 'a class_node
type !'a program = {
  1. classes : 'a node Javalib_pack.JBasics.ClassMap.t;
  2. parsed_methods : ('a node * 'a Javalib_pack.Javalib.concrete_method) Javalib_pack.JBasics.ClassMethodMap.t;
  3. static_lookup_method : 'a static_lookup_method;
}
val iter : ('a node -> unit) -> 'a program -> unit
val fold : ('b -> 'a node -> 'b) -> 'b -> 'a program -> 'b
val cf_iter : (Javalib_pack.Javalib.class_field -> unit) -> 'a node -> unit
val if_iter : (Javalib_pack.Javalib.interface_field -> unit) -> 'a node -> unit
val f_iter : (Javalib_pack.Javalib.any_field -> unit) -> 'a node -> unit
val cf_fold : (Javalib_pack.Javalib.class_field -> 'b -> 'b) -> 'a node -> 'b -> 'b
val if_fold : (Javalib_pack.Javalib.interface_field -> 'b -> 'b) -> 'a node -> 'b -> 'b
val f_fold : (Javalib_pack.Javalib.any_field -> 'b -> 'b) -> 'a node -> 'b -> 'b
val cm_iter : ('a Javalib_pack.Javalib.concrete_method -> unit) -> 'a node -> unit
val am_iter : (Javalib_pack.Javalib.abstract_method -> unit) -> 'a node -> unit
val m_iter : ('a Javalib_pack.Javalib.jmethod -> unit) -> 'a node -> unit
val cm_fold : ('a Javalib_pack.Javalib.concrete_method -> 'b -> 'b) -> 'a node -> 'b -> 'b
val am_fold : (Javalib_pack.Javalib.abstract_method -> 'b -> 'b) -> 'a node -> 'b -> 'b
val m_fold : ('a Javalib_pack.Javalib.jmethod -> 'b -> 'b) -> 'a node -> 'b -> 'b
val get_node : 'a program -> Javalib_pack.JBasics.class_name -> 'a node
val get_consts : 'a node -> Javalib_pack.JBasics.constant array
val get_all_children_classes : 'a class_node -> 'a class_node list
val i_equal : 'a interface_node -> 'a interface_node -> bool
val c_equal : 'a class_node -> 'a class_node -> bool
val node_equal : 'a node -> 'a node -> bool
val defines_method : 'a node -> Javalib_pack.JBasics.method_signature -> bool
val defines_field : 'a node -> Javalib_pack.JBasics.field_signature -> bool
val extends_class : 'a class_node -> 'a class_node -> bool
val extends_interface : 'a interface_node -> 'a interface_node -> bool
val extends : 'a node -> 'a node -> bool
val implements : 'a class_node -> 'a interface_node -> bool
val super_class : 'a node -> 'a class_node option
val implemented_interfaces : 'a class_node -> 'a interface_node list
val directly_implemented_interfaces : 'a class_node -> 'a interface_node list
val super_interfaces : 'a interface_node -> 'a interface_node list
val first_common_super_class : 'a class_node -> 'a class_node -> 'a class_node
val map_program : (Javalib_pack.JBasics.class_name -> Javalib_pack.JBasics.method_signature -> 'a -> 'b) -> ('b -> int -> int) option -> 'a program -> 'b program
val map_program2 : ('a node -> 'a Javalib_pack.Javalib.concrete_method -> 'a -> 'b) -> ('b -> int -> int) option -> 'a program -> 'b program
val map_program_with_native2 : ('a node -> 'a Javalib_pack.Javalib.concrete_method -> 'a Javalib_pack.Javalib.implementation -> 'b Javalib_pack.Javalib.implementation) -> ('b -> int -> int) option -> 'a program -> 'b program
val store_callgraph : callgraph -> string -> unit
exception IncompatibleClassChangeError
exception NoSuchMethodError
exception NoSuchFieldError
exception NoClassDefFoundError
exception AbstractMethodError
exception IllegalAccessError
OCaml

Innovation. Community. Security.