(* * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *) open! IStd (* This file collects several utilities that are used both for instrumentation (Topl) and for code generation (ToplMonitor). *) val any_type : Typ.t (** For now, Topl is untyped. The "any" type is simulated with "java.lang.Object". *) val topl_class_name : Typ.Name.t val topl_class_typ : Typ.t val static_var : string -> Exp.t val local_var : Typ.Procname.t -> string -> Exp.t val constant_int : int -> Exp.t val topl_call : Ident.t -> Typ.desc -> Location.t -> string -> (Exp.t * Typ.t) list -> Sil.instr (** Call a TOPL function; that is, a static member of "topl.Property" with java.lang.Object arguments and return [ret_id] of type [ret_typ].*) val is_synthesized : Typ.Procname.t -> bool val debug : ('a, Format.formatter, unit) IStd.format -> 'a val make_field : string -> Typ.Fieldname.t