You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.2 KiB

(*
* 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
(** Process variable declarations by saving them as local or global variables. *)
(** Computes the local variables of a function or method to be added to the procdesc *)
val sil_var_of_decl : CContext.t -> Clang_ast_t.decl -> Procname.t -> Pvar.t
val sil_var_of_decl_ref :
CContext.t -> Clang_ast_t.source_range -> Clang_ast_t.decl_ref -> Procname.t -> Pvar.t
val add_var_to_locals : Procdesc.t -> Clang_ast_t.decl -> Typ.t -> Pvar.t -> unit
val sil_var_of_captured_var :
CContext.t
-> Clang_ast_t.source_range
-> Procname.t
-> Clang_ast_t.decl_ref
-> (Pvar.t * Typ.t * bool) option
val captured_vars_from_block_info :
CContext.t
-> Clang_ast_t.source_range
-> Clang_ast_t.block_captured_variable list
-> (Pvar.t * Typ.t * bool) list
val mk_temp_sil_var : Procdesc.t -> name:string -> Pvar.t
val mk_temp_sil_var_for_expr :
CContext.t -> name:string -> clang_pointer:int -> Clang_ast_t.expr_info -> Pvar.t * Typ.t
val materialize_cpp_temporary :
CContext.t -> Clang_ast_t.stmt_info -> Clang_ast_t.expr_info -> Pvar.t * Typ.t