package javalib

  1. Overview
  2. Docs
type access = [
  1. | `Default
  2. | `Private
  3. | `Protected
  4. | `Public
]
type attributes = {
  1. synthetic : bool;
  2. deprecated : bool;
  3. other : (string * string) list;
}
type visibility =
  1. | RTVisible
  2. | RTInvisible
type field_kind =
  1. | NotFinal
  2. | Final
  3. | Volatile
type constant_attribute = [
  1. | `Double of float
  2. | `Float of float
  3. | `Int of int32
  4. | `Long of int64
  5. | `String of JBasics.jstr
]
type class_field = {
  1. cf_signature : JBasics.field_signature;
  2. cf_class_signature : JBasics.class_field_signature;
  3. cf_generic_signature : JSignature.fieldTypeSignature option;
  4. cf_access : access;
  5. cf_static : bool;
  6. cf_synthetic : bool;
  7. cf_enum : bool;
  8. cf_kind : field_kind;
  9. cf_value : constant_attribute option;
  10. cf_transient : bool;
  11. cf_annotations : (JBasics.annotation * visibility) list;
  12. cf_other_flags : int list;
  13. cf_attributes : attributes;
}
type interface_field = {
  1. if_signature : JBasics.field_signature;
  2. if_class_signature : JBasics.class_field_signature;
  3. if_generic_signature : JSignature.fieldTypeSignature option;
  4. if_synthetic : bool;
  5. if_value : constant_attribute option;
  6. if_annotations : (JBasics.annotation * visibility) list;
  7. if_other_flags : int list;
  8. if_attributes : attributes;
}
type any_field =
  1. | InterfaceField of interface_field
  2. | ClassField of class_field
val get_field_signature : any_field -> JBasics.field_signature
val get_class_field_signature : any_field -> JBasics.class_field_signature
val get_field_visibility : any_field -> access
val is_static_field : any_field -> bool
val is_final_field : any_field -> bool
type !'a implementation =
  1. | Native
  2. | Java of 'a Lazy.t
type method_annotations = {
  1. ma_global : (JBasics.annotation * visibility) list;
  2. ma_parameters : (JBasics.annotation * visibility) list list;
}
type method_parameter_attribute = {
  1. mp_name : string option;
  2. mp_final : bool;
  3. mp_synthetic : bool;
  4. mp_mandated : bool;
}
type !'a concrete_method = {
  1. cm_signature : JBasics.method_signature;
  2. cm_class_method_signature : JBasics.class_method_signature;
  3. cm_static : bool;
  4. cm_final : bool;
  5. cm_synchronized : bool;
  6. cm_strict : bool;
  7. cm_access : access;
  8. cm_generic_signature : JSignature.methodTypeSignature option;
  9. cm_bridge : bool;
  10. cm_varargs : bool;
  11. cm_synthetic : bool;
  12. cm_other_flags : int list;
  13. cm_exceptions : JBasics.class_name list;
  14. cm_attributes : attributes;
  15. cm_parameters : method_parameter_attribute list;
  16. cm_annotations : method_annotations;
  17. cm_implementation : 'a implementation;
}
type abstract_method = {
  1. am_signature : JBasics.method_signature;
  2. am_class_method_signature : JBasics.class_method_signature;
  3. am_access : [ `Default | `Private | `Protected | `Public ];
  4. am_generic_signature : JSignature.methodTypeSignature option;
  5. am_bridge : bool;
  6. am_varargs : bool;
  7. am_synthetic : bool;
  8. am_other_flags : int list;
  9. am_exceptions : JBasics.class_name list;
  10. am_attributes : attributes;
  11. am_parameters : method_parameter_attribute list;
  12. am_annotations : method_annotations;
  13. am_annotation_default : JBasics.element_value option;
}
type !'a jmethod =
  1. | AbstractMethod of abstract_method
  2. | ConcreteMethod of 'a concrete_method
val get_method_signature : 'a jmethod -> JBasics.method_signature
val get_class_method_signature : 'a jmethod -> JBasics.class_method_signature
val get_method_visibility : 'a jmethod -> access
val is_static_method : 'a jmethod -> bool
val is_final_method : 'a jmethod -> bool
val is_synchronized_method : 'a jmethod -> bool
type inner_class = {
  1. ic_class_name : JBasics.class_name option;
  2. ic_outer_class_name : JBasics.class_name option;
  3. ic_source_name : string option;
  4. ic_access : access;
  5. ic_static : bool;
  6. ic_final : bool;
  7. ic_synthetic : bool;
  8. ic_annotation : bool;
  9. ic_enum : bool;
  10. ic_other_flags : int list;
  11. ic_type : [ `Abstract | `ConcreteClass | `Interface ];
}
type !'a jclass = {
  1. c_name : JBasics.class_name;
  2. c_version : JBasics.version;
  3. c_access : [ `Default | `Public ];
  4. c_final : bool;
  5. c_abstract : bool;
  6. c_super_class : JBasics.class_name option;
  7. c_generic_signature : JSignature.classSignature option;
  8. c_fields : class_field JBasics.FieldMap.t;
  9. c_interfaces : JBasics.class_name list;
  10. c_consts : JBasics.constant array;
  11. c_sourcefile : string option;
  12. c_deprecated : bool;
  13. c_enclosing_method : (JBasics.class_name * JBasics.method_signature option) option;
  14. c_source_debug_extention : string option;
  15. c_inner_classes : inner_class list;
  16. c_synthetic : bool;
  17. c_enum : bool;
  18. c_annotations : (JBasics.annotation * visibility) list;
  19. c_other_flags : int list;
  20. c_other_attributes : (string * string) list;
  21. c_methods : 'a jmethod JBasics.MethodMap.t;
}
type !'a jinterface = {
  1. i_name : JBasics.class_name;
  2. i_version : JBasics.version;
  3. i_access : [ `Default | `Public ];
  4. i_interfaces : JBasics.class_name list;
  5. i_generic_signature : JSignature.classSignature option;
  6. i_consts : JBasics.constant array;
  7. i_sourcefile : string option;
  8. i_deprecated : bool;
  9. i_source_debug_extention : string option;
  10. i_inner_classes : inner_class list;
  11. i_annotation : bool;
  12. i_annotations : (JBasics.annotation * visibility) list;
  13. i_other_attributes : (string * string) list;
  14. i_other_flags : int list;
  15. i_fields : interface_field JBasics.FieldMap.t;
  16. i_methods : 'a jmethod JBasics.MethodMap.t;
}
type !'a interface_or_class =
  1. | JInterface of 'a jinterface
  2. | JClass of 'a jclass
