solidity-common

The ocaml-solidity project
Library solidity-common
type pos = (int * int) * (int * int)
val dummy_pos : pos
exception GenericError of string
val error : ( 'a, Format.formatter, unit, 'b ) format4 -> 'a
type relative = [
| `Relative
]
type absolute = [
| `Absolute
]
module ExtMap : sig ... end
module ZMap : ExtMap.S with type key = Z.t
module ZSet : Set.S with type elt = Z.t
module IntMap : ExtMap.S with type key = int
module StringMap : ExtMap.S with type key = string
module StringSet : Set.S with type elt = string
module Ident : sig ... end
module LongIdent : sig ... end
module IdentAList : sig ... end
module IdentMap : ExtMap.S with type key = Ident.t
module IdentSet : Set.S with type elt = Ident.t
module ExtList : sig ... end
module ExtInt : sig ... end
module ExtZ : sig ... end
module ExtQ : sig ... end
type annot = ..
type annot +=
| ANone
type 'a node = {
contents : 'a;
mutable annot : annot;
pos : pos;
}
val annot : 'a -> annot -> pos -> 'a node
val strip : 'a node -> 'a
val get_annot : 'a node -> annot
val set_annot : 'a node -> annot -> unit
val replace_annot : 'a node -> annot -> unit
val make_absolute_path : string -> string -> string
val is_some : 'a option -> bool
val is_none : 'a option -> bool
type primitive_kind =
| PrimFunction
| PrimMemberFunction
| PrimVariable
| PrimMemberVariable
type primitive = {
prim_name : string;
prim_kind : primitive_kind;
}
val max_primitives : int
val max_prim_id : int ref
val prim_of_id : int -> primitive option
val prim_of_ident : Ident.t -> (int * primitive) option
val add_primitive : int -> primitive -> unit