To focus the search input from anywhere on the page, press the 'S' key.
in-package search v0.1.0
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
type unindexed_var = Cmn.unindexed_var =
| OriginalVar of int * string option
| TempVar of int
| CatchVar of int
| BranchVar of int * int
| BranchVar2 of int * int
| SSAVar of var * int
| FreshVar of int
and var = int * unindexed_var
val var_name_debug : ('a * unindexed_var) -> string option
val catch_var : ('a * unindexed_var) -> bool
val temp_var : ('a * unindexed_var) -> bool
val ssa_var : ('a * unindexed_var) -> bool
val unindexed_var_name : unindexed_var -> string
val var_name : ('a * unindexed_var) -> string
val unindexed_var_name_g : unindexed_var -> string
val var_name_g : ('a * unindexed_var) -> string
val unindexed_bc_num : unindexed_var -> int option
val bc_num : ('a * unindexed_var) -> int option
val var_orig : ('a * unindexed_var) -> bool
val var_origin : ('a * unindexed_var) -> var
val var_ssa_index : ('a * unindexed_var) -> int
val make_var_ssa : var -> int -> unindexed_var
module DicoVarMap = Cmn.DicoVarMap
val make_dictionary : unit -> dictionary
val make_var : dictionary -> unindexed_var -> var
val make_array_var : dictionary -> (int * unindexed_var) array
val make_dictionary_from : var array -> dictionary
module VarSet = Cmn.VarSet
module VarMap = Cmn.VarMap
type exception_handler = Cmn.exception_handler = {
e_start : int;
e_end : int;
e_handler : int;
e_catch_type : Javalib_pack.JBasics.class_name option;
e_catch_var : var;
}
val generic_exception_edges :
'a array ->
exception_handler list ->
(int * exception_handler) list
val print_handler : exception_handler -> string
type const = [
|
`ANull
|
`Class of Javalib_pack.JBasics.object_type
|
`Double of float
|
`Float of float
|
`Int of int32
|
`Long of int64
|
`MethodHandle of Javalib_pack.JBasics.method_handle
|
`MethodType of Javalib_pack.JBasics.method_descriptor
|
`String of Javalib_pack.JBasics.jstr
]
type unop = Cmn.unop =
| Neg of Javalib_pack.JBasics.jvm_basic_type
| Conv of conv
| ArrayLength
| InstanceOf of Javalib_pack.JBasics.object_type
| Cast of Javalib_pack.JBasics.object_type
type binop = Cmn.binop =
| ArrayLoad of Javalib_pack.JBasics.value_type
| Add of Javalib_pack.JBasics.jvm_basic_type
| Sub of Javalib_pack.JBasics.jvm_basic_type
| Mult of Javalib_pack.JBasics.jvm_basic_type
| Div of Javalib_pack.JBasics.jvm_basic_type
| Rem of Javalib_pack.JBasics.jvm_basic_type
| IShl
| IShr
| IAnd
| IOr
| IXor
| IUshr
| LShl
| LShr
| LAnd
| LOr
| LXor
| LUshr
| CMP of comp
type virtual_call_kind = Cmn.virtual_call_kind =
| VirtualCall of Javalib_pack.JBasics.object_type
| InterfaceCall of Javalib_pack.JBasics.class_name
val jconst2const :
[< `ANull
| `Byte of int
| `Class of 'a
| `Double of 'b
| `Float of 'c
| `Int of int32
| `Long of 'd
| `MethodHandle of 'e
| `MethodType of 'f
| `Short of int
| `String of 'g ] ->
[> `ANull
| `Class of 'a
| `Double of 'b
| `Float of 'c
| `Int of int32
| `Long of 'd
| `MethodHandle of 'e
| `MethodType of 'f
| `String of 'g ]
val print_const :
[< `ANull
| `Byte of int
| `Class of Javalib_pack.JBasics.object_type
| `Double of float
| `Float of float
| `Int of int32
| `Long of int64
| `MethodHandle of 'a
| `MethodType of 'b
| `Short of int
| `String of Javalib_pack.JBasics.jstr ] ->
string
val print_unop : unop -> string
val print_binop : binop -> string
val print_typ : Javalib_pack.JBasics.value_type -> string
val print_phi_node : ?phi_simpl:bool -> phi_node -> string
val print_phi_nodes : ?phi_simpl:bool -> phi_node list -> string
val app_phi_nodes :
bool ->
int ->
int array ->
phi_node list ->
string list ->
string list
type expr =
| Const of const
| Var of Javalib_pack.JBasics.value_type * var
| Unop of unop * expr
| Binop of binop * expr * expr
| Field of expr * Javalib_pack.JBasics.class_name * Javalib_pack.JBasics.field_signature
| StaticField of Javalib_pack.JBasics.class_name * Javalib_pack.JBasics.field_signature
type check =
| CheckNullPointer of expr
| CheckArrayBound of expr * expr
| CheckArrayStore of expr * expr
| CheckNegativeArraySize of expr
| CheckCast of expr * Javalib_pack.JBasics.object_type
| CheckArithmetic of expr
| CheckLink of Javalib_pack.JCode.jopcode
type instr =
| Nop
| AffectVar of var * expr
| AffectArray of expr * expr * expr
| AffectField of expr * Javalib_pack.JBasics.class_name * Javalib_pack.JBasics.field_signature * expr
| AffectStaticField of Javalib_pack.JBasics.class_name * Javalib_pack.JBasics.field_signature * expr
| Alloc of var * Javalib_pack.JBasics.class_name
| Goto of int
| Ifd of [ `Eq | `Ge | `Gt | `Le | `Lt | `Ne ] * expr * expr * int
| Throw of expr
| Return of expr option
| New of var * Javalib_pack.JBasics.class_name * Javalib_pack.JBasics.value_type list * expr list
| NewArray of var * Javalib_pack.JBasics.value_type * expr list
| InvokeStatic of var option * Javalib_pack.JBasics.class_name * Javalib_pack.JBasics.method_signature * expr list
| InvokeVirtual of var option * expr * virtual_call_kind * Javalib_pack.JBasics.method_signature * expr list
| InvokeNonVirtual of var option * expr * Javalib_pack.JBasics.class_name * Javalib_pack.JBasics.method_signature * expr list
| InvokeDynamic of var option * Javalib_pack.JBasics.bootstrap_method * Javalib_pack.JBasics.method_signature * expr list
| MonitorEnter of expr
| MonitorExit of expr
| MayInit of Javalib_pack.JBasics.class_name
| Check of check
val type_of_const :
[< `ANull
| `Byte of 'a
| `Class of 'b
| `Double of 'c
| `Float of 'd
| `Int of 'e
| `Long of 'f
| `MethodHandle of 'g
| `MethodType of 'h
| `Short of 'i
| `String of 'j ] ->
Javalib_pack.JBasics.value_type
val type_of_expr : expr -> Javalib_pack.JBasics.value_type
val instr_jump_to : instr -> int option
val print_expr' : ?show_type:bool -> bool -> expr -> string
val print_oexpr : ?show_type:bool -> opexpr -> string
val print_stackmap : ?show_type:bool -> opexpr list -> string
val print_instr : ?show_type:bool -> instr -> string
val print_expr : ?show_type:bool -> expr -> string
type bir = {
bir_vars : var array;
bir_dico : dictionary;
bir_params : (Javalib_pack.JBasics.value_type * var) list;
bir_code : instr array;
bir_exc_tbl : exception_handler list;
bir_line_number_table : (int * int) list option;
bir_pc_ir2bc : int array;
bir_preds : int array array;
bir_phi_nodes : phi_node list array;
bir_mem_ssa : memory_ssa_info;
}
val empty : bir
val ssa_print_code : bool -> bir -> int -> string list -> string list
val ssa_print : ?phi_simpl:bool -> bir -> string list
val print_code :
?show_type:bool ->
instr array ->
int ->
string list ->
string list
val bir_print : ?show_type:bool -> bir -> string list
val bir_jump_target : bir -> bool array
val bir_get_source_line_number : int -> bir -> int option
val bir_exception_edges : bir -> (int * exception_handler) list
val convert_type :
[< `Bool
| `Byte
| `ByteBool
| `Char
| `Double
| `Float
| `Int
| `Int2Bool
| `Long
| `Object
| `Short ] ->
op_size
val convert_const :
[< `ANull
| `Byte of 'a
| `Class of 'b
| `Double of 'c
| `Float of 'd
| `Int of 'e
| `Long of 'f
| `MethodHandle of 'g
| `MethodType of 'h
| `Short of 'i
| `String of 'j ] ->
op_size
val convert_field_type : Javalib_pack.JBasics.value_type -> op_size
val convert_object_type : Javalib_pack.JBasics.object_type -> op_size
val type_next : Javalib_pack.JCode.jopcode -> op_size list -> op_size list
val next : Javalib_pack.JCode.jopcode array -> int -> int
val next_debug : Javalib_pack.JCode.jopcode array -> int -> int
val normal_next : Javalib_pack.JCode.jcode -> int -> int list
val compute_handlers : Javalib_pack.JCode.jcode -> int -> int list
val succs : Javalib_pack.JCode.jcode -> int -> int list
module BCV : sig ... end
val remove_dim :
Javalib_pack.JBasics.object_type ->
int ->
Javalib_pack.JBasics.value_type
val is_arrayload : binop -> bool
val is_in_expr :
(var -> bool) ->
(Javalib_pack.JBasics.class_name ->
Javalib_pack.JBasics.field_signature ->
bool) ->
(Javalib_pack.JBasics.class_name ->
Javalib_pack.JBasics.field_signature ->
bool) ->
bool ->
expr ->
bool
val var_in_expr :
(var -> bool) ->
expr ->
Javalib_pack.JBasics.value_type option
val replace_in_expr :
(var -> bool) ->
(Javalib_pack.JBasics.class_name ->
Javalib_pack.JBasics.field_signature ->
bool) ->
var ->
expr ->
expr
val is_in_stack :
(var -> bool) ->
(Javalib_pack.JBasics.class_name ->
Javalib_pack.JBasics.field_signature ->
bool) ->
opexpr list ->
bool
val var_in_stack :
(var -> bool) ->
opexpr list ->
Javalib_pack.JBasics.value_type option
val replace_in_stack :
(var -> bool) ->
(Javalib_pack.JBasics.class_name ->
Javalib_pack.JBasics.field_signature ->
bool) ->
var ->
opexpr list ->
opexpr list
val is_var_in_stack :
var ->
opexpr list ->
Javalib_pack.JBasics.value_type option
val is_static_in_stack :
Javalib_pack.JBasics.class_name ->
Javalib_pack.JBasics.field_signature ->
opexpr list ->
bool
val is_field_in_expr :
Javalib_pack.JBasics.class_name ->
Javalib_pack.JBasics.field_signature ->
expr ->
bool
val is_array_in_expr : expr -> bool
val is_heap_sensible_element_in_expr : expr -> bool
val replace_static_in_stack :
Javalib_pack.JBasics.class_name ->
Javalib_pack.JBasics.field_signature ->
var ->
opexpr list ->
opexpr list
val temp_in_expr : Javalib_pack.Ptset.t -> expr -> Javalib_pack.Ptset.t
val temp_in_opexpr : Javalib_pack.Ptset.t -> opexpr -> Javalib_pack.Ptset.t
val temp_in_stack : opexpr list -> Javalib_pack.Ptset.t
val make_tempvar :
dictionary ->
bool ->
int ref ->
opexpr list ->
var option ->
var
val type_of_array_content :
[< `ByteBool | `Char | `Double | `Float | `Int | `Long | `Object | `Short ] ->
expr ->
Javalib_pack.JBasics.value_type
val bc2bir_instr :
dictionary ->
mode ->
(int -> int -> string option) ->
bool ->
bool ->
constructor_folding_mode ->
int ref ->
int ->
(int -> Javalib_pack.JBasics.value_type) ->
(Javalib_pack.JBasics.jvm_array_type ->
int ->
Javalib_pack.JBasics.value_type) ->
op_size list ->
opexpr list ->
var option ->
bool ->
Javalib_pack.JCode.jopcode ->
opexpr list * instr list
val is_jump_instr : Javalib_pack.JCode.jopcode -> bool
module MapPc = Javalib_pack.Ptmap
val is_branchvar_in_stack : int list -> opexpr list -> bool
val para_assign : dictionary -> int -> int list -> opexpr list -> instr list
val jump_stack : dictionary -> int -> opexpr list -> opexpr list
module FastCheckInfoDebug : sig ... end
module CheckInfoDebug : sig ... end
val bc2ir :
dictionary ->
mode ->
bool ->
bool ->
constructor_folding_mode ->
(int -> int -> string option) ->
bool array ->
(int -> Javalib_pack.JBasics.value_type) ->
(Javalib_pack.JBasics.jvm_array_type ->
int ->
Javalib_pack.JBasics.value_type) ->
Javalib_pack.JCode.jcode ->
(int * instr list) list
val search_name_localvar :
bool ->
Javalib_pack.JCode.jcode ->
int ->
int ->
string option
val compute_jump_target : Javalib_pack.JCode.jcode -> bool array
val gen_params :
dictionary ->
(int -> int -> string option) ->
'a Javalib_pack.Javalib.concrete_method ->
(Javalib_pack.JBasics.value_type * var) list
val compress_ir :
Javalib_pack.JCode.exception_handler list ->
(int * instr list) list ->
bool array ->
(int * (int list * instr) list) list
val make_exception_handler :
dictionary ->
Javalib_pack.JCode.exception_handler ->
exception_handler
val print_unflattened_code : (int * (int * instr) list) list -> unit
val print_unflattened_code_uncompress : (int * instr list) list -> unit
val flatten_code :
(int * (int list * instr) list) list ->
exception_handler list ->
instr array * int array * int Javalib_pack.Ptmap.t * exception_handler list
val find_preds_instrs :
instr array ->
exception_handler list ->
Javalib_pack.Ptset.t array
val remove_dead_instrs :
instr array ->
int array ->
int Javalib_pack.Ptmap.t ->
exception_handler list ->
instr array * int array * int Javalib_pack.Ptmap.t * exception_handler list
val rm_dead_instr_from_bcv :
Javalib_pack.JCode.jcode ->
(int -> bool) ->
Javalib_pack.JCode.jcode
val jcode2bir :
mode ->
bool ->
bool ->
bool ->
constructor_folding_mode ->
'a Javalib_pack.Javalib.concrete_method ->
Javalib_pack.JCode.jcode ->
bir
module Live : sig ... end
module SSA : sig ... end
val phi_nodes :
('a -> bir) ->
'a Javalib_pack.Javalib.interface_or_class ->
Javalib_pack.JBasics.method_signature ->
int ->
phi_node list * int array
val inst_html :
('a -> bir) ->
'b JProgram.program option ->
'a Javalib_pack.Javalib.interface_or_class ->
Javalib_pack.JBasics.method_signature ->
int ->
instr ->
JPrintHtml.elem list
val iter_exc_handler : (exception_handler -> unit) -> bir -> unit
val method_param_names :
('a -> bir) ->
'a Javalib_pack.Javalib.interface_or_class ->
Javalib_pack.JBasics.method_signature ->
string list option
val exc_handler_html : 'a -> 'b -> 'c -> exception_handler -> JPrintHtml.elem
val get_method_calls :
'a JProgram.program ->
Javalib_pack.JBasics.class_name ->
bir Javalib_pack.Javalib.concrete_method ->
Javalib_pack.JBasics.ClassMethodSet.t Javalib_pack.Ptmap.t
val get_callgraph :
bir JProgram.program ->
((Javalib_pack.JBasics.class_name
* Javalib_pack.JBasics.method_signature
* int)
* (Javalib_pack.JBasics.class_name * Javalib_pack.JBasics.method_signature))
list
val get_callgraph_from_entries :
bir JProgram.program ->
Javalib_pack.JBasics.ClassMethodSet.elt list ->
((Javalib_pack.JBasics.class_name
* Javalib_pack.JBasics.method_signature
* int)
* (Javalib_pack.JBasics.class_name * Javalib_pack.JBasics.method_signature))
list
val bir_resolve_field :
'a JProgram.program ->
Javalib_pack.JBasics.class_name ->
Javalib_pack.JBasics.field_signature ->
Javalib_pack.JBasics.class_name
val bir_resolve_field_in_expr : 'a JProgram.program -> expr -> expr
val bir_field_resolve_in_code : 'a JProgram.program -> instr -> instr
val resolve_all_fields : bir JProgram.program -> bir JProgram.program
module PrintIR : sig ... end
module Printer : sig ... end
module MakeCodeExcFunctions : sig ... end
val simplify_CheckNullPointer :
'a Javalib_pack.Javalib.concrete_method ->
bir ->
unit
module IRUtil : sig ... end
module MakeBirLikeFunctions : sig ... end
module PluginPrinter : sig ... end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>