val get_consts : 'a interface_or_class -> JBasics.constant array
val get_access : 'a interface_or_class -> [ `Default | `Public ]
val get_sourcefile : 'a interface_or_class -> string option
val is_deprecated : 'a interface_or_class -> bool
val is_final : 'a interface_or_class -> bool
val get_inner_classes : 'a interface_or_class -> inner_class list
val get_initializer : 'a interface_or_class -> 'a concrete_method option
val get_other_attributes : 'a interface_or_class -> (string * string) list
val get_other_flags : 'a interface_or_class -> int list
val defines_method : 'a interface_or_class -> JBasics.method_signature -> bool
val get_concrete_method : 'a interface_or_class -> JBasics.method_signature -> 'a concrete_method
val get_concrete_methods : 'a interface_or_class -> 'a concrete_method JBasics.MethodMap.t
val defines_field : 'a interface_or_class -> JBasics.field_signature -> bool
val cf_iter : (class_field -> unit) -> 'a interface_or_class -> unit
val if_iter : (interface_field -> unit) -> 'a interface_or_class -> unit
val f_iter : (any_field -> unit) -> 'a interface_or_class -> unit
val cf_fold : (class_field -> 'b -> 'b) -> 'a interface_or_class -> 'b -> 'b
val if_fold : (interface_field -> 'b -> 'b) -> 'a interface_or_class -> 'b -> 'b
val f_fold : (any_field -> 'b -> 'b) -> 'a interface_or_class -> 'b -> 'b
val cm_iter : ('a concrete_method -> unit) -> 'a interface_or_class -> unit
val am_iter : (abstract_method -> unit) -> 'a interface_or_class -> unit
val m_iter : ('a jmethod -> unit) -> 'a interface_or_class -> unit
val cm_fold : ('a concrete_method -> 'b -> 'b) -> 'a interface_or_class -> 'b -> 'b
val am_fold : (abstract_method -> 'b -> 'b) -> 'a interface_or_class -> 'b -> 'b
val m_fold : ('a jmethod -> 'b -> 'b) -> 'a interface_or_class -> 'b -> 'b
val map_concrete_method : ?force:bool -> ('a -> 'b) -> 'a concrete_method -> 'b concrete_method
val map_interface_or_class : ?force:bool -> ('a -> 'b) -> 'a interface_or_class -> 'b interface_or_class
val map_interface_or_class_context : ?force:bool -> ('a concrete_method -> 'a -> 'b) -> 'a interface_or_class -> 'b interface_or_class
val map_concrete_method_with_native : ('a implementation -> 'b implementation) -> 'a concrete_method -> 'b concrete_method
val map_interface_or_class_with_native : ('a implementation -> 'b implementation) -> 'a interface_or_class -> 'b interface_or_class
val map_interface_or_class_with_native_context : ('a concrete_method -> 'a implementation -> 'b implementation) -> 'a interface_or_class -> 'b interface_or_class
type class_path
val class_path : string -> class_path
val close_class_path : class_path -> unit
val write_class : string -> JCode.jcode interface_or_class -> unit
val extract_class_name_from_file : string -> JBasics.class_name * string
val iter : ?debug:bool -> (JCode.jcode interface_or_class -> unit) -> string -> unit
type directories
val make_directories : string -> directories
val read : directories -> ('a -> JCode.jcode interface_or_class -> 'a) -> 'a -> string list -> 'a
val transform : directories -> string -> (JCode.jcode interface_or_class -> JCode.jcode interface_or_class) -> string list -> unit
val unparse_class : JCode.jcode interface_or_class -> out_channel -> unit
module JPrint : sig ... end