package javalib

  1. Overview
  2. Docs
type class_name
type method_signature
type method_descriptor
type field_signature
type class_field_signature
type class_method_signature
type other_num = [
  1. | `Double
  2. | `Float
  3. | `Long
]
type jvm_basic_type = [
  1. | `Double
  2. | `Float
  3. | `Int2Bool
  4. | `Long
]
type jvm_type = [
  1. | `Double
  2. | `Float
  3. | `Int2Bool
  4. | `Long
  5. | `Object
]
type jvm_array_type = [
  1. | `ByteBool
  2. | `Char
  3. | `Double
  4. | `Float
  5. | `Int
  6. | `Long
  7. | `Object
  8. | `Short
]
type jvm_return_type = [
  1. | `Double
  2. | `Float
  3. | `Int2Bool
  4. | `Long
  5. | `Object
  6. | `Void
]
type java_basic_type = [
  1. | `Bool
  2. | `Byte
  3. | `Char
  4. | `Double
  5. | `Float
  6. | `Int
  7. | `Long
  8. | `Short
]
type object_type =
  1. | TClass of class_name
  2. | TArray of value_type
and value_type =
  1. | TBasic of java_basic_type
  2. | TObject of object_type
type jstr
type version = {
  1. major : int;
  2. minor : int;
}
val java_lang_object : class_name
val default_native_throwable : class_name list
val make_cn : string -> class_name
val cn_hash : class_name -> int
val cn_name : class_name -> string
val cn_simple_name : class_name -> string
val cn_package : class_name -> string list
val cn_compare : class_name -> class_name -> int
val cn_equal : class_name -> class_name -> bool
val clinit_signature : method_signature
val make_ms : string -> value_type list -> value_type option -> method_signature
val ms_hash : method_signature -> int
val ms_name : method_signature -> string
val ms_args : method_signature -> value_type list
val ms_rtype : method_signature -> value_type option
val ms_compare : method_signature -> method_signature -> int
val ms_equal : method_signature -> method_signature -> bool
val make_md : (value_type list * value_type option) -> method_descriptor
val md_split : method_descriptor -> value_type list * value_type option
val md_args : method_descriptor -> value_type list
val md_rtype : method_descriptor -> value_type option
val make_fs : string -> value_type -> field_signature
val fs_hash : field_signature -> int
val fs_name : field_signature -> string
val fs_type : field_signature -> value_type
val fs_compare : field_signature -> field_signature -> int
val fs_equal : field_signature -> field_signature -> bool
val cfs_compare : class_field_signature -> class_field_signature -> int
val cfs_equal : class_field_signature -> class_field_signature -> bool
val cfs_hash : class_field_signature -> int
val make_jstr : string -> jstr
val jstr_pp : jstr -> string
val jstr_raw : jstr -> string
type jmethod_or_interface = [
  1. | `InterfaceMethod of class_name * method_signature
  2. | `Method of class_name * method_signature
]
type method_handle = [
  1. | `GetField of class_name * field_signature
  2. | `GetStatic of class_name * field_signature
  3. | `InvokeInterface of class_name * method_signature
  4. | `InvokeSpecial of jmethod_or_interface
  5. | `InvokeStatic of jmethod_or_interface
  6. | `InvokeVirtual of object_type * method_signature
  7. | `NewInvokeSpecial of class_name * method_signature
  8. | `PutField of class_name * field_signature
  9. | `PutStatic of class_name * field_signature
]
type bootstrap_argument = [
  1. | `Class of object_type
  2. | `Double of float
  3. | `Float of float
  4. | `Int of int32
  5. | `Long of int64
  6. | `MethodHandle of method_handle
  7. | `MethodType of method_descriptor
  8. | `String of jstr
]
type bootstrap_method = {
  1. bm_ref : method_handle;
  2. bm_args : bootstrap_argument list;
}
type bootstrap_method_index = int
type descriptor =
  1. | SValue of value_type
  2. | SMethod of method_descriptor
type constant =
  1. | ConstString of jstr
  2. | ConstInt of int32
  3. | ConstFloat of float
  4. | ConstLong of int64
  5. | ConstDouble of float
  6. | ConstClass of object_type
  7. | ConstField of class_name * field_signature
  8. | ConstMethod of object_type * method_signature
  9. | ConstInterfaceMethod of class_name * method_signature
  10. | ConstMethodType of method_descriptor
  11. | ConstMethodHandle of method_handle
  12. | ConstInvokeDynamic of bootstrap_method_index * method_signature
  13. | ConstNameAndType of string * descriptor
  14. | ConstStringUTF8 of string
  15. | ConstModule of string
  16. | ConstPackage of string
  17. | ConstUnusable
type verification_type =
  1. | VTop
  2. | VInteger
  3. | VFloat
  4. | VDouble
  5. | VLong
  6. | VNull
  7. | VUninitializedThis
  8. | VObject of object_type
  9. | VUninitialized of int
type stackmap_frame =
  1. | SameFrame of int
  2. | SameLocals of int * verification_type
  3. | SameLocalsExtended of int * int * verification_type
  4. | ChopFrame of int * int
  5. | SameFrameExtended of int * int
  6. | AppendFrame of int * int * verification_type list
  7. | FullFrame of int * int * verification_type list * verification_type list
exception No_class_found of string
exception Class_structure_error of string
type element_value =
  1. | EVCstByte of int
  2. | EVCstChar of int
  3. | EVCstInt of int32
  4. | EVCstShort of int
  5. | EVCstBoolean of int
  6. | EVCstDouble of float
  7. | EVCstFloat of float
  8. | EVCstLong of int64
  9. | EVCstString of string
  10. | EVEnum of class_name * string
  11. | EVClass of value_type option
  12. | EVAnnotation of annotation
  13. | EVArray of element_value list
and annotation = {
  1. kind : class_name;
  2. element_value_pairs : (string * element_value) list;
}
module ClassMap : sig ... end
module MethodMap : sig ... end
module FieldMap : sig ... end
module ClassFieldMap : sig ... end
module ClassMethodMap : sig ... end
module ClassSet : sig ... end
module MethodSet : sig ... end
module FieldSet : sig ... end
module ClassFieldSet : sig ... end
module ClassMethodSet : sig ... end
module ClassMethodMaptoSet : sig ... end
val set_permissive : bool -> unit
val get_permissive : unit -> bool