(* * Copyright (c) 2009 - 2013 Monoidics ltd. * Copyright (c) 2013 - present Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. *) (** The Smallfoot Intermediate Language: Call Flags *) open! IStd module F = Format (** Flags for a procedure call *) type t = { cf_virtual: bool ; cf_interface: bool ; cf_noreturn: bool ; cf_is_objc_block: bool ; cf_targets: Typ.Procname.t list ; cf_with_block_parameters: bool } [@@deriving compare] let pp f cf = if cf.cf_virtual then F.pp_print_string f " virtual" ; if cf.cf_noreturn then F.pp_print_string f " noreturn" ; if cf.cf_with_block_parameters then F.pp_print_string f " block_params" let default = { cf_virtual= false ; cf_interface= false ; cf_noreturn= false ; cf_is_objc_block= false ; cf_with_block_parameters= false ; cf_targets= [] }