module LdcConstraint: sig
.. end
Types
type
t = [ `Array_type of Descriptor.array_type
| `Class_or_interface of Name.for_class
| `Float of float
| `Int of int32
| `Method_handle of Bootstrap.method_handle
| `Method_type of Descriptor.for_method
| `String of Utils.UTF8.t ]
The type of constant pool elements that can impose a constraint.
type
set
The type of constraint set.
Exception
type
error =
| |
Too_large of int |
| |
Too_many_constraints of int |
exception Exception of error
val string_of_error : error -> string
Functions
val make : unit -> set
Constructs an new empty set of constraints.
val add : t -> set -> unit
add c s
adds the constraint c to the set s
.
val encode : set -> ConstantPool.extendable
encode s
transforms the constraint set s
into a constant pool that can
be later used to encode methods imposing the constraints in s
.
Raises Exception
if the constant pool would be too large, or if there is
too many constraints.
val equal : t -> t -> bool
Equality over constraints.
val compare : t -> t -> int
Comparison over constraints.
val hash : t -> int
Hash function over constraints.