Module Solidity_tenv_builder

val error : Solidity_common.pos -> ('a, Stdlib.Format.formatter, unit, unit, unit, 'b) Stdlib.format6 -> 'a
val error_module_already_declared : Solidity_common.pos -> Solidity_common.Ident.t -> 'a
val error_local_already_declared : Solidity_common.pos -> Solidity_common.Ident.t -> 'a
val error_contract_already_declared : Solidity_common.pos -> Solidity_common.Ident.t -> 'a
val error_inheritance_already_declared : Solidity_common.pos -> Solidity_common.Ident.t -> 'a
val error_defined_twice : Solidity_common.pos -> string -> 'a
val is_defined : Solidity_checker_TYPES.origin -> bool
val is_imported : Solidity_checker_TYPES.origin -> bool
val is_inherited : Solidity_checker_TYPES.origin -> bool

idd_eq_pos id1 id2 returns true if the idds id1 and id2 are of the same type and located in the same position.

val new_env : ?upper_env:Solidity_checker_TYPES.env -> unit -> Solidity_checker_TYPES.env
val can_add_type : 'a list -> 'b -> bool
val can_add_modifier : (Solidity_checker_TYPES.ident_desc * Solidity_checker_TYPES.origin) list -> 'a -> bool
val can_add_event : (Solidity_checker_TYPES.ident_desc * 'a) list -> 'b -> bool
val can_add_function : (Solidity_checker_TYPES.ident_desc * 'a) list -> 'b -> bool
type action =
  1. | Add
  2. | Skip
  3. | Fail
val add_inherited_definitions : Solidity_checker_TYPES.contract_desc -> unit
val add_type : 'a list -> Solidity_checker_TYPES.type_desc -> 'b -> (Solidity_checker_TYPES.ident_desc * 'b) list