sig
type info = {
access_flags : Utils.u2;
name_index : Utils.u2;
descriptor_index : Utils.u2;
attributes_count : Utils.u2;
attributes_array : Attribute.info array;
}
type error =
Invalid_name of Utils.UTF8.t
| Invalid_name_value of Utils.u2
| Invalid_descriptor_value of Utils.u2
exception Exception of Method.error
val string_of_error : Method.error -> string
val read_info : InputStream.t -> Method.info
val write_info : OutputStream.t -> Method.info -> unit
type regular = {
flags : AccessFlag.for_method list;
name : Name.for_method;
descriptor : Descriptor.for_method;
attributes : Attribute.for_method list;
}
type constructor = {
cstr_flags : AccessFlag.for_constructor list;
cstr_descriptor : Descriptor.for_parameter list;
cstr_attributes : Attribute.for_method list;
}
type class_initializer = {
init_flags : AccessFlag.for_initializer list;
init_attributes : Attribute.for_method list;
}
type t =
Regular of Method.regular
| Constructor of Method.constructor
| Initializer of Method.class_initializer
val equal_regular : Method.regular -> Method.regular -> bool
val compare_regular : Method.regular -> Method.regular -> int
val hash_regular : Method.regular -> int
val equal_constructor : Method.constructor -> Method.constructor -> bool
val compare_constructor : Method.constructor -> Method.constructor -> int
val hash_constructor : Method.constructor -> int
val equal_class_initializer :
Method.class_initializer -> Method.class_initializer -> bool
val compare_class_initializer :
Method.class_initializer -> Method.class_initializer -> int
val hash_class_initializer : Method.class_initializer -> int
val equal : Method.t -> Method.t -> bool
val compare : Method.t -> Method.t -> int
val hash : Method.t -> int
val compare_according_to_visibility : Method.t -> Method.t -> int
val decode :
bool -> Bootstrap.methods -> ConstantPool.t -> Method.info -> Method.t
val encode :
Bootstrap.methods -> ConstantPool.extendable -> Method.t -> Method.info
end