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