Source

TyLLVM / LLVM_types.mli

type 'a t

type llvm_int = [`Int of (int * Big_int.big_int option)]
type 'a llvm_array = [`Array of (int * 'a t)]
type 'a llvm_pointer = [`Pointer of ('a t * int option)]
type ('a, 'b) llvm_function_pointer = [`Function_pointer of ('a t array * 'b t * int option)]

val int : int -> Big_int.big_int option -> [> llvm_int ] t
val array : int -> 'a t -> [> 'a llvm_array ] t
val pointer : 'a t -> int option -> [> 'a llvm_pointer ] t
val function_pointer : 'a t array -> 'b t -> int option -> [> ('a, 'b) llvm_function_pointer ] t

val to_string :
  ([< llvm_int
   | 'a llvm_array
   | 'a llvm_pointer
   | ('a, 'a) llvm_function_pointer
   ] as 'a) t ->
  string