Newer
Older
(**************************************************************************)
(* *)
(* This file is part of Frama-Clang *)
(* *)
(* CEA (Commissariat à l'énergie atomique et aux énergies *)
(* alternatives) *)
(* *)
(* you can redistribute it and/or modify it under the terms of the GNU *)
(* Lesser General Public License as published by the Free Software *)
(* Foundation, version 2.1. *)
(* *)
(* It is distributed in the hope that it will be useful, *)
(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)
(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)
(* GNU Lesser General Public License for more details. *)
(* *)
(* See the GNU Lesser General Public License version 2.1 *)
(* for more details (enclosed in the file LICENSE). *)
(* *)
(**************************************************************************)
(** Elements of specification generated from the C++ conversion itself. *)
open Intermediate_format
(** adds contract elements to the default behavior of the given spec
related to the corresponding signature elements.
*)
val add_contract:
env: Convert_env.env -> kind:funkind -> return_type:qual_type ->
args: arg_decl list -> variadic: bool -> implicit: bool -> extern_c:bool ->
(Logic_ptree.spec * Cabs.cabsloc) option ->
(Logic_ptree.spec * Cabs.cabsloc) option