From 79a8f8716c0a389febb289fd9f390c287f9290df Mon Sep 17 00:00:00 2001 From: Dulma Churchill Date: Fri, 8 Jun 2018 05:24:01 -0700 Subject: [PATCH] [clang] Adding parameters as part of the procname for C++/ObjC methods and ObjC blocks Reviewed By: mbouaziz Differential Revision: D8237112 fbshipit-source-id: c0ec4b4 --- infer/models/objc/src/NSArray.m | 2 +- infer/src/IR/BuiltinDecl.ml | 18 +- infer/src/IR/ProcAttributes.ml | 3 +- infer/src/IR/Typ.ml | 46 ++-- infer/src/IR/Typ.mli | 12 +- infer/src/backend/exe_env.ml | 5 +- infer/src/biabduction/Tabulation.ml | 15 +- infer/src/clang/CType_decl.ml | 24 +- .../clang_translation/src/main.cpp.dot | 112 ++++----- .../src/main_default_root.cpp.dot | 112 ++++----- .../src/main_default_symlink.cpp.dot | 112 ++++----- .../src/main_symlink.cpp.dot | 112 ++++----- .../frontend/destructors/break_scope.cpp.dot | 138 +++++------ .../destructors/continue_scope.cpp.dot | 138 +++++------ .../destructors/destructor_bases.cpp.dot | 218 ++++++++--------- .../cpp/frontend/destructors/scope.cpp.dot | 104 ++++---- .../frontend/destructors/simple_decl.cpp.dot | 20 +- .../include_header/include_templ.cpp.dot | 28 +-- .../inheriting_constructor.cpp.dot | 14 +- .../frontend/initialization/init_list.cpp.dot | 14 +- .../cpp/frontend/loops/foreach1.cpp.dot | 48 ++-- .../cpp/shared/attributes/annotate.cpp.dot | 50 ++-- .../conditional/binary_conditional.cpp.dot | 22 +- .../constructor_default_arg.cpp.dot | 20 +- .../constructor_with_body.cpp.dot | 44 ++-- .../shared/constructors/temp_object.cpp.dot | 22 +- .../cpp/shared/lambda/lambda1.cpp.dot | 198 +++++++-------- .../methods/conversion_operator.cpp.dot | 50 ++-- .../cpp/shared/methods/return_struct.cpp.dot | 30 +-- .../shared/methods/virtual_methods.cpp.dot | 78 +++--- .../cpp/shared/namespace/namespace.cpp.dot | 14 +- .../member_access_from_return.cpp.dot | 14 +- .../shared/reference/reference_field.cpp.dot | 108 ++++---- .../reference/reference_struct_e2e.cpp.dot | 36 +-- .../templates/class_specialization.cpp.dot | 30 +-- .../class_template_instantiate.cpp.dot | 50 ++-- .../cpp/shared/templates/function.cpp.dot | 42 ++-- .../cpp/shared/templates/method.cpp.dot | 132 +++++----- .../cpp/shared/types/inheritance.cpp.dot | 38 +-- .../cpp/shared/types/return_struct.cpp.dot | 22 +- .../types/struct_forward_declare.cpp.dot | 28 +-- .../objc/frontend/block/retain_cycle.m.dot | 10 +- .../objc/frontend/self_static/Self.m.dot | 146 +++++------ .../objc/shared/block/BlockVar.m.dot | 132 +++++----- .../objc/shared/block/block-it.m.dot | 56 ++--- .../objc/shared/block/block.m.dot | 42 ++-- .../objc/shared/block/block_release.m.dot | 28 +-- .../objc/shared/block/dispatch.m.dot | 22 +- .../MemoryLeakExample.m.dot | 230 +++++++++--------- 49 files changed, 1511 insertions(+), 1478 deletions(-) diff --git a/infer/models/objc/src/NSArray.m b/infer/models/objc/src/NSArray.m index 5ea97a889..94d9ffc5c 100644 --- a/infer/models/objc/src/NSArray.m +++ b/infer/models/objc/src/NSArray.m @@ -24,7 +24,7 @@ void __infer_assume(bool cond); return [NSArray alloc]; } -+ (instancetype)arrayWithObject:(char*)anObject { ++ (instancetype)arrayWithObject:(id)anObject { id a = ((NSObject*)anObject)->isa; return [NSArray alloc]; } diff --git a/infer/src/IR/BuiltinDecl.ml b/infer/src/IR/BuiltinDecl.ml index 075d29d51..6456a809a 100644 --- a/infer/src/IR/BuiltinDecl.ml +++ b/infer/src/IR/BuiltinDecl.ml @@ -18,11 +18,12 @@ let create_procname name = register pname ; pname -let create_objc_class_method class_name method_name = +let create_objc_class_method class_name method_name parameters = let method_kind = Typ.Procname.ObjC_Cpp.ObjCClassMethod in let tname = Typ.Name.Objc.from_string class_name in let pname = - Typ.Procname.ObjC_Cpp (Typ.Procname.ObjC_Cpp.make tname method_name method_kind Typ.NoTemplate) + Typ.Procname.ObjC_Cpp + (Typ.Procname.ObjC_Cpp.make tname method_name method_kind Typ.NoTemplate parameters) in register pname ; pname @@ -83,8 +84,10 @@ let __objc_alloc_no_fail = create_procname "__objc_alloc_no_fail" let __objc_cast = create_procname "__objc_cast" +(* We don't need to add parameters to this one because it is used to translate dictionary literals +and the actual method doesn't appear in the AST, instead we create the corresponding AST bit in cTrans. *) let __objc_dictionary_literal = - create_objc_class_method "NSDictionary" "dictionaryWithObjects:forKeys:count:" + create_objc_class_method "NSDictionary" "dictionaryWithObjects:forKeys:count:" [] let __placement_delete = create_procname "__placement_delete" @@ -133,9 +136,14 @@ let malloc = create_procname "malloc" let malloc_no_fail = create_procname "malloc_no_fail" -let nsArray_arrayWithObjects = create_objc_class_method "NSArray" "arrayWithObjects:" +let nsArray_arrayWithObjects = + let objc_object = Typ.Name.C.from_string "objc_object" in + create_objc_class_method "NSArray" "arrayWithObjects:" [Some objc_object] -let nsArray_arrayWithObjectsCount = create_objc_class_method "NSArray" "arrayWithObjects:count:" + +(* We don't need to add parameters to this one because it is used to translate array literals + and the actual method doesn't appear in the AST, instead we create the corresponding AST bit in cTrans. *) +let nsArray_arrayWithObjectsCount = create_objc_class_method "NSArray" "arrayWithObjects:count:" [] let objc_cpp_throw = create_procname "__infer_objc_cpp_throw" diff --git a/infer/src/IR/ProcAttributes.ml b/infer/src/IR/ProcAttributes.ml index 3518f07a6..a5a0de7eb 100644 --- a/infer/src/IR/ProcAttributes.ml +++ b/infer/src/IR/ProcAttributes.ml @@ -243,7 +243,8 @@ let pp f (Pp.hashtbl ~key:F.pp_print_string ~value:F.pp_print_string) proc_flags ; (* always print ret type *) - F.fprintf f "; ret_type= %a }@]" (Typ.pp_full Pp.text) ret_type + F.fprintf f "; ret_type= %a @," (Typ.pp_full Pp.text) ret_type ; + F.fprintf f "; proc_id= %s }@]" (Typ.Procname.to_unique_id proc_name) module SQLite = SqliteUtils.MarshalledData (struct diff --git a/infer/src/IR/Typ.ml b/infer/src/IR/Typ.ml index 27de5fdb2..9714793c1 100644 --- a/infer/src/IR/Typ.ml +++ b/infer/src/IR/Typ.ml @@ -761,11 +761,15 @@ being the name of the struct, [None] means the parameter is of some other type. [@@deriving compare] type t = - {method_name: string; class_name: Name.t; kind: kind; template_args: template_spec_info} + { class_name: Name.t + ; kind: kind + ; method_name: string + ; parameters: Parameter.t list + ; template_args: template_spec_info } [@@deriving compare] - let make class_name method_name kind template_args = - {class_name; method_name; kind; template_args} + let make class_name method_name kind template_args parameters = + {class_name; method_name; kind; template_args; parameters} let get_class_name objc_cpp = Name.name objc_cpp.class_name @@ -833,7 +837,8 @@ being the name of the struct, [None] means the parameter is of some other type. Name.name osig.class_name ^ "_" ^ osig.method_name | Verbose -> let m_str = kind_to_verbose_string osig.kind in - Name.name osig.class_name ^ "_" ^ osig.method_name ^ m_str + Name.name osig.class_name ^ "_" ^ osig.method_name + ^ Parameter.parameters_to_string osig.parameters ^ m_str end (** Type of c procedure names. *) @@ -852,7 +857,7 @@ being the name of the struct, [None] means the parameter is of some other type. | Java of Java.t | C of c | Linters_dummy_method - | Block of block_name + | Block of block_name * Parameter.t list | ObjC_Cpp of ObjC_Cpp.t | WithBlockParameters of t * block_name list [@@deriving compare] @@ -863,13 +868,13 @@ being the name of the struct, [None] means the parameter is of some other type. let block_name_of_procname procname = match procname with - | Block block_name -> + | Block (block_name, _) -> block_name | _ -> Logging.die InternalError "Only to be called with Objective-C block names" - let empty_block = Block "" + let empty_block = Block ("", []) let c name mangled parameters template_args = {name; mangled= Some mangled; parameters; template_args} @@ -885,8 +890,17 @@ being the name of the struct, [None] means the parameter is of some other type. let with_block_parameters base blocks = WithBlockParameters (base, blocks) - (** Create an objc procedure name from a class_name and method_name. *) - let mangled_objc_block name = Block name + let mangled_objc_block name parameters = Block (name, parameters) + + let objc_block_to_string (name, parameters) detail_level = + match detail_level with + | Simple -> + "block" + | Non_verbose -> + name + | Verbose -> + name ^ Parameter.parameters_to_string parameters + let is_java = function Java _ -> true | _ -> false @@ -938,7 +952,7 @@ being the name of the struct, [None] means the parameter is of some other type. get_method base | C {name} -> QualifiedCppName.to_qual_string name - | Block name -> + | Block (name, _) -> name | Java j -> j.method_name @@ -1029,8 +1043,8 @@ being the name of the struct, [None] means the parameter is of some other type. c_function_to_string osig Verbose | ObjC_Cpp osig -> ObjC_Cpp.to_string osig Verbose - | Block name -> - name + | Block (name, parameters) -> + objc_block_to_string (name, parameters) Verbose | WithBlockParameters (base, blocks) -> with_blocks_parameters_to_string base blocks to_unique_id | Linters_dummy_method -> @@ -1046,8 +1060,8 @@ being the name of the struct, [None] means the parameter is of some other type. c_function_to_string osig Non_verbose | ObjC_Cpp osig -> ObjC_Cpp.to_string osig Non_verbose - | Block name -> - name + | Block (name, parameters) -> + objc_block_to_string (name, parameters) Non_verbose | WithBlockParameters (base, blocks) -> with_blocks_parameters_to_string base blocks to_string | Linters_dummy_method -> @@ -1063,8 +1077,8 @@ being the name of the struct, [None] means the parameter is of some other type. c_function_to_string osig Simple | ObjC_Cpp osig -> ObjC_Cpp.to_string osig Simple - | Block _ -> - "block" + | Block (name, parameters) -> + objc_block_to_string (name, parameters) Simple | WithBlockParameters (base, _) -> to_simplified_string base | Linters_dummy_method -> diff --git a/infer/src/IR/Typ.mli b/infer/src/IR/Typ.mli index edb8dfcea..d3ec2e0cc 100644 --- a/infer/src/IR/Typ.mli +++ b/infer/src/IR/Typ.mli @@ -384,10 +384,14 @@ module Procname : sig (** Type of Objective C and C++ procedure names: method signatures. *) type t = - {method_name: string; class_name: Name.t; kind: kind; template_args: template_spec_info} + { class_name: Name.t + ; kind: kind + ; method_name: string + ; parameters: Parameter.t list + ; template_args: template_spec_info } [@@deriving compare] - val make : Name.t -> string -> kind -> template_spec_info -> t + val make : Name.t -> string -> kind -> template_spec_info -> Parameter.t list -> t (** Create an objc procedure name from a class_name and method_name. *) val get_class_name : t -> string @@ -441,7 +445,7 @@ module Procname : sig | Java of Java.t | C of c | Linters_dummy_method - | Block of block_name + | Block of block_name * Parameter.t list | ObjC_Cpp of ObjC_Cpp.t | WithBlockParameters of t * block_name list [@@deriving compare] @@ -502,7 +506,7 @@ module Procname : sig val is_java : t -> bool (** Check if this is a Java procedure name. *) - val mangled_objc_block : string -> t + val mangled_objc_block : string -> Parameter.t list -> t (** Create an objc block name. *) val with_block_parameters : t -> block_name list -> t diff --git a/infer/src/backend/exe_env.ml b/infer/src/backend/exe_env.ml index e846662ba..4edddf151 100644 --- a/infer/src/backend/exe_env.ml +++ b/infer/src/backend/exe_env.ml @@ -95,7 +95,10 @@ let get_tenv exe_env proc_name = "get_tenv: tenv not found for %a in file '%a'" Typ.Procname.pp proc_name SourceFile.pp exe_env.source_file ) | None -> - L.(die InternalError) "get_tenv: file_data not found for %a" Typ.Procname.pp proc_name + let loc = State.get_loc () in + L.(die InternalError) + "get_tenv: file_data not found for %a in file %a at %a" Typ.Procname.pp proc_name + SourceFile.pp loc.Location.file Location.pp loc (** return the cfg associated to the procedure *) diff --git a/infer/src/biabduction/Tabulation.ml b/infer/src/biabduction/Tabulation.ml index 5ca324e85..ab2a94cbe 100644 --- a/infer/src/biabduction/Tabulation.ml +++ b/infer/src/biabduction/Tabulation.ml @@ -1098,12 +1098,14 @@ let missing_sigma_need_adding_to_tenv tenv hpreds = List.exists hpreds ~f:missing_hpred_need_adding_to_tenv -let add_missing_field_to_tenv ~missing_sigma exe_env caller_tenv callee_pname hpreds = +let add_missing_field_to_tenv ~missing_sigma exe_env caller_tenv callee_pname hpreds callee_summary = (* if hpreds are missing_sigma, we may not need to add the fields to the tenv, so we check that first *) let add_fields = if missing_sigma then missing_sigma_need_adding_to_tenv caller_tenv hpreds else true in - if add_fields then + let callee_attributes = Summary.get_attributes callee_summary in + (* if the callee is a model, then we don't have a tenv for it *) + if not callee_attributes.ProcAttributes.is_model && add_fields then let callee_tenv = Exe_env.get_tenv exe_env callee_pname in let add_field_in_hpred hpred = match hpred with @@ -1121,7 +1123,8 @@ let add_missing_field_to_tenv ~missing_sigma exe_env caller_tenv callee_pname hp (** Perform symbolic execution for a single spec *) let exe_spec exe_env tenv ret_id (n, nspecs) caller_pdesc callee_pname loc prop path_pre - (spec: Prop.exposed BiabductionSummary.spec) actual_params formal_params : abduction_res = + (spec: Prop.exposed BiabductionSummary.spec) actual_params formal_params callee_summary + : abduction_res = let caller_pname = Procdesc.get_proc_name caller_pdesc in let posts = mk_posts tenv prop callee_pname spec.BiabductionSummary.posts in let actual_pre = mk_actual_precondition tenv prop actual_params formal_params in @@ -1169,11 +1172,11 @@ let exe_spec exe_env tenv ret_id (n, nspecs) caller_pdesc callee_pname loc prop if missing_fld_objc_class <> [] then ( L.d_strln "Objective-C missing_fld not empty: adding it to current tenv..." ; add_missing_field_to_tenv ~missing_sigma:false exe_env tenv callee_pname - missing_fld_objc_class ) ; + missing_fld_objc_class callee_summary ) ; if missing_sigma_objc_class <> [] then ( L.d_strln "Objective-C missing_sigma not empty: adding it to current tenv..." ; add_missing_field_to_tenv ~missing_sigma:true exe_env tenv callee_pname - missing_sigma_objc_class ) ; + missing_sigma_objc_class callee_summary ) ; let log_check_exn check = let exn = get_check_exn tenv check callee_pname loc __POS__ in Reporting.log_warning_deprecated caller_pname exn @@ -1452,7 +1455,7 @@ let exe_function_call exe_env callee_summary tenv ret_id caller_pdesc callee_pna L.d_ln () ; let exe_one_spec (n, spec) = exe_spec exe_env tenv ret_id (n, nspecs) caller_pdesc callee_pname loc prop path spec - actual_params formal_params + actual_params formal_params callee_summary in let results = List.map ~f:exe_one_spec spec_list in exe_call_postprocess tenv ret_id trace_call callee_pname callee_attributes loc results diff --git a/infer/src/clang/CType_decl.ml b/infer/src/clang/CType_decl.ml index 1b9494fc4..918e35d2b 100644 --- a/infer/src/clang/CType_decl.ml +++ b/infer/src/clang/CType_decl.ml @@ -338,9 +338,9 @@ let get_record_definition decl = decl -let mk_objc_method class_typename method_name method_kind = +let mk_objc_method class_typename method_name method_kind parameters = Typ.Procname.ObjC_Cpp - (Typ.Procname.ObjC_Cpp.make class_typename method_name method_kind Typ.NoTemplate) + (Typ.Procname.ObjC_Cpp.make class_typename method_name method_kind Typ.NoTemplate parameters) let rec get_mangled_method_name function_decl_info method_decl_info = @@ -550,7 +550,7 @@ and mk_c_function ?tenv name function_decl_info_opt parameters = else Typ.Procname.C (Typ.Procname.c name mangled parameters template_info) -and mk_cpp_method ?tenv class_name method_name ?meth_decl mangled = +and mk_cpp_method ?tenv class_name method_name ?meth_decl mangled parameters = let open Clang_ast_t in let method_kind = match meth_decl with @@ -573,7 +573,7 @@ and mk_cpp_method ?tenv class_name method_name ?meth_decl mangled = Typ.NoTemplate in Typ.Procname.ObjC_Cpp - (Typ.Procname.ObjC_Cpp.make class_name method_name method_kind template_info) + (Typ.Procname.ObjC_Cpp.make class_name method_name method_kind template_info parameters) and get_class_typename ?tenv method_decl_info = @@ -593,14 +593,14 @@ and objc_method_procname ?tenv decl_info method_name mdi = mk_objc_method class_typename method_name method_kind -and objc_block_procname outer_proc_opt = +and objc_block_procname outer_proc_opt parameters = let outer_proc_string = Option.value_map ~f:Typ.Procname.to_string outer_proc_opt ~default:"" in let block_procname_with_index i = Printf.sprintf "%s%s%s%d" Config.anonymous_block_prefix outer_proc_string Config.anonymous_block_num_sep i in let name = block_procname_with_index (CFrontend_config.get_fresh_block_index ()) in - Typ.Procname.mangled_objc_block name + Typ.Procname.mangled_objc_block name parameters and procname_from_decl ?tenv ?block_return_type ?outer_proc meth_decl = @@ -629,11 +629,11 @@ and procname_from_decl ?tenv ?block_return_type ?outer_proc meth_decl = let mangled = get_mangled_method_name fdi mdi in let method_name = CAst_utils.get_unqualified_name name_info in let class_typename = get_class_typename ?tenv decl_info in - mk_cpp_method ?tenv class_typename method_name ~meth_decl mangled + mk_cpp_method ?tenv class_typename method_name ~meth_decl mangled parameters | ObjCMethodDecl (decl_info, name_info, mdi) -> - objc_method_procname ?tenv decl_info name_info.Clang_ast_t.ni_name mdi + objc_method_procname ?tenv decl_info name_info.Clang_ast_t.ni_name mdi parameters | BlockDecl _ -> - objc_block_procname outer_proc + objc_block_procname outer_proc parameters | _ -> Logging.die InternalError "Expected method decl, but got %s." (Clang_ast_proj.get_decl_kind_string meth_decl) @@ -715,11 +715,11 @@ module CProcname = struct let cpp_method_of_string tenv class_name method_name = - mk_cpp_method ~tenv class_name method_name None + mk_cpp_method ~tenv class_name method_name None [] let objc_method_of_string_kind class_name method_name method_kind = - mk_objc_method class_name method_name method_kind + mk_objc_method class_name method_name method_kind [] end let from_decl_for_linters method_decl = @@ -733,7 +733,7 @@ module CProcname = struct | _ -> name_info.Clang_ast_t.ni_name in - objc_method_procname decl_info method_name mdi + objc_method_procname decl_info method_name mdi [] | _ -> from_decl method_decl end diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main.cpp.dot index 81ee1513c..4d0101b2c 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main.cpp.dot @@ -478,21 +478,6 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_2" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" [label="1: Start std::shared_ptr___infer_inner_destructor_~shared_ptr\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 178, column 3]\n " color=yellow style=filled] - - - "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" [label="2: Exit std::shared_ptr___infer_inner_destructor_~shared_ptr \n " color=yellow style=filled] - - -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 178, column 39]\n _=*n$0:int* [line 178, column 39]\n n$2=_fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 178, column 39]\n " shape="box"] - - - "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$5=*&this:int** [line 178, column 19]\n _=*n$5:int* [line 178, column 19]\n n$7=_fun_std::shared_ptr_reset(n$5:int**,null:int*) [line 178, column 19]\n " shape="box"] - - - "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" ; "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_1" [label="1: Start std::atomic_atomic\nFormals: this:std::atomic* d:unsigned short\nLocals: \n DECLARE_LOCALS(&return); [line 406, column 3]\n " color=yellow style=filled] @@ -647,17 +632,6 @@ digraph cfg { "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" -> "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_2" ; -"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" [label="1: Start std::atomic_flag_atomic_flag\nFormals: this:std::atomic_flag* i:_Bool\nLocals: \n DECLARE_LOCALS(&return); [line 927, column 3]\n " color=yellow style=filled] - - - "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" ; -"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" [label="2: Exit std::atomic_flag_atomic_flag \n " color=yellow style=filled] - - -"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" [label="3: Constructor Init \n n$2=*&this:std::atomic_flag* [line 927, column 44]\n n$3=*&i:_Bool [line 927, column 46]\n *n$2.a:_Bool=n$3 [line 927, column 44]\n " shape="box"] - - - "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" ; "clear#atomic_flag#std#(3684357514402407574).b0b9e53b3e4cf6978b960d4491c0af6d_1" [label="1: Start std::atomic_flag_clear\nFormals: this:std::atomic_flag* mo:int\nLocals: \n DECLARE_LOCALS(&return); [line 943, column 3]\n " color=yellow style=filled] @@ -680,6 +654,55 @@ digraph cfg { "clear#atomic_flag#std#(4757429354090136896).a3ca4a9a64ba2fa439a627057e253cfc_3" -> "clear#atomic_flag#std#(4757429354090136896).a3ca4a9a64ba2fa439a627057e253cfc_2" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 932, column 3]\n " color=yellow style=filled] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] + + +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 935, column 12]\n *&return:_Bool=n$0 [line 935, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 934, column 5]\n *n$2.a:_Bool=1 [line 934, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 937, column 3]\n " color=yellow style=filled] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] + + +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 940, column 12]\n *&return:_Bool=n$0 [line 940, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 939, column 5]\n *n$2.a:_Bool=1 [line 939, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" ; +"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" [label="1: Start std::atomic_flag_atomic_flag\nFormals: this:std::atomic_flag* i:_Bool\nLocals: \n DECLARE_LOCALS(&return); [line 927, column 3]\n " color=yellow style=filled] + + + "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" ; +"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" [label="2: Exit std::atomic_flag_atomic_flag \n " color=yellow style=filled] + + +"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" [label="3: Constructor Init \n n$2=*&this:std::atomic_flag* [line 927, column 44]\n n$3=*&i:_Bool [line 927, column 46]\n *n$2.a:_Bool=n$3 [line 927, column 44]\n " shape="box"] + + + "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" ; "model_set#shared_ptr#std#(4823396094259928824).b93622435d16d4672bfaf2944380f1be_1" [label="1: Start std::shared_ptr_model_set\nFormals: self:void const ** value:void*\nLocals: \n DECLARE_LOCALS(&return); [line 64, column 3]\n " color=yellow style=filled] @@ -728,44 +751,21 @@ digraph cfg { "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" -> "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 932, column 3]\n " color=yellow style=filled] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] - - -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 935, column 12]\n *&return:_Bool=n$0 [line 935, column 5]\n " shape="box"] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 934, column 5]\n *n$2.a:_Bool=1 [line 934, column 5]\n " shape="box"] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n " shape="box"] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 937, column 3]\n " color=yellow style=filled] - - - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" [label="1: Start std::shared_ptr___infer_inner_destructor_~shared_ptr\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 178, column 3]\n " color=yellow style=filled] -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 940, column 12]\n *&return:_Bool=n$0 [line 940, column 5]\n " shape="box"] + "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" ; +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" [label="2: Exit std::shared_ptr___infer_inner_destructor_~shared_ptr \n " color=yellow style=filled] - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 939, column 5]\n *n$2.a:_Bool=1 [line 939, column 5]\n " shape="box"] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 178, column 39]\n _=*n$0:int* [line 178, column 39]\n n$2=_fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 178, column 39]\n " shape="box"] - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n " shape="box"] + "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" ; +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$5=*&this:int** [line 178, column 19]\n _=*n$5:int* [line 178, column 19]\n n$7=_fun_std::shared_ptr_reset(n$5:int**,null:int*) [line 178, column 19]\n " shape="box"] - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" ; + "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" ; "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_1" [label="1: Start std::shared_ptr_~shared_ptr\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 178, column 3]\n " color=yellow style=filled] diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot index 81ee1513c..4d0101b2c 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot @@ -478,21 +478,6 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_2" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" [label="1: Start std::shared_ptr___infer_inner_destructor_~shared_ptr\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 178, column 3]\n " color=yellow style=filled] - - - "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" [label="2: Exit std::shared_ptr___infer_inner_destructor_~shared_ptr \n " color=yellow style=filled] - - -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 178, column 39]\n _=*n$0:int* [line 178, column 39]\n n$2=_fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 178, column 39]\n " shape="box"] - - - "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$5=*&this:int** [line 178, column 19]\n _=*n$5:int* [line 178, column 19]\n n$7=_fun_std::shared_ptr_reset(n$5:int**,null:int*) [line 178, column 19]\n " shape="box"] - - - "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" ; "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_1" [label="1: Start std::atomic_atomic\nFormals: this:std::atomic* d:unsigned short\nLocals: \n DECLARE_LOCALS(&return); [line 406, column 3]\n " color=yellow style=filled] @@ -647,17 +632,6 @@ digraph cfg { "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" -> "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_2" ; -"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" [label="1: Start std::atomic_flag_atomic_flag\nFormals: this:std::atomic_flag* i:_Bool\nLocals: \n DECLARE_LOCALS(&return); [line 927, column 3]\n " color=yellow style=filled] - - - "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" ; -"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" [label="2: Exit std::atomic_flag_atomic_flag \n " color=yellow style=filled] - - -"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" [label="3: Constructor Init \n n$2=*&this:std::atomic_flag* [line 927, column 44]\n n$3=*&i:_Bool [line 927, column 46]\n *n$2.a:_Bool=n$3 [line 927, column 44]\n " shape="box"] - - - "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" ; "clear#atomic_flag#std#(3684357514402407574).b0b9e53b3e4cf6978b960d4491c0af6d_1" [label="1: Start std::atomic_flag_clear\nFormals: this:std::atomic_flag* mo:int\nLocals: \n DECLARE_LOCALS(&return); [line 943, column 3]\n " color=yellow style=filled] @@ -680,6 +654,55 @@ digraph cfg { "clear#atomic_flag#std#(4757429354090136896).a3ca4a9a64ba2fa439a627057e253cfc_3" -> "clear#atomic_flag#std#(4757429354090136896).a3ca4a9a64ba2fa439a627057e253cfc_2" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 932, column 3]\n " color=yellow style=filled] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] + + +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 935, column 12]\n *&return:_Bool=n$0 [line 935, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 934, column 5]\n *n$2.a:_Bool=1 [line 934, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 937, column 3]\n " color=yellow style=filled] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] + + +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 940, column 12]\n *&return:_Bool=n$0 [line 940, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 939, column 5]\n *n$2.a:_Bool=1 [line 939, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" ; +"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" [label="1: Start std::atomic_flag_atomic_flag\nFormals: this:std::atomic_flag* i:_Bool\nLocals: \n DECLARE_LOCALS(&return); [line 927, column 3]\n " color=yellow style=filled] + + + "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" ; +"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" [label="2: Exit std::atomic_flag_atomic_flag \n " color=yellow style=filled] + + +"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" [label="3: Constructor Init \n n$2=*&this:std::atomic_flag* [line 927, column 44]\n n$3=*&i:_Bool [line 927, column 46]\n *n$2.a:_Bool=n$3 [line 927, column 44]\n " shape="box"] + + + "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" ; "model_set#shared_ptr#std#(4823396094259928824).b93622435d16d4672bfaf2944380f1be_1" [label="1: Start std::shared_ptr_model_set\nFormals: self:void const ** value:void*\nLocals: \n DECLARE_LOCALS(&return); [line 64, column 3]\n " color=yellow style=filled] @@ -728,44 +751,21 @@ digraph cfg { "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" -> "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 932, column 3]\n " color=yellow style=filled] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] - - -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 935, column 12]\n *&return:_Bool=n$0 [line 935, column 5]\n " shape="box"] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 934, column 5]\n *n$2.a:_Bool=1 [line 934, column 5]\n " shape="box"] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n " shape="box"] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 937, column 3]\n " color=yellow style=filled] - - - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" [label="1: Start std::shared_ptr___infer_inner_destructor_~shared_ptr\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 178, column 3]\n " color=yellow style=filled] -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 940, column 12]\n *&return:_Bool=n$0 [line 940, column 5]\n " shape="box"] + "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" ; +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" [label="2: Exit std::shared_ptr___infer_inner_destructor_~shared_ptr \n " color=yellow style=filled] - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 939, column 5]\n *n$2.a:_Bool=1 [line 939, column 5]\n " shape="box"] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 178, column 39]\n _=*n$0:int* [line 178, column 39]\n n$2=_fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 178, column 39]\n " shape="box"] - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n " shape="box"] + "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" ; +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$5=*&this:int** [line 178, column 19]\n _=*n$5:int* [line 178, column 19]\n n$7=_fun_std::shared_ptr_reset(n$5:int**,null:int*) [line 178, column 19]\n " shape="box"] - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" ; + "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" ; "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_1" [label="1: Start std::shared_ptr_~shared_ptr\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 178, column 3]\n " color=yellow style=filled] diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot index 81ee1513c..4d0101b2c 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot @@ -478,21 +478,6 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_2" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" [label="1: Start std::shared_ptr___infer_inner_destructor_~shared_ptr\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 178, column 3]\n " color=yellow style=filled] - - - "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" [label="2: Exit std::shared_ptr___infer_inner_destructor_~shared_ptr \n " color=yellow style=filled] - - -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 178, column 39]\n _=*n$0:int* [line 178, column 39]\n n$2=_fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 178, column 39]\n " shape="box"] - - - "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$5=*&this:int** [line 178, column 19]\n _=*n$5:int* [line 178, column 19]\n n$7=_fun_std::shared_ptr_reset(n$5:int**,null:int*) [line 178, column 19]\n " shape="box"] - - - "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" ; "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_1" [label="1: Start std::atomic_atomic\nFormals: this:std::atomic* d:unsigned short\nLocals: \n DECLARE_LOCALS(&return); [line 406, column 3]\n " color=yellow style=filled] @@ -647,17 +632,6 @@ digraph cfg { "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" -> "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_2" ; -"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" [label="1: Start std::atomic_flag_atomic_flag\nFormals: this:std::atomic_flag* i:_Bool\nLocals: \n DECLARE_LOCALS(&return); [line 927, column 3]\n " color=yellow style=filled] - - - "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" ; -"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" [label="2: Exit std::atomic_flag_atomic_flag \n " color=yellow style=filled] - - -"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" [label="3: Constructor Init \n n$2=*&this:std::atomic_flag* [line 927, column 44]\n n$3=*&i:_Bool [line 927, column 46]\n *n$2.a:_Bool=n$3 [line 927, column 44]\n " shape="box"] - - - "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" ; "clear#atomic_flag#std#(3684357514402407574).b0b9e53b3e4cf6978b960d4491c0af6d_1" [label="1: Start std::atomic_flag_clear\nFormals: this:std::atomic_flag* mo:int\nLocals: \n DECLARE_LOCALS(&return); [line 943, column 3]\n " color=yellow style=filled] @@ -680,6 +654,55 @@ digraph cfg { "clear#atomic_flag#std#(4757429354090136896).a3ca4a9a64ba2fa439a627057e253cfc_3" -> "clear#atomic_flag#std#(4757429354090136896).a3ca4a9a64ba2fa439a627057e253cfc_2" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 932, column 3]\n " color=yellow style=filled] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] + + +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 935, column 12]\n *&return:_Bool=n$0 [line 935, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 934, column 5]\n *n$2.a:_Bool=1 [line 934, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 937, column 3]\n " color=yellow style=filled] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] + + +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 940, column 12]\n *&return:_Bool=n$0 [line 940, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 939, column 5]\n *n$2.a:_Bool=1 [line 939, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" ; +"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" [label="1: Start std::atomic_flag_atomic_flag\nFormals: this:std::atomic_flag* i:_Bool\nLocals: \n DECLARE_LOCALS(&return); [line 927, column 3]\n " color=yellow style=filled] + + + "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" ; +"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" [label="2: Exit std::atomic_flag_atomic_flag \n " color=yellow style=filled] + + +"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" [label="3: Constructor Init \n n$2=*&this:std::atomic_flag* [line 927, column 44]\n n$3=*&i:_Bool [line 927, column 46]\n *n$2.a:_Bool=n$3 [line 927, column 44]\n " shape="box"] + + + "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" ; "model_set#shared_ptr#std#(4823396094259928824).b93622435d16d4672bfaf2944380f1be_1" [label="1: Start std::shared_ptr_model_set\nFormals: self:void const ** value:void*\nLocals: \n DECLARE_LOCALS(&return); [line 64, column 3]\n " color=yellow style=filled] @@ -728,44 +751,21 @@ digraph cfg { "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" -> "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 932, column 3]\n " color=yellow style=filled] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] - - -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 935, column 12]\n *&return:_Bool=n$0 [line 935, column 5]\n " shape="box"] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 934, column 5]\n *n$2.a:_Bool=1 [line 934, column 5]\n " shape="box"] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n " shape="box"] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 937, column 3]\n " color=yellow style=filled] - - - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" [label="1: Start std::shared_ptr___infer_inner_destructor_~shared_ptr\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 178, column 3]\n " color=yellow style=filled] -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 940, column 12]\n *&return:_Bool=n$0 [line 940, column 5]\n " shape="box"] + "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" ; +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" [label="2: Exit std::shared_ptr___infer_inner_destructor_~shared_ptr \n " color=yellow style=filled] - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 939, column 5]\n *n$2.a:_Bool=1 [line 939, column 5]\n " shape="box"] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 178, column 39]\n _=*n$0:int* [line 178, column 39]\n n$2=_fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 178, column 39]\n " shape="box"] - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n " shape="box"] + "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" ; +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$5=*&this:int** [line 178, column 19]\n _=*n$5:int* [line 178, column 19]\n n$7=_fun_std::shared_ptr_reset(n$5:int**,null:int*) [line 178, column 19]\n " shape="box"] - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" ; + "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" ; "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_1" [label="1: Start std::shared_ptr_~shared_ptr\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 178, column 3]\n " color=yellow style=filled] diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot index 81ee1513c..4d0101b2c 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot @@ -478,21 +478,6 @@ digraph cfg { "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_3" -> "__infer_atomic_integral#__infer_atomic_integral#std#{10860901722123512962|constexpr}.f85ea1dfc790b10c2617a4d4f5cafd29_2" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" [label="1: Start std::shared_ptr___infer_inner_destructor_~shared_ptr\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 178, column 3]\n " color=yellow style=filled] - - - "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" [label="2: Exit std::shared_ptr___infer_inner_destructor_~shared_ptr \n " color=yellow style=filled] - - -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 178, column 39]\n _=*n$0:int* [line 178, column 39]\n n$2=_fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 178, column 39]\n " shape="box"] - - - "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" ; -"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$5=*&this:int** [line 178, column 19]\n _=*n$5:int* [line 178, column 19]\n n$7=_fun_std::shared_ptr_reset(n$5:int**,null:int*) [line 178, column 19]\n " shape="box"] - - - "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" ; "atomic#atomic#std#{18219637643674479567|constexpr}.a4a5467727100ba5642b3dca850c391b_1" [label="1: Start std::atomic_atomic\nFormals: this:std::atomic* d:unsigned short\nLocals: \n DECLARE_LOCALS(&return); [line 406, column 3]\n " color=yellow style=filled] @@ -647,17 +632,6 @@ digraph cfg { "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_3" -> "atomic#atomic#std#{13242178517795487559|constexpr}.b120a6c4bb0f1e110121c7888150bd59_2" ; -"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" [label="1: Start std::atomic_flag_atomic_flag\nFormals: this:std::atomic_flag* i:_Bool\nLocals: \n DECLARE_LOCALS(&return); [line 927, column 3]\n " color=yellow style=filled] - - - "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" ; -"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" [label="2: Exit std::atomic_flag_atomic_flag \n " color=yellow style=filled] - - -"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" [label="3: Constructor Init \n n$2=*&this:std::atomic_flag* [line 927, column 44]\n n$3=*&i:_Bool [line 927, column 46]\n *n$2.a:_Bool=n$3 [line 927, column 44]\n " shape="box"] - - - "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" ; "clear#atomic_flag#std#(3684357514402407574).b0b9e53b3e4cf6978b960d4491c0af6d_1" [label="1: Start std::atomic_flag_clear\nFormals: this:std::atomic_flag* mo:int\nLocals: \n DECLARE_LOCALS(&return); [line 943, column 3]\n " color=yellow style=filled] @@ -680,6 +654,55 @@ digraph cfg { "clear#atomic_flag#std#(4757429354090136896).a3ca4a9a64ba2fa439a627057e253cfc_3" -> "clear#atomic_flag#std#(4757429354090136896).a3ca4a9a64ba2fa439a627057e253cfc_2" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 932, column 3]\n " color=yellow style=filled] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] + + +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 935, column 12]\n *&return:_Bool=n$0 [line 935, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 934, column 5]\n *n$2.a:_Bool=1 [line 934, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" ; +"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 937, column 3]\n " color=yellow style=filled] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] + + +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 940, column 12]\n *&return:_Bool=n$0 [line 940, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 939, column 5]\n *n$2.a:_Bool=1 [line 939, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" ; +"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n " shape="box"] + + + "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" ; +"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" [label="1: Start std::atomic_flag_atomic_flag\nFormals: this:std::atomic_flag* i:_Bool\nLocals: \n DECLARE_LOCALS(&return); [line 927, column 3]\n " color=yellow style=filled] + + + "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_1" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" ; +"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" [label="2: Exit std::atomic_flag_atomic_flag \n " color=yellow style=filled] + + +"atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" [label="3: Constructor Init \n n$2=*&this:std::atomic_flag* [line 927, column 44]\n n$3=*&i:_Bool [line 927, column 46]\n *n$2.a:_Bool=n$3 [line 927, column 44]\n " shape="box"] + + + "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_3" -> "atomic_flag#atomic_flag#std#{10931176997288531904|constexpr}.57d7555f5addc9691c180d812b1aad13_2" ; "model_set#shared_ptr#std#(4823396094259928824).b93622435d16d4672bfaf2944380f1be_1" [label="1: Start std::shared_ptr_model_set\nFormals: self:void const ** value:void*\nLocals: \n DECLARE_LOCALS(&return); [line 64, column 3]\n " color=yellow style=filled] @@ -728,44 +751,21 @@ digraph cfg { "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_4" -> "shared_ptr#shared_ptr#std#{8741815665871862164|constexpr}.f88ab7f65e0cffeda975c68f431824d1_3" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 932, column 3]\n " color=yellow style=filled] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_1" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] - - -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 935, column 12]\n *&return:_Bool=n$0 [line 935, column 5]\n " shape="box"] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_2" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 934, column 5]\n *n$2.a:_Bool=1 [line 934, column 5]\n " shape="box"] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_3" ; -"test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 933, column 16]\n n$4=*n$3.a:_Bool [line 933, column 16]\n *&ret:_Bool=n$4 [line 933, column 5]\n " shape="box"] - - - "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_5" -> "test_and_set#atomic_flag#std#(6342589292624928640).e1a95571862fb026e9cf3fed47e15f71_4" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" [label="1: Start std::atomic_flag_test_and_set\nFormals: this:std::atomic_flag* mo:int\nLocals: ret:_Bool \n DECLARE_LOCALS(&return,&ret); [line 937, column 3]\n " color=yellow style=filled] - - - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_1" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" [label="2: Exit std::atomic_flag_test_and_set \n " color=yellow style=filled] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" [label="1: Start std::shared_ptr___infer_inner_destructor_~shared_ptr\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 178, column 3]\n " color=yellow style=filled] -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" [label="3: Return Stmt \n n$0=*&ret:_Bool [line 940, column 12]\n *&return:_Bool=n$0 [line 940, column 5]\n " shape="box"] + "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_1" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" ; +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" [label="2: Exit std::shared_ptr___infer_inner_destructor_~shared_ptr \n " color=yellow style=filled] - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_2" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:std::atomic_flag* [line 939, column 5]\n *n$2.a:_Bool=1 [line 939, column 5]\n " shape="box"] +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" [label="3: Destruction \n n$0=*&this:int** [line 178, column 39]\n _=*n$0:int* [line 178, column 39]\n n$2=_fun_std::std__shared_ptr___infer_inner_destructor_~std__shared_ptr(n$0:int**) [line 178, column 39]\n " shape="box"] - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_3" ; -"test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" [label="5: DeclStmt \n n$3=*&this:std::atomic_flag* [line 938, column 16]\n n$4=*n$3.a:_Bool [line 938, column 16]\n *&ret:_Bool=n$4 [line 938, column 5]\n " shape="box"] + "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_2" ; +"__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" [label="4: Call _fun_std::shared_ptr_reset \n n$5=*&this:int** [line 178, column 19]\n _=*n$5:int* [line 178, column 19]\n n$7=_fun_std::shared_ptr_reset(n$5:int**,null:int*) [line 178, column 19]\n " shape="box"] - "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_5" -> "test_and_set#atomic_flag#std#(6471561702066990866).1f32ee5584df8a2cd5807312ee98cdb7_4" ; + "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_4" -> "__infer_inner_destructor_~shared_ptr#shared_ptr#std#(11841665744792554656).9277443e4e3f26d7cc1cd9ee0f2e3637_3" ; "~shared_ptr#shared_ptr#std#(11841665744792554656).57eab4801b4a7454644bdf188ec5633a_1" [label="1: Start std::shared_ptr_~shared_ptr\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 178, column 3]\n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot index 6b196aaa3..21b49cc11 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot @@ -493,46 +493,79 @@ digraph cfg { "__infer_inner_destructor_~X#X#break_scope#(321850372193847154).14fa9e76ae5ff70b9f49dbadc6e57d6c_2" [label="2: Exit break_scope::X___infer_inner_destructor_~X \n " color=yellow style=filled] -"__infer_inner_destructor_~vec#vec#break_scope#(2726327876410250530).f113a7960f096ab5aa59d07ce9fbcbbe_1" [label="1: Start break_scope::vec___infer_inner_destructor_~vec\nFormals: this:break_scope::vec*\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 8]\n " color=yellow style=filled] +"~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_1" [label="1: Start break_scope::X_~X\nFormals: this:break_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] - "__infer_inner_destructor_~vec#vec#break_scope#(2726327876410250530).f113a7960f096ab5aa59d07ce9fbcbbe_1" -> "__infer_inner_destructor_~vec#vec#break_scope#(2726327876410250530).f113a7960f096ab5aa59d07ce9fbcbbe_2" ; -"__infer_inner_destructor_~vec#vec#break_scope#(2726327876410250530).f113a7960f096ab5aa59d07ce9fbcbbe_2" [label="2: Exit break_scope::vec___infer_inner_destructor_~vec \n " color=yellow style=filled] + "~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_1" -> "~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_3" ; +"~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_2" [label="2: Exit break_scope::X_~X \n " color=yellow style=filled] -"begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_1" [label="1: Start break_scope::vec_begin\nFormals: this:break_scope::vec* __return_param:break_scope::iterator*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 34, column 3]\n " color=yellow style=filled] +"~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_3" [label="3: Destruction \n n$0=*&this:break_scope::X* [line 10, column 9]\n _=*n$0:break_scope::X [line 10, column 9]\n n$2=_fun_break_scope::X___infer_inner_destructor_~X(n$0:break_scope::X*) [line 10, column 9]\n " shape="box"] - "begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_1" -> "begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_3" ; -"begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_2" [label="2: Exit break_scope::vec_begin \n " color=yellow style=filled] + "~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_3" -> "~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_2" ; +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_1" [label="1: Start break_scope::iterator_operator!=\nFormals: this:break_scope::iterator* i2:break_scope::iterator const &\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 27, column 3]\n " color=yellow style=filled] -"begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 34, column 22]\n n$2=*&this:break_scope::vec* [line 34, column 38]\n n$3=_fun_break_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$2:break_scope::vec*,0:int) [line 34, column 29]\n n$4=_fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 34, column 29]\n " shape="box"] + "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_1" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_4" ; +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_2" [label="2: Exit break_scope::iterator_operator!= \n " color=yellow style=filled] - "begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_3" -> "begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_2" ; -"end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_1" [label="1: Start break_scope::vec_end\nFormals: this:break_scope::vec* __return_param:break_scope::iterator*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 35, column 3]\n " color=yellow style=filled] +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_3" [label="3: + \n " ] - "end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_1" -> "end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_3" ; -"end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_2" [label="2: Exit break_scope::vec_end \n " color=yellow style=filled] + "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_3" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_9" ; +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_4" [label="4: BinaryOperatorStmt: NE \n n$1=*&this:break_scope::iterator* [line 27, column 48]\n n$2=*n$1.position:int [line 27, column 48]\n n$3=*&i2:break_scope::iterator const & [line 27, column 60]\n n$4=*n$3.position:int [line 27, column 60]\n " shape="box"] -"end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 35, column 20]\n n$2=*&this:break_scope::vec* [line 35, column 36]\n n$3=_fun_break_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$2:break_scope::vec*,10:int) [line 35, column 27]\n n$4=_fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 35, column 27]\n " shape="box"] + "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_4" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_5" ; + "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_4" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_6" ; +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_5" [label="5: Prune (true branch, boolean exp) \n PRUNE((n$2 != n$4), true); [line 27, column 48]\n " shape="invhouse"] - "end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_3" -> "end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_2" ; -"get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_1" [label="1: Start break_scope::vec_get\nFormals: this:break_scope::vec* pos:int __return_param:break_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 37, column 3]\n " color=yellow style=filled] + "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_5" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_7" ; +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!(n$2 != n$4), false); [line 27, column 48]\n " shape="invhouse"] - "get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_1" -> "get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_3" ; -"get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_2" [label="2: Exit break_scope::vec_get \n " color=yellow style=filled] + "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_6" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_8" ; +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=1 [line 27, column 48]\n " shape="box"] -"get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 37, column 26]\n n$1=*&this:break_scope::vec const * [line 37, column 33]\n n$2=*&pos:int [line 37, column 39]\n n$3=_fun_break_scope::X_X(n$0:break_scope::X*,n$1._data[n$2]:break_scope::X const &) [line 37, column 33]\n " shape="box"] + "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_7" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_3" ; +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=0 [line 27, column 48]\n " shape="box"] - "get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_3" -> "get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_2" ; + "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_8" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_3" ; +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_9" [label="9: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool [line 27, column 48]\n *&return:_Bool=n$5 [line 27, column 41]\n " shape="box"] + + + "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_9" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_2" ; +"operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_1" [label="1: Start break_scope::iterator_operator++\nFormals: this:break_scope::iterator* __return_param:break_scope::iterator*\nLocals: \n DECLARE_LOCALS(&return); [line 22, column 3]\n " color=yellow style=filled] + + + "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_1" -> "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_4" ; +"operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_2" [label="2: Exit break_scope::iterator_operator++ \n " color=yellow style=filled] + + +"operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 24, column 5]\n n$1=*&this:break_scope::iterator* [line 24, column 13]\n n$2=_fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,n$1:break_scope::iterator&) [line 24, column 12]\n " shape="box"] + + + "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_3" -> "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_2" ; +"operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_4" [label="4: UnaryOperator \n n$4=*&this:break_scope::iterator* [line 23, column 5]\n n$5=*n$4.position:int [line 23, column 5]\n *n$4.position:int=(n$5 + 1) [line 23, column 5]\n " shape="box"] + + + "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_4" -> "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_3" ; +"operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_1" [label="1: Start break_scope::iterator_operator*\nFormals: this:break_scope::iterator* __return_param:break_scope::X*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 42, column 1]\n " color=yellow style=filled] + + + "operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_1" -> "operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_3" ; +"operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_2" [label="2: Exit break_scope::iterator_operator* \n " color=yellow style=filled] + + +"operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 42, column 33]\n n$2=*&this:break_scope::iterator const * [line 42, column 40]\n n$3=*n$2.vector:break_scope::vec const * [line 42, column 40]\n _=*n$3:break_scope::vec const [line 42, column 40]\n n$5=*&this:break_scope::iterator const * [line 42, column 52]\n n$6=*n$5.position:int [line 42, column 52]\n n$8=_fun_break_scope::vec_get(n$3:break_scope::vec const *,n$6:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X*) [line 42, column 40]\n n$9=_fun_break_scope::X_X(n$0:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const &) [line 42, column 40]\n " shape="box"] + + + "operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_3" -> "operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_2" ; "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_1" [label="1: Start break_scope::iterator_iterator\nFormals: this:break_scope::iterator* __param_0:break_scope::iterator const &\nLocals: \n DECLARE_LOCALS(&return); [line 16, column 8]\n " color=yellow style=filled] @@ -578,68 +611,39 @@ digraph cfg { "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_4" -> "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_3" ; -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_1" [label="1: Start break_scope::iterator_operator!=\nFormals: this:break_scope::iterator* i2:break_scope::iterator const &\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 27, column 3]\n " color=yellow style=filled] - - - "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_1" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_4" ; -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_2" [label="2: Exit break_scope::iterator_operator!= \n " color=yellow style=filled] - - -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_3" [label="3: + \n " ] - - - "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_3" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_9" ; -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_4" [label="4: BinaryOperatorStmt: NE \n n$1=*&this:break_scope::iterator* [line 27, column 48]\n n$2=*n$1.position:int [line 27, column 48]\n n$3=*&i2:break_scope::iterator const & [line 27, column 60]\n n$4=*n$3.position:int [line 27, column 60]\n " shape="box"] - - - "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_4" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_5" ; - "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_4" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_6" ; -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_5" [label="5: Prune (true branch, boolean exp) \n PRUNE((n$2 != n$4), true); [line 27, column 48]\n " shape="invhouse"] - - - "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_5" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_7" ; -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!(n$2 != n$4), false); [line 27, column 48]\n " shape="invhouse"] - - - "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_6" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_8" ; -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=1 [line 27, column 48]\n " shape="box"] - - - "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_7" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_3" ; -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=0 [line 27, column 48]\n " shape="box"] +"get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_1" [label="1: Start break_scope::vec_get\nFormals: this:break_scope::vec* pos:int __return_param:break_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 37, column 3]\n " color=yellow style=filled] - "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_8" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_3" ; -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_9" [label="9: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool [line 27, column 48]\n *&return:_Bool=n$5 [line 27, column 41]\n " shape="box"] + "get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_1" -> "get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_3" ; +"get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_2" [label="2: Exit break_scope::vec_get \n " color=yellow style=filled] - "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_9" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_2" ; -"operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_1" [label="1: Start break_scope::iterator_operator*\nFormals: this:break_scope::iterator* __return_param:break_scope::X*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 42, column 1]\n " color=yellow style=filled] +"get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 37, column 26]\n n$1=*&this:break_scope::vec const * [line 37, column 33]\n n$2=*&pos:int [line 37, column 39]\n n$3=_fun_break_scope::X_X(n$0:break_scope::X*,n$1._data[n$2]:break_scope::X const &) [line 37, column 33]\n " shape="box"] - "operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_1" -> "operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_3" ; -"operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_2" [label="2: Exit break_scope::iterator_operator* \n " color=yellow style=filled] + "get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_3" -> "get#vec#break_scope#(1283787980840570343).8c225fcc5fb36e3f37c7fa3dc5e9f9db_2" ; +"end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_1" [label="1: Start break_scope::vec_end\nFormals: this:break_scope::vec* __return_param:break_scope::iterator*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 35, column 3]\n " color=yellow style=filled] -"operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 42, column 33]\n n$2=*&this:break_scope::iterator const * [line 42, column 40]\n n$3=*n$2.vector:break_scope::vec const * [line 42, column 40]\n _=*n$3:break_scope::vec const [line 42, column 40]\n n$5=*&this:break_scope::iterator const * [line 42, column 52]\n n$6=*n$5.position:int [line 42, column 52]\n n$8=_fun_break_scope::vec_get(n$3:break_scope::vec const *,n$6:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X*) [line 42, column 40]\n n$9=_fun_break_scope::X_X(n$0:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const &) [line 42, column 40]\n " shape="box"] + "end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_1" -> "end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_3" ; +"end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_2" [label="2: Exit break_scope::vec_end \n " color=yellow style=filled] - "operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_3" -> "operator*#iterator#break_scope#(4328339407583570703).cdad0941eaaed797f70482510d139870_2" ; -"operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_1" [label="1: Start break_scope::iterator_operator++\nFormals: this:break_scope::iterator* __return_param:break_scope::iterator*\nLocals: \n DECLARE_LOCALS(&return); [line 22, column 3]\n " color=yellow style=filled] +"end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 35, column 20]\n n$2=*&this:break_scope::vec* [line 35, column 36]\n n$3=_fun_break_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$2:break_scope::vec*,10:int) [line 35, column 27]\n n$4=_fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 35, column 27]\n " shape="box"] - "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_1" -> "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_4" ; -"operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_2" [label="2: Exit break_scope::iterator_operator++ \n " color=yellow style=filled] + "end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_3" -> "end#vec#break_scope#(4427317924121915380).244553a42bbf0c7e825bfd96f82a9063_2" ; +"begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_1" [label="1: Start break_scope::vec_begin\nFormals: this:break_scope::vec* __return_param:break_scope::iterator*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 34, column 3]\n " color=yellow style=filled] -"operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 24, column 5]\n n$1=*&this:break_scope::iterator* [line 24, column 13]\n n$2=_fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,n$1:break_scope::iterator&) [line 24, column 12]\n " shape="box"] + "begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_1" -> "begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_3" ; +"begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_2" [label="2: Exit break_scope::vec_begin \n " color=yellow style=filled] - "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_3" -> "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_2" ; -"operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_4" [label="4: UnaryOperator \n n$4=*&this:break_scope::iterator* [line 23, column 5]\n n$5=*n$4.position:int [line 23, column 5]\n *n$4.position:int=(n$5 + 1) [line 23, column 5]\n " shape="box"] +"begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 34, column 22]\n n$2=*&this:break_scope::vec* [line 34, column 38]\n n$3=_fun_break_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$2:break_scope::vec*,0:int) [line 34, column 29]\n n$4=_fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 34, column 29]\n " shape="box"] - "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_4" -> "operator++#iterator#break_scope#(2766485846133390801).11d4c93e59bfd59c8af952e0b96f50cf_3" ; + "begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_3" -> "begin#vec#break_scope#(5557509884489875894).e034f7c9d5268cece0387739b5adfebe_2" ; "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_1" [label="1: Start break_scope::vec_vec\nFormals: this:break_scope::vec*\nLocals: \n DECLARE_LOCALS(&return); [line 33, column 3]\n " color=yellow style=filled] @@ -651,17 +655,13 @@ digraph cfg { "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_3" -> "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_2" ; -"~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_1" [label="1: Start break_scope::X_~X\nFormals: this:break_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] - - - "~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_1" -> "~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_3" ; -"~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_2" [label="2: Exit break_scope::X_~X \n " color=yellow style=filled] +"__infer_inner_destructor_~vec#vec#break_scope#(2726327876410250530).f113a7960f096ab5aa59d07ce9fbcbbe_1" [label="1: Start break_scope::vec___infer_inner_destructor_~vec\nFormals: this:break_scope::vec*\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 8]\n " color=yellow style=filled] -"~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_3" [label="3: Destruction \n n$0=*&this:break_scope::X* [line 10, column 9]\n _=*n$0:break_scope::X [line 10, column 9]\n n$2=_fun_break_scope::X___infer_inner_destructor_~X(n$0:break_scope::X*) [line 10, column 9]\n " shape="box"] + "__infer_inner_destructor_~vec#vec#break_scope#(2726327876410250530).f113a7960f096ab5aa59d07ce9fbcbbe_1" -> "__infer_inner_destructor_~vec#vec#break_scope#(2726327876410250530).f113a7960f096ab5aa59d07ce9fbcbbe_2" ; +"__infer_inner_destructor_~vec#vec#break_scope#(2726327876410250530).f113a7960f096ab5aa59d07ce9fbcbbe_2" [label="2: Exit break_scope::vec___infer_inner_destructor_~vec \n " color=yellow style=filled] - "~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_3" -> "~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_2" ; "~vec#vec#break_scope#(2726327876410250530).6af158139cecaa31993b3ce213ac0fe6_1" [label="1: Start break_scope::vec_~vec\nFormals: this:break_scope::vec*\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 8]\n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot index 734c585c1..0b00e10df 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot @@ -416,46 +416,79 @@ digraph cfg { "__infer_inner_destructor_~X#X#continue_scope#(14106261246415748043).7b99c403359c6d4efc163f4292ca75da_2" [label="2: Exit continue_scope::X___infer_inner_destructor_~X \n " color=yellow style=filled] -"__infer_inner_destructor_~vec#vec#continue_scope#(10360929843329979119).03b608737079bc7a6c659c5062560447_1" [label="1: Start continue_scope::vec___infer_inner_destructor_~vec\nFormals: this:continue_scope::vec*\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 8]\n " color=yellow style=filled] +"~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_1" [label="1: Start continue_scope::X_~X\nFormals: this:continue_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] - "__infer_inner_destructor_~vec#vec#continue_scope#(10360929843329979119).03b608737079bc7a6c659c5062560447_1" -> "__infer_inner_destructor_~vec#vec#continue_scope#(10360929843329979119).03b608737079bc7a6c659c5062560447_2" ; -"__infer_inner_destructor_~vec#vec#continue_scope#(10360929843329979119).03b608737079bc7a6c659c5062560447_2" [label="2: Exit continue_scope::vec___infer_inner_destructor_~vec \n " color=yellow style=filled] + "~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_1" -> "~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_3" ; +"~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_2" [label="2: Exit continue_scope::X_~X \n " color=yellow style=filled] -"begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_1" [label="1: Start continue_scope::vec_begin\nFormals: this:continue_scope::vec* __return_param:continue_scope::iterator*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 34, column 3]\n " color=yellow style=filled] +"~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_3" [label="3: Destruction \n n$0=*&this:continue_scope::X* [line 10, column 9]\n _=*n$0:continue_scope::X [line 10, column 9]\n n$2=_fun_continue_scope::X___infer_inner_destructor_~X(n$0:continue_scope::X*) [line 10, column 9]\n " shape="box"] - "begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_1" -> "begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_3" ; -"begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_2" [label="2: Exit continue_scope::vec_begin \n " color=yellow style=filled] + "~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_3" -> "~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_2" ; +"operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_1" [label="1: Start continue_scope::iterator_operator*\nFormals: this:continue_scope::iterator* __return_param:continue_scope::X*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 42, column 1]\n " color=yellow style=filled] -"begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 34, column 22]\n n$2=*&this:continue_scope::vec* [line 34, column 38]\n n$3=_fun_continue_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*,n$2:continue_scope::vec*,0:int) [line 34, column 29]\n n$4=_fun_continue_scope::iterator_iterator(n$0:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator&) [line 34, column 29]\n " shape="box"] + "operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_1" -> "operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_3" ; +"operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_2" [label="2: Exit continue_scope::iterator_operator* \n " color=yellow style=filled] - "begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_3" -> "begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_2" ; -"end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_1" [label="1: Start continue_scope::vec_end\nFormals: this:continue_scope::vec* __return_param:continue_scope::iterator*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 35, column 3]\n " color=yellow style=filled] +"operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 42, column 33]\n n$2=*&this:continue_scope::iterator const * [line 42, column 40]\n n$3=*n$2.vector:continue_scope::vec const * [line 42, column 40]\n _=*n$3:continue_scope::vec const [line 42, column 40]\n n$5=*&this:continue_scope::iterator const * [line 42, column 52]\n n$6=*n$5.position:int [line 42, column 52]\n n$8=_fun_continue_scope::vec_get(n$3:continue_scope::vec const *,n$6:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X*) [line 42, column 40]\n n$9=_fun_continue_scope::X_X(n$0:continue_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const &) [line 42, column 40]\n " shape="box"] - "end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_1" -> "end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_3" ; -"end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_2" [label="2: Exit continue_scope::vec_end \n " color=yellow style=filled] + "operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_3" -> "operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_2" ; +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_1" [label="1: Start continue_scope::iterator_operator!=\nFormals: this:continue_scope::iterator* i2:continue_scope::iterator const &\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 27, column 3]\n " color=yellow style=filled] -"end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 35, column 20]\n n$2=*&this:continue_scope::vec* [line 35, column 36]\n n$3=_fun_continue_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*,n$2:continue_scope::vec*,10:int) [line 35, column 27]\n n$4=_fun_continue_scope::iterator_iterator(n$0:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator&) [line 35, column 27]\n " shape="box"] + "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_1" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_4" ; +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_2" [label="2: Exit continue_scope::iterator_operator!= \n " color=yellow style=filled] - "end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_3" -> "end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_2" ; -"get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_1" [label="1: Start continue_scope::vec_get\nFormals: this:continue_scope::vec* pos:int __return_param:continue_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 37, column 3]\n " color=yellow style=filled] +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_3" [label="3: + \n " ] - "get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_1" -> "get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_3" ; -"get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_2" [label="2: Exit continue_scope::vec_get \n " color=yellow style=filled] + "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_3" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_9" ; +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_4" [label="4: BinaryOperatorStmt: NE \n n$1=*&this:continue_scope::iterator* [line 27, column 48]\n n$2=*n$1.position:int [line 27, column 48]\n n$3=*&i2:continue_scope::iterator const & [line 27, column 60]\n n$4=*n$3.position:int [line 27, column 60]\n " shape="box"] -"get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 37, column 26]\n n$1=*&this:continue_scope::vec const * [line 37, column 33]\n n$2=*&pos:int [line 37, column 39]\n n$3=_fun_continue_scope::X_X(n$0:continue_scope::X*,n$1._data[n$2]:continue_scope::X const &) [line 37, column 33]\n " shape="box"] + "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_4" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_5" ; + "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_4" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_6" ; +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_5" [label="5: Prune (true branch, boolean exp) \n PRUNE((n$2 != n$4), true); [line 27, column 48]\n " shape="invhouse"] - "get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_3" -> "get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_2" ; + "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_5" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_7" ; +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!(n$2 != n$4), false); [line 27, column 48]\n " shape="invhouse"] + + + "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_6" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_8" ; +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=1 [line 27, column 48]\n " shape="box"] + + + "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_7" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_3" ; +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=0 [line 27, column 48]\n " shape="box"] + + + "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_8" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_3" ; +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_9" [label="9: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool [line 27, column 48]\n *&return:_Bool=n$5 [line 27, column 41]\n " shape="box"] + + + "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_9" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_2" ; +"operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_1" [label="1: Start continue_scope::iterator_operator++\nFormals: this:continue_scope::iterator* __return_param:continue_scope::iterator*\nLocals: \n DECLARE_LOCALS(&return); [line 22, column 3]\n " color=yellow style=filled] + + + "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_1" -> "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_4" ; +"operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_2" [label="2: Exit continue_scope::iterator_operator++ \n " color=yellow style=filled] + + +"operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 24, column 5]\n n$1=*&this:continue_scope::iterator* [line 24, column 13]\n n$2=_fun_continue_scope::iterator_iterator(n$0:continue_scope::iterator*,n$1:continue_scope::iterator&) [line 24, column 12]\n " shape="box"] + + + "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_3" -> "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_2" ; +"operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_4" [label="4: UnaryOperator \n n$4=*&this:continue_scope::iterator* [line 23, column 5]\n n$5=*n$4.position:int [line 23, column 5]\n *n$4.position:int=(n$5 + 1) [line 23, column 5]\n " shape="box"] + + + "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_4" -> "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_3" ; "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_1" [label="1: Start continue_scope::iterator_iterator\nFormals: this:continue_scope::iterator* __param_0:continue_scope::iterator&\nLocals: \n DECLARE_LOCALS(&return); [line 16, column 8]\n " color=yellow style=filled] @@ -501,68 +534,39 @@ digraph cfg { "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_4" -> "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_3" ; -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_1" [label="1: Start continue_scope::iterator_operator!=\nFormals: this:continue_scope::iterator* i2:continue_scope::iterator const &\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 27, column 3]\n " color=yellow style=filled] - - - "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_1" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_4" ; -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_2" [label="2: Exit continue_scope::iterator_operator!= \n " color=yellow style=filled] - - -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_3" [label="3: + \n " ] - - - "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_3" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_9" ; -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_4" [label="4: BinaryOperatorStmt: NE \n n$1=*&this:continue_scope::iterator* [line 27, column 48]\n n$2=*n$1.position:int [line 27, column 48]\n n$3=*&i2:continue_scope::iterator const & [line 27, column 60]\n n$4=*n$3.position:int [line 27, column 60]\n " shape="box"] - - - "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_4" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_5" ; - "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_4" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_6" ; -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_5" [label="5: Prune (true branch, boolean exp) \n PRUNE((n$2 != n$4), true); [line 27, column 48]\n " shape="invhouse"] - - - "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_5" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_7" ; -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!(n$2 != n$4), false); [line 27, column 48]\n " shape="invhouse"] - - - "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_6" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_8" ; -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=1 [line 27, column 48]\n " shape="box"] - - - "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_7" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_3" ; -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=0 [line 27, column 48]\n " shape="box"] +"begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_1" [label="1: Start continue_scope::vec_begin\nFormals: this:continue_scope::vec* __return_param:continue_scope::iterator*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 34, column 3]\n " color=yellow style=filled] - "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_8" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_3" ; -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_9" [label="9: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool [line 27, column 48]\n *&return:_Bool=n$5 [line 27, column 41]\n " shape="box"] + "begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_1" -> "begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_3" ; +"begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_2" [label="2: Exit continue_scope::vec_begin \n " color=yellow style=filled] - "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_9" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_2" ; -"operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_1" [label="1: Start continue_scope::iterator_operator*\nFormals: this:continue_scope::iterator* __return_param:continue_scope::X*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 42, column 1]\n " color=yellow style=filled] +"begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 34, column 22]\n n$2=*&this:continue_scope::vec* [line 34, column 38]\n n$3=_fun_continue_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*,n$2:continue_scope::vec*,0:int) [line 34, column 29]\n n$4=_fun_continue_scope::iterator_iterator(n$0:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator&) [line 34, column 29]\n " shape="box"] - "operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_1" -> "operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_3" ; -"operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_2" [label="2: Exit continue_scope::iterator_operator* \n " color=yellow style=filled] + "begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_3" -> "begin#vec#continue_scope#(10867355481694456603).b98e56054b13873648ee448110d89e0d_2" ; +"get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_1" [label="1: Start continue_scope::vec_get\nFormals: this:continue_scope::vec* pos:int __return_param:continue_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 37, column 3]\n " color=yellow style=filled] -"operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 42, column 33]\n n$2=*&this:continue_scope::iterator const * [line 42, column 40]\n n$3=*n$2.vector:continue_scope::vec const * [line 42, column 40]\n _=*n$3:continue_scope::vec const [line 42, column 40]\n n$5=*&this:continue_scope::iterator const * [line 42, column 52]\n n$6=*n$5.position:int [line 42, column 52]\n n$8=_fun_continue_scope::vec_get(n$3:continue_scope::vec const *,n$6:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X*) [line 42, column 40]\n n$9=_fun_continue_scope::X_X(n$0:continue_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const &) [line 42, column 40]\n " shape="box"] + "get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_1" -> "get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_3" ; +"get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_2" [label="2: Exit continue_scope::vec_get \n " color=yellow style=filled] - "operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_3" -> "operator*#iterator#continue_scope#(10976315504449545146).52feec5517a47e2a4f419770b171de17_2" ; -"operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_1" [label="1: Start continue_scope::iterator_operator++\nFormals: this:continue_scope::iterator* __return_param:continue_scope::iterator*\nLocals: \n DECLARE_LOCALS(&return); [line 22, column 3]\n " color=yellow style=filled] +"get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 37, column 26]\n n$1=*&this:continue_scope::vec const * [line 37, column 33]\n n$2=*&pos:int [line 37, column 39]\n n$3=_fun_continue_scope::X_X(n$0:continue_scope::X*,n$1._data[n$2]:continue_scope::X const &) [line 37, column 33]\n " shape="box"] - "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_1" -> "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_4" ; -"operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_2" [label="2: Exit continue_scope::iterator_operator++ \n " color=yellow style=filled] + "get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_3" -> "get#vec#continue_scope#(13898317495016814620).68b3a48870926ee1b656c13c172b7eaf_2" ; +"end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_1" [label="1: Start continue_scope::vec_end\nFormals: this:continue_scope::vec* __return_param:continue_scope::iterator*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 35, column 3]\n " color=yellow style=filled] -"operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 24, column 5]\n n$1=*&this:continue_scope::iterator* [line 24, column 13]\n n$2=_fun_continue_scope::iterator_iterator(n$0:continue_scope::iterator*,n$1:continue_scope::iterator&) [line 24, column 12]\n " shape="box"] + "end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_1" -> "end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_3" ; +"end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_2" [label="2: Exit continue_scope::vec_end \n " color=yellow style=filled] - "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_3" -> "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_2" ; -"operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_4" [label="4: UnaryOperator \n n$4=*&this:continue_scope::iterator* [line 23, column 5]\n n$5=*n$4.position:int [line 23, column 5]\n *n$4.position:int=(n$5 + 1) [line 23, column 5]\n " shape="box"] +"end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 35, column 20]\n n$2=*&this:continue_scope::vec* [line 35, column 36]\n n$3=_fun_continue_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*,n$2:continue_scope::vec*,10:int) [line 35, column 27]\n n$4=_fun_continue_scope::iterator_iterator(n$0:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator&) [line 35, column 27]\n " shape="box"] - "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_4" -> "operator++#iterator#continue_scope#(16434574593791982090).926de445b967c9119c5cf6eecba7a618_3" ; + "end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_3" -> "end#vec#continue_scope#(4225103001970544933).ded338553ca4887b56031f34ea912cde_2" ; "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_1" [label="1: Start continue_scope::vec_vec\nFormals: this:continue_scope::vec*\nLocals: \n DECLARE_LOCALS(&return); [line 33, column 3]\n " color=yellow style=filled] @@ -574,17 +578,13 @@ digraph cfg { "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_3" -> "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_2" ; -"~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_1" [label="1: Start continue_scope::X_~X\nFormals: this:continue_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] - - - "~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_1" -> "~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_3" ; -"~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_2" [label="2: Exit continue_scope::X_~X \n " color=yellow style=filled] +"__infer_inner_destructor_~vec#vec#continue_scope#(10360929843329979119).03b608737079bc7a6c659c5062560447_1" [label="1: Start continue_scope::vec___infer_inner_destructor_~vec\nFormals: this:continue_scope::vec*\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 8]\n " color=yellow style=filled] -"~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_3" [label="3: Destruction \n n$0=*&this:continue_scope::X* [line 10, column 9]\n _=*n$0:continue_scope::X [line 10, column 9]\n n$2=_fun_continue_scope::X___infer_inner_destructor_~X(n$0:continue_scope::X*) [line 10, column 9]\n " shape="box"] + "__infer_inner_destructor_~vec#vec#continue_scope#(10360929843329979119).03b608737079bc7a6c659c5062560447_1" -> "__infer_inner_destructor_~vec#vec#continue_scope#(10360929843329979119).03b608737079bc7a6c659c5062560447_2" ; +"__infer_inner_destructor_~vec#vec#continue_scope#(10360929843329979119).03b608737079bc7a6c659c5062560447_2" [label="2: Exit continue_scope::vec___infer_inner_destructor_~vec \n " color=yellow style=filled] - "~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_3" -> "~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_2" ; "~vec#vec#continue_scope#(10360929843329979119).4ca99321ca697a550551ca058254a138_1" [label="1: Start continue_scope::vec_~vec\nFormals: this:continue_scope::vec*\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 8]\n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot index 5236a366c..225299912 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot @@ -11,6 +11,24 @@ digraph cfg { "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_3" -> "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_2" ; +"__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_1" [label="1: Start A___infer_inner_destructor_~A\nFormals: this:A*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 3]\n " color=yellow style=filled] + + + "__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_1" -> "__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_2" ; +"__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_2" [label="2: Exit A___infer_inner_destructor_~A \n " color=yellow style=filled] + + +"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_1" [label="1: Start A_~A\nFormals: this:A*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 3]\n " color=yellow style=filled] + + + "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_1" -> "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" ; +"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" [label="2: Exit A_~A \n " color=yellow style=filled] + + +"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" [label="3: Destruction \n n$0=*&this:A* [line 15, column 8]\n _=*n$0:A [line 15, column 8]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:A*) [line 15, column 8]\n _=*n$0:A [line 15, column 8]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:A*) [line 15, column 8]\n " shape="box"] + + + "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" -> "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" ; "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_1" [label="1: Start B_B\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 19, column 3]\n " color=yellow style=filled] @@ -26,137 +44,129 @@ digraph cfg { "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_4" -> "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" ; -"C#C#{5740611327153041165}.7f44dbfcbf1af9b0d8bcababbf48127e_1" [label="1: Start C_C\nFormals: this:C*\nLocals: \n DECLARE_LOCALS(&return); [line 24, column 3]\n " color=yellow style=filled] - - - "C#C#{5740611327153041165}.7f44dbfcbf1af9b0d8bcababbf48127e_1" -> "C#C#{5740611327153041165}.7f44dbfcbf1af9b0d8bcababbf48127e_2" ; -"C#C#{5740611327153041165}.7f44dbfcbf1af9b0d8bcababbf48127e_2" [label="2: Exit C_C \n " color=yellow style=filled] - - -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_1" [label="1: Start D_D\nFormals: this:D*\nLocals: \n DECLARE_LOCALS(&return); [line 30, column 3]\n " color=yellow style=filled] +"__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_1" [label="1: Start B___infer_inner_destructor_~B\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 20, column 3]\n " color=yellow style=filled] - "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_1" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" ; -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_2" [label="2: Exit D_D \n " color=yellow style=filled] + "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_1" -> "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_2" ; +"__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_2" [label="2: Exit B___infer_inner_destructor_~B \n " color=yellow style=filled] -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" [label="3: Constructor Init \n n$2=*&this:D* [line 30, column 3]\n n$3=_fun_B_B(n$2.b:B*) [line 30, column 3]\n " shape="box"] +"~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_1" [label="1: Start B_~B\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 20, column 3]\n " color=yellow style=filled] - "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_2" ; -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" [label="4: Constructor Init \n n$4=*&this:D* [line 30, column 3]\n n$5=_fun_C_C(n$4:D*) [line 30, column 3]\n " shape="box"] + "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_1" -> "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" ; +"~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_2" [label="2: Exit B_~B \n " color=yellow style=filled] - "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" ; -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" [label="5: Constructor Init \n n$6=*&this:D* [line 30, column 3]\n n$7=_fun_A_A(n$6:D*) [line 30, column 3]\n " shape="box"] +"~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" [label="3: Destruction \n n$0=*&this:B* [line 20, column 8]\n _=*n$0:B [line 20, column 8]\n n$6=_fun_B___infer_inner_destructor_~B(n$0:B*) [line 20, column 8]\n _=*n$0:B [line 20, column 8]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:B*) [line 20, column 8]\n _=*n$0:B [line 20, column 8]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:B*) [line 20, column 8]\n " shape="box"] - "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" ; -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" [label="6: Constructor Init \n n$8=*&this:D* [line 30, column 7]\n n$9=_fun_T_T(n$8:D*) [line 30, column 3]\n " shape="box"] + "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" -> "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_2" ; +"C#C#{5740611327153041165}.7f44dbfcbf1af9b0d8bcababbf48127e_1" [label="1: Start C_C\nFormals: this:C*\nLocals: \n DECLARE_LOCALS(&return); [line 24, column 3]\n " color=yellow style=filled] - "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_1" [label="1: Start E_E\nFormals: this:E*\nLocals: \n DECLARE_LOCALS(&return); [line 35, column 3]\n " color=yellow style=filled] + "C#C#{5740611327153041165}.7f44dbfcbf1af9b0d8bcababbf48127e_1" -> "C#C#{5740611327153041165}.7f44dbfcbf1af9b0d8bcababbf48127e_2" ; +"C#C#{5740611327153041165}.7f44dbfcbf1af9b0d8bcababbf48127e_2" [label="2: Exit C_C \n " color=yellow style=filled] - "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_1" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_2" [label="2: Exit E_E \n " color=yellow style=filled] +"__infer_inner_destructor_~C#C#(8663121109475859597).b2a38f2bbddcdfc0b09e6d7290006778_1" [label="1: Start C___infer_inner_destructor_~C\nFormals: this:C*\nLocals: \n DECLARE_LOCALS(&return); [line 25, column 3]\n " color=yellow style=filled] -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" [label="3: Constructor Init \n n$2=*&this:E* [line 35, column 3]\n n$3=_fun_D_D(n$2:E*) [line 35, column 3]\n " shape="box"] + "__infer_inner_destructor_~C#C#(8663121109475859597).b2a38f2bbddcdfc0b09e6d7290006778_1" -> "__infer_inner_destructor_~C#C#(8663121109475859597).b2a38f2bbddcdfc0b09e6d7290006778_2" ; +"__infer_inner_destructor_~C#C#(8663121109475859597).b2a38f2bbddcdfc0b09e6d7290006778_2" [label="2: Exit C___infer_inner_destructor_~C \n " color=yellow style=filled] - "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_2" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" [label="4: Constructor Init \n n$4=*&this:E* [line 35, column 3]\n n$5=_fun_C_C(n$4:E*) [line 35, column 3]\n " shape="box"] +"~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_1" [label="1: Start C_~C\nFormals: this:C*\nLocals: \n DECLARE_LOCALS(&return); [line 25, column 3]\n " color=yellow style=filled] - "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" [label="5: Constructor Init \n n$6=*&this:E* [line 35, column 3]\n n$7=_fun_B_B(n$6:E*) [line 35, column 3]\n " shape="box"] + "~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_1" -> "~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_3" ; +"~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_2" [label="2: Exit C_~C \n " color=yellow style=filled] - "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" [label="6: Constructor Init \n n$8=*&this:E* [line 35, column 3]\n n$9=_fun_A_A(n$8:E*) [line 35, column 3]\n " shape="box"] +"~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_3" [label="3: Destruction \n n$0=*&this:C* [line 25, column 8]\n _=*n$0:C [line 25, column 8]\n n$2=_fun_C___infer_inner_destructor_~C(n$0:C*) [line 25, column 8]\n " shape="box"] - "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" [label="7: Constructor Init \n n$10=*&this:E* [line 35, column 7]\n n$11=_fun_T_T(n$10:E*) [line 35, column 3]\n " shape="box"] + "~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_3" -> "~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_2" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_1" [label="1: Start D_D\nFormals: this:D*\nLocals: \n DECLARE_LOCALS(&return); [line 30, column 3]\n " color=yellow style=filled] - "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_1" [label="1: Start F_F\nFormals: this:F*\nLocals: \n DECLARE_LOCALS(&return); [line 40, column 3]\n " color=yellow style=filled] + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_1" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_2" [label="2: Exit D_D \n " color=yellow style=filled] - "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_1" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_2" [label="2: Exit F_F \n " color=yellow style=filled] +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" [label="3: Constructor Init \n n$2=*&this:D* [line 30, column 3]\n n$3=_fun_B_B(n$2.b:B*) [line 30, column 3]\n " shape="box"] -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" [label="3: Constructor Init \n n$2=*&this:F* [line 40, column 3]\n n$3=_fun_D_D(n$2:F*) [line 40, column 3]\n " shape="box"] + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_2" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" [label="4: Constructor Init \n n$4=*&this:D* [line 30, column 3]\n n$5=_fun_C_C(n$4:D*) [line 30, column 3]\n " shape="box"] - "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_2" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" [label="4: Constructor Init \n n$4=*&this:F* [line 40, column 3]\n n$5=_fun_B_B(n$4:F*) [line 40, column 3]\n " shape="box"] + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" [label="5: Constructor Init \n n$6=*&this:D* [line 30, column 3]\n n$7=_fun_A_A(n$6:D*) [line 30, column 3]\n " shape="box"] - "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" [label="5: Constructor Init \n n$6=*&this:F* [line 40, column 3]\n n$7=_fun_C_C(n$6:F*) [line 40, column 3]\n " shape="box"] + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" [label="6: Constructor Init \n n$8=*&this:D* [line 30, column 7]\n n$9=_fun_T_T(n$8:D*) [line 30, column 3]\n " shape="box"] - "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" [label="6: Constructor Init \n n$8=*&this:F* [line 40, column 3]\n n$9=_fun_A_A(n$8:F*) [line 40, column 3]\n " shape="box"] + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" ; +"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_1" [label="1: Start D___infer_inner_destructor_~D\nFormals: this:D*\nLocals: a:A \n DECLARE_LOCALS(&return,&a); [line 31, column 3]\n " color=yellow style=filled] - "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" [label="7: Constructor Init \n n$10=*&this:F* [line 40, column 7]\n n$11=_fun_T_T(n$10:F*) [line 40, column 3]\n " shape="box"] + "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_1" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" ; +"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_2" [label="2: Exit D___infer_inner_destructor_~D \n " color=yellow style=filled] - "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" ; -"T#T#{15422546710357390924}.2e459864a844310ea5ab719ea4768a72_1" [label="1: Start T_T\nFormals: this:T*\nLocals: \n DECLARE_LOCALS(&return); [line 9, column 3]\n " color=yellow style=filled] +"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_3" [label="3: Destruction \n n$0=*&this:D* [line 31, column 15]\n _=*n$0.b:B [line 31, column 15]\n n$2=_fun_B_~B(n$0.b:B*) [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$6=_fun_C___infer_inner_destructor_~C(n$0:D*) [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:D*) [line 31, column 15]\n " shape="box"] - "T#T#{15422546710357390924}.2e459864a844310ea5ab719ea4768a72_1" -> "T#T#{15422546710357390924}.2e459864a844310ea5ab719ea4768a72_2" ; -"T#T#{15422546710357390924}.2e459864a844310ea5ab719ea4768a72_2" [label="2: Exit T_T \n " color=yellow style=filled] + "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_3" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_2" ; +"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" [label="4: Destruction \n _=*&a:A [line 31, column 15]\n n$9=_fun_A_~A(&a:A*) [line 31, column 15]\n " shape="box"] -"__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_1" [label="1: Start A___infer_inner_destructor_~A\nFormals: this:A*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 3]\n " color=yellow style=filled] + "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_3" ; +"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" [label="5: DeclStmt \n n$11=_fun_A_A(&a:A*) [line 31, column 12]\n " shape="box"] - "__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_1" -> "__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_2" ; -"__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_2" [label="2: Exit A___infer_inner_destructor_~A \n " color=yellow style=filled] + "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" ; +"~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_1" [label="1: Start D_~D\nFormals: this:D*\nLocals: \n DECLARE_LOCALS(&return); [line 31, column 3]\n " color=yellow style=filled] -"__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_1" [label="1: Start B___infer_inner_destructor_~B\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 20, column 3]\n " color=yellow style=filled] + "~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_1" -> "~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_3" ; +"~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_2" [label="2: Exit D_~D \n " color=yellow style=filled] - "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_1" -> "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_2" ; -"__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_2" [label="2: Exit B___infer_inner_destructor_~B \n " color=yellow style=filled] +"~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_3" [label="3: Destruction \n n$0=*&this:D* [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$4=_fun_D___infer_inner_destructor_~D(n$0:D*) [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:D*) [line 31, column 15]\n " shape="box"] -"__infer_inner_destructor_~C#C#(8663121109475859597).b2a38f2bbddcdfc0b09e6d7290006778_1" [label="1: Start C___infer_inner_destructor_~C\nFormals: this:C*\nLocals: \n DECLARE_LOCALS(&return); [line 25, column 3]\n " color=yellow style=filled] + "~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_3" -> "~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_2" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_1" [label="1: Start E_E\nFormals: this:E*\nLocals: \n DECLARE_LOCALS(&return); [line 35, column 3]\n " color=yellow style=filled] - "__infer_inner_destructor_~C#C#(8663121109475859597).b2a38f2bbddcdfc0b09e6d7290006778_1" -> "__infer_inner_destructor_~C#C#(8663121109475859597).b2a38f2bbddcdfc0b09e6d7290006778_2" ; -"__infer_inner_destructor_~C#C#(8663121109475859597).b2a38f2bbddcdfc0b09e6d7290006778_2" [label="2: Exit C___infer_inner_destructor_~C \n " color=yellow style=filled] + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_1" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_2" [label="2: Exit E_E \n " color=yellow style=filled] -"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_1" [label="1: Start D___infer_inner_destructor_~D\nFormals: this:D*\nLocals: a:A \n DECLARE_LOCALS(&return,&a); [line 31, column 3]\n " color=yellow style=filled] +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" [label="3: Constructor Init \n n$2=*&this:E* [line 35, column 3]\n n$3=_fun_D_D(n$2:E*) [line 35, column 3]\n " shape="box"] - "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_1" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" ; -"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_2" [label="2: Exit D___infer_inner_destructor_~D \n " color=yellow style=filled] + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_2" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" [label="4: Constructor Init \n n$4=*&this:E* [line 35, column 3]\n n$5=_fun_C_C(n$4:E*) [line 35, column 3]\n " shape="box"] -"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_3" [label="3: Destruction \n n$0=*&this:D* [line 31, column 15]\n _=*n$0.b:B [line 31, column 15]\n n$2=_fun_B_~B(n$0.b:B*) [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$6=_fun_C___infer_inner_destructor_~C(n$0:D*) [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:D*) [line 31, column 15]\n " shape="box"] + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" [label="5: Constructor Init \n n$6=*&this:E* [line 35, column 3]\n n$7=_fun_B_B(n$6:E*) [line 35, column 3]\n " shape="box"] - "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_3" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_2" ; -"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" [label="4: Destruction \n _=*&a:A [line 31, column 15]\n n$9=_fun_A_~A(&a:A*) [line 31, column 15]\n " shape="box"] + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" [label="6: Constructor Init \n n$8=*&this:E* [line 35, column 3]\n n$9=_fun_A_A(n$8:E*) [line 35, column 3]\n " shape="box"] - "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_3" ; -"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" [label="5: DeclStmt \n n$11=_fun_A_A(&a:A*) [line 31, column 12]\n " shape="box"] + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" [label="7: Constructor Init \n n$10=*&this:E* [line 35, column 7]\n n$11=_fun_T_T(n$10:E*) [line 35, column 3]\n " shape="box"] - "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" ; + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" ; "__infer_inner_destructor_~E#E#(2987579715549688623).0c2beae2fa1834341749df3ec1f5ac22_1" [label="1: Start E___infer_inner_destructor_~E\nFormals: this:E*\nLocals: \n DECLARE_LOCALS(&return); [line 36, column 3]\n " color=yellow style=filled] @@ -168,90 +178,80 @@ digraph cfg { "__infer_inner_destructor_~E#E#(2987579715549688623).0c2beae2fa1834341749df3ec1f5ac22_3" -> "__infer_inner_destructor_~E#E#(2987579715549688623).0c2beae2fa1834341749df3ec1f5ac22_2" ; -"__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_1" [label="1: Start F___infer_inner_destructor_~F\nFormals: this:F*\nLocals: \n DECLARE_LOCALS(&return); [line 41, column 3]\n " color=yellow style=filled] - - - "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_1" -> "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_3" ; -"__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_2" [label="2: Exit F___infer_inner_destructor_~F \n " color=yellow style=filled] - - -"__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_3" [label="3: Destruction \n n$0=*&this:F* [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$4=_fun_D___infer_inner_destructor_~D(n$0:F*) [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$2=_fun_B___infer_inner_destructor_~B(n$0:F*) [line 41, column 8]\n " shape="box"] - - - "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_3" -> "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_2" ; -"__infer_inner_destructor_~T#T#(198129514833990712).6f8f8037f60d385be9f35cbd1252e677_1" [label="1: Start T___infer_inner_destructor_~T\nFormals: this:T*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] +"~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_1" [label="1: Start E_~E\nFormals: this:E*\nLocals: \n DECLARE_LOCALS(&return); [line 36, column 3]\n " color=yellow style=filled] - "__infer_inner_destructor_~T#T#(198129514833990712).6f8f8037f60d385be9f35cbd1252e677_1" -> "__infer_inner_destructor_~T#T#(198129514833990712).6f8f8037f60d385be9f35cbd1252e677_2" ; -"__infer_inner_destructor_~T#T#(198129514833990712).6f8f8037f60d385be9f35cbd1252e677_2" [label="2: Exit T___infer_inner_destructor_~T \n " color=yellow style=filled] + "~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_1" -> "~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_3" ; +"~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_2" [label="2: Exit E_~E \n " color=yellow style=filled] -"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_1" [label="1: Start A_~A\nFormals: this:A*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 3]\n " color=yellow style=filled] +"~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_3" [label="3: Destruction \n n$0=*&this:E* [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$6=_fun_E___infer_inner_destructor_~E(n$0:E*) [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:E*) [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:E*) [line 36, column 8]\n " shape="box"] - "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_1" -> "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" ; -"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" [label="2: Exit A_~A \n " color=yellow style=filled] + "~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_3" -> "~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_2" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_1" [label="1: Start F_F\nFormals: this:F*\nLocals: \n DECLARE_LOCALS(&return); [line 40, column 3]\n " color=yellow style=filled] -"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" [label="3: Destruction \n n$0=*&this:A* [line 15, column 8]\n _=*n$0:A [line 15, column 8]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:A*) [line 15, column 8]\n _=*n$0:A [line 15, column 8]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:A*) [line 15, column 8]\n " shape="box"] + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_1" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_2" [label="2: Exit F_F \n " color=yellow style=filled] - "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" -> "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" ; -"~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_1" [label="1: Start B_~B\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 20, column 3]\n " color=yellow style=filled] +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" [label="3: Constructor Init \n n$2=*&this:F* [line 40, column 3]\n n$3=_fun_D_D(n$2:F*) [line 40, column 3]\n " shape="box"] - "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_1" -> "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" ; -"~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_2" [label="2: Exit B_~B \n " color=yellow style=filled] + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_2" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" [label="4: Constructor Init \n n$4=*&this:F* [line 40, column 3]\n n$5=_fun_B_B(n$4:F*) [line 40, column 3]\n " shape="box"] -"~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" [label="3: Destruction \n n$0=*&this:B* [line 20, column 8]\n _=*n$0:B [line 20, column 8]\n n$6=_fun_B___infer_inner_destructor_~B(n$0:B*) [line 20, column 8]\n _=*n$0:B [line 20, column 8]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:B*) [line 20, column 8]\n _=*n$0:B [line 20, column 8]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:B*) [line 20, column 8]\n " shape="box"] + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" [label="5: Constructor Init \n n$6=*&this:F* [line 40, column 3]\n n$7=_fun_C_C(n$6:F*) [line 40, column 3]\n " shape="box"] - "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" -> "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_2" ; -"~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_1" [label="1: Start C_~C\nFormals: this:C*\nLocals: \n DECLARE_LOCALS(&return); [line 25, column 3]\n " color=yellow style=filled] + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" [label="6: Constructor Init \n n$8=*&this:F* [line 40, column 3]\n n$9=_fun_A_A(n$8:F*) [line 40, column 3]\n " shape="box"] - "~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_1" -> "~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_3" ; -"~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_2" [label="2: Exit C_~C \n " color=yellow style=filled] + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" [label="7: Constructor Init \n n$10=*&this:F* [line 40, column 7]\n n$11=_fun_T_T(n$10:F*) [line 40, column 3]\n " shape="box"] -"~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_3" [label="3: Destruction \n n$0=*&this:C* [line 25, column 8]\n _=*n$0:C [line 25, column 8]\n n$2=_fun_C___infer_inner_destructor_~C(n$0:C*) [line 25, column 8]\n " shape="box"] + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" ; +"__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_1" [label="1: Start F___infer_inner_destructor_~F\nFormals: this:F*\nLocals: \n DECLARE_LOCALS(&return); [line 41, column 3]\n " color=yellow style=filled] - "~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_3" -> "~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_2" ; -"~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_1" [label="1: Start D_~D\nFormals: this:D*\nLocals: \n DECLARE_LOCALS(&return); [line 31, column 3]\n " color=yellow style=filled] + "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_1" -> "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_3" ; +"__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_2" [label="2: Exit F___infer_inner_destructor_~F \n " color=yellow style=filled] - "~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_1" -> "~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_3" ; -"~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_2" [label="2: Exit D_~D \n " color=yellow style=filled] +"__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_3" [label="3: Destruction \n n$0=*&this:F* [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$4=_fun_D___infer_inner_destructor_~D(n$0:F*) [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$2=_fun_B___infer_inner_destructor_~B(n$0:F*) [line 41, column 8]\n " shape="box"] -"~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_3" [label="3: Destruction \n n$0=*&this:D* [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$4=_fun_D___infer_inner_destructor_~D(n$0:D*) [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:D*) [line 31, column 15]\n " shape="box"] + "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_3" -> "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_2" ; +"~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_1" [label="1: Start F_~F\nFormals: this:F*\nLocals: \n DECLARE_LOCALS(&return); [line 41, column 3]\n " color=yellow style=filled] - "~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_3" -> "~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_2" ; -"~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_1" [label="1: Start E_~E\nFormals: this:E*\nLocals: \n DECLARE_LOCALS(&return); [line 36, column 3]\n " color=yellow style=filled] + "~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_1" -> "~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_3" ; +"~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_2" [label="2: Exit F_~F \n " color=yellow style=filled] - "~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_1" -> "~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_3" ; -"~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_2" [label="2: Exit E_~E \n " color=yellow style=filled] +"~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_3" [label="3: Destruction \n n$0=*&this:F* [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$8=_fun_F___infer_inner_destructor_~F(n$0:F*) [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$6=_fun_C___infer_inner_destructor_~C(n$0:F*) [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:F*) [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:F*) [line 41, column 8]\n " shape="box"] -"~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_3" [label="3: Destruction \n n$0=*&this:E* [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$6=_fun_E___infer_inner_destructor_~E(n$0:E*) [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:E*) [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:E*) [line 36, column 8]\n " shape="box"] + "~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_3" -> "~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_2" ; +"T#T#{15422546710357390924}.2e459864a844310ea5ab719ea4768a72_1" [label="1: Start T_T\nFormals: this:T*\nLocals: \n DECLARE_LOCALS(&return); [line 9, column 3]\n " color=yellow style=filled] - "~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_3" -> "~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_2" ; -"~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_1" [label="1: Start F_~F\nFormals: this:F*\nLocals: \n DECLARE_LOCALS(&return); [line 41, column 3]\n " color=yellow style=filled] + "T#T#{15422546710357390924}.2e459864a844310ea5ab719ea4768a72_1" -> "T#T#{15422546710357390924}.2e459864a844310ea5ab719ea4768a72_2" ; +"T#T#{15422546710357390924}.2e459864a844310ea5ab719ea4768a72_2" [label="2: Exit T_T \n " color=yellow style=filled] - "~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_1" -> "~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_3" ; -"~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_2" [label="2: Exit F_~F \n " color=yellow style=filled] +"__infer_inner_destructor_~T#T#(198129514833990712).6f8f8037f60d385be9f35cbd1252e677_1" [label="1: Start T___infer_inner_destructor_~T\nFormals: this:T*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] -"~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_3" [label="3: Destruction \n n$0=*&this:F* [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$8=_fun_F___infer_inner_destructor_~F(n$0:F*) [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$6=_fun_C___infer_inner_destructor_~C(n$0:F*) [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$4=_fun_A___infer_inner_destructor_~A(n$0:F*) [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$2=_fun_T___infer_inner_destructor_~T(n$0:F*) [line 41, column 8]\n " shape="box"] + "__infer_inner_destructor_~T#T#(198129514833990712).6f8f8037f60d385be9f35cbd1252e677_1" -> "__infer_inner_destructor_~T#T#(198129514833990712).6f8f8037f60d385be9f35cbd1252e677_2" ; +"__infer_inner_destructor_~T#T#(198129514833990712).6f8f8037f60d385be9f35cbd1252e677_2" [label="2: Exit T___infer_inner_destructor_~T \n " color=yellow style=filled] - "~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_3" -> "~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_2" ; "~T#T#(198129514833990712).9a1fb2f2d427aff6059a6de0c57b5949_1" [label="1: Start T_~T\nFormals: this:T*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot index caa4880e4..83a1f466e 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot @@ -181,52 +181,28 @@ digraph cfg { "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_3" -> "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_2" ; -"X#X#destructor_scope#{2603426817540977396|constexpr}.fb840cb7c96da056d7b59829caa7231d_1" [label="1: Start destructor_scope::X_X\nFormals: this:destructor_scope::X* __param_0:destructor_scope::X const &\nLocals: \n DECLARE_LOCALS(&return); [line 9, column 8]\n " color=yellow style=filled] - - - "X#X#destructor_scope#{2603426817540977396|constexpr}.fb840cb7c96da056d7b59829caa7231d_1" -> "X#X#destructor_scope#{2603426817540977396|constexpr}.fb840cb7c96da056d7b59829caa7231d_2" ; -"X#X#destructor_scope#{2603426817540977396|constexpr}.fb840cb7c96da056d7b59829caa7231d_2" [label="2: Exit destructor_scope::X_X \n " color=yellow style=filled] - - -"X#X#destructor_scope#{8756367833784077567|constexpr}.fe7f9d502bc5b73ec7451a152e49956f_1" [label="1: Start destructor_scope::X_X\nFormals: this:destructor_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 9, column 8]\n " color=yellow style=filled] - - - "X#X#destructor_scope#{8756367833784077567|constexpr}.fe7f9d502bc5b73ec7451a152e49956f_1" -> "X#X#destructor_scope#{8756367833784077567|constexpr}.fe7f9d502bc5b73ec7451a152e49956f_2" ; -"X#X#destructor_scope#{8756367833784077567|constexpr}.fe7f9d502bc5b73ec7451a152e49956f_2" [label="2: Exit destructor_scope::X_X \n " color=yellow style=filled] - - -"Y#Y#destructor_scope#{15345452000440546376|constexpr}.7b3401cb4ba53beb88d6ca2de7e20249_1" [label="1: Start destructor_scope::Y_Y\nFormals: this:destructor_scope::Y*\nLocals: \n DECLARE_LOCALS(&return); [line 13, column 8]\n " color=yellow style=filled] - - - "Y#Y#destructor_scope#{15345452000440546376|constexpr}.7b3401cb4ba53beb88d6ca2de7e20249_1" -> "Y#Y#destructor_scope#{15345452000440546376|constexpr}.7b3401cb4ba53beb88d6ca2de7e20249_2" ; -"Y#Y#destructor_scope#{15345452000440546376|constexpr}.7b3401cb4ba53beb88d6ca2de7e20249_2" [label="2: Exit destructor_scope::Y_Y \n " color=yellow style=filled] - - -"Z#Z#destructor_scope#{18164697736739450765|constexpr}.d06f6f2e94b3e6404a0952bf77a2514e_1" [label="1: Start destructor_scope::Z_Z\nFormals: this:destructor_scope::Z*\nLocals: \n DECLARE_LOCALS(&return); [line 17, column 8]\n " color=yellow style=filled] - - - "Z#Z#destructor_scope#{18164697736739450765|constexpr}.d06f6f2e94b3e6404a0952bf77a2514e_1" -> "Z#Z#destructor_scope#{18164697736739450765|constexpr}.d06f6f2e94b3e6404a0952bf77a2514e_2" ; -"Z#Z#destructor_scope#{18164697736739450765|constexpr}.d06f6f2e94b3e6404a0952bf77a2514e_2" [label="2: Exit destructor_scope::Z_Z \n " color=yellow style=filled] +"__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_1" [label="1: Start destructor_scope::S___infer_inner_destructor_~S\nFormals: this:destructor_scope::S*\nLocals: \n DECLARE_LOCALS(&return); [line 19, column 8]\n " color=yellow style=filled] -"Z#Z#destructor_scope#{8043287043140791634|constexpr}.7d5fabaed2fb79e3cac825824cb16f47_1" [label="1: Start destructor_scope::Z_Z\nFormals: this:destructor_scope::Z* __param_0:destructor_scope::Z&\nLocals: \n DECLARE_LOCALS(&return); [line 17, column 8]\n " color=yellow style=filled] + "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_1" -> "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_3" ; +"__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_2" [label="2: Exit destructor_scope::S___infer_inner_destructor_~S \n " color=yellow style=filled] - "Z#Z#destructor_scope#{8043287043140791634|constexpr}.7d5fabaed2fb79e3cac825824cb16f47_1" -> "Z#Z#destructor_scope#{8043287043140791634|constexpr}.7d5fabaed2fb79e3cac825824cb16f47_2" ; -"Z#Z#destructor_scope#{8043287043140791634|constexpr}.7d5fabaed2fb79e3cac825824cb16f47_2" [label="2: Exit destructor_scope::Z_Z \n " color=yellow style=filled] +"__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_3" [label="3: Destruction \n n$0=*&this:destructor_scope::S* [line 19, column 8]\n _=*n$0.x1:destructor_scope::X [line 19, column 8]\n n$2=_fun_destructor_scope::X_~X(n$0.x1:destructor_scope::X*) [line 19, column 8]\n " shape="box"] -"__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_1" [label="1: Start destructor_scope::S___infer_inner_destructor_~S\nFormals: this:destructor_scope::S*\nLocals: \n DECLARE_LOCALS(&return); [line 19, column 8]\n " color=yellow style=filled] + "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_3" -> "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_2" ; +"~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_1" [label="1: Start destructor_scope::S_~S\nFormals: this:destructor_scope::S*\nLocals: \n DECLARE_LOCALS(&return); [line 19, column 8]\n " color=yellow style=filled] - "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_1" -> "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_3" ; -"__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_2" [label="2: Exit destructor_scope::S___infer_inner_destructor_~S \n " color=yellow style=filled] + "~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_1" -> "~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_3" ; +"~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_2" [label="2: Exit destructor_scope::S_~S \n " color=yellow style=filled] -"__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_3" [label="3: Destruction \n n$0=*&this:destructor_scope::S* [line 19, column 8]\n _=*n$0.x1:destructor_scope::X [line 19, column 8]\n n$2=_fun_destructor_scope::X_~X(n$0.x1:destructor_scope::X*) [line 19, column 8]\n " shape="box"] +"~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_3" [label="3: Destruction \n n$0=*&this:destructor_scope::S* [line 19, column 8]\n _=*n$0:destructor_scope::S [line 19, column 8]\n n$2=_fun_destructor_scope::S___infer_inner_destructor_~S(n$0:destructor_scope::S*) [line 19, column 8]\n " shape="box"] - "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_3" -> "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_2" ; + "~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_3" -> "~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_2" ; "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_1" [label="1: Start destructor_scope::W___infer_inner_destructor_~W\nFormals: this:destructor_scope::W*\nLocals: y:destructor_scope::Y x:destructor_scope::X \n DECLARE_LOCALS(&return,&y,&x); [line 29, column 3]\n " color=yellow style=filled] @@ -267,42 +243,38 @@ digraph cfg { "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_10" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_7" ; "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_10" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_8" ; -"__infer_inner_destructor_~X#X#destructor_scope#(17752465063768331075).9ca577a457cb5911ce3106f5186a6435_1" [label="1: Start destructor_scope::X___infer_inner_destructor_~X\nFormals: this:destructor_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] - - - "__infer_inner_destructor_~X#X#destructor_scope#(17752465063768331075).9ca577a457cb5911ce3106f5186a6435_1" -> "__infer_inner_destructor_~X#X#destructor_scope#(17752465063768331075).9ca577a457cb5911ce3106f5186a6435_2" ; -"__infer_inner_destructor_~X#X#destructor_scope#(17752465063768331075).9ca577a457cb5911ce3106f5186a6435_2" [label="2: Exit destructor_scope::X___infer_inner_destructor_~X \n " color=yellow style=filled] +"~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_1" [label="1: Start destructor_scope::W_~W\nFormals: this:destructor_scope::W*\nLocals: \n DECLARE_LOCALS(&return); [line 29, column 3]\n " color=yellow style=filled] -"__infer_inner_destructor_~Y#Y#destructor_scope#(1552422738585060844).721fb5af17f63315cc8e6bdcce2453e5_1" [label="1: Start destructor_scope::Y___infer_inner_destructor_~Y\nFormals: this:destructor_scope::Y*\nLocals: \n DECLARE_LOCALS(&return); [line 14, column 3]\n " color=yellow style=filled] + "~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_1" -> "~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_3" ; +"~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_2" [label="2: Exit destructor_scope::W_~W \n " color=yellow style=filled] - "__infer_inner_destructor_~Y#Y#destructor_scope#(1552422738585060844).721fb5af17f63315cc8e6bdcce2453e5_1" -> "__infer_inner_destructor_~Y#Y#destructor_scope#(1552422738585060844).721fb5af17f63315cc8e6bdcce2453e5_2" ; -"__infer_inner_destructor_~Y#Y#destructor_scope#(1552422738585060844).721fb5af17f63315cc8e6bdcce2453e5_2" [label="2: Exit destructor_scope::Y___infer_inner_destructor_~Y \n " color=yellow style=filled] +"~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_3" [label="3: Destruction \n n$0=*&this:destructor_scope::W* [line 34, column 3]\n _=*n$0:destructor_scope::W [line 34, column 3]\n n$2=_fun_destructor_scope::W___infer_inner_destructor_~W(n$0:destructor_scope::W*) [line 34, column 3]\n " shape="box"] -"~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_1" [label="1: Start destructor_scope::S_~S\nFormals: this:destructor_scope::S*\nLocals: \n DECLARE_LOCALS(&return); [line 19, column 8]\n " color=yellow style=filled] + "~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_3" -> "~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_2" ; +"X#X#destructor_scope#{2603426817540977396|constexpr}.fb840cb7c96da056d7b59829caa7231d_1" [label="1: Start destructor_scope::X_X\nFormals: this:destructor_scope::X* __param_0:destructor_scope::X const &\nLocals: \n DECLARE_LOCALS(&return); [line 9, column 8]\n " color=yellow style=filled] - "~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_1" -> "~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_3" ; -"~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_2" [label="2: Exit destructor_scope::S_~S \n " color=yellow style=filled] + "X#X#destructor_scope#{2603426817540977396|constexpr}.fb840cb7c96da056d7b59829caa7231d_1" -> "X#X#destructor_scope#{2603426817540977396|constexpr}.fb840cb7c96da056d7b59829caa7231d_2" ; +"X#X#destructor_scope#{2603426817540977396|constexpr}.fb840cb7c96da056d7b59829caa7231d_2" [label="2: Exit destructor_scope::X_X \n " color=yellow style=filled] -"~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_3" [label="3: Destruction \n n$0=*&this:destructor_scope::S* [line 19, column 8]\n _=*n$0:destructor_scope::S [line 19, column 8]\n n$2=_fun_destructor_scope::S___infer_inner_destructor_~S(n$0:destructor_scope::S*) [line 19, column 8]\n " shape="box"] +"X#X#destructor_scope#{8756367833784077567|constexpr}.fe7f9d502bc5b73ec7451a152e49956f_1" [label="1: Start destructor_scope::X_X\nFormals: this:destructor_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 9, column 8]\n " color=yellow style=filled] - "~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_3" -> "~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_2" ; -"~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_1" [label="1: Start destructor_scope::W_~W\nFormals: this:destructor_scope::W*\nLocals: \n DECLARE_LOCALS(&return); [line 29, column 3]\n " color=yellow style=filled] + "X#X#destructor_scope#{8756367833784077567|constexpr}.fe7f9d502bc5b73ec7451a152e49956f_1" -> "X#X#destructor_scope#{8756367833784077567|constexpr}.fe7f9d502bc5b73ec7451a152e49956f_2" ; +"X#X#destructor_scope#{8756367833784077567|constexpr}.fe7f9d502bc5b73ec7451a152e49956f_2" [label="2: Exit destructor_scope::X_X \n " color=yellow style=filled] - "~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_1" -> "~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_3" ; -"~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_2" [label="2: Exit destructor_scope::W_~W \n " color=yellow style=filled] +"__infer_inner_destructor_~X#X#destructor_scope#(17752465063768331075).9ca577a457cb5911ce3106f5186a6435_1" [label="1: Start destructor_scope::X___infer_inner_destructor_~X\nFormals: this:destructor_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] -"~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_3" [label="3: Destruction \n n$0=*&this:destructor_scope::W* [line 34, column 3]\n _=*n$0:destructor_scope::W [line 34, column 3]\n n$2=_fun_destructor_scope::W___infer_inner_destructor_~W(n$0:destructor_scope::W*) [line 34, column 3]\n " shape="box"] + "__infer_inner_destructor_~X#X#destructor_scope#(17752465063768331075).9ca577a457cb5911ce3106f5186a6435_1" -> "__infer_inner_destructor_~X#X#destructor_scope#(17752465063768331075).9ca577a457cb5911ce3106f5186a6435_2" ; +"__infer_inner_destructor_~X#X#destructor_scope#(17752465063768331075).9ca577a457cb5911ce3106f5186a6435_2" [label="2: Exit destructor_scope::X___infer_inner_destructor_~X \n " color=yellow style=filled] - "~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_3" -> "~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_2" ; "~X#X#destructor_scope#(17752465063768331075).e9440dc26d00e6a493a0ae5908b3f399_1" [label="1: Start destructor_scope::X_~X\nFormals: this:destructor_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] @@ -314,6 +286,20 @@ digraph cfg { "~X#X#destructor_scope#(17752465063768331075).e9440dc26d00e6a493a0ae5908b3f399_3" -> "~X#X#destructor_scope#(17752465063768331075).e9440dc26d00e6a493a0ae5908b3f399_2" ; +"Y#Y#destructor_scope#{15345452000440546376|constexpr}.7b3401cb4ba53beb88d6ca2de7e20249_1" [label="1: Start destructor_scope::Y_Y\nFormals: this:destructor_scope::Y*\nLocals: \n DECLARE_LOCALS(&return); [line 13, column 8]\n " color=yellow style=filled] + + + "Y#Y#destructor_scope#{15345452000440546376|constexpr}.7b3401cb4ba53beb88d6ca2de7e20249_1" -> "Y#Y#destructor_scope#{15345452000440546376|constexpr}.7b3401cb4ba53beb88d6ca2de7e20249_2" ; +"Y#Y#destructor_scope#{15345452000440546376|constexpr}.7b3401cb4ba53beb88d6ca2de7e20249_2" [label="2: Exit destructor_scope::Y_Y \n " color=yellow style=filled] + + +"__infer_inner_destructor_~Y#Y#destructor_scope#(1552422738585060844).721fb5af17f63315cc8e6bdcce2453e5_1" [label="1: Start destructor_scope::Y___infer_inner_destructor_~Y\nFormals: this:destructor_scope::Y*\nLocals: \n DECLARE_LOCALS(&return); [line 14, column 3]\n " color=yellow style=filled] + + + "__infer_inner_destructor_~Y#Y#destructor_scope#(1552422738585060844).721fb5af17f63315cc8e6bdcce2453e5_1" -> "__infer_inner_destructor_~Y#Y#destructor_scope#(1552422738585060844).721fb5af17f63315cc8e6bdcce2453e5_2" ; +"__infer_inner_destructor_~Y#Y#destructor_scope#(1552422738585060844).721fb5af17f63315cc8e6bdcce2453e5_2" [label="2: Exit destructor_scope::Y___infer_inner_destructor_~Y \n " color=yellow style=filled] + + "~Y#Y#destructor_scope#(1552422738585060844).f631a64648f2fd67ee421a0da2149c2a_1" [label="1: Start destructor_scope::Y_~Y\nFormals: this:destructor_scope::Y*\nLocals: \n DECLARE_LOCALS(&return); [line 14, column 3]\n " color=yellow style=filled] @@ -325,4 +311,18 @@ digraph cfg { "~Y#Y#destructor_scope#(1552422738585060844).f631a64648f2fd67ee421a0da2149c2a_3" -> "~Y#Y#destructor_scope#(1552422738585060844).f631a64648f2fd67ee421a0da2149c2a_2" ; +"Z#Z#destructor_scope#{18164697736739450765|constexpr}.d06f6f2e94b3e6404a0952bf77a2514e_1" [label="1: Start destructor_scope::Z_Z\nFormals: this:destructor_scope::Z*\nLocals: \n DECLARE_LOCALS(&return); [line 17, column 8]\n " color=yellow style=filled] + + + "Z#Z#destructor_scope#{18164697736739450765|constexpr}.d06f6f2e94b3e6404a0952bf77a2514e_1" -> "Z#Z#destructor_scope#{18164697736739450765|constexpr}.d06f6f2e94b3e6404a0952bf77a2514e_2" ; +"Z#Z#destructor_scope#{18164697736739450765|constexpr}.d06f6f2e94b3e6404a0952bf77a2514e_2" [label="2: Exit destructor_scope::Z_Z \n " color=yellow style=filled] + + +"Z#Z#destructor_scope#{8043287043140791634|constexpr}.7d5fabaed2fb79e3cac825824cb16f47_1" [label="1: Start destructor_scope::Z_Z\nFormals: this:destructor_scope::Z* __param_0:destructor_scope::Z&\nLocals: \n DECLARE_LOCALS(&return); [line 17, column 8]\n " color=yellow style=filled] + + + "Z#Z#destructor_scope#{8043287043140791634|constexpr}.7d5fabaed2fb79e3cac825824cb16f47_1" -> "Z#Z#destructor_scope#{8043287043140791634|constexpr}.7d5fabaed2fb79e3cac825824cb16f47_2" ; +"Z#Z#destructor_scope#{8043287043140791634|constexpr}.7d5fabaed2fb79e3cac825824cb16f47_2" [label="2: Exit destructor_scope::Z_Z \n " color=yellow style=filled] + + } diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/simple_decl.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/simple_decl.cpp.dot index 1dcdd1c1f..663aba501 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/simple_decl.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/simple_decl.cpp.dot @@ -11,28 +11,28 @@ digraph cfg { "__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_3" -> "__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_2" ; -"__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_1" [label="1: Start B___infer_inner_destructor_~B\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 18, column 1]\n " color=yellow style=filled] +"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_1" [label="1: Start A_~A\nFormals: this:A*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] - "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_1" -> "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_3" ; -"__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_2" [label="2: Exit B___infer_inner_destructor_~B \n " color=yellow style=filled] + "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_1" -> "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" ; +"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" [label="2: Exit A_~A \n " color=yellow style=filled] -"__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_3" [label="3: BinaryOperatorStmt: Assign \n n$3=*&this:B* [line 18, column 11]\n *n$3.f:int=1 [line 18, column 11]\n " shape="box"] +"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" [label="3: Destruction \n n$0=*&this:A* [line 10, column 17]\n _=*n$0:A [line 10, column 17]\n n$2=_fun_A___infer_inner_destructor_~A(n$0:A*) [line 10, column 17]\n " shape="box"] - "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_3" -> "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_2" ; -"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_1" [label="1: Start A_~A\nFormals: this:A*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] + "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" -> "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" ; +"__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_1" [label="1: Start B___infer_inner_destructor_~B\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 18, column 1]\n " color=yellow style=filled] - "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_1" -> "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" ; -"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" [label="2: Exit A_~A \n " color=yellow style=filled] + "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_1" -> "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_3" ; +"__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_2" [label="2: Exit B___infer_inner_destructor_~B \n " color=yellow style=filled] -"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" [label="3: Destruction \n n$0=*&this:A* [line 10, column 17]\n _=*n$0:A [line 10, column 17]\n n$2=_fun_A___infer_inner_destructor_~A(n$0:A*) [line 10, column 17]\n " shape="box"] +"__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_3" [label="3: BinaryOperatorStmt: Assign \n n$3=*&this:B* [line 18, column 11]\n *n$3.f:int=1 [line 18, column 11]\n " shape="box"] - "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" -> "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" ; + "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_3" -> "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_2" ; "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_1" [label="1: Start B_~B\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 18, column 1]\n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot index f62382b01..3890e549d 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot @@ -74,20 +74,6 @@ digraph cfg { "div0_templ_int#6723189882400805523.156da066b41947aa58ec7afb9551dc47_3" -> "div0_templ_int#6723189882400805523.156da066b41947aa58ec7afb9551dc47_2" ; -"B#B#{17682530858649742785|constexpr}.578f27c1234efbc7eadc69dc4ca9042c_1" [label="1: Start B_B\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 13, column 8]\n " color=yellow style=filled] - - - "B#B#{17682530858649742785|constexpr}.578f27c1234efbc7eadc69dc4ca9042c_1" -> "B#B#{17682530858649742785|constexpr}.578f27c1234efbc7eadc69dc4ca9042c_2" ; -"B#B#{17682530858649742785|constexpr}.578f27c1234efbc7eadc69dc4ca9042c_2" [label="2: Exit B_B \n " color=yellow style=filled] - - -"B#B#{9925592449220811998|constexpr}.262c24bdb23f603bce26438cb30cea71_1" [label="1: Start B_B\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 13, column 8]\n " color=yellow style=filled] - - - "B#B#{9925592449220811998|constexpr}.262c24bdb23f603bce26438cb30cea71_1" -> "B#B#{9925592449220811998|constexpr}.262c24bdb23f603bce26438cb30cea71_2" ; -"B#B#{9925592449220811998|constexpr}.262c24bdb23f603bce26438cb30cea71_2" [label="2: Exit B_B \n " color=yellow style=filled] - - "div0#B#(9546261644456360892).132a3992ba75c40ad8966e1504521d7d_1" [label="1: Start B_div0\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 14, column 3]\n " color=yellow style=filled] @@ -99,6 +85,13 @@ digraph cfg { "div0#B#(9546261644456360892).132a3992ba75c40ad8966e1504521d7d_3" -> "div0#B#(9546261644456360892).132a3992ba75c40ad8966e1504521d7d_2" ; +"B#B#{17682530858649742785|constexpr}.578f27c1234efbc7eadc69dc4ca9042c_1" [label="1: Start B_B\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 13, column 8]\n " color=yellow style=filled] + + + "B#B#{17682530858649742785|constexpr}.578f27c1234efbc7eadc69dc4ca9042c_1" -> "B#B#{17682530858649742785|constexpr}.578f27c1234efbc7eadc69dc4ca9042c_2" ; +"B#B#{17682530858649742785|constexpr}.578f27c1234efbc7eadc69dc4ca9042c_2" [label="2: Exit B_B \n " color=yellow style=filled] + + "div0#B#(10848361513712066289).6e41f7aae5452f098d414bfe7ad8cf85_1" [label="1: Start B_div0\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 14, column 3]\n " color=yellow style=filled] @@ -110,4 +103,11 @@ digraph cfg { "div0#B#(10848361513712066289).6e41f7aae5452f098d414bfe7ad8cf85_3" -> "div0#B#(10848361513712066289).6e41f7aae5452f098d414bfe7ad8cf85_2" ; +"B#B#{9925592449220811998|constexpr}.262c24bdb23f603bce26438cb30cea71_1" [label="1: Start B_B\nFormals: this:B*\nLocals: \n DECLARE_LOCALS(&return); [line 13, column 8]\n " color=yellow style=filled] + + + "B#B#{9925592449220811998|constexpr}.262c24bdb23f603bce26438cb30cea71_1" -> "B#B#{9925592449220811998|constexpr}.262c24bdb23f603bce26438cb30cea71_2" ; +"B#B#{9925592449220811998|constexpr}.262c24bdb23f603bce26438cb30cea71_2" [label="2: Exit B_B \n " color=yellow style=filled] + + } diff --git a/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot index c15bdcc4f..87ab7da5f 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot @@ -11,6 +11,13 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; +"foo#A#(11285596688767843576).de1b7dc3a8a24aa7cc49648c6a039113_1" [label="1: Start A_foo\nFormals: this:A*\nLocals: \n DECLARE_LOCALS(&return); [line 9, column 3]\n " color=yellow style=filled] + + + "foo#A#(11285596688767843576).de1b7dc3a8a24aa7cc49648c6a039113_1" -> "foo#A#(11285596688767843576).de1b7dc3a8a24aa7cc49648c6a039113_2" ; +"foo#A#(11285596688767843576).de1b7dc3a8a24aa7cc49648c6a039113_2" [label="2: Exit A_foo \n " color=yellow style=filled] + + "A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_1" [label="1: Start A_A\nFormals: this:A* __param_0:int\nLocals: \n DECLARE_LOCALS(&return); [line 8, column 3]\n " color=yellow style=filled] @@ -29,11 +36,4 @@ digraph cfg { "A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_3" -> "A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_2" ; -"foo#A#(11285596688767843576).de1b7dc3a8a24aa7cc49648c6a039113_1" [label="1: Start A_foo\nFormals: this:A*\nLocals: \n DECLARE_LOCALS(&return); [line 9, column 3]\n " color=yellow style=filled] - - - "foo#A#(11285596688767843576).de1b7dc3a8a24aa7cc49648c6a039113_1" -> "foo#A#(11285596688767843576).de1b7dc3a8a24aa7cc49648c6a039113_2" ; -"foo#A#(11285596688767843576).de1b7dc3a8a24aa7cc49648c6a039113_2" [label="2: Exit A_foo \n " color=yellow style=filled] - - } diff --git a/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot index c33af3773..9a220f7b3 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot @@ -88,6 +88,13 @@ digraph cfg { "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_5" -> "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_4" ; +"f#C#init_list#(17813515084368904036).f077ed1f0db2e84c012845f48373d63b_1" [label="1: Start init_list::C_f\nFormals: this:init_list::C*\nLocals: \n DECLARE_LOCALS(&return); [line 20, column 3]\n " color=yellow style=filled] + + + "f#C#init_list#(17813515084368904036).f077ed1f0db2e84c012845f48373d63b_1" -> "f#C#init_list#(17813515084368904036).f077ed1f0db2e84c012845f48373d63b_2" ; +"f#C#init_list#(17813515084368904036).f077ed1f0db2e84c012845f48373d63b_2" [label="2: Exit init_list::C_f \n " color=yellow style=filled] + + "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_1" [label="1: Start init_list::C_C\nFormals: this:init_list::C* a:int b:int x:init_list::X const &\nLocals: \n DECLARE_LOCALS(&return); [line 22, column 3]\n " color=yellow style=filled] @@ -162,11 +169,4 @@ digraph cfg { "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_3" -> "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_2" ; -"f#C#init_list#(17813515084368904036).f077ed1f0db2e84c012845f48373d63b_1" [label="1: Start init_list::C_f\nFormals: this:init_list::C*\nLocals: \n DECLARE_LOCALS(&return); [line 20, column 3]\n " color=yellow style=filled] - - - "f#C#init_list#(17813515084368904036).f077ed1f0db2e84c012845f48373d63b_1" -> "f#C#init_list#(17813515084368904036).f077ed1f0db2e84c012845f48373d63b_2" ; -"f#C#init_list#(17813515084368904036).f077ed1f0db2e84c012845f48373d63b_2" [label="2: Exit init_list::C_f \n " color=yellow style=filled] - - } diff --git a/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot index a5a185030..9c9dad95c 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot @@ -88,28 +88,32 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_13" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_12" ; -"begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_1" [label="1: Start vec_begin\nFormals: this:vec* __return_param:iterator*\nLocals: \n DECLARE_LOCALS(&return); [line 26, column 3]\n " color=yellow style=filled] +"operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_1" [label="1: Start iterator_operator++\nFormals: this:iterator* __return_param:iterator*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 3]\n " color=yellow style=filled] - "begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_1" -> "begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_3" ; -"begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_2" [label="2: Exit vec_begin \n " color=yellow style=filled] + "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_1" -> "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_4" ; +"operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_2" [label="2: Exit iterator_operator++ \n " color=yellow style=filled] -"begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 26, column 22]\n n$1=*&this:vec* [line 26, column 29]\n n$2=_fun_iterator_iterator(n$0:iterator*,n$1.begin_:iterator&) [line 26, column 29]\n " shape="box"] +"operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 13, column 5]\n n$1=*&this:iterator* [line 13, column 13]\n n$2=_fun_iterator_iterator(n$0:iterator*,n$1:iterator&) [line 13, column 12]\n " shape="box"] - "begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_3" -> "begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_2" ; -"end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_1" [label="1: Start vec_end\nFormals: this:vec* __return_param:iterator*\nLocals: \n DECLARE_LOCALS(&return); [line 27, column 3]\n " color=yellow style=filled] + "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_3" -> "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_2" ; +"operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_4" [label="4: BinaryOperatorStmt: AddAssign \n n$4=*&this:iterator* [line 12, column 5]\n n$5=*n$4.val:int [line 12, column 5]\n *n$4.val:int=(n$5 + 1) [line 12, column 5]\n " shape="box"] - "end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_1" -> "end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_3" ; -"end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_2" [label="2: Exit vec_end \n " color=yellow style=filled] + "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_4" -> "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_3" ; +"operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_1" [label="1: Start iterator_operator*\nFormals: this:iterator*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 3]\n " color=yellow style=filled] -"end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 27, column 20]\n n$1=*&this:vec* [line 27, column 27]\n n$2=_fun_iterator_iterator(n$0:iterator*,n$1.end_:iterator&) [line 27, column 27]\n " shape="box"] + "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_1" -> "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_3" ; +"operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_2" [label="2: Exit iterator_operator* \n " color=yellow style=filled] - "end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_3" -> "end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_2" ; +"operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_3" [label="3: Return Stmt \n n$0=*&this:iterator* [line 16, column 12]\n n$1=*n$0.val:int [line 16, column 12]\n *&return:int=n$1 [line 16, column 5]\n " shape="box"] + + + "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_3" -> "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_2" ; "iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_1" [label="1: Start iterator_iterator\nFormals: this:iterator* __param_0:iterator const &\nLocals: \n DECLARE_LOCALS(&return); [line 9, column 8]\n " color=yellow style=filled] @@ -139,32 +143,28 @@ digraph cfg { "iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_3" -> "iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_2" ; -"operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_1" [label="1: Start iterator_operator*\nFormals: this:iterator*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 3]\n " color=yellow style=filled] - - - "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_1" -> "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_3" ; -"operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_2" [label="2: Exit iterator_operator* \n " color=yellow style=filled] +"end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_1" [label="1: Start vec_end\nFormals: this:vec* __return_param:iterator*\nLocals: \n DECLARE_LOCALS(&return); [line 27, column 3]\n " color=yellow style=filled] -"operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_3" [label="3: Return Stmt \n n$0=*&this:iterator* [line 16, column 12]\n n$1=*n$0.val:int [line 16, column 12]\n *&return:int=n$1 [line 16, column 5]\n " shape="box"] + "end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_1" -> "end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_3" ; +"end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_2" [label="2: Exit vec_end \n " color=yellow style=filled] - "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_3" -> "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_2" ; -"operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_1" [label="1: Start iterator_operator++\nFormals: this:iterator* __return_param:iterator*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 3]\n " color=yellow style=filled] +"end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 27, column 20]\n n$1=*&this:vec* [line 27, column 27]\n n$2=_fun_iterator_iterator(n$0:iterator*,n$1.end_:iterator&) [line 27, column 27]\n " shape="box"] - "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_1" -> "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_4" ; -"operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_2" [label="2: Exit iterator_operator++ \n " color=yellow style=filled] + "end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_3" -> "end#vec#(14240882620331653738).9e08a46e9d5bcb3339794674882c80a3_2" ; +"begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_1" [label="1: Start vec_begin\nFormals: this:vec* __return_param:iterator*\nLocals: \n DECLARE_LOCALS(&return); [line 26, column 3]\n " color=yellow style=filled] -"operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 13, column 5]\n n$1=*&this:iterator* [line 13, column 13]\n n$2=_fun_iterator_iterator(n$0:iterator*,n$1:iterator&) [line 13, column 12]\n " shape="box"] + "begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_1" -> "begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_3" ; +"begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_2" [label="2: Exit vec_begin \n " color=yellow style=filled] - "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_3" -> "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_2" ; -"operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_4" [label="4: BinaryOperatorStmt: AddAssign \n n$4=*&this:iterator* [line 12, column 5]\n n$5=*n$4.val:int [line 12, column 5]\n *n$4.val:int=(n$5 + 1) [line 12, column 5]\n " shape="box"] +"begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 26, column 22]\n n$1=*&this:vec* [line 26, column 29]\n n$2=_fun_iterator_iterator(n$0:iterator*,n$1.begin_:iterator&) [line 26, column 29]\n " shape="box"] - "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_4" -> "operator++#iterator#(14034081864165661659).8f8d47641e87add0a7463df1d1fa7b15_3" ; + "begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_3" -> "begin#vec#(1866137161906470488).7bca21f38283b3487a15399a2f8cb73c_2" ; "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_1" [label="1: Start vec_vec\nFormals: this:vec* size:int\nLocals: \n DECLARE_LOCALS(&return); [line 22, column 3]\n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot index 3c2ff4b9a..f9407b493 100644 --- a/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot @@ -298,17 +298,6 @@ digraph cfg { "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" ; -"TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_1" [label="1: Start TranslateAsPtr_TranslateAsPtr\nFormals: this:int** t:int*\nLocals: \n DECLARE_LOCALS(&return); [line 74, column 3]\n " color=yellow style=filled] - - - "TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_1" -> "TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_3" ; -"TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_2" [label="2: Exit TranslateAsPtr_TranslateAsPtr \n " color=yellow style=filled] - - -"TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_3" [label="3: Call _fun_TranslateAsPtr_setPtr \n n$1=*&this:int** [line 74, column 36]\n _=*n$1:int* [line 74, column 36]\n n$3=*&t:int* [line 74, column 43]\n n$4=_fun_TranslateAsPtr_setPtr(n$1:int**,n$3:int*) [line 74, column 36]\n " shape="box"] - - - "TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_3" -> "TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_2" ; "getPtr#TranslateAsPtr#(11398425810130716395).657b6b87ee3e6dc84e17d734bcfc55b1_1" [label="1: Start TranslateAsPtr_getPtr\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 76, column 3]\n " color=yellow style=filled] @@ -316,13 +305,17 @@ digraph cfg { "getPtr#TranslateAsPtr#(11398425810130716395).657b6b87ee3e6dc84e17d734bcfc55b1_2" [label="2: Exit TranslateAsPtr_getPtr \n " color=yellow style=filled] -"getPtr#TranslateAsPtr#(5108725798531153105).ddae4f977672452bac54a30a4533059d_1" [label="1: Start TranslateAsPtr_getPtr\nFormals: this:int** a:int b:int\nLocals: \n DECLARE_LOCALS(&return); [line 77, column 3]\n " color=yellow style=filled] +"setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_1" [label="1: Start TranslateAsPtr_setPtr\nFormals: this:int** v:int*\nLocals: \n DECLARE_LOCALS(&return); [line 84, column 3]\n " color=yellow style=filled] - "getPtr#TranslateAsPtr#(5108725798531153105).ddae4f977672452bac54a30a4533059d_1" -> "getPtr#TranslateAsPtr#(5108725798531153105).ddae4f977672452bac54a30a4533059d_2" ; -"getPtr#TranslateAsPtr#(5108725798531153105).ddae4f977672452bac54a30a4533059d_2" [label="2: Exit TranslateAsPtr_getPtr \n " color=yellow style=filled] + "setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_1" -> "setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_3" ; +"setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_2" [label="2: Exit TranslateAsPtr_setPtr \n " color=yellow style=filled] + + +"setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&this:int** [line 84, column 34]\n n$2=*&v:int* [line 84, column 43]\n *n$1:void*=n$2 [line 84, column 23]\n " shape="box"] + "setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_3" -> "setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_2" ; "getRef#TranslateAsPtr#(12157952070639259276).02c97edc35db5f793a7a4d1e6c16b00b_1" [label="1: Start TranslateAsPtr_getRef\nFormals: this:int** a:int b:int\nLocals: \n DECLARE_LOCALS(&return); [line 81, column 3]\n " color=yellow style=filled] @@ -330,29 +323,36 @@ digraph cfg { "getRef#TranslateAsPtr#(12157952070639259276).02c97edc35db5f793a7a4d1e6c16b00b_2" [label="2: Exit TranslateAsPtr_getRef \n " color=yellow style=filled] -"getRef#TranslateAsPtr#(8980454460906194048).c1f61acdfdda98d0f31dfdad70fac6a4_1" [label="1: Start TranslateAsPtr_getRef\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 80, column 3]\n " color=yellow style=filled] +"operator*#TranslateAsPtr#(2957914813032465436).d9d28f5b3fa89d06894336545dfa919e_1" [label="1: Start TranslateAsPtr_operator*\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 79, column 3]\n " color=yellow style=filled] - "getRef#TranslateAsPtr#(8980454460906194048).c1f61acdfdda98d0f31dfdad70fac6a4_1" -> "getRef#TranslateAsPtr#(8980454460906194048).c1f61acdfdda98d0f31dfdad70fac6a4_2" ; -"getRef#TranslateAsPtr#(8980454460906194048).c1f61acdfdda98d0f31dfdad70fac6a4_2" [label="2: Exit TranslateAsPtr_getRef \n " color=yellow style=filled] + "operator*#TranslateAsPtr#(2957914813032465436).d9d28f5b3fa89d06894336545dfa919e_1" -> "operator*#TranslateAsPtr#(2957914813032465436).d9d28f5b3fa89d06894336545dfa919e_2" ; +"operator*#TranslateAsPtr#(2957914813032465436).d9d28f5b3fa89d06894336545dfa919e_2" [label="2: Exit TranslateAsPtr_operator* \n " color=yellow style=filled] -"operator*#TranslateAsPtr#(2957914813032465436).d9d28f5b3fa89d06894336545dfa919e_1" [label="1: Start TranslateAsPtr_operator*\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 79, column 3]\n " color=yellow style=filled] +"getPtr#TranslateAsPtr#(5108725798531153105).ddae4f977672452bac54a30a4533059d_1" [label="1: Start TranslateAsPtr_getPtr\nFormals: this:int** a:int b:int\nLocals: \n DECLARE_LOCALS(&return); [line 77, column 3]\n " color=yellow style=filled] - "operator*#TranslateAsPtr#(2957914813032465436).d9d28f5b3fa89d06894336545dfa919e_1" -> "operator*#TranslateAsPtr#(2957914813032465436).d9d28f5b3fa89d06894336545dfa919e_2" ; -"operator*#TranslateAsPtr#(2957914813032465436).d9d28f5b3fa89d06894336545dfa919e_2" [label="2: Exit TranslateAsPtr_operator* \n " color=yellow style=filled] + "getPtr#TranslateAsPtr#(5108725798531153105).ddae4f977672452bac54a30a4533059d_1" -> "getPtr#TranslateAsPtr#(5108725798531153105).ddae4f977672452bac54a30a4533059d_2" ; +"getPtr#TranslateAsPtr#(5108725798531153105).ddae4f977672452bac54a30a4533059d_2" [label="2: Exit TranslateAsPtr_getPtr \n " color=yellow style=filled] -"setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_1" [label="1: Start TranslateAsPtr_setPtr\nFormals: this:int** v:int*\nLocals: \n DECLARE_LOCALS(&return); [line 84, column 3]\n " color=yellow style=filled] +"getRef#TranslateAsPtr#(8980454460906194048).c1f61acdfdda98d0f31dfdad70fac6a4_1" [label="1: Start TranslateAsPtr_getRef\nFormals: this:int**\nLocals: \n DECLARE_LOCALS(&return); [line 80, column 3]\n " color=yellow style=filled] - "setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_1" -> "setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_3" ; -"setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_2" [label="2: Exit TranslateAsPtr_setPtr \n " color=yellow style=filled] + "getRef#TranslateAsPtr#(8980454460906194048).c1f61acdfdda98d0f31dfdad70fac6a4_1" -> "getRef#TranslateAsPtr#(8980454460906194048).c1f61acdfdda98d0f31dfdad70fac6a4_2" ; +"getRef#TranslateAsPtr#(8980454460906194048).c1f61acdfdda98d0f31dfdad70fac6a4_2" [label="2: Exit TranslateAsPtr_getRef \n " color=yellow style=filled] -"setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&this:int** [line 84, column 34]\n n$2=*&v:int* [line 84, column 43]\n *n$1:void*=n$2 [line 84, column 23]\n " shape="box"] +"TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_1" [label="1: Start TranslateAsPtr_TranslateAsPtr\nFormals: this:int** t:int*\nLocals: \n DECLARE_LOCALS(&return); [line 74, column 3]\n " color=yellow style=filled] - "setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_3" -> "setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_2" ; + "TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_1" -> "TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_3" ; +"TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_2" [label="2: Exit TranslateAsPtr_TranslateAsPtr \n " color=yellow style=filled] + + +"TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_3" [label="3: Call _fun_TranslateAsPtr_setPtr \n n$1=*&this:int** [line 74, column 36]\n _=*n$1:int* [line 74, column 36]\n n$3=*&t:int* [line 74, column 43]\n n$4=_fun_TranslateAsPtr_setPtr(n$1:int**,n$3:int*) [line 74, column 36]\n " shape="box"] + + + "TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_3" -> "TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot index ebcfc0d5b..95b0b5303 100644 --- a/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot @@ -107,6 +107,17 @@ digraph cfg { "getX#binary_conditional#7708042186122353096.ec6c66051810049a5e5688caadbf0f96_4" -> "getX#binary_conditional#7708042186122353096.ec6c66051810049a5e5688caadbf0f96_3" ; +"operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_1" [label="1: Start binary_conditional::X_operator_bool\nFormals: this:binary_conditional::X*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 3]\n " color=yellow style=filled] + + + "operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_1" -> "operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_3" ; +"operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_2" [label="2: Exit binary_conditional::X_operator_bool \n " color=yellow style=filled] + + +"operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_3" [label="3: Return Stmt \n *&return:_Bool=1 [line 11, column 21]\n " shape="box"] + + + "operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_3" -> "operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_2" ; "X#X#binary_conditional#{14263889156663411855|constexpr}.2259daea109ab4ed7cb747998c1a8b38_1" [label="1: Start binary_conditional::X_X\nFormals: this:binary_conditional::X*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 8]\n " color=yellow style=filled] @@ -128,15 +139,4 @@ digraph cfg { "X#X#binary_conditional#{9863553346576066468|constexpr}.13550d5872419d596c3c38205883714d_2" [label="2: Exit binary_conditional::X_X \n " color=yellow style=filled] -"operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_1" [label="1: Start binary_conditional::X_operator_bool\nFormals: this:binary_conditional::X*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 3]\n " color=yellow style=filled] - - - "operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_1" -> "operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_3" ; -"operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_2" [label="2: Exit binary_conditional::X_operator_bool \n " color=yellow style=filled] - - -"operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_3" [label="3: Return Stmt \n *&return:_Bool=1 [line 11, column 21]\n " shape="box"] - - - "operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_3" -> "operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_default_arg.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_default_arg.cpp.dot index 7fcb3c288..c9b24473a 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_default_arg.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_default_arg.cpp.dot @@ -19,26 +19,26 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_1" [label="1: Start X_X\nFormals: this:X* a:int b:int\nLocals: \n DECLARE_LOCALS(&return); [line 16, column 1]\n " color=yellow style=filled] +"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_1" [label="1: Start X_div\nFormals: this:X*\nLocals: \n DECLARE_LOCALS(&return); [line 13, column 3]\n " color=yellow style=filled] - "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_1" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" ; -"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_2" [label="2: Exit X_X \n " color=yellow style=filled] + "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_1" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" ; +"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" [label="2: Exit X_div \n " color=yellow style=filled] -"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&this:X* [line 16, column 22]\n n$2=*&a:int [line 16, column 26]\n n$3=*&b:int [line 16, column 30]\n *n$1.f:int=(n$2 + n$3) [line 16, column 22]\n " shape="box"] +"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" [label="3: Return Stmt \n n$0=*&this:X* [line 13, column 26]\n n$1=*n$0.f:int [line 13, column 26]\n *&return:int=(1 / n$1) [line 13, column 15]\n " shape="box"] - "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_2" ; -"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_1" [label="1: Start X_div\nFormals: this:X*\nLocals: \n DECLARE_LOCALS(&return); [line 13, column 3]\n " color=yellow style=filled] + "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" ; +"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_1" [label="1: Start X_X\nFormals: this:X* a:int b:int\nLocals: \n DECLARE_LOCALS(&return); [line 16, column 1]\n " color=yellow style=filled] - "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_1" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" ; -"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" [label="2: Exit X_div \n " color=yellow style=filled] + "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_1" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" ; +"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_2" [label="2: Exit X_X \n " color=yellow style=filled] -"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" [label="3: Return Stmt \n n$0=*&this:X* [line 13, column 26]\n n$1=*n$0.f:int [line 13, column 26]\n *&return:int=(1 / n$1) [line 13, column 15]\n " shape="box"] +"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&this:X* [line 16, column 22]\n n$2=*&a:int [line 16, column 26]\n n$3=*&b:int [line 16, column 30]\n *n$1.f:int=(n$2 + n$3) [line 16, column 22]\n " shape="box"] - "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" ; + "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp.dot index 77008ec51..cbaddb5cb 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp.dot @@ -45,6 +45,28 @@ digraph cfg { "test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_4" -> "test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_3" ; +"init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_1" [label="1: Start constructor_with_body::X_init\nFormals: this:constructor_with_body::X*\nLocals: \n DECLARE_LOCALS(&return); [line 12, column 3]\n " color=yellow style=filled] + + + "init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_1" -> "init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_3" ; +"init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_2" [label="2: Exit constructor_with_body::X_init \n " color=yellow style=filled] + + +"init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&this:constructor_with_body::X* [line 12, column 17]\n *n$1.f:int=0 [line 12, column 17]\n " shape="box"] + + + "init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_3" -> "init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_2" ; +"div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_1" [label="1: Start constructor_with_body::X_div\nFormals: this:constructor_with_body::X*\nLocals: \n DECLARE_LOCALS(&return); [line 19, column 3]\n " color=yellow style=filled] + + + "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_1" -> "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_3" ; +"div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_2" [label="2: Exit constructor_with_body::X_div \n " color=yellow style=filled] + + +"div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_3" [label="3: Return Stmt \n n$0=*&this:constructor_with_body::X* [line 19, column 26]\n n$1=*n$0.f:int [line 19, column 26]\n *&return:int=(1 / n$1) [line 19, column 15]\n " shape="box"] + + + "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_3" -> "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_2" ; "X#X#constructor_with_body#{16871729092574880817}.54f479ca84639d148c4b988a7530253a_1" [label="1: Start constructor_with_body::X_X\nFormals: this:constructor_with_body::X*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 3]\n " color=yellow style=filled] @@ -75,26 +97,4 @@ digraph cfg { "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_5" -> "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_4" ; -"div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_1" [label="1: Start constructor_with_body::X_div\nFormals: this:constructor_with_body::X*\nLocals: \n DECLARE_LOCALS(&return); [line 19, column 3]\n " color=yellow style=filled] - - - "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_1" -> "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_3" ; -"div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_2" [label="2: Exit constructor_with_body::X_div \n " color=yellow style=filled] - - -"div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_3" [label="3: Return Stmt \n n$0=*&this:constructor_with_body::X* [line 19, column 26]\n n$1=*n$0.f:int [line 19, column 26]\n *&return:int=(1 / n$1) [line 19, column 15]\n " shape="box"] - - - "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_3" -> "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_2" ; -"init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_1" [label="1: Start constructor_with_body::X_init\nFormals: this:constructor_with_body::X*\nLocals: \n DECLARE_LOCALS(&return); [line 12, column 3]\n " color=yellow style=filled] - - - "init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_1" -> "init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_3" ; -"init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_2" [label="2: Exit constructor_with_body::X_init \n " color=yellow style=filled] - - -"init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&this:constructor_with_body::X* [line 12, column 17]\n *n$1.f:int=0 [line 12, column 17]\n " shape="box"] - - - "init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_3" -> "init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot index 8263b0917..c40ae74a5 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot @@ -114,6 +114,17 @@ digraph cfg { "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_3" -> "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_2" ; +"div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_1" [label="1: Start temp_object::X_div\nFormals: this:temp_object::X*\nLocals: \n DECLARE_LOCALS(&return); [line 16, column 3]\n " color=yellow style=filled] + + + "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_1" -> "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_3" ; +"div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_2" [label="2: Exit temp_object::X_div \n " color=yellow style=filled] + + +"div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_3" [label="3: Return Stmt \n n$0=*&this:temp_object::X* [line 16, column 26]\n n$1=*n$0.f:int [line 16, column 26]\n *&return:int=(1 / n$1) [line 16, column 15]\n " shape="box"] + + + "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_3" -> "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_2" ; "X#X#temp_object#{5376484276992466061}.a1cfaf9ee9d8c713d3d1751acbb77f32_1" [label="1: Start temp_object::X_X\nFormals: this:temp_object::X* x:temp_object::X const &\nLocals: \n DECLARE_LOCALS(&return); [line 14, column 3]\n " color=yellow style=filled] @@ -147,15 +158,4 @@ digraph cfg { "X#X#temp_object#{9561113765655638015}.59d66724d587fdb6aca1a26e1f705f23_3" -> "X#X#temp_object#{9561113765655638015}.59d66724d587fdb6aca1a26e1f705f23_2" ; -"div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_1" [label="1: Start temp_object::X_div\nFormals: this:temp_object::X*\nLocals: \n DECLARE_LOCALS(&return); [line 16, column 3]\n " color=yellow style=filled] - - - "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_1" -> "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_3" ; -"div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_2" [label="2: Exit temp_object::X_div \n " color=yellow style=filled] - - -"div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_3" [label="3: Return Stmt \n n$0=*&this:temp_object::X* [line 16, column 26]\n n$1=*n$0.f:int [line 16, column 26]\n *&return:int=(1 / n$1) [line 16, column 15]\n " shape="box"] - - - "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_3" -> "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot index f41bd0742..ed88304eb 100644 --- a/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot @@ -129,92 +129,36 @@ digraph cfg { "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_5" -> "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_4" ; -"#lambda_shared_lambda_lambda1.cpp:17:17#foo#{18379037134042516079|constexpr}.10ec5a1087f85868c2efc5ca3c13944b_1" [label="1: Start foo::lambda_shared_lambda_lambda1.cpp:17:17_\nFormals: this:foo::lambda_shared_lambda_lambda1.cpp:17:17* __param_0:foo::lambda_shared_lambda_lambda1.cpp:17:17&\nLocals: \n DECLARE_LOCALS(&return); [line 17, column 17]\n " color=yellow style=filled] - - - "#lambda_shared_lambda_lambda1.cpp:17:17#foo#{18379037134042516079|constexpr}.10ec5a1087f85868c2efc5ca3c13944b_1" -> "#lambda_shared_lambda_lambda1.cpp:17:17#foo#{18379037134042516079|constexpr}.10ec5a1087f85868c2efc5ca3c13944b_2" ; -"#lambda_shared_lambda_lambda1.cpp:17:17#foo#{18379037134042516079|constexpr}.10ec5a1087f85868c2efc5ca3c13944b_2" [label="2: Exit foo::lambda_shared_lambda_lambda1.cpp:17:17_ \n " color=yellow style=filled] - - -"#lambda_shared_lambda_lambda1.cpp:18:12#foo#{2457771116144546786|constexpr}.c00e98ad40878efac6212763d91f37b3_1" [label="1: Start foo::lambda_shared_lambda_lambda1.cpp:18:12_\nFormals: this:foo::lambda_shared_lambda_lambda1.cpp:18:12* __param_0:foo::lambda_shared_lambda_lambda1.cpp:18:12&\nLocals: \n DECLARE_LOCALS(&return); [line 18, column 12]\n " color=yellow style=filled] - - - "#lambda_shared_lambda_lambda1.cpp:18:12#foo#{2457771116144546786|constexpr}.c00e98ad40878efac6212763d91f37b3_1" -> "#lambda_shared_lambda_lambda1.cpp:18:12#foo#{2457771116144546786|constexpr}.c00e98ad40878efac6212763d91f37b3_2" ; -"#lambda_shared_lambda_lambda1.cpp:18:12#foo#{2457771116144546786|constexpr}.c00e98ad40878efac6212763d91f37b3_2" [label="2: Exit foo::lambda_shared_lambda_lambda1.cpp:18:12_ \n " color=yellow style=filled] - - -"#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#{12805486487749307717|constexpr}.5e8e5a47f663bbae0aeb80a4152608e7_1" [label="1: Start fooOK::lambda_shared_lambda_lambda1.cpp:24:12_\nFormals: this:fooOK::lambda_shared_lambda_lambda1.cpp:24:12* __param_0:fooOK::lambda_shared_lambda_lambda1.cpp:24:12&\nLocals: \n DECLARE_LOCALS(&return); [line 24, column 12]\n " color=yellow style=filled] - - - "#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#{12805486487749307717|constexpr}.5e8e5a47f663bbae0aeb80a4152608e7_1" -> "#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#{12805486487749307717|constexpr}.5e8e5a47f663bbae0aeb80a4152608e7_2" ; -"#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#{12805486487749307717|constexpr}.5e8e5a47f663bbae0aeb80a4152608e7_2" [label="2: Exit fooOK::lambda_shared_lambda_lambda1.cpp:24:12_ \n " color=yellow style=filled] - - -"#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_1" [label="1: Start Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19_\nFormals: this:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19* __param_0:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19&\nLocals: \n DECLARE_LOCALS(&return); [line 51, column 19]\n " color=yellow style=filled] - - - "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_1" -> "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_3" ; -"#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_2" [label="2: Exit Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19_ \n " color=yellow style=filled] - - -"#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_3" [label="3: Constructor Init \n n$2=*&this:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19* [line 51, column 19]\n n$3=*&__param_0:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19& [line 51, column 19]\n n$4=*n$3.:Capture* [line 51, column 19]\n *n$2.:Capture*=n$4 [line 51, column 19]\n " shape="box"] - - - "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_3" -> "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_2" ; -"#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_1" [label="1: Start Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19_\nFormals: this:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19* __param_0:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19&\nLocals: \n DECLARE_LOCALS(&return); [line 55, column 19]\n " color=yellow style=filled] - - - "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_1" -> "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_3" ; -"#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_2" [label="2: Exit Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19_ \n " color=yellow style=filled] - - -"#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_3" [label="3: Constructor Init \n n$2=*&this:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19* [line 55, column 19]\n n$3=*&__param_0:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19& [line 55, column 19]\n n$4=_fun_Capture_Capture(n$2.:Capture*,n$3.:Capture&) [line 55, column 19]\n " shape="box"] - - - "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_3" -> "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_2" ; -"#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_1" [label="1: Start Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19_\nFormals: this:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19* __param_0:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19&\nLocals: \n DECLARE_LOCALS(&return); [line 61, column 19]\n " color=yellow style=filled] - - - "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_1" -> "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_3" ; -"#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_2" [label="2: Exit Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19_ \n " color=yellow style=filled] - - -"#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_3" [label="3: Constructor Init \n n$2=*&this:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19* [line 61, column 19]\n n$3=*&__param_0:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19& [line 61, column 19]\n n$4=*n$3.:Capture* [line 61, column 19]\n *n$2.:Capture*=n$4 [line 61, column 19]\n " shape="box"] - - - "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_3" -> "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_2" ; -"#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_1" [label="1: Start Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19_\nFormals: this:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19* __param_0:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19&\nLocals: \n DECLARE_LOCALS(&return); [line 65, column 19]\n " color=yellow style=filled] - - - "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_1" -> "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_3" ; -"#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_2" [label="2: Exit Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19_ \n " color=yellow style=filled] +"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_1" [label="1: Start Capture_capture_this_explicit\nFormals: this:Capture*\nLocals: lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19 0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 50, column 3]\n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_3" [label="3: Constructor Init \n n$2=*&this:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19* [line 65, column 19]\n n$3=*&__param_0:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19& [line 65, column 19]\n n$4=*n$3.:Capture* [line 65, column 19]\n *n$2.:Capture*=n$4 [line 65, column 19]\n " shape="box"] + "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_1" -> "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" ; +"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_2" [label="2: Exit Capture_capture_this_explicit \n " color=yellow style=filled] - "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_3" -> "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_2" ; -"#lambda_shared_lambda_lambda1.cpp:9:15#bar#{14892892509482509619|constexpr}.5bfcda53520c9b0fd7d96e5fa8d9b7fe_1" [label="1: Start bar::lambda_shared_lambda_lambda1.cpp:9:15_\nFormals: this:bar::lambda_shared_lambda_lambda1.cpp:9:15* __param_0:bar::lambda_shared_lambda_lambda1.cpp:9:15&\nLocals: \n DECLARE_LOCALS(&return); [line 9, column 15]\n " color=yellow style=filled] +"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" [label="3: Destruction \n _=*&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19 [line 52, column 3]\n n$1=_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19_~(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19*) [line 52, column 3]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:9:15#bar#{14892892509482509619|constexpr}.5bfcda53520c9b0fd7d96e5fa8d9b7fe_1" -> "#lambda_shared_lambda_lambda1.cpp:9:15#bar#{14892892509482509619|constexpr}.5bfcda53520c9b0fd7d96e5fa8d9b7fe_2" ; -"#lambda_shared_lambda_lambda1.cpp:9:15#bar#{14892892509482509619|constexpr}.5bfcda53520c9b0fd7d96e5fa8d9b7fe_2" [label="2: Exit bar::lambda_shared_lambda_lambda1.cpp:9:15_ \n " color=yellow style=filled] + "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" -> "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_2" ; +"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19=(_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19_operator(),&this) [line 51, column 19]\n n$4=_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19_(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19&) [line 51, column 19]\n " shape="box"] -"Capture#Capture#{12117490113068134497|constexpr}.98ffcc03a8acaf01f37e687e09517440_1" [label="1: Start Capture_Capture\nFormals: this:Capture* __param_0:Capture&\nLocals: \n DECLARE_LOCALS(&return); [line 49, column 7]\n " color=yellow style=filled] + "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" -> "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" ; +"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_1" [label="1: Start Capture_capture_this_with_auto\nFormals: this:Capture*\nLocals: lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19 0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 64, column 3]\n " color=yellow style=filled] - "Capture#Capture#{12117490113068134497|constexpr}.98ffcc03a8acaf01f37e687e09517440_1" -> "Capture#Capture#{12117490113068134497|constexpr}.98ffcc03a8acaf01f37e687e09517440_2" ; -"Capture#Capture#{12117490113068134497|constexpr}.98ffcc03a8acaf01f37e687e09517440_2" [label="2: Exit Capture_Capture \n " color=yellow style=filled] + "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_1" -> "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" ; +"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_2" [label="2: Exit Capture_capture_this_with_auto \n " color=yellow style=filled] -"Capture#Capture#{15371931494294124755|constexpr}.9ede96f2e081983279c43accbd64cbd2_1" [label="1: Start Capture_Capture\nFormals: this:Capture* __param_0:Capture const &\nLocals: \n DECLARE_LOCALS(&return); [line 49, column 7]\n " color=yellow style=filled] +"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" [label="3: Destruction \n _=*&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19 [line 66, column 3]\n n$1=_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19_~(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19*) [line 66, column 3]\n " shape="box"] - "Capture#Capture#{15371931494294124755|constexpr}.9ede96f2e081983279c43accbd64cbd2_1" -> "Capture#Capture#{15371931494294124755|constexpr}.9ede96f2e081983279c43accbd64cbd2_2" ; -"Capture#Capture#{15371931494294124755|constexpr}.9ede96f2e081983279c43accbd64cbd2_2" [label="2: Exit Capture_Capture \n " color=yellow style=filled] + "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" -> "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_2" ; +"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19=(_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19_operator(),&this) [line 65, column 19]\n n$4=_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19_(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19&) [line 65, column 19]\n " shape="box"] + "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" -> "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" ; "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_1" [label="1: Start Capture_capture_star_this\nFormals: this:Capture*\nLocals: lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19 0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 54, column 3]\n " color=yellow style=filled] @@ -230,51 +174,35 @@ digraph cfg { "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_4" -> "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_3" ; -"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_1" [label="1: Start Capture_capture_this_explicit\nFormals: this:Capture*\nLocals: lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19 0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 50, column 3]\n " color=yellow style=filled] - - - "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_1" -> "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" ; -"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_2" [label="2: Exit Capture_capture_this_explicit \n " color=yellow style=filled] - - -"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" [label="3: Destruction \n _=*&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19 [line 52, column 3]\n n$1=_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19_~(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19*) [line 52, column 3]\n " shape="box"] - - - "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" -> "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_2" ; -"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19=(_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19_operator(),&this) [line 51, column 19]\n n$4=_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19_(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19&) [line 51, column 19]\n " shape="box"] - - - "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" -> "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" ; -"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_1" [label="1: Start Capture_capture_this_with_auto\nFormals: this:Capture*\nLocals: lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19 0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 64, column 3]\n " color=yellow style=filled] +"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_1" [label="1: Start Capture_capture_this_with_equal\nFormals: this:Capture*\nLocals: lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19 0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 60, column 3]\n " color=yellow style=filled] - "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_1" -> "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" ; -"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_2" [label="2: Exit Capture_capture_this_with_auto \n " color=yellow style=filled] + "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_1" -> "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" ; +"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_2" [label="2: Exit Capture_capture_this_with_equal \n " color=yellow style=filled] -"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" [label="3: Destruction \n _=*&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19 [line 66, column 3]\n n$1=_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19_~(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19*) [line 66, column 3]\n " shape="box"] +"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" [label="3: Destruction \n _=*&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19 [line 62, column 3]\n n$1=_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19_~(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19*) [line 62, column 3]\n " shape="box"] - "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" -> "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_2" ; -"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19=(_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19_operator(),&this) [line 65, column 19]\n n$4=_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19_(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19&) [line 65, column 19]\n " shape="box"] + "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" -> "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_2" ; +"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19=(_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19_operator(),&this) [line 61, column 19]\n n$4=_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19_(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19&) [line 61, column 19]\n " shape="box"] - "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" -> "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" ; -"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_1" [label="1: Start Capture_capture_this_with_equal\nFormals: this:Capture*\nLocals: lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19 0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19 \n DECLARE_LOCALS(&return,&lambda,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 60, column 3]\n " color=yellow style=filled] + "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" -> "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" ; +"Capture#Capture#{12117490113068134497|constexpr}.98ffcc03a8acaf01f37e687e09517440_1" [label="1: Start Capture_Capture\nFormals: this:Capture* __param_0:Capture&\nLocals: \n DECLARE_LOCALS(&return); [line 49, column 7]\n " color=yellow style=filled] - "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_1" -> "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" ; -"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_2" [label="2: Exit Capture_capture_this_with_equal \n " color=yellow style=filled] + "Capture#Capture#{12117490113068134497|constexpr}.98ffcc03a8acaf01f37e687e09517440_1" -> "Capture#Capture#{12117490113068134497|constexpr}.98ffcc03a8acaf01f37e687e09517440_2" ; +"Capture#Capture#{12117490113068134497|constexpr}.98ffcc03a8acaf01f37e687e09517440_2" [label="2: Exit Capture_Capture \n " color=yellow style=filled] -"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" [label="3: Destruction \n _=*&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19 [line 62, column 3]\n n$1=_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19_~(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19*) [line 62, column 3]\n " shape="box"] +"Capture#Capture#{15371931494294124755|constexpr}.9ede96f2e081983279c43accbd64cbd2_1" [label="1: Start Capture_Capture\nFormals: this:Capture* __param_0:Capture const &\nLocals: \n DECLARE_LOCALS(&return); [line 49, column 7]\n " color=yellow style=filled] - "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" -> "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_2" ; -"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" [label="4: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19=(_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19_operator(),&this) [line 61, column 19]\n n$4=_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19_(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19&) [line 61, column 19]\n " shape="box"] + "Capture#Capture#{15371931494294124755|constexpr}.9ede96f2e081983279c43accbd64cbd2_1" -> "Capture#Capture#{15371931494294124755|constexpr}.9ede96f2e081983279c43accbd64cbd2_2" ; +"Capture#Capture#{15371931494294124755|constexpr}.9ede96f2e081983279c43accbd64cbd2_2" [label="2: Exit Capture_Capture \n " color=yellow style=filled] - "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" -> "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" ; "operator()#lambda_shared_lambda_lambda1.cpp:17:17#foo#(10761403337571939980).fc34b2fdd4414d044515387308a2caa2_1" [label="1: Start foo::lambda_shared_lambda_lambda1.cpp:17:17_operator()\nFormals: this:foo::lambda_shared_lambda_lambda1.cpp:17:17*\nLocals: \n DECLARE_LOCALS(&return); [line 17, column 20]\n " color=yellow style=filled] @@ -286,6 +214,13 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:17:17#foo#(10761403337571939980).fc34b2fdd4414d044515387308a2caa2_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:17:17#foo#(10761403337571939980).fc34b2fdd4414d044515387308a2caa2_2" ; +"#lambda_shared_lambda_lambda1.cpp:17:17#foo#{18379037134042516079|constexpr}.10ec5a1087f85868c2efc5ca3c13944b_1" [label="1: Start foo::lambda_shared_lambda_lambda1.cpp:17:17_\nFormals: this:foo::lambda_shared_lambda_lambda1.cpp:17:17* __param_0:foo::lambda_shared_lambda_lambda1.cpp:17:17&\nLocals: \n DECLARE_LOCALS(&return); [line 17, column 17]\n " color=yellow style=filled] + + + "#lambda_shared_lambda_lambda1.cpp:17:17#foo#{18379037134042516079|constexpr}.10ec5a1087f85868c2efc5ca3c13944b_1" -> "#lambda_shared_lambda_lambda1.cpp:17:17#foo#{18379037134042516079|constexpr}.10ec5a1087f85868c2efc5ca3c13944b_2" ; +"#lambda_shared_lambda_lambda1.cpp:17:17#foo#{18379037134042516079|constexpr}.10ec5a1087f85868c2efc5ca3c13944b_2" [label="2: Exit foo::lambda_shared_lambda_lambda1.cpp:17:17_ \n " color=yellow style=filled] + + "operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_1" [label="1: Start foo::lambda_shared_lambda_lambda1.cpp:18:12_operator()\nFormals: this:foo::lambda_shared_lambda_lambda1.cpp:18:12* i:int\nLocals: \n DECLARE_LOCALS(&return); [line 18, column 20]\n " color=yellow style=filled] @@ -297,6 +232,13 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_2" ; +"#lambda_shared_lambda_lambda1.cpp:18:12#foo#{2457771116144546786|constexpr}.c00e98ad40878efac6212763d91f37b3_1" [label="1: Start foo::lambda_shared_lambda_lambda1.cpp:18:12_\nFormals: this:foo::lambda_shared_lambda_lambda1.cpp:18:12* __param_0:foo::lambda_shared_lambda_lambda1.cpp:18:12&\nLocals: \n DECLARE_LOCALS(&return); [line 18, column 12]\n " color=yellow style=filled] + + + "#lambda_shared_lambda_lambda1.cpp:18:12#foo#{2457771116144546786|constexpr}.c00e98ad40878efac6212763d91f37b3_1" -> "#lambda_shared_lambda_lambda1.cpp:18:12#foo#{2457771116144546786|constexpr}.c00e98ad40878efac6212763d91f37b3_2" ; +"#lambda_shared_lambda_lambda1.cpp:18:12#foo#{2457771116144546786|constexpr}.c00e98ad40878efac6212763d91f37b3_2" [label="2: Exit foo::lambda_shared_lambda_lambda1.cpp:18:12_ \n " color=yellow style=filled] + + "operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_1" [label="1: Start fooOK::lambda_shared_lambda_lambda1.cpp:24:12_operator()\nFormals: this:fooOK::lambda_shared_lambda_lambda1.cpp:24:12* i:int\nLocals: \n DECLARE_LOCALS(&return); [line 24, column 20]\n " color=yellow style=filled] @@ -308,6 +250,13 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_2" ; +"#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#{12805486487749307717|constexpr}.5e8e5a47f663bbae0aeb80a4152608e7_1" [label="1: Start fooOK::lambda_shared_lambda_lambda1.cpp:24:12_\nFormals: this:fooOK::lambda_shared_lambda_lambda1.cpp:24:12* __param_0:fooOK::lambda_shared_lambda_lambda1.cpp:24:12&\nLocals: \n DECLARE_LOCALS(&return); [line 24, column 12]\n " color=yellow style=filled] + + + "#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#{12805486487749307717|constexpr}.5e8e5a47f663bbae0aeb80a4152608e7_1" -> "#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#{12805486487749307717|constexpr}.5e8e5a47f663bbae0aeb80a4152608e7_2" ; +"#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#{12805486487749307717|constexpr}.5e8e5a47f663bbae0aeb80a4152608e7_2" [label="2: Exit fooOK::lambda_shared_lambda_lambda1.cpp:24:12_ \n " color=yellow style=filled] + + "operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_1" [label="1: Start normal_capture::lambda_shared_lambda_lambda1.cpp:31:10_operator()\nFormals: this:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10*\nLocals: \n DECLARE_LOCALS(&return); [line 31, column 17]\n " color=yellow style=filled] @@ -363,6 +312,17 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_2" ; +"#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_1" [label="1: Start Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19_\nFormals: this:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19* __param_0:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19&\nLocals: \n DECLARE_LOCALS(&return); [line 51, column 19]\n " color=yellow style=filled] + + + "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_1" -> "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_3" ; +"#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_2" [label="2: Exit Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19_ \n " color=yellow style=filled] + + +"#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_3" [label="3: Constructor Init \n n$2=*&this:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19* [line 51, column 19]\n n$3=*&__param_0:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19& [line 51, column 19]\n n$4=*n$3.:Capture* [line 51, column 19]\n *n$2.:Capture*=n$4 [line 51, column 19]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_3" -> "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_2" ; "operator()#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#(11891233366713773989).2f1caaa7509ffca98027857cb192891f_1" [label="1: Start Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19_operator()\nFormals: this:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19*\nLocals: \n DECLARE_LOCALS(&return); [line 55, column 27]\n " color=yellow style=filled] @@ -370,6 +330,17 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#(11891233366713773989).2f1caaa7509ffca98027857cb192891f_2" [label="2: Exit Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19_operator() \n " color=yellow style=filled] +"#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_1" [label="1: Start Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19_\nFormals: this:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19* __param_0:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19&\nLocals: \n DECLARE_LOCALS(&return); [line 55, column 19]\n " color=yellow style=filled] + + + "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_1" -> "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_3" ; +"#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_2" [label="2: Exit Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19_ \n " color=yellow style=filled] + + +"#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_3" [label="3: Constructor Init \n n$2=*&this:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19* [line 55, column 19]\n n$3=*&__param_0:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19& [line 55, column 19]\n n$4=_fun_Capture_Capture(n$2.:Capture*,n$3.:Capture&) [line 55, column 19]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_3" -> "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_2" ; "operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_1" [label="1: Start Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19_operator()\nFormals: this:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19*\nLocals: \n DECLARE_LOCALS(&return); [line 61, column 23]\n " color=yellow style=filled] @@ -381,6 +352,17 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_2" ; +"#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_1" [label="1: Start Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19_\nFormals: this:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19* __param_0:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19&\nLocals: \n DECLARE_LOCALS(&return); [line 61, column 19]\n " color=yellow style=filled] + + + "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_1" -> "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_3" ; +"#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_2" [label="2: Exit Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19_ \n " color=yellow style=filled] + + +"#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_3" [label="3: Constructor Init \n n$2=*&this:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19* [line 61, column 19]\n n$3=*&__param_0:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19& [line 61, column 19]\n n$4=*n$3.:Capture* [line 61, column 19]\n *n$2.:Capture*=n$4 [line 61, column 19]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_3" -> "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_2" ; "operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_1" [label="1: Start Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19_operator()\nFormals: this:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19*\nLocals: \n DECLARE_LOCALS(&return); [line 65, column 23]\n " color=yellow style=filled] @@ -392,6 +374,17 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_2" ; +"#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_1" [label="1: Start Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19_\nFormals: this:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19* __param_0:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19&\nLocals: \n DECLARE_LOCALS(&return); [line 65, column 19]\n " color=yellow style=filled] + + + "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_1" -> "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_3" ; +"#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_2" [label="2: Exit Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19_ \n " color=yellow style=filled] + + +"#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_3" [label="3: Constructor Init \n n$2=*&this:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19* [line 65, column 19]\n n$3=*&__param_0:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19& [line 65, column 19]\n n$4=*n$3.:Capture* [line 65, column 19]\n *n$2.:Capture*=n$4 [line 65, column 19]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_3" -> "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_2" ; "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_1" [label="1: Start bar::lambda_shared_lambda_lambda1.cpp:9:15_operator()\nFormals: this:bar::lambda_shared_lambda_lambda1.cpp:9:15*\nLocals: i:int \n DECLARE_LOCALS(&return,&i); [line 9, column 18]\n " color=yellow style=filled] @@ -407,4 +400,11 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_3" ; +"#lambda_shared_lambda_lambda1.cpp:9:15#bar#{14892892509482509619|constexpr}.5bfcda53520c9b0fd7d96e5fa8d9b7fe_1" [label="1: Start bar::lambda_shared_lambda_lambda1.cpp:9:15_\nFormals: this:bar::lambda_shared_lambda_lambda1.cpp:9:15* __param_0:bar::lambda_shared_lambda_lambda1.cpp:9:15&\nLocals: \n DECLARE_LOCALS(&return); [line 9, column 15]\n " color=yellow style=filled] + + + "#lambda_shared_lambda_lambda1.cpp:9:15#bar#{14892892509482509619|constexpr}.5bfcda53520c9b0fd7d96e5fa8d9b7fe_1" -> "#lambda_shared_lambda_lambda1.cpp:9:15#bar#{14892892509482509619|constexpr}.5bfcda53520c9b0fd7d96e5fa8d9b7fe_2" ; +"#lambda_shared_lambda_lambda1.cpp:9:15#bar#{14892892509482509619|constexpr}.5bfcda53520c9b0fd7d96e5fa8d9b7fe_2" [label="2: Exit bar::lambda_shared_lambda_lambda1.cpp:9:15_ \n " color=yellow style=filled] + + } diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot index b273a5d57..f876860c6 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot @@ -168,6 +168,28 @@ digraph cfg { "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_11" ; +"operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_1" [label="1: Start conversion_operator::X_operator_int\nFormals: this:conversion_operator::X*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 3]\n " color=yellow style=filled] + + + "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_1" -> "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_3" ; +"operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_2" [label="2: Exit conversion_operator::X_operator_int \n " color=yellow style=filled] + + +"operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_3" [label="3: Return Stmt \n n$0=*&this:conversion_operator::X* [line 11, column 27]\n n$1=*n$0.f_:int [line 11, column 27]\n *&return:int=n$1 [line 11, column 20]\n " shape="box"] + + + "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_3" -> "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_2" ; +"operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_1" [label="1: Start conversion_operator::X_operator_bool\nFormals: this:conversion_operator::X*\nLocals: \n DECLARE_LOCALS(&return); [line 12, column 3]\n " color=yellow style=filled] + + + "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_1" -> "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_3" ; +"operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_2" [label="2: Exit conversion_operator::X_operator_bool \n " color=yellow style=filled] + + +"operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_3" [label="3: Return Stmt \n n$0=*&this:conversion_operator::X* [line 12, column 28]\n n$1=*n$0.b_:_Bool [line 12, column 28]\n *&return:_Bool=n$1 [line 12, column 21]\n " shape="box"] + + + "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_3" -> "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_2" ; "X#X#conversion_operator#{10042806963993343440}.3443e3517905e53c0b3c27c57963d3c9_1" [label="1: Start conversion_operator::X_X\nFormals: this:conversion_operator::X* x:conversion_operator::X const &\nLocals: \n DECLARE_LOCALS(&return); [line 19, column 3]\n " color=yellow style=filled] @@ -198,13 +220,6 @@ digraph cfg { "X#X#conversion_operator#{3369558305026158368}.bef059c92c6377f62516e101c1177cad_4" -> "X#X#conversion_operator#{3369558305026158368}.bef059c92c6377f62516e101c1177cad_3" ; -"Y#Y#conversion_operator#{2209317117193064868}.b5b04122b8822499b024fd96b2c79e26_1" [label="1: Start conversion_operator::Y_Y\nFormals: this:conversion_operator::Y*\nLocals: \n DECLARE_LOCALS(&return); [line 25, column 8]\n " color=yellow style=filled] - - - "Y#Y#conversion_operator#{2209317117193064868}.b5b04122b8822499b024fd96b2c79e26_1" -> "Y#Y#conversion_operator#{2209317117193064868}.b5b04122b8822499b024fd96b2c79e26_2" ; -"Y#Y#conversion_operator#{2209317117193064868}.b5b04122b8822499b024fd96b2c79e26_2" [label="2: Exit conversion_operator::Y_Y \n " color=yellow style=filled] - - "operator_X#Y#conversion_operator#(9875474444891926125).7f70b2cd003a12c6c9b239bf43d976ea_1" [label="1: Start conversion_operator::Y_operator_X\nFormals: this:conversion_operator::Y* __return_param:conversion_operator::X*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 27, column 3]\n " color=yellow style=filled] @@ -216,26 +231,11 @@ digraph cfg { "operator_X#Y#conversion_operator#(9875474444891926125).7f70b2cd003a12c6c9b239bf43d976ea_3" -> "operator_X#Y#conversion_operator#(9875474444891926125).7f70b2cd003a12c6c9b239bf43d976ea_2" ; -"operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_1" [label="1: Start conversion_operator::X_operator_bool\nFormals: this:conversion_operator::X*\nLocals: \n DECLARE_LOCALS(&return); [line 12, column 3]\n " color=yellow style=filled] - - - "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_1" -> "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_3" ; -"operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_2" [label="2: Exit conversion_operator::X_operator_bool \n " color=yellow style=filled] - - -"operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_3" [label="3: Return Stmt \n n$0=*&this:conversion_operator::X* [line 12, column 28]\n n$1=*n$0.b_:_Bool [line 12, column 28]\n *&return:_Bool=n$1 [line 12, column 21]\n " shape="box"] - - - "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_3" -> "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_2" ; -"operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_1" [label="1: Start conversion_operator::X_operator_int\nFormals: this:conversion_operator::X*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 3]\n " color=yellow style=filled] - - - "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_1" -> "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_3" ; -"operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_2" [label="2: Exit conversion_operator::X_operator_int \n " color=yellow style=filled] +"Y#Y#conversion_operator#{2209317117193064868}.b5b04122b8822499b024fd96b2c79e26_1" [label="1: Start conversion_operator::Y_Y\nFormals: this:conversion_operator::Y*\nLocals: \n DECLARE_LOCALS(&return); [line 25, column 8]\n " color=yellow style=filled] -"operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_3" [label="3: Return Stmt \n n$0=*&this:conversion_operator::X* [line 11, column 27]\n n$1=*n$0.f_:int [line 11, column 27]\n *&return:int=n$1 [line 11, column 20]\n " shape="box"] + "Y#Y#conversion_operator#{2209317117193064868}.b5b04122b8822499b024fd96b2c79e26_1" -> "Y#Y#conversion_operator#{2209317117193064868}.b5b04122b8822499b024fd96b2c79e26_2" ; +"Y#Y#conversion_operator#{2209317117193064868}.b5b04122b8822499b024fd96b2c79e26_2" [label="2: Exit conversion_operator::Y_Y \n " color=yellow style=filled] - "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_3" -> "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot index 6247f70d4..4ffc6ae8b 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot @@ -15,37 +15,37 @@ digraph cfg { "test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_4" -> "test#14183353284361723530.9ab958283f2da536d334b673bc9197cb_3" ; -"X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_1" [label="1: Start X_X\nFormals: this:X* __param_0:X&\nLocals: \n DECLARE_LOCALS(&return); [line 8, column 8]\n " color=yellow style=filled] +"get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_1" [label="1: Start A_get\nFormals: this:A* p:int __return_param:X*\nLocals: x:X \n DECLARE_LOCALS(&return,&x); [line 13, column 3]\n " color=yellow style=filled] - "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_1" -> "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_3" ; -"X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_2" [label="2: Exit X_X \n " color=yellow style=filled] + "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_1" -> "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_4" ; +"get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_2" [label="2: Exit A_get \n " color=yellow style=filled] -"X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_3" [label="3: Constructor Init \n n$2=*&this:X* [line 8, column 8]\n n$3=*&__param_0:X& [line 8, column 8]\n n$4=*n$3.f:int [line 8, column 8]\n *n$2.f:int=n$4 [line 8, column 8]\n " shape="box"] +"get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 15, column 5]\n n$1=_fun_X_X(n$0:X*,&x:X&) [line 15, column 12]\n _=*&x:X [line 15, column 12]\n n$3=_fun_X_~X(&x:X*) [line 15, column 12]\n " shape="box"] - "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_3" -> "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_2" ; -"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" [label="1: Start X_X\nFormals: this:X*\nLocals: \n DECLARE_LOCALS(&return); [line 8, column 8]\n " color=yellow style=filled] + "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_3" -> "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_2" ; +"get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_4" [label="4: DeclStmt \n n$5=_fun_X_X(&x:X*) [line 14, column 7]\n " shape="box"] - "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" ; -"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" [label="2: Exit X_X \n " color=yellow style=filled] + "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_4" -> "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_3" ; +"X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_1" [label="1: Start X_X\nFormals: this:X* __param_0:X&\nLocals: \n DECLARE_LOCALS(&return); [line 8, column 8]\n " color=yellow style=filled] -"get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_1" [label="1: Start A_get\nFormals: this:A* p:int __return_param:X*\nLocals: x:X \n DECLARE_LOCALS(&return,&x); [line 13, column 3]\n " color=yellow style=filled] + "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_1" -> "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_3" ; +"X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_2" [label="2: Exit X_X \n " color=yellow style=filled] - "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_1" -> "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_4" ; -"get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_2" [label="2: Exit A_get \n " color=yellow style=filled] +"X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_3" [label="3: Constructor Init \n n$2=*&this:X* [line 8, column 8]\n n$3=*&__param_0:X& [line 8, column 8]\n n$4=*n$3.f:int [line 8, column 8]\n *n$2.f:int=n$4 [line 8, column 8]\n " shape="box"] -"get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 15, column 5]\n n$1=_fun_X_X(n$0:X*,&x:X&) [line 15, column 12]\n _=*&x:X [line 15, column 12]\n n$3=_fun_X_~X(&x:X*) [line 15, column 12]\n " shape="box"] + "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_3" -> "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_2" ; +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" [label="1: Start X_X\nFormals: this:X*\nLocals: \n DECLARE_LOCALS(&return); [line 8, column 8]\n " color=yellow style=filled] - "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_3" -> "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_2" ; -"get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_4" [label="4: DeclStmt \n n$5=_fun_X_X(&x:X*) [line 14, column 7]\n " shape="box"] + "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" ; +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" [label="2: Exit X_X \n " color=yellow style=filled] - "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_4" -> "get#A#(1761444600576643509).c838940fa5c6fe767006cf7dd748d7f6_3" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot index 96d93aaa6..2b0782f0e 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot @@ -111,68 +111,61 @@ digraph cfg { "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_6" ; -"Polygon#Polygon#{10850889526924573388}.39fcc5831c0234f5743317d6969628c2_1" [label="1: Start Polygon_Polygon\nFormals: this:Polygon*\nLocals: \n DECLARE_LOCALS(&return); [line 8, column 7]\n " color=yellow style=filled] - - - "Polygon#Polygon#{10850889526924573388}.39fcc5831c0234f5743317d6969628c2_1" -> "Polygon#Polygon#{10850889526924573388}.39fcc5831c0234f5743317d6969628c2_2" ; -"Polygon#Polygon#{10850889526924573388}.39fcc5831c0234f5743317d6969628c2_2" [label="2: Exit Polygon_Polygon \n " color=yellow style=filled] - - -"Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_1" [label="1: Start Rectangle_Rectangle\nFormals: this:Rectangle*\nLocals: \n DECLARE_LOCALS(&return); [line 21, column 7]\n " color=yellow style=filled] +"area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_1" [label="1: Start Polygon_area\nFormals: this:Polygon*\nLocals: \n DECLARE_LOCALS(&return); [line 18, column 3]\n " color=yellow style=filled] - "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_1" -> "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" ; -"Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_2" [label="2: Exit Rectangle_Rectangle \n " color=yellow style=filled] + "area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_1" -> "area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_3" ; +"area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_2" [label="2: Exit Polygon_area \n " color=yellow style=filled] -"Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" [label="3: Constructor Init \n n$2=*&this:Rectangle* [line 21, column 7]\n n$3=_fun_Polygon_Polygon(n$2:Rectangle*) [line 21, column 7]\n " shape="box"] +"area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_3" [label="3: Return Stmt \n *&return:int=0 [line 18, column 24]\n " shape="box"] - "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" -> "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_2" ; -"Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_1" [label="1: Start Triangle_Triangle\nFormals: this:Triangle*\nLocals: \n DECLARE_LOCALS(&return); [line 27, column 7]\n " color=yellow style=filled] + "area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_3" -> "area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_2" ; +"set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_1" [label="1: Start Polygon_set_values\nFormals: this:Polygon* a:int b:int\nLocals: \n DECLARE_LOCALS(&return); [line 14, column 3]\n " color=yellow style=filled] - "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_1" -> "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" ; -"Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_2" [label="2: Exit Triangle_Triangle \n " color=yellow style=filled] + "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_1" -> "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_4" ; +"set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_2" [label="2: Exit Polygon_set_values \n " color=yellow style=filled] -"Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" [label="3: Constructor Init \n n$2=*&this:Triangle* [line 27, column 7]\n n$3=_fun_Polygon_Polygon(n$2:Triangle*) [line 27, column 7]\n " shape="box"] +"set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&this:Polygon* [line 16, column 5]\n n$2=*&b:int [line 16, column 14]\n *n$1.height:int=n$2 [line 16, column 5]\n " shape="box"] - "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" -> "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_2" ; -"__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_1" [label="1: Start Triangle___infer_inner_destructor_~Triangle\nFormals: this:Triangle*\nLocals: \n DECLARE_LOCALS(&return); [line 29, column 3]\n " color=yellow style=filled] + "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_3" -> "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_2" ; +"set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_4" [label="4: BinaryOperatorStmt: Assign \n n$3=*&this:Polygon* [line 15, column 5]\n n$4=*&a:int [line 15, column 13]\n *n$3.width:int=n$4 [line 15, column 5]\n " shape="box"] - "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_1" -> "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_3" ; -"__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_2" [label="2: Exit Triangle___infer_inner_destructor_~Triangle \n " color=yellow style=filled] + "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_4" -> "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_3" ; +"Polygon#Polygon#{10850889526924573388}.39fcc5831c0234f5743317d6969628c2_1" [label="1: Start Polygon_Polygon\nFormals: this:Polygon*\nLocals: \n DECLARE_LOCALS(&return); [line 8, column 7]\n " color=yellow style=filled] -"__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_3" [label="3: Destruction \n n$0=*&this:Triangle* [line 29, column 15]\n _=*n$0:Triangle [line 29, column 15]\n n$2=_fun_Polygon___infer_inner_destructor_~Polygon(n$0:Triangle*) virtual [line 29, column 15]\n " shape="box"] + "Polygon#Polygon#{10850889526924573388}.39fcc5831c0234f5743317d6969628c2_1" -> "Polygon#Polygon#{10850889526924573388}.39fcc5831c0234f5743317d6969628c2_2" ; +"Polygon#Polygon#{10850889526924573388}.39fcc5831c0234f5743317d6969628c2_2" [label="2: Exit Polygon_Polygon \n " color=yellow style=filled] - "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_3" -> "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_2" ; -"area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_1" [label="1: Start Polygon_area\nFormals: this:Polygon*\nLocals: \n DECLARE_LOCALS(&return); [line 18, column 3]\n " color=yellow style=filled] +"area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_1" [label="1: Start Rectangle_area\nFormals: this:Rectangle*\nLocals: \n DECLARE_LOCALS(&return); [line 24, column 3]\n " color=yellow style=filled] - "area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_1" -> "area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_3" ; -"area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_2" [label="2: Exit Polygon_area \n " color=yellow style=filled] + "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_1" -> "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_3" ; +"area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_2" [label="2: Exit Rectangle_area \n " color=yellow style=filled] -"area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_3" [label="3: Return Stmt \n *&return:int=0 [line 18, column 24]\n " shape="box"] +"area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_3" [label="3: Return Stmt \n n$0=*&this:Rectangle* [line 24, column 23]\n n$1=*n$0.width:int [line 24, column 23]\n n$2=*&this:Rectangle* [line 24, column 31]\n n$3=*n$2.height:int [line 24, column 31]\n *&return:int=(n$1 * n$3) [line 24, column 16]\n " shape="box"] - "area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_3" -> "area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_2" ; -"area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_1" [label="1: Start Rectangle_area\nFormals: this:Rectangle*\nLocals: \n DECLARE_LOCALS(&return); [line 24, column 3]\n " color=yellow style=filled] + "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_3" -> "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_2" ; +"Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_1" [label="1: Start Rectangle_Rectangle\nFormals: this:Rectangle*\nLocals: \n DECLARE_LOCALS(&return); [line 21, column 7]\n " color=yellow style=filled] - "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_1" -> "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_3" ; -"area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_2" [label="2: Exit Rectangle_area \n " color=yellow style=filled] + "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_1" -> "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" ; +"Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_2" [label="2: Exit Rectangle_Rectangle \n " color=yellow style=filled] -"area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_3" [label="3: Return Stmt \n n$0=*&this:Rectangle* [line 24, column 23]\n n$1=*n$0.width:int [line 24, column 23]\n n$2=*&this:Rectangle* [line 24, column 31]\n n$3=*n$2.height:int [line 24, column 31]\n *&return:int=(n$1 * n$3) [line 24, column 16]\n " shape="box"] +"Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" [label="3: Constructor Init \n n$2=*&this:Rectangle* [line 21, column 7]\n n$3=_fun_Polygon_Polygon(n$2:Rectangle*) [line 21, column 7]\n " shape="box"] - "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_3" -> "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_2" ; + "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" -> "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_2" ; "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_1" [label="1: Start Triangle_area\nFormals: this:Triangle*\nLocals: x:int \n DECLARE_LOCALS(&return,&x); [line 30, column 3]\n " color=yellow style=filled] @@ -188,21 +181,28 @@ digraph cfg { "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_4" -> "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_3" ; -"set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_1" [label="1: Start Polygon_set_values\nFormals: this:Polygon* a:int b:int\nLocals: \n DECLARE_LOCALS(&return); [line 14, column 3]\n " color=yellow style=filled] +"Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_1" [label="1: Start Triangle_Triangle\nFormals: this:Triangle*\nLocals: \n DECLARE_LOCALS(&return); [line 27, column 7]\n " color=yellow style=filled] - "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_1" -> "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_4" ; -"set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_2" [label="2: Exit Polygon_set_values \n " color=yellow style=filled] + "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_1" -> "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" ; +"Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_2" [label="2: Exit Triangle_Triangle \n " color=yellow style=filled] -"set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&this:Polygon* [line 16, column 5]\n n$2=*&b:int [line 16, column 14]\n *n$1.height:int=n$2 [line 16, column 5]\n " shape="box"] +"Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" [label="3: Constructor Init \n n$2=*&this:Triangle* [line 27, column 7]\n n$3=_fun_Polygon_Polygon(n$2:Triangle*) [line 27, column 7]\n " shape="box"] - "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_3" -> "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_2" ; -"set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_4" [label="4: BinaryOperatorStmt: Assign \n n$3=*&this:Polygon* [line 15, column 5]\n n$4=*&a:int [line 15, column 13]\n *n$3.width:int=n$4 [line 15, column 5]\n " shape="box"] + "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" -> "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_2" ; +"__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_1" [label="1: Start Triangle___infer_inner_destructor_~Triangle\nFormals: this:Triangle*\nLocals: \n DECLARE_LOCALS(&return); [line 29, column 3]\n " color=yellow style=filled] - "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_4" -> "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_3" ; + "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_1" -> "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_3" ; +"__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_2" [label="2: Exit Triangle___infer_inner_destructor_~Triangle \n " color=yellow style=filled] + + +"__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_3" [label="3: Destruction \n n$0=*&this:Triangle* [line 29, column 15]\n _=*n$0:Triangle [line 29, column 15]\n n$2=_fun_Polygon___infer_inner_destructor_~Polygon(n$0:Triangle*) virtual [line 29, column 15]\n " shape="box"] + + + "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_3" -> "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_2" ; "~Triangle#Triangle#(14073216405110724792).8adff4889e6d988a35e49531a9afaad5_1" [label="1: Start Triangle_~Triangle\nFormals: this:Triangle*\nLocals: \n DECLARE_LOCALS(&return); [line 29, column 3]\n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot index b55c25ca8..6e40f1c90 100644 --- a/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot @@ -91,13 +91,6 @@ digraph cfg { "value#foo#118977410660901546.9623db3632a56e3cb17951602d147a29_3" -> "value#foo#118977410660901546.9623db3632a56e3cb17951602d147a29_2" ; -"#my_record#foo#{787932800218645857}.139a63942c62b7df5ae81187e8434e41_1" [label="1: Start foo::my_record_\nFormals: this:foo::my_record*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 9]\n " color=yellow style=filled] - - - "#my_record#foo#{787932800218645857}.139a63942c62b7df5ae81187e8434e41_1" -> "#my_record#foo#{787932800218645857}.139a63942c62b7df5ae81187e8434e41_2" ; -"#my_record#foo#{787932800218645857}.139a63942c62b7df5ae81187e8434e41_2" [label="2: Exit foo::my_record_ \n " color=yellow style=filled] - - "Rectangle#Rectangle#bar#{16076319501091404979}.cb85c0acc359c05c70c9c64fe7f882ea_1" [label="1: Start bar::Rectangle_Rectangle\nFormals: this:bar::Rectangle*\nLocals: \n DECLARE_LOCALS(&return); [line 30, column 7]\n " color=yellow style=filled] @@ -112,4 +105,11 @@ digraph cfg { "Rectangle#Rectangle#foo#{8572033467385947510}.aa3c63f2774d4a30536ec4553aa11554_2" [label="2: Exit foo::Rectangle_Rectangle \n " color=yellow style=filled] +"#my_record#foo#{787932800218645857}.139a63942c62b7df5ae81187e8434e41_1" [label="1: Start foo::my_record_\nFormals: this:foo::my_record*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 9]\n " color=yellow style=filled] + + + "#my_record#foo#{787932800218645857}.139a63942c62b7df5ae81187e8434e41_1" -> "#my_record#foo#{787932800218645857}.139a63942c62b7df5ae81187e8434e41_2" ; +"#my_record#foo#{787932800218645857}.139a63942c62b7df5ae81187e8434e41_2" [label="2: Exit foo::my_record_ \n " color=yellow style=filled] + + } diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot index 749247402..750ee8dee 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot @@ -63,13 +63,6 @@ digraph cfg { "test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_4" -> "test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_3" ; -"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" [label="1: Start X_X\nFormals: this:X*\nLocals: \n DECLARE_LOCALS(&return); [line 8, column 8]\n " color=yellow style=filled] - - - "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" ; -"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" [label="2: Exit X_X \n " color=yellow style=filled] - - "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_1" [label="1: Start X_call\nFormals: this:X*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] @@ -81,4 +74,11 @@ digraph cfg { "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" -> "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_2" ; +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" [label="1: Start X_X\nFormals: this:X*\nLocals: \n DECLARE_LOCALS(&return); [line 8, column 8]\n " color=yellow style=filled] + + + "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" ; +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" [label="2: Exit X_X \n " color=yellow style=filled] + + } diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot index 8fa62f82d..0ca4971ce 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot @@ -324,91 +324,91 @@ digraph cfg { "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_7" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_6" ; -"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_1" [label="1: Start reference_field::Ptr_Ptr\nFormals: this:reference_field::Ptr* r_:reference_field::X&\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 3]\n " color=yellow style=filled] +"getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_1" [label="1: Start reference_field::Ptr_getF\nFormals: this:reference_field::Ptr*\nLocals: \n DECLARE_LOCALS(&return); [line 33, column 3]\n " color=yellow style=filled] - "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_1" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" ; -"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_2" [label="2: Exit reference_field::Ptr_Ptr \n " color=yellow style=filled] + "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_1" -> "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_3" ; +"getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_2" [label="2: Exit reference_field::Ptr_getF \n " color=yellow style=filled] -"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" [label="3: Constructor Init \n n$2=*&this:reference_field::Ptr* [line 32, column 24]\n n$3=*&this:reference_field::Ptr* [line 32, column 27]\n n$4=*n$3.x:reference_field::X* [line 32, column 27]\n *n$2.i:int*=n$4.f [line 32, column 24]\n " shape="box"] +"getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ptr* [line 33, column 23]\n n$1=*n$0.x:reference_field::X* [line 33, column 23]\n n$2=*n$1.f:int [line 33, column 23]\n *&return:int=n$2 [line 33, column 16]\n " shape="box"] - "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_2" ; -"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" [label="4: Constructor Init \n n$5=*&this:reference_field::Ptr* [line 32, column 16]\n n$6=*&r_:reference_field::X& [line 32, column 19]\n *n$5.x:reference_field::X*=n$6 [line 32, column 16]\n " shape="box"] + "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_3" -> "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_2" ; +"getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_1" [label="1: Start reference_field::Ptr_getI\nFormals: this:reference_field::Ptr*\nLocals: \n DECLARE_LOCALS(&return); [line 34, column 3]\n " color=yellow style=filled] - "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" ; -"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_1" [label="1: Start reference_field::Ref_Ref\nFormals: this:reference_field::Ref* r_:reference_field::X&\nLocals: \n DECLARE_LOCALS(&return); [line 24, column 3]\n " color=yellow style=filled] + "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_1" -> "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_3" ; +"getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_2" [label="2: Exit reference_field::Ptr_getI \n " color=yellow style=filled] - "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_1" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" ; -"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_2" [label="2: Exit reference_field::Ref_Ref \n " color=yellow style=filled] +"getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ptr* [line 34, column 24]\n n$1=*n$0.i:int* [line 34, column 24]\n n$2=*n$1:int [line 34, column 23]\n *&return:int=n$2 [line 34, column 16]\n " shape="box"] -"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" [label="3: Constructor Init \n n$2=*&this:reference_field::Ref* [line 24, column 23]\n n$3=*&this:reference_field::Ref* [line 24, column 25]\n n$4=*n$3.x:reference_field::X& [line 24, column 25]\n *n$2.i:int&=n$4.f [line 24, column 23]\n " shape="box"] + "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_3" -> "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_2" ; +"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_1" [label="1: Start reference_field::Ptr_Ptr\nFormals: this:reference_field::Ptr* r_:reference_field::X&\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 3]\n " color=yellow style=filled] - "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_2" ; -"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" [label="4: Constructor Init \n n$5=*&this:reference_field::Ref* [line 24, column 16]\n n$6=*&r_:reference_field::X& [line 24, column 18]\n *n$5.x:reference_field::X&=n$6 [line 24, column 16]\n " shape="box"] + "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_1" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" ; +"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_2" [label="2: Exit reference_field::Ptr_Ptr \n " color=yellow style=filled] - "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" ; -"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_1" [label="1: Start reference_field::Val_Val\nFormals: this:reference_field::Val* r_:reference_field::X&\nLocals: \n DECLARE_LOCALS(&return); [line 40, column 3]\n " color=yellow style=filled] +"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" [label="3: Constructor Init \n n$2=*&this:reference_field::Ptr* [line 32, column 24]\n n$3=*&this:reference_field::Ptr* [line 32, column 27]\n n$4=*n$3.x:reference_field::X* [line 32, column 27]\n *n$2.i:int*=n$4.f [line 32, column 24]\n " shape="box"] - "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_1" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" ; -"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_2" [label="2: Exit reference_field::Val_Val \n " color=yellow style=filled] + "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_2" ; +"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" [label="4: Constructor Init \n n$5=*&this:reference_field::Ptr* [line 32, column 16]\n n$6=*&r_:reference_field::X& [line 32, column 19]\n *n$5.x:reference_field::X*=n$6 [line 32, column 16]\n " shape="box"] -"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" [label="3: Constructor Init \n n$2=*&this:reference_field::Val* [line 40, column 23]\n n$3=*&this:reference_field::Val* [line 40, column 25]\n n$4=*n$3.x.f:int [line 40, column 25]\n *n$2.i:int=n$4 [line 40, column 23]\n " shape="box"] + "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" ; +"getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_1" [label="1: Start reference_field::Ref_getI\nFormals: this:reference_field::Ref*\nLocals: \n DECLARE_LOCALS(&return); [line 26, column 3]\n " color=yellow style=filled] - "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_2" ; -"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" [label="4: Constructor Init \n n$5=*&this:reference_field::Val* [line 40, column 16]\n n$6=*&r_:reference_field::X& [line 40, column 18]\n n$7=_fun_reference_field::X_X(n$5.x:reference_field::X*,n$6:reference_field::X&) [line 40, column 16]\n " shape="box"] + "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_1" -> "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_3" ; +"getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_2" [label="2: Exit reference_field::Ref_getI \n " color=yellow style=filled] - "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" ; -"X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_1" [label="1: Start reference_field::X_X\nFormals: this:reference_field::X* __param_0:reference_field::X const &\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 8]\n " color=yellow style=filled] +"getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ref* [line 26, column 23]\n n$1=*n$0.i:int& [line 26, column 23]\n n$2=*n$1:int [line 26, column 23]\n *&return:int=n$2 [line 26, column 16]\n " shape="box"] - "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_1" -> "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_3" ; -"X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_2" [label="2: Exit reference_field::X_X \n " color=yellow style=filled] + "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_3" -> "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_2" ; +"getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_1" [label="1: Start reference_field::Ref_getF\nFormals: this:reference_field::Ref*\nLocals: \n DECLARE_LOCALS(&return); [line 25, column 3]\n " color=yellow style=filled] -"X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_3" [label="3: Constructor Init \n n$2=*&this:reference_field::X* [line 10, column 8]\n n$3=*&__param_0:reference_field::X const & [line 10, column 8]\n n$4=*n$3.f:int [line 10, column 8]\n *n$2.f:int=n$4 [line 10, column 8]\n " shape="box"] + "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_1" -> "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_3" ; +"getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_2" [label="2: Exit reference_field::Ref_getF \n " color=yellow style=filled] - "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_3" -> "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_2" ; -"X#X#reference_field#{2751762285772383996}.b7c8700d1b15a5db2c677bfc2eb37a5f_1" [label="1: Start reference_field::X_X\nFormals: this:reference_field::X*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 8]\n " color=yellow style=filled] +"getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ref* [line 25, column 23]\n n$1=*n$0.x:reference_field::X& [line 25, column 23]\n n$2=*n$1.f:int [line 25, column 23]\n *&return:int=n$2 [line 25, column 16]\n " shape="box"] - "X#X#reference_field#{2751762285772383996}.b7c8700d1b15a5db2c677bfc2eb37a5f_1" -> "X#X#reference_field#{2751762285772383996}.b7c8700d1b15a5db2c677bfc2eb37a5f_2" ; -"X#X#reference_field#{2751762285772383996}.b7c8700d1b15a5db2c677bfc2eb37a5f_2" [label="2: Exit reference_field::X_X \n " color=yellow style=filled] + "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_3" -> "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_2" ; +"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_1" [label="1: Start reference_field::Ref_Ref\nFormals: this:reference_field::Ref* r_:reference_field::X&\nLocals: \n DECLARE_LOCALS(&return); [line 24, column 3]\n " color=yellow style=filled] -"getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_1" [label="1: Start reference_field::Ptr_getF\nFormals: this:reference_field::Ptr*\nLocals: \n DECLARE_LOCALS(&return); [line 33, column 3]\n " color=yellow style=filled] + "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_1" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" ; +"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_2" [label="2: Exit reference_field::Ref_Ref \n " color=yellow style=filled] - "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_1" -> "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_3" ; -"getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_2" [label="2: Exit reference_field::Ptr_getF \n " color=yellow style=filled] +"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" [label="3: Constructor Init \n n$2=*&this:reference_field::Ref* [line 24, column 23]\n n$3=*&this:reference_field::Ref* [line 24, column 25]\n n$4=*n$3.x:reference_field::X& [line 24, column 25]\n *n$2.i:int&=n$4.f [line 24, column 23]\n " shape="box"] -"getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ptr* [line 33, column 23]\n n$1=*n$0.x:reference_field::X* [line 33, column 23]\n n$2=*n$1.f:int [line 33, column 23]\n *&return:int=n$2 [line 33, column 16]\n " shape="box"] + "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_2" ; +"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" [label="4: Constructor Init \n n$5=*&this:reference_field::Ref* [line 24, column 16]\n n$6=*&r_:reference_field::X& [line 24, column 18]\n *n$5.x:reference_field::X&=n$6 [line 24, column 16]\n " shape="box"] - "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_3" -> "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_2" ; -"getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_1" [label="1: Start reference_field::Ref_getF\nFormals: this:reference_field::Ref*\nLocals: \n DECLARE_LOCALS(&return); [line 25, column 3]\n " color=yellow style=filled] + "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" ; +"getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_1" [label="1: Start reference_field::Val_getI\nFormals: this:reference_field::Val*\nLocals: \n DECLARE_LOCALS(&return); [line 42, column 3]\n " color=yellow style=filled] - "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_1" -> "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_3" ; -"getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_2" [label="2: Exit reference_field::Ref_getF \n " color=yellow style=filled] + "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_1" -> "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_3" ; +"getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_2" [label="2: Exit reference_field::Val_getI \n " color=yellow style=filled] -"getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ref* [line 25, column 23]\n n$1=*n$0.x:reference_field::X& [line 25, column 23]\n n$2=*n$1.f:int [line 25, column 23]\n *&return:int=n$2 [line 25, column 16]\n " shape="box"] +"getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Val* [line 42, column 23]\n n$1=*n$0.i:int [line 42, column 23]\n *&return:int=n$1 [line 42, column 16]\n " shape="box"] - "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_3" -> "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_2" ; + "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_3" -> "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_2" ; "getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_1" [label="1: Start reference_field::Val_getF\nFormals: this:reference_field::Val*\nLocals: \n DECLARE_LOCALS(&return); [line 41, column 3]\n " color=yellow style=filled] @@ -420,37 +420,37 @@ digraph cfg { "getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_3" -> "getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_2" ; -"getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_1" [label="1: Start reference_field::Ptr_getI\nFormals: this:reference_field::Ptr*\nLocals: \n DECLARE_LOCALS(&return); [line 34, column 3]\n " color=yellow style=filled] +"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_1" [label="1: Start reference_field::Val_Val\nFormals: this:reference_field::Val* r_:reference_field::X&\nLocals: \n DECLARE_LOCALS(&return); [line 40, column 3]\n " color=yellow style=filled] - "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_1" -> "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_3" ; -"getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_2" [label="2: Exit reference_field::Ptr_getI \n " color=yellow style=filled] + "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_1" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" ; +"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_2" [label="2: Exit reference_field::Val_Val \n " color=yellow style=filled] -"getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ptr* [line 34, column 24]\n n$1=*n$0.i:int* [line 34, column 24]\n n$2=*n$1:int [line 34, column 23]\n *&return:int=n$2 [line 34, column 16]\n " shape="box"] +"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" [label="3: Constructor Init \n n$2=*&this:reference_field::Val* [line 40, column 23]\n n$3=*&this:reference_field::Val* [line 40, column 25]\n n$4=*n$3.x.f:int [line 40, column 25]\n *n$2.i:int=n$4 [line 40, column 23]\n " shape="box"] - "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_3" -> "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_2" ; -"getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_1" [label="1: Start reference_field::Ref_getI\nFormals: this:reference_field::Ref*\nLocals: \n DECLARE_LOCALS(&return); [line 26, column 3]\n " color=yellow style=filled] + "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_2" ; +"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" [label="4: Constructor Init \n n$5=*&this:reference_field::Val* [line 40, column 16]\n n$6=*&r_:reference_field::X& [line 40, column 18]\n n$7=_fun_reference_field::X_X(n$5.x:reference_field::X*,n$6:reference_field::X&) [line 40, column 16]\n " shape="box"] - "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_1" -> "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_3" ; -"getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_2" [label="2: Exit reference_field::Ref_getI \n " color=yellow style=filled] + "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" ; +"X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_1" [label="1: Start reference_field::X_X\nFormals: this:reference_field::X* __param_0:reference_field::X const &\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 8]\n " color=yellow style=filled] -"getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ref* [line 26, column 23]\n n$1=*n$0.i:int& [line 26, column 23]\n n$2=*n$1:int [line 26, column 23]\n *&return:int=n$2 [line 26, column 16]\n " shape="box"] + "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_1" -> "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_3" ; +"X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_2" [label="2: Exit reference_field::X_X \n " color=yellow style=filled] - "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_3" -> "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_2" ; -"getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_1" [label="1: Start reference_field::Val_getI\nFormals: this:reference_field::Val*\nLocals: \n DECLARE_LOCALS(&return); [line 42, column 3]\n " color=yellow style=filled] +"X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_3" [label="3: Constructor Init \n n$2=*&this:reference_field::X* [line 10, column 8]\n n$3=*&__param_0:reference_field::X const & [line 10, column 8]\n n$4=*n$3.f:int [line 10, column 8]\n *n$2.f:int=n$4 [line 10, column 8]\n " shape="box"] - "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_1" -> "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_3" ; -"getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_2" [label="2: Exit reference_field::Val_getI \n " color=yellow style=filled] + "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_3" -> "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_2" ; +"X#X#reference_field#{2751762285772383996}.b7c8700d1b15a5db2c677bfc2eb37a5f_1" [label="1: Start reference_field::X_X\nFormals: this:reference_field::X*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 8]\n " color=yellow style=filled] -"getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Val* [line 42, column 23]\n n$1=*n$0.i:int [line 42, column 23]\n *&return:int=n$1 [line 42, column 16]\n " shape="box"] + "X#X#reference_field#{2751762285772383996}.b7c8700d1b15a5db2c677bfc2eb37a5f_1" -> "X#X#reference_field#{2751762285772383996}.b7c8700d1b15a5db2c677bfc2eb37a5f_2" ; +"X#X#reference_field#{2751762285772383996}.b7c8700d1b15a5db2c677bfc2eb37a5f_2" [label="2: Exit reference_field::X_X \n " color=yellow style=filled] - "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_3" -> "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot index 757410c79..798f3f182 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot @@ -439,24 +439,6 @@ digraph cfg { "zero_ref#14077465191616488315.9f868765c76672369ef06a4d03ded4f3_3" -> "zero_ref#14077465191616488315.9f868765c76672369ef06a4d03ded4f3_2" ; -"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" [label="1: Start X_X\nFormals: this:X*\nLocals: \n DECLARE_LOCALS(&return); [line 8, column 8]\n " color=yellow style=filled] - - - "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" ; -"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" [label="2: Exit X_X \n " color=yellow style=filled] - - -"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_1" [label="1: Start X_div\nFormals: this:X*\nLocals: \n DECLARE_LOCALS(&return); [line 12, column 3]\n " color=yellow style=filled] - - - "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_1" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" ; -"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" [label="2: Exit X_div \n " color=yellow style=filled] - - -"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" [label="3: Return Stmt \n n$0=*&this:X* [line 12, column 26]\n n$1=*n$0.f:int [line 12, column 26]\n *&return:int=(1 / n$1) [line 12, column 15]\n " shape="box"] - - - "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" ; "nonzero#X#(11619218627491700674).1d7c44c6589f4c816f501055b35038bc_1" [label="1: Start X_nonzero\nFormals: this:X*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] @@ -479,4 +461,22 @@ digraph cfg { "zero#X#(16299302305861440992).e13842f7b98f126e5d2188644c16a995_3" -> "zero#X#(16299302305861440992).e13842f7b98f126e5d2188644c16a995_2" ; +"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_1" [label="1: Start X_div\nFormals: this:X*\nLocals: \n DECLARE_LOCALS(&return); [line 12, column 3]\n " color=yellow style=filled] + + + "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_1" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" ; +"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" [label="2: Exit X_div \n " color=yellow style=filled] + + +"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" [label="3: Return Stmt \n n$0=*&this:X* [line 12, column 26]\n n$1=*n$0.f:int [line 12, column 26]\n *&return:int=(1 / n$1) [line 12, column 15]\n " shape="box"] + + + "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" ; +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" [label="1: Start X_X\nFormals: this:X*\nLocals: \n DECLARE_LOCALS(&return); [line 8, column 8]\n " color=yellow style=filled] + + + "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" ; +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" [label="2: Exit X_X \n " color=yellow style=filled] + + } diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot index c17f31716..c01c04e2b 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot @@ -52,28 +52,28 @@ digraph cfg { "Base#Base#class_specialization#{16658552199303145313}.b6aa2df9eb4873c08c322ab298261cf8_2" [label="2: Exit class_specialization::Base_Base \n " color=yellow style=filled] -"Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_1" [label="1: Start class_specialization::Derived_Derived\nFormals: this:class_specialization::Derived*\nLocals: \n DECLARE_LOCALS(&return); [line 20, column 8]\n " color=yellow style=filled] +"foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_1" [label="1: Start class_specialization::Derived_foo2\nFormals: this:class_specialization::Derived* t:int*\nLocals: \n DECLARE_LOCALS(&return); [line 21, column 3]\n " color=yellow style=filled] - "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_1" -> "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" ; -"Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_2" [label="2: Exit class_specialization::Derived_Derived \n " color=yellow style=filled] + "foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_1" -> "foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_3" ; +"foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_2" [label="2: Exit class_specialization::Derived_foo2 \n " color=yellow style=filled] -"Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" [label="3: Constructor Init \n n$2=*&this:class_specialization::Derived* [line 20, column 8]\n n$3=_fun_class_specialization::Base_Base(n$2:class_specialization::Derived*) [line 20, column 8]\n " shape="box"] +"foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&this:class_specialization::Derived* [line 21, column 21]\n n$2=*&t:int* [line 21, column 31]\n *n$1.x:int*=n$2 [line 21, column 21]\n " shape="box"] - "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" -> "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_2" ; -"Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_1" [label="1: Start class_specialization::Derived_Derived\nFormals: this:class_specialization::Derived*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 8]\n " color=yellow style=filled] + "foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_3" -> "foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_2" ; +"Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_1" [label="1: Start class_specialization::Derived_Derived\nFormals: this:class_specialization::Derived*\nLocals: \n DECLARE_LOCALS(&return); [line 20, column 8]\n " color=yellow style=filled] - "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_1" -> "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" ; -"Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_2" [label="2: Exit class_specialization::Derived_Derived \n " color=yellow style=filled] + "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_1" -> "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" ; +"Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_2" [label="2: Exit class_specialization::Derived_Derived \n " color=yellow style=filled] -"Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" [label="3: Constructor Init \n n$2=*&this:class_specialization::Derived* [line 15, column 8]\n n$3=_fun_class_specialization::Base_Base(n$2:class_specialization::Derived*) [line 15, column 8]\n " shape="box"] +"Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" [label="3: Constructor Init \n n$2=*&this:class_specialization::Derived* [line 20, column 8]\n n$3=_fun_class_specialization::Base_Base(n$2:class_specialization::Derived*) [line 20, column 8]\n " shape="box"] - "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" -> "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_2" ; + "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" -> "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_2" ; "foo#Derived#class_specialization#(3691368771332090182).157c4cba925bdfdc131986d2b52af05d_1" [label="1: Start class_specialization::Derived_foo\nFormals: this:class_specialization::Derived* t:int\nLocals: \n DECLARE_LOCALS(&return); [line 16, column 3]\n " color=yellow style=filled] @@ -85,15 +85,15 @@ digraph cfg { "foo#Derived#class_specialization#(3691368771332090182).157c4cba925bdfdc131986d2b52af05d_3" -> "foo#Derived#class_specialization#(3691368771332090182).157c4cba925bdfdc131986d2b52af05d_2" ; -"foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_1" [label="1: Start class_specialization::Derived_foo2\nFormals: this:class_specialization::Derived* t:int*\nLocals: \n DECLARE_LOCALS(&return); [line 21, column 3]\n " color=yellow style=filled] +"Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_1" [label="1: Start class_specialization::Derived_Derived\nFormals: this:class_specialization::Derived*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 8]\n " color=yellow style=filled] - "foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_1" -> "foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_3" ; -"foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_2" [label="2: Exit class_specialization::Derived_foo2 \n " color=yellow style=filled] + "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_1" -> "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" ; +"Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_2" [label="2: Exit class_specialization::Derived_Derived \n " color=yellow style=filled] -"foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&this:class_specialization::Derived* [line 21, column 21]\n n$2=*&t:int* [line 21, column 31]\n *n$1.x:int*=n$2 [line 21, column 21]\n " shape="box"] +"Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" [label="3: Constructor Init \n n$2=*&this:class_specialization::Derived* [line 15, column 8]\n n$3=_fun_class_specialization::Base_Base(n$2:class_specialization::Derived*) [line 15, column 8]\n " shape="box"] - "foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_3" -> "foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_2" ; + "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" -> "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp.dot index 8c1d6383e..327eadbaa 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp.dot @@ -55,59 +55,59 @@ digraph cfg { "choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_3" -> "choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_2" ; -"call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_1" [label="1: Start ExecStore_call_div\nFormals: this:ExecStore* a:int\nLocals: \n DECLARE_LOCALS(&return); [line 22, column 3]\n " color=yellow style=filled] +"div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_1" [label="1: Start Choose1_div\nFormals: this:Choose1* a:int b:int\nLocals: \n DECLARE_LOCALS(&return); [line 9, column 3]\n " color=yellow style=filled] - "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_1" -> "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_3" ; -"call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_2" [label="2: Exit ExecStore_call_div \n " color=yellow style=filled] + "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_1" -> "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_3" ; +"div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_2" [label="2: Exit Choose1_div \n " color=yellow style=filled] -"call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_3" [label="3: Return Stmt \n n$0=*&this:ExecStore* [line 24, column 12]\n _=*n$0.f:Choose2 [line 24, column 12]\n n$2=*&a:int [line 24, column 18]\n n$3=_fun_Choose2_div(n$0.f:Choose2&,n$2:int,0:int) [line 24, column 12]\n *&return:int=n$3 [line 24, column 5]\n " shape="box"] +"div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_3" [label="3: Return Stmt \n n$0=*&a:int [line 9, column 38]\n *&return:int=(1 / n$0) [line 9, column 27]\n " shape="box"] - "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_3" -> "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_2" ; -"call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_1" [label="1: Start ExecStore_call_div\nFormals: this:ExecStore* a:int\nLocals: \n DECLARE_LOCALS(&return); [line 22, column 3]\n " color=yellow style=filled] + "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_3" -> "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_2" ; +"extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_1" [label="1: Start Choose2_extra\nFormals: this:Choose2* a:int\nLocals: \n DECLARE_LOCALS(&return); [line 16, column 3]\n " color=yellow style=filled] - "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_1" -> "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_3" ; -"call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_2" [label="2: Exit ExecStore_call_div \n " color=yellow style=filled] + "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_1" -> "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_3" ; +"extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_2" [label="2: Exit Choose2_extra \n " color=yellow style=filled] -"call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_3" [label="3: Return Stmt \n n$0=*&this:ExecStore* [line 24, column 12]\n _=*n$0.f:Choose1 [line 24, column 12]\n n$2=*&a:int [line 24, column 18]\n n$3=_fun_Choose1_div(n$0.f:Choose1&,n$2:int,0:int) [line 24, column 12]\n *&return:int=n$3 [line 24, column 5]\n " shape="box"] +"extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_3" [label="3: Return Stmt \n n$0=*&a:int [line 16, column 33]\n *&return:int=(1 / n$0) [line 16, column 22]\n " shape="box"] - "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_3" -> "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_2" ; -"div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_1" [label="1: Start Choose1_div\nFormals: this:Choose1* a:int b:int\nLocals: \n DECLARE_LOCALS(&return); [line 9, column 3]\n " color=yellow style=filled] + "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_3" -> "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_2" ; +"div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_1" [label="1: Start Choose2_div\nFormals: this:Choose2* a:int b:int\nLocals: \n DECLARE_LOCALS(&return); [line 13, column 3]\n " color=yellow style=filled] - "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_1" -> "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_3" ; -"div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_2" [label="2: Exit Choose1_div \n " color=yellow style=filled] + "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_1" -> "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_3" ; +"div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_2" [label="2: Exit Choose2_div \n " color=yellow style=filled] -"div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_3" [label="3: Return Stmt \n n$0=*&a:int [line 9, column 38]\n *&return:int=(1 / n$0) [line 9, column 27]\n " shape="box"] +"div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_3" [label="3: Return Stmt \n n$0=*&b:int [line 13, column 38]\n *&return:int=(1 / n$0) [line 13, column 27]\n " shape="box"] - "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_3" -> "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_2" ; -"div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_1" [label="1: Start Choose2_div\nFormals: this:Choose2* a:int b:int\nLocals: \n DECLARE_LOCALS(&return); [line 13, column 3]\n " color=yellow style=filled] + "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_3" -> "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_2" ; +"call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_1" [label="1: Start ExecStore_call_div\nFormals: this:ExecStore* a:int\nLocals: \n DECLARE_LOCALS(&return); [line 22, column 3]\n " color=yellow style=filled] - "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_1" -> "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_3" ; -"div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_2" [label="2: Exit Choose2_div \n " color=yellow style=filled] + "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_1" -> "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_3" ; +"call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_2" [label="2: Exit ExecStore_call_div \n " color=yellow style=filled] -"div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_3" [label="3: Return Stmt \n n$0=*&b:int [line 13, column 38]\n *&return:int=(1 / n$0) [line 13, column 27]\n " shape="box"] +"call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_3" [label="3: Return Stmt \n n$0=*&this:ExecStore* [line 24, column 12]\n _=*n$0.f:Choose2 [line 24, column 12]\n n$2=*&a:int [line 24, column 18]\n n$3=_fun_Choose2_div(n$0.f:Choose2&,n$2:int,0:int) [line 24, column 12]\n *&return:int=n$3 [line 24, column 5]\n " shape="box"] - "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_3" -> "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_2" ; -"extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_1" [label="1: Start Choose2_extra\nFormals: this:Choose2* a:int\nLocals: \n DECLARE_LOCALS(&return); [line 16, column 3]\n " color=yellow style=filled] + "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_3" -> "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_2" ; +"call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_1" [label="1: Start ExecStore_call_div\nFormals: this:ExecStore* a:int\nLocals: \n DECLARE_LOCALS(&return); [line 22, column 3]\n " color=yellow style=filled] - "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_1" -> "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_3" ; -"extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_2" [label="2: Exit Choose2_extra \n " color=yellow style=filled] + "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_1" -> "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_3" ; +"call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_2" [label="2: Exit ExecStore_call_div \n " color=yellow style=filled] -"extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_3" [label="3: Return Stmt \n n$0=*&a:int [line 16, column 33]\n *&return:int=(1 / n$0) [line 16, column 22]\n " shape="box"] +"call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_3" [label="3: Return Stmt \n n$0=*&this:ExecStore* [line 24, column 12]\n _=*n$0.f:Choose1 [line 24, column 12]\n n$2=*&a:int [line 24, column 18]\n n$3=_fun_Choose1_div(n$0.f:Choose1&,n$2:int,0:int) [line 24, column 12]\n *&return:int=n$3 [line 24, column 5]\n " shape="box"] - "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_3" -> "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_2" ; + "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_3" -> "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot index 28636d58c..f6bcaa7cc 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot @@ -134,51 +134,51 @@ digraph cfg { "getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_3" -> "getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_2" ; -"X1#X1#function#{8268447282679134664|constexpr}.0745429c26350d2b5e4ccb089a75cca3_1" [label="1: Start function::X1_X1\nFormals: this:function::X1*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 8]\n " color=yellow style=filled] +"getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_1" [label="1: Start function::X1_getVal\nFormals: this:function::X1*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 3]\n " color=yellow style=filled] - "X1#X1#function#{8268447282679134664|constexpr}.0745429c26350d2b5e4ccb089a75cca3_1" -> "X1#X1#function#{8268447282679134664|constexpr}.0745429c26350d2b5e4ccb089a75cca3_2" ; -"X1#X1#function#{8268447282679134664|constexpr}.0745429c26350d2b5e4ccb089a75cca3_2" [label="2: Exit function::X1_X1 \n " color=yellow style=filled] + "getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_1" -> "getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_3" ; +"getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_2" [label="2: Exit function::X1_getVal \n " color=yellow style=filled] -"X3#X3#function#{16145958216423895430|constexpr}.a7ec9df001ac855b3f6c0a5993984a6d_1" [label="1: Start function::X3_X3\nFormals: this:function::X3*\nLocals: \n DECLARE_LOCALS(&return); [line 18, column 8]\n " color=yellow style=filled] +"getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_3" [label="3: Return Stmt \n *&return:int=1 [line 11, column 18]\n " shape="box"] - "X3#X3#function#{16145958216423895430|constexpr}.a7ec9df001ac855b3f6c0a5993984a6d_1" -> "X3#X3#function#{16145958216423895430|constexpr}.a7ec9df001ac855b3f6c0a5993984a6d_2" ; -"X3#X3#function#{16145958216423895430|constexpr}.a7ec9df001ac855b3f6c0a5993984a6d_2" [label="2: Exit function::X3_X3 \n " color=yellow style=filled] + "getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_3" -> "getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_2" ; +"X1#X1#function#{8268447282679134664|constexpr}.0745429c26350d2b5e4ccb089a75cca3_1" [label="1: Start function::X1_X1\nFormals: this:function::X1*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 8]\n " color=yellow style=filled] -"get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_1" [label="1: Start function::X3_get\nFormals: this:function::X3*\nLocals: \n DECLARE_LOCALS(&return); [line 19, column 3]\n " color=yellow style=filled] + "X1#X1#function#{8268447282679134664|constexpr}.0745429c26350d2b5e4ccb089a75cca3_1" -> "X1#X1#function#{8268447282679134664|constexpr}.0745429c26350d2b5e4ccb089a75cca3_2" ; +"X1#X1#function#{8268447282679134664|constexpr}.0745429c26350d2b5e4ccb089a75cca3_2" [label="2: Exit function::X1_X1 \n " color=yellow style=filled] - "get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_1" -> "get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_3" ; -"get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_2" [label="2: Exit function::X3_get \n " color=yellow style=filled] +"getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_1" [label="1: Start function::X2_getVal\nFormals: this:function::X2*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 3]\n " color=yellow style=filled] -"get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_3" [label="3: Return Stmt \n *&return:int=0 [line 19, column 15]\n " shape="box"] + "getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_1" -> "getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_3" ; +"getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_2" [label="2: Exit function::X2_getVal \n " color=yellow style=filled] - "get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_3" -> "get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_2" ; -"getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_1" [label="1: Start function::X1_getVal\nFormals: this:function::X1*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 3]\n " color=yellow style=filled] +"getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 18]\n " shape="box"] - "getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_1" -> "getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_3" ; -"getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_2" [label="2: Exit function::X1_getVal \n " color=yellow style=filled] + "getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_3" -> "getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_2" ; +"get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_1" [label="1: Start function::X3_get\nFormals: this:function::X3*\nLocals: \n DECLARE_LOCALS(&return); [line 19, column 3]\n " color=yellow style=filled] -"getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_3" [label="3: Return Stmt \n *&return:int=1 [line 11, column 18]\n " shape="box"] + "get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_1" -> "get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_3" ; +"get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_2" [label="2: Exit function::X3_get \n " color=yellow style=filled] - "getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_3" -> "getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_2" ; -"getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_1" [label="1: Start function::X2_getVal\nFormals: this:function::X2*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 3]\n " color=yellow style=filled] +"get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_3" [label="3: Return Stmt \n *&return:int=0 [line 19, column 15]\n " shape="box"] - "getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_1" -> "getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_3" ; -"getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_2" [label="2: Exit function::X2_getVal \n " color=yellow style=filled] + "get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_3" -> "get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_2" ; +"X3#X3#function#{16145958216423895430|constexpr}.a7ec9df001ac855b3f6c0a5993984a6d_1" [label="1: Start function::X3_X3\nFormals: this:function::X3*\nLocals: \n DECLARE_LOCALS(&return); [line 18, column 8]\n " color=yellow style=filled] -"getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 18]\n " shape="box"] + "X3#X3#function#{16145958216423895430|constexpr}.a7ec9df001ac855b3f6c0a5993984a6d_1" -> "X3#X3#function#{16145958216423895430|constexpr}.a7ec9df001ac855b3f6c0a5993984a6d_2" ; +"X3#X3#function#{16145958216423895430|constexpr}.a7ec9df001ac855b3f6c0a5993984a6d_2" [label="2: Exit function::X3_X3 \n " color=yellow style=filled] - "getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_3" -> "getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot index e833a649e..bedf194d5 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot @@ -130,152 +130,152 @@ digraph cfg { "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_6" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_5" ; -"Getter#Getter#method#{6538771732485235037|constexpr}.4e1a7679a514fd95621c9e075c8974f6_1" [label="1: Start method::Getter_Getter\nFormals: this:method::Getter*\nLocals: \n DECLARE_LOCALS(&return); [line 22, column 8]\n " color=yellow style=filled] +"get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_1" [label="1: Start method::Getter_get\nFormals: this:method::Getter* s:method::X2&\nLocals: \n DECLARE_LOCALS(&return); [line 24, column 3]\n " color=yellow style=filled] - "Getter#Getter#method#{6538771732485235037|constexpr}.4e1a7679a514fd95621c9e075c8974f6_1" -> "Getter#Getter#method#{6538771732485235037|constexpr}.4e1a7679a514fd95621c9e075c8974f6_2" ; -"Getter#Getter#method#{6538771732485235037|constexpr}.4e1a7679a514fd95621c9e075c8974f6_2" [label="2: Exit method::Getter_Getter \n " color=yellow style=filled] + "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_1" -> "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_3" ; +"get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_2" [label="2: Exit method::Getter_get \n " color=yellow style=filled] -"GetterTempl#GetterTempl#method#{11902154262179469385|constexpr}.419d9b7f14a1b25d173f0430e77d8bfb_1" [label="1: Start method::GetterTempl_GetterTempl\nFormals: this:method::GetterTempl*\nLocals: \n DECLARE_LOCALS(&return); [line 30, column 8]\n " color=yellow style=filled] +"get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_3" [label="3: Return Stmt \n n$0=*&s:method::X2& [line 25, column 12]\n _=*n$0:method::X2 [line 25, column 12]\n n$2=_fun_method::X2_get(n$0:method::X2&) [line 25, column 12]\n *&return:int=n$2 [line 25, column 5]\n " shape="box"] - "GetterTempl#GetterTempl#method#{11902154262179469385|constexpr}.419d9b7f14a1b25d173f0430e77d8bfb_1" -> "GetterTempl#GetterTempl#method#{11902154262179469385|constexpr}.419d9b7f14a1b25d173f0430e77d8bfb_2" ; -"GetterTempl#GetterTempl#method#{11902154262179469385|constexpr}.419d9b7f14a1b25d173f0430e77d8bfb_2" [label="2: Exit method::GetterTempl_GetterTempl \n " color=yellow style=filled] + "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_3" -> "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_2" ; +"get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_1" [label="1: Start method::Getter_get\nFormals: this:method::Getter* s:method::X1&\nLocals: \n DECLARE_LOCALS(&return); [line 24, column 3]\n " color=yellow style=filled] -"GetterTempl#GetterTempl#method#{18312978847092644663|constexpr}.45498dd9c6ecdd204d778582a0198bd9_1" [label="1: Start method::GetterTempl_GetterTempl\nFormals: this:method::GetterTempl*\nLocals: \n DECLARE_LOCALS(&return); [line 30, column 8]\n " color=yellow style=filled] + "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_1" -> "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_3" ; +"get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_2" [label="2: Exit method::Getter_get \n " color=yellow style=filled] - "GetterTempl#GetterTempl#method#{18312978847092644663|constexpr}.45498dd9c6ecdd204d778582a0198bd9_1" -> "GetterTempl#GetterTempl#method#{18312978847092644663|constexpr}.45498dd9c6ecdd204d778582a0198bd9_2" ; -"GetterTempl#GetterTempl#method#{18312978847092644663|constexpr}.45498dd9c6ecdd204d778582a0198bd9_2" [label="2: Exit method::GetterTempl_GetterTempl \n " color=yellow style=filled] +"get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_3" [label="3: Return Stmt \n n$0=*&s:method::X1& [line 25, column 12]\n _=*n$0:method::X1 [line 25, column 12]\n n$2=_fun_method::X1_get(n$0:method::X1&) [line 25, column 12]\n *&return:int=n$2 [line 25, column 5]\n " shape="box"] -"GetterTempl#GetterTempl#method#{13405882915250525948|constexpr}.eb82a5c0e827f04da7e438cdbeef1353_1" [label="1: Start method::GetterTempl_GetterTempl\nFormals: this:method::GetterTempl*\nLocals: \n DECLARE_LOCALS(&return); [line 30, column 8]\n " color=yellow style=filled] + "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_3" -> "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_2" ; +"Getter#Getter#method#{6538771732485235037|constexpr}.4e1a7679a514fd95621c9e075c8974f6_1" [label="1: Start method::Getter_Getter\nFormals: this:method::Getter*\nLocals: \n DECLARE_LOCALS(&return); [line 22, column 8]\n " color=yellow style=filled] - "GetterTempl#GetterTempl#method#{13405882915250525948|constexpr}.eb82a5c0e827f04da7e438cdbeef1353_1" -> "GetterTempl#GetterTempl#method#{13405882915250525948|constexpr}.eb82a5c0e827f04da7e438cdbeef1353_2" ; -"GetterTempl#GetterTempl#method#{13405882915250525948|constexpr}.eb82a5c0e827f04da7e438cdbeef1353_2" [label="2: Exit method::GetterTempl_GetterTempl \n " color=yellow style=filled] + "Getter#Getter#method#{6538771732485235037|constexpr}.4e1a7679a514fd95621c9e075c8974f6_1" -> "Getter#Getter#method#{6538771732485235037|constexpr}.4e1a7679a514fd95621c9e075c8974f6_2" ; +"Getter#Getter#method#{6538771732485235037|constexpr}.4e1a7679a514fd95621c9e075c8974f6_2" [label="2: Exit method::Getter_Getter \n " color=yellow style=filled] -"X1#X1#method#{8420971029337099969|constexpr}.8e02b6260f5b71b6111249d54e85e5c8_1" [label="1: Start method::X1_X1\nFormals: this:method::X1*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 8]\n " color=yellow style=filled] +"get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_1" [label="1: Start method::GetterTempl_get\nFormals: this:method::GetterTempl* t:method::X1& s:method::X1&\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 3]\n " color=yellow style=filled] - "X1#X1#method#{8420971029337099969|constexpr}.8e02b6260f5b71b6111249d54e85e5c8_1" -> "X1#X1#method#{8420971029337099969|constexpr}.8e02b6260f5b71b6111249d54e85e5c8_2" ; -"X1#X1#method#{8420971029337099969|constexpr}.8e02b6260f5b71b6111249d54e85e5c8_2" [label="2: Exit method::X1_X1 \n " color=yellow style=filled] + "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_1" -> "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_3" ; +"get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_2" [label="2: Exit method::GetterTempl_get \n " color=yellow style=filled] -"X2#X2#method#{4336714802122402348|constexpr}.917ee3865c4e917429f86bc2ade48e3a_1" [label="1: Start method::X2_X2\nFormals: this:method::X2*\nLocals: \n DECLARE_LOCALS(&return); [line 14, column 8]\n " color=yellow style=filled] +"get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_3" [label="3: Return Stmt \n n$0=*&t:method::X1& [line 33, column 12]\n _=*n$0:method::X1 [line 33, column 12]\n n$2=_fun_method::X1_get(n$0:method::X1&) [line 33, column 12]\n n$3=*&s:method::X1& [line 33, column 22]\n _=*n$3:method::X1 [line 33, column 22]\n n$5=_fun_method::X1_get(n$3:method::X1&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] - "X2#X2#method#{4336714802122402348|constexpr}.917ee3865c4e917429f86bc2ade48e3a_1" -> "X2#X2#method#{4336714802122402348|constexpr}.917ee3865c4e917429f86bc2ade48e3a_2" ; -"X2#X2#method#{4336714802122402348|constexpr}.917ee3865c4e917429f86bc2ade48e3a_2" [label="2: Exit method::X2_X2 \n " color=yellow style=filled] + "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_3" -> "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_2" ; +"GetterTempl#GetterTempl#method#{11902154262179469385|constexpr}.419d9b7f14a1b25d173f0430e77d8bfb_1" [label="1: Start method::GetterTempl_GetterTempl\nFormals: this:method::GetterTempl*\nLocals: \n DECLARE_LOCALS(&return); [line 30, column 8]\n " color=yellow style=filled] -"X3#X3#method#{15810469599489961747|constexpr}.84155345220e181916e4d12f0c8086cb_1" [label="1: Start method::X3_X3\nFormals: this:method::X3*\nLocals: \n DECLARE_LOCALS(&return); [line 18, column 8]\n " color=yellow style=filled] + "GetterTempl#GetterTempl#method#{11902154262179469385|constexpr}.419d9b7f14a1b25d173f0430e77d8bfb_1" -> "GetterTempl#GetterTempl#method#{11902154262179469385|constexpr}.419d9b7f14a1b25d173f0430e77d8bfb_2" ; +"GetterTempl#GetterTempl#method#{11902154262179469385|constexpr}.419d9b7f14a1b25d173f0430e77d8bfb_2" [label="2: Exit method::GetterTempl_GetterTempl \n " color=yellow style=filled] - "X3#X3#method#{15810469599489961747|constexpr}.84155345220e181916e4d12f0c8086cb_1" -> "X3#X3#method#{15810469599489961747|constexpr}.84155345220e181916e4d12f0c8086cb_2" ; -"X3#X3#method#{15810469599489961747|constexpr}.84155345220e181916e4d12f0c8086cb_2" [label="2: Exit method::X3_X3 \n " color=yellow style=filled] +"get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_1" [label="1: Start method::GetterTempl_get\nFormals: this:method::GetterTempl* t:method::X3& s:method::X2&\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 3]\n " color=yellow style=filled] -"get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_1" [label="1: Start method::X1_get\nFormals: this:method::X1*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 3]\n " color=yellow style=filled] + "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_1" -> "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_3" ; +"get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_2" [label="2: Exit method::GetterTempl_get \n " color=yellow style=filled] - "get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_1" -> "get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_3" ; -"get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_2" [label="2: Exit method::X1_get \n " color=yellow style=filled] +"get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_3" [label="3: Return Stmt \n n$0=*&t:method::X3& [line 33, column 12]\n _=*n$0:method::X3 [line 33, column 12]\n n$2=_fun_method::X3_get(n$0:method::X3&) [line 33, column 12]\n n$3=*&s:method::X2& [line 33, column 22]\n _=*n$3:method::X2 [line 33, column 22]\n n$5=_fun_method::X2_get(n$3:method::X2&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] -"get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_3" [label="3: Return Stmt \n *&return:int=1 [line 11, column 15]\n " shape="box"] + "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_3" -> "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_2" ; +"GetterTempl#GetterTempl#method#{18312978847092644663|constexpr}.45498dd9c6ecdd204d778582a0198bd9_1" [label="1: Start method::GetterTempl_GetterTempl\nFormals: this:method::GetterTempl*\nLocals: \n DECLARE_LOCALS(&return); [line 30, column 8]\n " color=yellow style=filled] - "get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_3" -> "get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_2" ; -"get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_1" [label="1: Start method::X2_get\nFormals: this:method::X2*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 3]\n " color=yellow style=filled] + "GetterTempl#GetterTempl#method#{18312978847092644663|constexpr}.45498dd9c6ecdd204d778582a0198bd9_1" -> "GetterTempl#GetterTempl#method#{18312978847092644663|constexpr}.45498dd9c6ecdd204d778582a0198bd9_2" ; +"GetterTempl#GetterTempl#method#{18312978847092644663|constexpr}.45498dd9c6ecdd204d778582a0198bd9_2" [label="2: Exit method::GetterTempl_GetterTempl \n " color=yellow style=filled] - "get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_1" -> "get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_3" ; -"get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_2" [label="2: Exit method::X2_get \n " color=yellow style=filled] +"get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_1" [label="1: Start method::GetterTempl_get\nFormals: this:method::GetterTempl* t:method::X2& s:method::X2&\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 3]\n " color=yellow style=filled] -"get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 15]\n " shape="box"] + "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_1" -> "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_3" ; +"get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_2" [label="2: Exit method::GetterTempl_get \n " color=yellow style=filled] - "get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_3" -> "get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_2" ; -"get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_1" [label="1: Start method::X3_get\nFormals: this:method::X3*\nLocals: \n DECLARE_LOCALS(&return); [line 19, column 3]\n " color=yellow style=filled] +"get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_3" [label="3: Return Stmt \n n$0=*&t:method::X2& [line 33, column 12]\n _=*n$0:method::X2 [line 33, column 12]\n n$2=_fun_method::X2_get(n$0:method::X2&) [line 33, column 12]\n n$3=*&s:method::X2& [line 33, column 22]\n _=*n$3:method::X2 [line 33, column 22]\n n$5=_fun_method::X2_get(n$3:method::X2&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] - "get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_1" -> "get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_3" ; -"get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_2" [label="2: Exit method::X3_get \n " color=yellow style=filled] + "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_3" -> "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_2" ; +"get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_1" [label="1: Start method::GetterTempl_get\nFormals: this:method::GetterTempl* t:method::X2& s:method::X1&\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 3]\n " color=yellow style=filled] -"get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_3" [label="3: Return Stmt \n *&return:int=0 [line 19, column 15]\n " shape="box"] + "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_1" -> "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_3" ; +"get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_2" [label="2: Exit method::GetterTempl_get \n " color=yellow style=filled] - "get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_3" -> "get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_2" ; -"get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_1" [label="1: Start method::Getter_get\nFormals: this:method::Getter* s:method::X1&\nLocals: \n DECLARE_LOCALS(&return); [line 24, column 3]\n " color=yellow style=filled] +"get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_3" [label="3: Return Stmt \n n$0=*&t:method::X2& [line 33, column 12]\n _=*n$0:method::X2 [line 33, column 12]\n n$2=_fun_method::X2_get(n$0:method::X2&) [line 33, column 12]\n n$3=*&s:method::X1& [line 33, column 22]\n _=*n$3:method::X1 [line 33, column 22]\n n$5=_fun_method::X1_get(n$3:method::X1&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] - "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_1" -> "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_3" ; -"get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_2" [label="2: Exit method::Getter_get \n " color=yellow style=filled] + "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_3" -> "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_2" ; +"GetterTempl#GetterTempl#method#{13405882915250525948|constexpr}.eb82a5c0e827f04da7e438cdbeef1353_1" [label="1: Start method::GetterTempl_GetterTempl\nFormals: this:method::GetterTempl*\nLocals: \n DECLARE_LOCALS(&return); [line 30, column 8]\n " color=yellow style=filled] -"get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_3" [label="3: Return Stmt \n n$0=*&s:method::X1& [line 25, column 12]\n _=*n$0:method::X1 [line 25, column 12]\n n$2=_fun_method::X1_get(n$0:method::X1&) [line 25, column 12]\n *&return:int=n$2 [line 25, column 5]\n " shape="box"] + "GetterTempl#GetterTempl#method#{13405882915250525948|constexpr}.eb82a5c0e827f04da7e438cdbeef1353_1" -> "GetterTempl#GetterTempl#method#{13405882915250525948|constexpr}.eb82a5c0e827f04da7e438cdbeef1353_2" ; +"GetterTempl#GetterTempl#method#{13405882915250525948|constexpr}.eb82a5c0e827f04da7e438cdbeef1353_2" [label="2: Exit method::GetterTempl_GetterTempl \n " color=yellow style=filled] - "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_3" -> "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_2" ; -"get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_1" [label="1: Start method::GetterTempl_get\nFormals: this:method::GetterTempl* t:method::X1& s:method::X1&\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 3]\n " color=yellow style=filled] +"get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_1" [label="1: Start method::X1_get\nFormals: this:method::X1*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 3]\n " color=yellow style=filled] - "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_1" -> "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_3" ; -"get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_2" [label="2: Exit method::GetterTempl_get \n " color=yellow style=filled] + "get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_1" -> "get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_3" ; +"get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_2" [label="2: Exit method::X1_get \n " color=yellow style=filled] -"get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_3" [label="3: Return Stmt \n n$0=*&t:method::X1& [line 33, column 12]\n _=*n$0:method::X1 [line 33, column 12]\n n$2=_fun_method::X1_get(n$0:method::X1&) [line 33, column 12]\n n$3=*&s:method::X1& [line 33, column 22]\n _=*n$3:method::X1 [line 33, column 22]\n n$5=_fun_method::X1_get(n$3:method::X1&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] +"get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_3" [label="3: Return Stmt \n *&return:int=1 [line 11, column 15]\n " shape="box"] - "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_3" -> "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_2" ; -"get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_1" [label="1: Start method::GetterTempl_get\nFormals: this:method::GetterTempl* t:method::X2& s:method::X1&\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 3]\n " color=yellow style=filled] + "get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_3" -> "get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_2" ; +"X1#X1#method#{8420971029337099969|constexpr}.8e02b6260f5b71b6111249d54e85e5c8_1" [label="1: Start method::X1_X1\nFormals: this:method::X1*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 8]\n " color=yellow style=filled] - "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_1" -> "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_3" ; -"get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_2" [label="2: Exit method::GetterTempl_get \n " color=yellow style=filled] + "X1#X1#method#{8420971029337099969|constexpr}.8e02b6260f5b71b6111249d54e85e5c8_1" -> "X1#X1#method#{8420971029337099969|constexpr}.8e02b6260f5b71b6111249d54e85e5c8_2" ; +"X1#X1#method#{8420971029337099969|constexpr}.8e02b6260f5b71b6111249d54e85e5c8_2" [label="2: Exit method::X1_X1 \n " color=yellow style=filled] -"get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_3" [label="3: Return Stmt \n n$0=*&t:method::X2& [line 33, column 12]\n _=*n$0:method::X2 [line 33, column 12]\n n$2=_fun_method::X2_get(n$0:method::X2&) [line 33, column 12]\n n$3=*&s:method::X1& [line 33, column 22]\n _=*n$3:method::X1 [line 33, column 22]\n n$5=_fun_method::X1_get(n$3:method::X1&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] +"get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_1" [label="1: Start method::X2_get\nFormals: this:method::X2*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 3]\n " color=yellow style=filled] - "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_3" -> "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_2" ; -"get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_1" [label="1: Start method::Getter_get\nFormals: this:method::Getter* s:method::X2&\nLocals: \n DECLARE_LOCALS(&return); [line 24, column 3]\n " color=yellow style=filled] + "get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_1" -> "get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_3" ; +"get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_2" [label="2: Exit method::X2_get \n " color=yellow style=filled] - "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_1" -> "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_3" ; -"get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_2" [label="2: Exit method::Getter_get \n " color=yellow style=filled] +"get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 15]\n " shape="box"] -"get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_3" [label="3: Return Stmt \n n$0=*&s:method::X2& [line 25, column 12]\n _=*n$0:method::X2 [line 25, column 12]\n n$2=_fun_method::X2_get(n$0:method::X2&) [line 25, column 12]\n *&return:int=n$2 [line 25, column 5]\n " shape="box"] + "get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_3" -> "get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_2" ; +"X2#X2#method#{4336714802122402348|constexpr}.917ee3865c4e917429f86bc2ade48e3a_1" [label="1: Start method::X2_X2\nFormals: this:method::X2*\nLocals: \n DECLARE_LOCALS(&return); [line 14, column 8]\n " color=yellow style=filled] - "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_3" -> "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_2" ; -"get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_1" [label="1: Start method::GetterTempl_get\nFormals: this:method::GetterTempl* t:method::X3& s:method::X2&\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 3]\n " color=yellow style=filled] + "X2#X2#method#{4336714802122402348|constexpr}.917ee3865c4e917429f86bc2ade48e3a_1" -> "X2#X2#method#{4336714802122402348|constexpr}.917ee3865c4e917429f86bc2ade48e3a_2" ; +"X2#X2#method#{4336714802122402348|constexpr}.917ee3865c4e917429f86bc2ade48e3a_2" [label="2: Exit method::X2_X2 \n " color=yellow style=filled] - "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_1" -> "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_3" ; -"get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_2" [label="2: Exit method::GetterTempl_get \n " color=yellow style=filled] +"get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_1" [label="1: Start method::X3_get\nFormals: this:method::X3*\nLocals: \n DECLARE_LOCALS(&return); [line 19, column 3]\n " color=yellow style=filled] -"get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_3" [label="3: Return Stmt \n n$0=*&t:method::X3& [line 33, column 12]\n _=*n$0:method::X3 [line 33, column 12]\n n$2=_fun_method::X3_get(n$0:method::X3&) [line 33, column 12]\n n$3=*&s:method::X2& [line 33, column 22]\n _=*n$3:method::X2 [line 33, column 22]\n n$5=_fun_method::X2_get(n$3:method::X2&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] + "get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_1" -> "get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_3" ; +"get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_2" [label="2: Exit method::X3_get \n " color=yellow style=filled] - "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_3" -> "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_2" ; -"get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_1" [label="1: Start method::GetterTempl_get\nFormals: this:method::GetterTempl* t:method::X2& s:method::X2&\nLocals: \n DECLARE_LOCALS(&return); [line 32, column 3]\n " color=yellow style=filled] +"get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_3" [label="3: Return Stmt \n *&return:int=0 [line 19, column 15]\n " shape="box"] - "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_1" -> "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_3" ; -"get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_2" [label="2: Exit method::GetterTempl_get \n " color=yellow style=filled] + "get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_3" -> "get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_2" ; +"X3#X3#method#{15810469599489961747|constexpr}.84155345220e181916e4d12f0c8086cb_1" [label="1: Start method::X3_X3\nFormals: this:method::X3*\nLocals: \n DECLARE_LOCALS(&return); [line 18, column 8]\n " color=yellow style=filled] -"get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_3" [label="3: Return Stmt \n n$0=*&t:method::X2& [line 33, column 12]\n _=*n$0:method::X2 [line 33, column 12]\n n$2=_fun_method::X2_get(n$0:method::X2&) [line 33, column 12]\n n$3=*&s:method::X2& [line 33, column 22]\n _=*n$3:method::X2 [line 33, column 22]\n n$5=_fun_method::X2_get(n$3:method::X2&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] + "X3#X3#method#{15810469599489961747|constexpr}.84155345220e181916e4d12f0c8086cb_1" -> "X3#X3#method#{15810469599489961747|constexpr}.84155345220e181916e4d12f0c8086cb_2" ; +"X3#X3#method#{15810469599489961747|constexpr}.84155345220e181916e4d12f0c8086cb_2" [label="2: Exit method::X3_X3 \n " color=yellow style=filled] - "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_3" -> "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot index 00bcb8d74..fffd086f7 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot @@ -43,24 +43,17 @@ digraph cfg { "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_11" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" ; -"Base#Base#{1639731840162335252|constexpr}.1cedec9037fb5c6b979582f8fd045cfb_1" [label="1: Start Base_Base\nFormals: this:Base*\nLocals: \n DECLARE_LOCALS(&return); [line 8, column 7]\n " color=yellow style=filled] - - - "Base#Base#{1639731840162335252|constexpr}.1cedec9037fb5c6b979582f8fd045cfb_1" -> "Base#Base#{1639731840162335252|constexpr}.1cedec9037fb5c6b979582f8fd045cfb_2" ; -"Base#Base#{1639731840162335252|constexpr}.1cedec9037fb5c6b979582f8fd045cfb_2" [label="2: Exit Base_Base \n " color=yellow style=filled] - - -"Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_1" [label="1: Start Sub_Sub\nFormals: this:Sub*\nLocals: \n DECLARE_LOCALS(&return); [line 14, column 7]\n " color=yellow style=filled] +"fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_1" [label="1: Start Base_fun_redefine\nFormals: this:Base*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 3]\n " color=yellow style=filled] - "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_1" -> "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" ; -"Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_2" [label="2: Exit Sub_Sub \n " color=yellow style=filled] + "fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_1" -> "fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_3" ; +"fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_2" [label="2: Exit Base_fun_redefine \n " color=yellow style=filled] -"Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" [label="3: Constructor Init \n n$2=*&this:Sub* [line 14, column 7]\n n$3=_fun_Base_Base(n$2:Sub*) [line 14, column 7]\n " shape="box"] +"fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_3" [label="3: Return Stmt \n *&return:int=10 [line 11, column 24]\n " shape="box"] - "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" -> "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_2" ; + "fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_3" -> "fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_2" ; "fun#Base#(4745240833868289958).678df3fd06599dafd933a3bb8b9491bc_1" [label="1: Start Base_fun\nFormals: this:Base*\nLocals: \n DECLARE_LOCALS(&return); [line 10, column 3]\n " color=yellow style=filled] @@ -72,17 +65,13 @@ digraph cfg { "fun#Base#(4745240833868289958).678df3fd06599dafd933a3bb8b9491bc_3" -> "fun#Base#(4745240833868289958).678df3fd06599dafd933a3bb8b9491bc_2" ; -"fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_1" [label="1: Start Base_fun_redefine\nFormals: this:Base*\nLocals: \n DECLARE_LOCALS(&return); [line 11, column 3]\n " color=yellow style=filled] - - - "fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_1" -> "fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_3" ; -"fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_2" [label="2: Exit Base_fun_redefine \n " color=yellow style=filled] +"Base#Base#{1639731840162335252|constexpr}.1cedec9037fb5c6b979582f8fd045cfb_1" [label="1: Start Base_Base\nFormals: this:Base*\nLocals: \n DECLARE_LOCALS(&return); [line 8, column 7]\n " color=yellow style=filled] -"fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_3" [label="3: Return Stmt \n *&return:int=10 [line 11, column 24]\n " shape="box"] + "Base#Base#{1639731840162335252|constexpr}.1cedec9037fb5c6b979582f8fd045cfb_1" -> "Base#Base#{1639731840162335252|constexpr}.1cedec9037fb5c6b979582f8fd045cfb_2" ; +"Base#Base#{1639731840162335252|constexpr}.1cedec9037fb5c6b979582f8fd045cfb_2" [label="2: Exit Base_Base \n " color=yellow style=filled] - "fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_3" -> "fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_2" ; "fun_redefine#Sub#(17129416942188381963).92112cf746626b3b7cdf24f41680fdb8_1" [label="1: Start Sub_fun_redefine\nFormals: this:Sub*\nLocals: \n DECLARE_LOCALS(&return); [line 16, column 3]\n " color=yellow style=filled] @@ -94,4 +83,15 @@ digraph cfg { "fun_redefine#Sub#(17129416942188381963).92112cf746626b3b7cdf24f41680fdb8_3" -> "fun_redefine#Sub#(17129416942188381963).92112cf746626b3b7cdf24f41680fdb8_2" ; +"Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_1" [label="1: Start Sub_Sub\nFormals: this:Sub*\nLocals: \n DECLARE_LOCALS(&return); [line 14, column 7]\n " color=yellow style=filled] + + + "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_1" -> "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" ; +"Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_2" [label="2: Exit Sub_Sub \n " color=yellow style=filled] + + +"Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" [label="3: Constructor Init \n n$2=*&this:Sub* [line 14, column 7]\n n$3=_fun_Base_Base(n$2:Sub*) [line 14, column 7]\n " shape="box"] + + + "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" -> "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot index 5efdb336c..b154557a4 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot @@ -97,6 +97,17 @@ digraph cfg { "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_3" -> "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_2" ; +"div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_1" [label="1: Start return_struct::X_div\nFormals: this:return_struct::X*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 3]\n " color=yellow style=filled] + + + "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_1" -> "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_3" ; +"div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_2" [label="2: Exit return_struct::X_div \n " color=yellow style=filled] + + +"div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_3" [label="3: Return Stmt \n n$0=*&this:return_struct::X* [line 15, column 26]\n n$1=*n$0.f:int [line 15, column 26]\n *&return:int=(1 / n$1) [line 15, column 15]\n " shape="box"] + + + "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_3" -> "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_2" ; "X#X#return_struct#{16980707005325791470}.5cc7c757bfe221e617030d485a90aa08_1" [label="1: Start return_struct::X_X\nFormals: this:return_struct::X*\nLocals: \n DECLARE_LOCALS(&return); [line 14, column 3]\n " color=yellow style=filled] @@ -119,15 +130,4 @@ digraph cfg { "X#X#return_struct#{2874542973664462157}.c7820661c77babcd49c610d7742e613f_3" -> "X#X#return_struct#{2874542973664462157}.c7820661c77babcd49c610d7742e613f_2" ; -"div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_1" [label="1: Start return_struct::X_div\nFormals: this:return_struct::X*\nLocals: \n DECLARE_LOCALS(&return); [line 15, column 3]\n " color=yellow style=filled] - - - "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_1" -> "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_3" ; -"div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_2" [label="2: Exit return_struct::X_div \n " color=yellow style=filled] - - -"div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_3" [label="3: Return Stmt \n n$0=*&this:return_struct::X* [line 15, column 26]\n n$1=*n$0.f:int [line 15, column 26]\n *&return:int=(1 / n$1) [line 15, column 15]\n " shape="box"] - - - "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_3" -> "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/types/struct_forward_declare.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/struct_forward_declare.cpp.dot index 10c12faff..7df658621 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/struct_forward_declare.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/struct_forward_declare.cpp.dot @@ -119,20 +119,6 @@ digraph cfg { "fun_with_Z#struct_forward_declare#10740368644462176169.5b35208973ee3067771f8ce79f1cde31_3" -> "fun_with_Z#struct_forward_declare#10740368644462176169.5b35208973ee3067771f8ce79f1cde31_2" ; -"X#X#struct_forward_declare#{12172734746422509138}.f95806aaac40e962cb02caab9f49a493_1" [label="1: Start struct_forward_declare::X_X\nFormals: this:struct_forward_declare::X*\nLocals: \n DECLARE_LOCALS(&return); [line 17, column 8]\n " color=yellow style=filled] - - - "X#X#struct_forward_declare#{12172734746422509138}.f95806aaac40e962cb02caab9f49a493_1" -> "X#X#struct_forward_declare#{12172734746422509138}.f95806aaac40e962cb02caab9f49a493_2" ; -"X#X#struct_forward_declare#{12172734746422509138}.f95806aaac40e962cb02caab9f49a493_2" [label="2: Exit struct_forward_declare::X_X \n " color=yellow style=filled] - - -"Z#Z#struct_forward_declare#{16651271592300819332}.ef9c70a1786f586f582ba5bab79ecd77_1" [label="1: Start struct_forward_declare::Z_Z\nFormals: this:struct_forward_declare::Z*\nLocals: \n DECLARE_LOCALS(&return); [line 26, column 8]\n " color=yellow style=filled] - - - "Z#Z#struct_forward_declare#{16651271592300819332}.ef9c70a1786f586f582ba5bab79ecd77_1" -> "Z#Z#struct_forward_declare#{16651271592300819332}.ef9c70a1786f586f582ba5bab79ecd77_2" ; -"Z#Z#struct_forward_declare#{16651271592300819332}.ef9c70a1786f586f582ba5bab79ecd77_2" [label="2: Exit struct_forward_declare::Z_Z \n " color=yellow style=filled] - - "getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_1" [label="1: Start struct_forward_declare::X_getF\nFormals: this:struct_forward_declare::X*\nLocals: \n DECLARE_LOCALS(&return); [line 19, column 3]\n " color=yellow style=filled] @@ -144,6 +130,13 @@ digraph cfg { "getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_3" -> "getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_2" ; +"X#X#struct_forward_declare#{12172734746422509138}.f95806aaac40e962cb02caab9f49a493_1" [label="1: Start struct_forward_declare::X_X\nFormals: this:struct_forward_declare::X*\nLocals: \n DECLARE_LOCALS(&return); [line 17, column 8]\n " color=yellow style=filled] + + + "X#X#struct_forward_declare#{12172734746422509138}.f95806aaac40e962cb02caab9f49a493_1" -> "X#X#struct_forward_declare#{12172734746422509138}.f95806aaac40e962cb02caab9f49a493_2" ; +"X#X#struct_forward_declare#{12172734746422509138}.f95806aaac40e962cb02caab9f49a493_2" [label="2: Exit struct_forward_declare::X_X \n " color=yellow style=filled] + + "getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_1" [label="1: Start struct_forward_declare::Z_getF\nFormals: this:struct_forward_declare::Z*\nLocals: \n DECLARE_LOCALS(&return); [line 28, column 3]\n " color=yellow style=filled] @@ -155,4 +148,11 @@ digraph cfg { "getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_3" -> "getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_2" ; +"Z#Z#struct_forward_declare#{16651271592300819332}.ef9c70a1786f586f582ba5bab79ecd77_1" [label="1: Start struct_forward_declare::Z_Z\nFormals: this:struct_forward_declare::Z*\nLocals: \n DECLARE_LOCALS(&return); [line 26, column 8]\n " color=yellow style=filled] + + + "Z#Z#struct_forward_declare#{16651271592300819332}.ef9c70a1786f586f582ba5bab79ecd77_1" -> "Z#Z#struct_forward_declare#{16651271592300819332}.ef9c70a1786f586f582ba5bab79ecd77_2" ; +"Z#Z#struct_forward_declare#{16651271592300819332}.ef9c70a1786f586f582ba5bab79ecd77_2" [label="2: Exit struct_forward_declare::Z_Z \n " color=yellow style=filled] + + } diff --git a/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot b/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot index 2965874c6..8a3a7ab30 100644 --- a/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot @@ -34,17 +34,17 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"objc_blockA_capture_1.6fdcfe58244de8603cec62dad07f2ae4_1" [label="1: Start objc_blockA_capture_1\nFormals: self:A* d:D*\nLocals: \nCaptured: self:A* \n DECLARE_LOCALS(&return); [line 45, column 16]\n " color=yellow style=filled] +"objc_blockA_capture_1(class D).ce4342d16a7487aa29e55ea807813fe8_1" [label="1: Start objc_blockA_capture_1\nFormals: self:A* d:D*\nLocals: \nCaptured: self:A* \n DECLARE_LOCALS(&return); [line 45, column 16]\n " color=yellow style=filled] - "objc_blockA_capture_1.6fdcfe58244de8603cec62dad07f2ae4_1" -> "objc_blockA_capture_1.6fdcfe58244de8603cec62dad07f2ae4_3" ; -"objc_blockA_capture_1.6fdcfe58244de8603cec62dad07f2ae4_2" [label="2: Exit objc_blockA_capture_1 \n " color=yellow style=filled] + "objc_blockA_capture_1(class D).ce4342d16a7487aa29e55ea807813fe8_1" -> "objc_blockA_capture_1(class D).ce4342d16a7487aa29e55ea807813fe8_3" ; +"objc_blockA_capture_1(class D).ce4342d16a7487aa29e55ea807813fe8_2" [label="2: Exit objc_blockA_capture_1 \n " color=yellow style=filled] -"objc_blockA_capture_1.6fdcfe58244de8603cec62dad07f2ae4_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&self:A* [line 46, column 5]\n n$2=*&d:D* [line 46, column 13]\n *n$1._data:D*=n$2 [line 46, column 5]\n " shape="box"] +"objc_blockA_capture_1(class D).ce4342d16a7487aa29e55ea807813fe8_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&self:A* [line 46, column 5]\n n$2=*&d:D* [line 46, column 13]\n *n$1._data:D*=n$2 [line 46, column 5]\n " shape="box"] - "objc_blockA_capture_1.6fdcfe58244de8603cec62dad07f2ae4_3" -> "objc_blockA_capture_1.6fdcfe58244de8603cec62dad07f2ae4_2" ; + "objc_blockA_capture_1(class D).ce4342d16a7487aa29e55ea807813fe8_3" -> "objc_blockA_capture_1(class D).ce4342d16a7487aa29e55ea807813fe8_2" ; "capture#A#instance.d411336575e4bf632a1828f5f5979726_1" [label="1: Start A_capture\nFormals: self:A*\nLocals: \n DECLARE_LOCALS(&return); [line 43, column 1]\n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot b/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot index 71f04a129..587baf8e5 100644 --- a/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot @@ -32,13 +32,6 @@ digraph cfg { "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_8" -> "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_5" ; "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_8" -> "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_6" ; -"b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_1" [label="1: Start B_b_m\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 18, column 1]\n " color=yellow style=filled] - - - "b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_1" -> "b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_2" ; -"b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_2" [label="2: Exit B_b_m \n " color=yellow style=filled] - - "call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_1" [label="1: Start A_call_alloc_class\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 55, column 1]\n " color=yellow style=filled] @@ -50,6 +43,71 @@ digraph cfg { "call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_3" -> "call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_2" ; +"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_1" [label="1: Start A_call_test_class\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 51, column 1]\n " color=yellow style=filled] + + + "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_1" -> "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" ; +"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_2" [label="2: Exit A_call_test_class \n " color=yellow style=filled] + + +"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" [label="3: Message Call: test_class \n n$4=_fun_C_test_class() [line 52, column 3]\n " shape="box"] + + + "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" -> "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_2" ; +"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_1" [label="1: Start A_calling_super\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 80, column 1]\n " color=yellow style=filled] + + + "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_1" -> "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" ; +"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_2" [label="2: Exit A_calling_super \n " color=yellow style=filled] + + +"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" [label="3: Message Call: test_class \n n$18=_fun_C_test_class() [line 81, column 3]\n " shape="box"] + + + "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" -> "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_2" ; +"test_class#A#class.97324b18f626e66a3c32cec03286eb8d_1" [label="1: Start A_test_class\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 48, column 1]\n " color=yellow style=filled] + + + "test_class#A#class.97324b18f626e66a3c32cec03286eb8d_1" -> "test_class#A#class.97324b18f626e66a3c32cec03286eb8d_2" ; +"test_class#A#class.97324b18f626e66a3c32cec03286eb8d_2" [label="2: Exit A_test_class \n " color=yellow style=filled] + + +"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_1" [label="1: Start A_used_in_binary_op:\nFormals: c:objc_class*\nLocals: \n DECLARE_LOCALS(&return); [line 92, column 1]\n " color=yellow style=filled] + + + "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_1" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_5" ; +"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_2" [label="2: Exit A_used_in_binary_op: \n " color=yellow style=filled] + + +"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_3" [label="3: + \n " ] + + + "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_3" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_4" ; +"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_4" [label="4: between_join_and_exit \n " shape="box"] + + + "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_4" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_2" ; +"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_5" [label="5: BinaryOperatorStmt: NE \n n$23=*sizeof(t=A):objc_class* [line 93, column 7]\n n$24=*&c:objc_class* [line 93, column 15]\n " shape="box"] + + + "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_5" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_6" ; + "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_5" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_7" ; +"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_6" [label="6: Prune (true branch, if) \n PRUNE((n$23 != n$24), true); [line 93, column 7]\n " shape="invhouse"] + + + "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_6" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_8" ; +"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$23 != n$24), false); [line 93, column 7]\n " shape="invhouse"] + + + "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_7" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_9" ; +"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_8" [label="8: Return Stmt \n *&return:int=1 [line 94, column 5]\n " shape="box"] + + + "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_8" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_2" ; +"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_9" [label="9: Return Stmt \n *&return:int=0 [line 96, column 5]\n " shape="box"] + + + "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_9" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_2" ; "call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_1" [label="1: Start A_call_alloc_instance\nFormals: self:A*\nLocals: \n DECLARE_LOCALS(&return); [line 59, column 1]\n " color=yellow style=filled] @@ -94,28 +152,6 @@ digraph cfg { "call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_3" -> "call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_2" ; -"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_1" [label="1: Start A_call_test_class\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 51, column 1]\n " color=yellow style=filled] - - - "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_1" -> "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" ; -"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_2" [label="2: Exit A_call_test_class \n " color=yellow style=filled] - - -"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" [label="3: Message Call: test_class \n n$4=_fun_C_test_class() [line 52, column 3]\n " shape="box"] - - - "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" -> "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_2" ; -"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_1" [label="1: Start A_calling_super\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 80, column 1]\n " color=yellow style=filled] - - - "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_1" -> "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" ; -"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_2" [label="2: Exit A_calling_super \n " color=yellow style=filled] - - -"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" [label="3: Message Call: test_class \n n$18=_fun_C_test_class() [line 81, column 3]\n " shape="box"] - - - "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" -> "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_2" ; "init#A#instance.eee79aaaddd644404e17691a7e7d809a_1" [label="1: Start A_init\nFormals: self:A*\nLocals: \n DECLARE_LOCALS(&return); [line 84, column 1]\n " color=yellow style=filled] @@ -127,17 +163,6 @@ digraph cfg { "init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" -> "init#A#instance.eee79aaaddd644404e17691a7e7d809a_2" ; -"isC:#B#instance.d3c47b42de9626ee49d20d57a1f26839_1" [label="1: Start B_isC:\nFormals: self:B* aClass:objc_class*\nLocals: \n DECLARE_LOCALS(&return); [line 21, column 1]\n " color=yellow style=filled] - - - "isC:#B#instance.d3c47b42de9626ee49d20d57a1f26839_1" -> "isC:#B#instance.d3c47b42de9626ee49d20d57a1f26839_3" ; -"isC:#B#instance.d3c47b42de9626ee49d20d57a1f26839_2" [label="2: Exit B_isC: \n " color=yellow style=filled] - - -"isC:#B#instance.d3c47b42de9626ee49d20d57a1f26839_3" [label="3: Return Stmt \n *&return:_Bool=1 [line 22, column 3]\n " shape="box"] - - - "isC:#B#instance.d3c47b42de9626ee49d20d57a1f26839_3" -> "isC:#B#instance.d3c47b42de9626ee49d20d57a1f26839_2" ; "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_1" [label="1: Start A_loggerName\nFormals: self:A*\nLocals: \n DECLARE_LOCALS(&return); [line 88, column 1]\n " color=yellow style=filled] @@ -171,13 +196,6 @@ digraph cfg { "test#A#instance.561395dd5ffb844cbbb6c52cf21ce047_2" [label="2: Exit A_test \n " color=yellow style=filled] -"test_class#A#class.97324b18f626e66a3c32cec03286eb8d_1" [label="1: Start A_test_class\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 48, column 1]\n " color=yellow style=filled] - - - "test_class#A#class.97324b18f626e66a3c32cec03286eb8d_1" -> "test_class#A#class.97324b18f626e66a3c32cec03286eb8d_2" ; -"test_class#A#class.97324b18f626e66a3c32cec03286eb8d_2" [label="2: Exit A_test_class \n " color=yellow style=filled] - - "use_class_in_other_ways:#A#instance.cbf4e00d3f8c81248ee881a47ed7e84f_1" [label="1: Start A_use_class_in_other_ways:\nFormals: self:A* object:B*\nLocals: \n DECLARE_LOCALS(&return); [line 76, column 1]\n " color=yellow style=filled] @@ -189,40 +207,22 @@ digraph cfg { "use_class_in_other_ways:#A#instance.cbf4e00d3f8c81248ee881a47ed7e84f_3" -> "use_class_in_other_ways:#A#instance.cbf4e00d3f8c81248ee881a47ed7e84f_2" ; -"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_1" [label="1: Start A_used_in_binary_op:\nFormals: c:objc_class*\nLocals: \n DECLARE_LOCALS(&return); [line 92, column 1]\n " color=yellow style=filled] - - - "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_1" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_5" ; -"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_2" [label="2: Exit A_used_in_binary_op: \n " color=yellow style=filled] - - -"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_3" [label="3: + \n " ] - - - "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_3" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_4" ; -"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_4" [label="4: between_join_and_exit \n " shape="box"] - - - "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_4" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_2" ; -"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_5" [label="5: BinaryOperatorStmt: NE \n n$23=*sizeof(t=A):objc_class* [line 93, column 7]\n n$24=*&c:objc_class* [line 93, column 15]\n " shape="box"] +"b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_1" [label="1: Start B_b_m\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 18, column 1]\n " color=yellow style=filled] - "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_5" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_6" ; - "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_5" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_7" ; -"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_6" [label="6: Prune (true branch, if) \n PRUNE((n$23 != n$24), true); [line 93, column 7]\n " shape="invhouse"] + "b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_1" -> "b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_2" ; +"b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_2" [label="2: Exit B_b_m \n " color=yellow style=filled] - "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_6" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_8" ; -"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$23 != n$24), false); [line 93, column 7]\n " shape="invhouse"] +"isC:#B#instance.d3c47b42de9626ee49d20d57a1f26839_1" [label="1: Start B_isC:\nFormals: self:B* aClass:objc_class*\nLocals: \n DECLARE_LOCALS(&return); [line 21, column 1]\n " color=yellow style=filled] - "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_7" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_9" ; -"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_8" [label="8: Return Stmt \n *&return:int=1 [line 94, column 5]\n " shape="box"] + "isC:#B#instance.d3c47b42de9626ee49d20d57a1f26839_1" -> "isC:#B#instance.d3c47b42de9626ee49d20d57a1f26839_3" ; +"isC:#B#instance.d3c47b42de9626ee49d20d57a1f26839_2" [label="2: Exit B_isC: \n " color=yellow style=filled] - "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_8" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_2" ; -"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_9" [label="9: Return Stmt \n *&return:int=0 [line 96, column 5]\n " shape="box"] +"isC:#B#instance.d3c47b42de9626ee49d20d57a1f26839_3" [label="3: Return Stmt \n *&return:_Bool=1 [line 22, column 3]\n " shape="box"] - "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_9" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_2" ; + "isC:#B#instance.d3c47b42de9626ee49d20d57a1f26839_3" -> "isC:#B#instance.d3c47b42de9626ee49d20d57a1f26839_2" ; } diff --git a/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot b/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot index af78f79cf..d2a84bb50 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot @@ -44,21 +44,80 @@ digraph cfg { "objc_blockBlockVar_capturedNullDeref_4.1bdaeaa4f18868112cc189c7d6e42bf9_3" -> "objc_blockBlockVar_capturedNullDeref_4.1bdaeaa4f18868112cc189c7d6e42bf9_2" ; -"objc_blockBlockVar_navigateToURLInBackground_1.3f33ba208d462b81a235e03653494b18_1" [label="1: Start objc_blockBlockVar_navigateToURLInBackground_1\nFormals: a:int b:int\nLocals: res:int \n DECLARE_LOCALS(&return,&res); [line 17, column 35]\n " color=yellow style=filled] +"objc_blockBlockVar_navigateToURLInBackground_1(,).214e3f42254fcf8bcc046c91bb4b2a89_1" [label="1: Start objc_blockBlockVar_navigateToURLInBackground_1\nFormals: a:int b:int\nLocals: res:int \n DECLARE_LOCALS(&return,&res); [line 17, column 35]\n " color=yellow style=filled] - "objc_blockBlockVar_navigateToURLInBackground_1.3f33ba208d462b81a235e03653494b18_1" -> "objc_blockBlockVar_navigateToURLInBackground_1.3f33ba208d462b81a235e03653494b18_4" ; -"objc_blockBlockVar_navigateToURLInBackground_1.3f33ba208d462b81a235e03653494b18_2" [label="2: Exit objc_blockBlockVar_navigateToURLInBackground_1 \n " color=yellow style=filled] + "objc_blockBlockVar_navigateToURLInBackground_1(,).214e3f42254fcf8bcc046c91bb4b2a89_1" -> "objc_blockBlockVar_navigateToURLInBackground_1(,).214e3f42254fcf8bcc046c91bb4b2a89_4" ; +"objc_blockBlockVar_navigateToURLInBackground_1(,).214e3f42254fcf8bcc046c91bb4b2a89_2" [label="2: Exit objc_blockBlockVar_navigateToURLInBackground_1 \n " color=yellow style=filled] -"objc_blockBlockVar_navigateToURLInBackground_1.3f33ba208d462b81a235e03653494b18_3" [label="3: Return Stmt \n n$7=*&a:int [line 19, column 12]\n n$8=*&b:int [line 19, column 16]\n n$9=*&res:int [line 19, column 20]\n *&return:int=((n$7 + n$8) + n$9) [line 19, column 5]\n " shape="box"] +"objc_blockBlockVar_navigateToURLInBackground_1(,).214e3f42254fcf8bcc046c91bb4b2a89_3" [label="3: Return Stmt \n n$7=*&a:int [line 19, column 12]\n n$8=*&b:int [line 19, column 16]\n n$9=*&res:int [line 19, column 20]\n *&return:int=((n$7 + n$8) + n$9) [line 19, column 5]\n " shape="box"] - "objc_blockBlockVar_navigateToURLInBackground_1.3f33ba208d462b81a235e03653494b18_3" -> "objc_blockBlockVar_navigateToURLInBackground_1.3f33ba208d462b81a235e03653494b18_2" ; -"objc_blockBlockVar_navigateToURLInBackground_1.3f33ba208d462b81a235e03653494b18_4" [label="4: DeclStmt \n n$10=_fun_BlockVar_test() [line 18, column 15]\n *&res:int=n$10 [line 18, column 5]\n " shape="box"] + "objc_blockBlockVar_navigateToURLInBackground_1(,).214e3f42254fcf8bcc046c91bb4b2a89_3" -> "objc_blockBlockVar_navigateToURLInBackground_1(,).214e3f42254fcf8bcc046c91bb4b2a89_2" ; +"objc_blockBlockVar_navigateToURLInBackground_1(,).214e3f42254fcf8bcc046c91bb4b2a89_4" [label="4: DeclStmt \n n$10=_fun_BlockVar_test() [line 18, column 15]\n *&res:int=n$10 [line 18, column 5]\n " shape="box"] - "objc_blockBlockVar_navigateToURLInBackground_1.3f33ba208d462b81a235e03653494b18_4" -> "objc_blockBlockVar_navigateToURLInBackground_1.3f33ba208d462b81a235e03653494b18_3" ; + "objc_blockBlockVar_navigateToURLInBackground_1(,).214e3f42254fcf8bcc046c91bb4b2a89_4" -> "objc_blockBlockVar_navigateToURLInBackground_1(,).214e3f42254fcf8bcc046c91bb4b2a89_3" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_1" [label="1: Start BlockVar_navigateToURLInBackground\nFormals: \nLocals: p:int* x:int addBlock:_fn_(*) \n DECLARE_LOCALS(&return,&p,&x,&addBlock); [line 16, column 1]\n " color=yellow style=filled] + + + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_1" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" [label="2: Exit BlockVar_navigateToURLInBackground \n " color=yellow style=filled] + + +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_3" [label="3: + \n " ] + + + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_3" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_4" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_4" [label="4: between_join_and_exit \n " shape="box"] + + + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_4" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&x:int [line 23, column 7]\n " shape="box"] + + + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_5" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_6" ; + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_5" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 8), true); [line 23, column 7]\n " shape="invhouse"] + + + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_6" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 8), false); [line 23, column 7]\n " shape="invhouse"] + + + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" [label="8: Return Stmt \n n$1=*&p:int* [line 24, column 13]\n n$2=*n$1:int [line 24, column 12]\n *&return:int=n$2 [line 24, column 5]\n " shape="box"] + + + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" [label="9: Return Stmt \n n$3=*&x:int [line 26, column 12]\n *&return:int=n$3 [line 26, column 5]\n " shape="box"] + + + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" [label="10: DeclStmt \n *&p:int*=null [line 22, column 3]\n " shape="box"] + + + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_5" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" [label="11: DeclStmt \n n$5=*&addBlock:_fn_(*) [line 21, column 11]\n n$6=n$5(1:int,2:int) [line 21, column 11]\n *&x:int=n$6 [line 21, column 3]\n " shape="box"] + + + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" [label="12: DeclStmt \n *&addBlock:_fn_(*)=(_fun_objc_blockBlockVar_navigateToURLInBackground_1) [line 17, column 3]\n " shape="box"] + + + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" ; +"test#BlockVar#class.79d88363beeb921609a605886abe817f_1" [label="1: Start BlockVar_test\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 12, column 1]\n " color=yellow style=filled] + + + "test#BlockVar#class.79d88363beeb921609a605886abe817f_1" -> "test#BlockVar#class.79d88363beeb921609a605886abe817f_3" ; +"test#BlockVar#class.79d88363beeb921609a605886abe817f_2" [label="2: Exit BlockVar_test \n " color=yellow style=filled] + + +"test#BlockVar#class.79d88363beeb921609a605886abe817f_3" [label="3: Return Stmt \n *&return:int=5 [line 13, column 3]\n " shape="box"] + + + "test#BlockVar#class.79d88363beeb921609a605886abe817f_3" -> "test#BlockVar#class.79d88363beeb921609a605886abe817f_2" ; "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_1" [label="1: Start BlockVar_blockPostBad\nFormals: self:BlockVar*\nLocals: my_block:_fn_(*) x:int* \n DECLARE_LOCALS(&return,&my_block,&x); [line 29, column 1]\n " color=yellow style=filled] @@ -147,63 +206,4 @@ digraph cfg { "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_5" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_4" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_1" [label="1: Start BlockVar_navigateToURLInBackground\nFormals: \nLocals: p:int* x:int addBlock:_fn_(*) \n DECLARE_LOCALS(&return,&p,&x,&addBlock); [line 16, column 1]\n " color=yellow style=filled] - - - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_1" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" [label="2: Exit BlockVar_navigateToURLInBackground \n " color=yellow style=filled] - - -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_3" [label="3: + \n " ] - - - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_3" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_4" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_4" [label="4: between_join_and_exit \n " shape="box"] - - - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_4" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&x:int [line 23, column 7]\n " shape="box"] - - - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_5" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_6" ; - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_5" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 8), true); [line 23, column 7]\n " shape="invhouse"] - - - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_6" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 8), false); [line 23, column 7]\n " shape="invhouse"] - - - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" [label="8: Return Stmt \n n$1=*&p:int* [line 24, column 13]\n n$2=*n$1:int [line 24, column 12]\n *&return:int=n$2 [line 24, column 5]\n " shape="box"] - - - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" [label="9: Return Stmt \n n$3=*&x:int [line 26, column 12]\n *&return:int=n$3 [line 26, column 5]\n " shape="box"] - - - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" [label="10: DeclStmt \n *&p:int*=null [line 22, column 3]\n " shape="box"] - - - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_5" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" [label="11: DeclStmt \n n$5=*&addBlock:_fn_(*) [line 21, column 11]\n n$6=n$5(1:int,2:int) [line 21, column 11]\n *&x:int=n$6 [line 21, column 3]\n " shape="box"] - - - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" [label="12: DeclStmt \n *&addBlock:_fn_(*)=(_fun_objc_blockBlockVar_navigateToURLInBackground_1) [line 17, column 3]\n " shape="box"] - - - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" ; -"test#BlockVar#class.79d88363beeb921609a605886abe817f_1" [label="1: Start BlockVar_test\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 12, column 1]\n " color=yellow style=filled] - - - "test#BlockVar#class.79d88363beeb921609a605886abe817f_1" -> "test#BlockVar#class.79d88363beeb921609a605886abe817f_3" ; -"test#BlockVar#class.79d88363beeb921609a605886abe817f_2" [label="2: Exit BlockVar_test \n " color=yellow style=filled] - - -"test#BlockVar#class.79d88363beeb921609a605886abe817f_3" [label="3: Return Stmt \n *&return:int=5 [line 13, column 3]\n " shape="box"] - - - "test#BlockVar#class.79d88363beeb921609a605886abe817f_3" -> "test#BlockVar#class.79d88363beeb921609a605886abe817f_2" ; } diff --git a/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot index 5f9adb21d..50e438143 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot @@ -1,61 +1,61 @@ /* @generated */ digraph cfg { -"objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_1" [label="1: Start objc_blockMyBlock_array_1\nFormals: object:objc_object* idx:unsigned long stop:_Bool*\nLocals: ShouldStop:int \n DECLARE_LOCALS(&return,&ShouldStop); [line 19, column 33]\n " color=yellow style=filled] +"objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_1" [label="1: Start objc_blockMyBlock_array_1\nFormals: object:objc_object* idx:unsigned long stop:_Bool*\nLocals: ShouldStop:int \n DECLARE_LOCALS(&return,&ShouldStop); [line 19, column 33]\n " color=yellow style=filled] - "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_1" -> "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_5" ; - "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_1" -> "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_6" ; -"objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_2" [label="2: Exit objc_blockMyBlock_array_1 \n " color=yellow style=filled] + "objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_1" -> "objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_5" ; + "objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_1" -> "objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_6" ; +"objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_2" [label="2: Exit objc_blockMyBlock_array_1 \n " color=yellow style=filled] -"objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_3" [label="3: + \n " ] +"objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_3" [label="3: + \n " ] - "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_3" -> "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_4" ; -"objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_4" [label="4: between_join_and_exit \n " shape="box"] + "objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_3" -> "objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_4" ; +"objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_4" [label="4: between_join_and_exit \n " shape="box"] - "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_4" -> "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_2" ; -"objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_5" [label="5: Prune (true branch, if) \n n$1=*&ShouldStop:int [line 24, column 9]\n PRUNE(n$1, true); [line 24, column 9]\n " shape="invhouse"] + "objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_4" -> "objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_2" ; +"objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_5" [label="5: Prune (true branch, if) \n n$1=*&ShouldStop:int [line 24, column 9]\n PRUNE(n$1, true); [line 24, column 9]\n " shape="invhouse"] - "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_5" -> "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_7" ; -"objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_6" [label="6: Prune (false branch, if) \n n$1=*&ShouldStop:int [line 24, column 9]\n PRUNE(!n$1, false); [line 24, column 9]\n " shape="invhouse"] + "objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_5" -> "objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_7" ; +"objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_6" [label="6: Prune (false branch, if) \n n$1=*&ShouldStop:int [line 24, column 9]\n PRUNE(!n$1, false); [line 24, column 9]\n " shape="invhouse"] - "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_6" -> "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_3" ; -"objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&stop:_Bool* [line 25, column 8]\n *n$2:_Bool=1 [line 25, column 7]\n " shape="box"] + "objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_6" -> "objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_3" ; +"objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&stop:_Bool* [line 25, column 8]\n *n$2:_Bool=1 [line 25, column 7]\n " shape="box"] - "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_7" -> "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_3" ; -"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_1" [label="1: Start objc_blockMyBlock_array_trans_2\nFormals: object:objc_object* idx:unsigned long stop:_Bool*\nLocals: ShouldStop:int \n DECLARE_LOCALS(&return,&ShouldStop); [line 38, column 7]\n " color=yellow style=filled] + "objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_7" -> "objc_blockMyBlock_array_1(struct objc_object,,).0792f643a089a5608262e353ef51fe57_3" ; +"objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_1" [label="1: Start objc_blockMyBlock_array_trans_2\nFormals: object:objc_object* idx:unsigned long stop:_Bool*\nLocals: ShouldStop:int \n DECLARE_LOCALS(&return,&ShouldStop); [line 38, column 7]\n " color=yellow style=filled] - "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_1" -> "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_5" ; - "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_1" -> "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_6" ; -"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_2" [label="2: Exit objc_blockMyBlock_array_trans_2 \n " color=yellow style=filled] + "objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_1" -> "objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_5" ; + "objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_1" -> "objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_6" ; +"objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_2" [label="2: Exit objc_blockMyBlock_array_trans_2 \n " color=yellow style=filled] -"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_3" [label="3: + \n " ] +"objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_3" [label="3: + \n " ] - "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_3" -> "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_4" ; -"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_4" [label="4: between_join_and_exit \n " shape="box"] + "objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_3" -> "objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_4" ; +"objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_4" [label="4: between_join_and_exit \n " shape="box"] - "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_4" -> "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_2" ; -"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_5" [label="5: Prune (true branch, if) \n n$32=*&ShouldStop:int [line 41, column 13]\n PRUNE(n$32, true); [line 41, column 13]\n " shape="invhouse"] + "objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_4" -> "objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_2" ; +"objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_5" [label="5: Prune (true branch, if) \n n$32=*&ShouldStop:int [line 41, column 13]\n PRUNE(n$32, true); [line 41, column 13]\n " shape="invhouse"] - "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_5" -> "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_7" ; -"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_6" [label="6: Prune (false branch, if) \n n$32=*&ShouldStop:int [line 41, column 13]\n PRUNE(!n$32, false); [line 41, column 13]\n " shape="invhouse"] + "objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_5" -> "objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_7" ; +"objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_6" [label="6: Prune (false branch, if) \n n$32=*&ShouldStop:int [line 41, column 13]\n PRUNE(!n$32, false); [line 41, column 13]\n " shape="invhouse"] - "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_6" -> "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_3" ; -"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_7" [label="7: BinaryOperatorStmt: Assign \n n$33=*&stop:_Bool* [line 42, column 12]\n *n$33:_Bool=1 [line 42, column 11]\n " shape="box"] + "objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_6" -> "objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_3" ; +"objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_7" [label="7: BinaryOperatorStmt: Assign \n n$33=*&stop:_Bool* [line 42, column 12]\n *n$33:_Bool=1 [line 42, column 11]\n " shape="box"] - "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_7" -> "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_3" ; + "objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_7" -> "objc_blockMyBlock_array_trans_2(struct objc_object,,).36d8a0fe60a37558476a3f75be86ba69_3" ; "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_1" [label="1: Start MyBlock_array\nFormals: self:MyBlock*\nLocals: a:NSArray* \n DECLARE_LOCALS(&return,&a); [line 16, column 1]\n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/objc/shared/block/block.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block.m.dot index 2df16ab1c..9acb48a79 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block.m.dot @@ -50,49 +50,49 @@ digraph cfg { "main1.38f534a9576db7ec6ebcbca8c111f942_10" -> "main1.38f534a9576db7ec6ebcbca8c111f942_9" ; -"objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_1" [label="1: Start objc_blockmain1_1\nFormals: e:int f:int\nLocals: \n DECLARE_LOCALS(&return); [line 31, column 14]\n " color=yellow style=filled] +"objc_blockmain1_1(,).07867a0430fad29de49f9df4bd82ab9f_1" [label="1: Start objc_blockmain1_1\nFormals: e:int f:int\nLocals: \n DECLARE_LOCALS(&return); [line 31, column 14]\n " color=yellow style=filled] - "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_1" -> "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_3" ; -"objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_2" [label="2: Exit objc_blockmain1_1 \n " color=yellow style=filled] + "objc_blockmain1_1(,).07867a0430fad29de49f9df4bd82ab9f_1" -> "objc_blockmain1_1(,).07867a0430fad29de49f9df4bd82ab9f_3" ; +"objc_blockmain1_1(,).07867a0430fad29de49f9df4bd82ab9f_2" [label="2: Exit objc_blockmain1_1 \n " color=yellow style=filled] -"objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_3" [label="3: Return Stmt \n n$5=*&e:int [line 32, column 12]\n n$6=*&#GB$main1.s:int [line 32, column 16]\n *&return:int=(n$5 - n$6) [line 32, column 5]\n " shape="box"] +"objc_blockmain1_1(,).07867a0430fad29de49f9df4bd82ab9f_3" [label="3: Return Stmt \n n$5=*&e:int [line 32, column 12]\n n$6=*&#GB$main1.s:int [line 32, column 16]\n *&return:int=(n$5 - n$6) [line 32, column 5]\n " shape="box"] - "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_3" -> "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_2" ; -"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_1" [label="1: Start objc_blockmain1_2\nFormals: x:int c:int d:int\nLocals: bla:int add2:int addblock2:_fn_(*)\nCaptured: x:int \n DECLARE_LOCALS(&return,&bla,&add2,&addblock2); [line 16, column 14]\n " color=yellow style=filled] + "objc_blockmain1_1(,).07867a0430fad29de49f9df4bd82ab9f_3" -> "objc_blockmain1_1(,).07867a0430fad29de49f9df4bd82ab9f_2" ; +"objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_1" [label="1: Start objc_blockmain1_2\nFormals: x:int c:int d:int\nLocals: bla:int add2:int addblock2:_fn_(*)\nCaptured: x:int \n DECLARE_LOCALS(&return,&bla,&add2,&addblock2); [line 16, column 14]\n " color=yellow style=filled] - "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_1" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_6" ; -"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_2" [label="2: Exit objc_blockmain1_2 \n " color=yellow style=filled] + "objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_1" -> "objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_6" ; +"objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_2" [label="2: Exit objc_blockmain1_2 \n " color=yellow style=filled] -"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_3" [label="3: Return Stmt \n n$10=*&c:int [line 26, column 12]\n n$11=*&add2:int [line 26, column 16]\n n$12=*&bla:int [line 26, column 23]\n *&return:int=((n$10 + n$11) + n$12) [line 26, column 5]\n " shape="box"] +"objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_3" [label="3: Return Stmt \n n$10=*&c:int [line 26, column 12]\n n$11=*&add2:int [line 26, column 16]\n n$12=*&bla:int [line 26, column 23]\n *&return:int=((n$10 + n$11) + n$12) [line 26, column 5]\n " shape="box"] - "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_3" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_2" ; -"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_4" [label="4: BinaryOperatorStmt: Assign \n n$13=*&addblock2:_fn_(*) [line 25, column 12]\n n$14=n$13(1:int) [line 25, column 12]\n *&add2:int=n$14 [line 25, column 5]\n " shape="box"] + "objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_3" -> "objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_2" ; +"objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_4" [label="4: BinaryOperatorStmt: Assign \n n$13=*&addblock2:_fn_(*) [line 25, column 12]\n n$14=n$13(1:int) [line 25, column 12]\n *&add2:int=n$14 [line 25, column 5]\n " shape="box"] - "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_4" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_3" ; -"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_5" [label="5: BinaryOperatorStmt: Assign \n n$15=*&x:int [line 21, column 17]\n n$16=*&bla:int [line 21, column 17]\n *&addblock2:_fn_(*)=(_fun_objc_blockobjc_blockmain1_2_3,(n$15 &x:int),(n$16 &bla:int)) [line 21, column 5]\n " shape="box"] + "objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_4" -> "objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_3" ; +"objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_5" [label="5: BinaryOperatorStmt: Assign \n n$15=*&x:int [line 21, column 17]\n n$16=*&bla:int [line 21, column 17]\n *&addblock2:_fn_(*)=(_fun_objc_blockobjc_blockmain1_2_3,(n$15 &x:int),(n$16 &bla:int)) [line 21, column 5]\n " shape="box"] - "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_5" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_4" ; -"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_6" [label="6: DeclStmt \n *&bla:int=3 [line 19, column 5]\n " shape="box"] + "objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_5" -> "objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_4" ; +"objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_6" [label="6: DeclStmt \n *&bla:int=3 [line 19, column 5]\n " shape="box"] - "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_6" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_5" ; -"objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_1" [label="1: Start objc_blockobjc_blockmain1_2_3\nFormals: x:int bla:int z:int\nLocals: \nCaptured: x:int bla:int \n DECLARE_LOCALS(&return); [line 21, column 17]\n " color=yellow style=filled] + "objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_6" -> "objc_blockmain1_2(,).8f5ecb906b7d055c3a188971e75756fc_5" ; +"objc_blockobjc_blockmain1_2_3().383f8888fb9ddfe5deed04a47cf0e633_1" [label="1: Start objc_blockobjc_blockmain1_2_3\nFormals: x:int bla:int z:int\nLocals: \nCaptured: x:int bla:int \n DECLARE_LOCALS(&return); [line 21, column 17]\n " color=yellow style=filled] - "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_1" -> "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_3" ; -"objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_2" [label="2: Exit objc_blockobjc_blockmain1_2_3 \n " color=yellow style=filled] + "objc_blockobjc_blockmain1_2_3().383f8888fb9ddfe5deed04a47cf0e633_1" -> "objc_blockobjc_blockmain1_2_3().383f8888fb9ddfe5deed04a47cf0e633_3" ; +"objc_blockobjc_blockmain1_2_3().383f8888fb9ddfe5deed04a47cf0e633_2" [label="2: Exit objc_blockobjc_blockmain1_2_3 \n " color=yellow style=filled] -"objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_3" [label="3: Return Stmt \n n$17=*&z:int [line 22, column 14]\n n$18=*&#GB$main1.s:int [line 22, column 18]\n n$19=*&x:int [line 22, column 22]\n n$20=*&bla:int [line 22, column 26]\n *&return:int=(((n$17 + n$18) + n$19) + n$20) [line 22, column 7]\n " shape="box"] +"objc_blockobjc_blockmain1_2_3().383f8888fb9ddfe5deed04a47cf0e633_3" [label="3: Return Stmt \n n$17=*&z:int [line 22, column 14]\n n$18=*&#GB$main1.s:int [line 22, column 18]\n n$19=*&x:int [line 22, column 22]\n n$20=*&bla:int [line 22, column 26]\n *&return:int=(((n$17 + n$18) + n$19) + n$20) [line 22, column 7]\n " shape="box"] - "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_3" -> "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_2" ; + "objc_blockobjc_blockmain1_2_3().383f8888fb9ddfe5deed04a47cf0e633_3" -> "objc_blockobjc_blockmain1_2_3().383f8888fb9ddfe5deed04a47cf0e633_2" ; } diff --git a/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot index 72a8cd444..b22e88450 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot @@ -1,33 +1,33 @@ /* @generated */ digraph cfg { -"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_1" [label="1: Start objc_blockMy_manager_blockReleaseNoLeak_1\nFormals: newImage:CGImage* a:int\nLocals: \nCaptured: newImage:CGImage* \n DECLARE_LOCALS(&return); [line 23, column 7]\n " color=yellow style=filled] +"objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_1" [label="1: Start objc_blockMy_manager_blockReleaseNoLeak_1\nFormals: newImage:CGImage* a:int\nLocals: \nCaptured: newImage:CGImage* \n DECLARE_LOCALS(&return); [line 23, column 7]\n " color=yellow style=filled] - "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_1" -> "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_5" ; - "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_1" -> "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_6" ; -"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_2" [label="2: Exit objc_blockMy_manager_blockReleaseNoLeak_1 \n " color=yellow style=filled] + "objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_1" -> "objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_5" ; + "objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_1" -> "objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_6" ; +"objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_2" [label="2: Exit objc_blockMy_manager_blockReleaseNoLeak_1 \n " color=yellow style=filled] -"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_3" [label="3: + \n " ] +"objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_3" [label="3: + \n " ] - "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_3" -> "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_4" ; -"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_4" [label="4: between_join_and_exit \n " shape="box"] + "objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_3" -> "objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_4" ; +"objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_4" [label="4: between_join_and_exit \n " shape="box"] - "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_4" -> "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_2" ; -"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_5" [label="5: Prune (true branch, if) \n n$10=*&newImage:CGImage* [line 24, column 9]\n PRUNE(n$10, true); [line 24, column 9]\n " shape="invhouse"] + "objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_4" -> "objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_2" ; +"objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_5" [label="5: Prune (true branch, if) \n n$10=*&newImage:CGImage* [line 24, column 9]\n PRUNE(n$10, true); [line 24, column 9]\n " shape="invhouse"] - "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_5" -> "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_7" ; -"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_6" [label="6: Prune (false branch, if) \n n$10=*&newImage:CGImage* [line 24, column 9]\n PRUNE(!n$10, false); [line 24, column 9]\n " shape="invhouse"] + "objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_5" -> "objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_7" ; +"objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_6" [label="6: Prune (false branch, if) \n n$10=*&newImage:CGImage* [line 24, column 9]\n PRUNE(!n$10, false); [line 24, column 9]\n " shape="invhouse"] - "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_6" -> "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_3" ; -"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_7" [label="7: Call _fun_CGImageRelease \n n$11=*&newImage:CGImage* [line 25, column 22]\n n$12=_fun_CGImageRelease(n$11:CGImage*) [line 25, column 7]\n " shape="box"] + "objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_6" -> "objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_3" ; +"objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_7" [label="7: Call _fun_CGImageRelease \n n$11=*&newImage:CGImage* [line 25, column 22]\n n$12=_fun_CGImageRelease(n$11:CGImage*) [line 25, column 7]\n " shape="box"] - "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_7" -> "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_3" ; + "objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_7" -> "objc_blockMy_manager_blockReleaseNoLeak_1().fe4d6068a17b5696b0d04437f05f62a8_3" ; "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_1" [label="1: Start My_manager_blockReleaseNoLeak\nFormals: self:My_manager*\nLocals: newImage:CGImage* context:CGContext* z:int b:_fn_(*) \n DECLARE_LOCALS(&return,&newImage,&context,&z,&b); [line 18, column 1]\n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot index 2a4e72452..ee4a18fea 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot @@ -179,17 +179,6 @@ digraph cfg { "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_5" -> "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_4" ; -"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_1" [label="1: Start DispatchA_init\nFormals: self:DispatchA*\nLocals: \n DECLARE_LOCALS(&return); [line 21, column 1]\n " color=yellow style=filled] - - - "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_1" -> "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" ; -"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_2" [label="2: Exit DispatchA_init \n " color=yellow style=filled] - - -"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" [label="3: Return Stmt \n n$0=*&self:DispatchA* [line 22, column 10]\n *&return:objc_object*=n$0 [line 22, column 3]\n " shape="box"] - - - "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" -> "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_2" ; "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_1" [label="1: Start DispatchA_sharedInstance\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 25, column 1]\n " color=yellow style=filled] @@ -224,4 +213,15 @@ digraph cfg { "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_5" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" ; +"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_1" [label="1: Start DispatchA_init\nFormals: self:DispatchA*\nLocals: \n DECLARE_LOCALS(&return); [line 21, column 1]\n " color=yellow style=filled] + + + "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_1" -> "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" ; +"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_2" [label="2: Exit DispatchA_init \n " color=yellow style=filled] + + +"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" [label="3: Return Stmt \n n$0=*&self:DispatchA* [line 22, column 10]\n *&return:objc_object*=n$0 [line 22, column 3]\n " shape="box"] + + + "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" -> "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_2" ; } diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot index f830a7ea6..f577b6d2f 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot @@ -30,249 +30,249 @@ digraph cfg { "objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_5" -> "objc_blockMemoryLeakExample_blockFreeNoLeak_2.1717186f4031a201971ac91124f16c98_4" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_1" [label="1: Start MemoryLeakExample_blockCapturedVarLeak\nFormals: self:MemoryLeakExample*\nLocals: blk:_fn_(*) x:int* \n DECLARE_LOCALS(&return,&blk,&x); [line 91, column 1]\n " color=yellow style=filled] +"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_1" [label="1: Start MemoryLeakExample_createCloseCrossGlyph:\nFormals: rect:CGRect\nLocals: \n DECLARE_LOCALS(&return); [line 51, column 1]\n " color=yellow style=filled] - "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_1" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_2" [label="2: Exit MemoryLeakExample_blockCapturedVarLeak \n " color=yellow style=filled] + "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_1" -> "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" ; +"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_2" [label="2: Exit MemoryLeakExample_createCloseCrossGlyph: \n " color=yellow style=filled] -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" [label="3: Return Stmt \n n$49=*&blk:_fn_(*) [line 97, column 10]\n n$50=n$49() [line 97, column 10]\n *&return:int=n$50 [line 97, column 3]\n " shape="box"] +"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" [label="3: Call _fun_CGPathCreateMutable \n n$26=_fun_CGPathCreateMutable() [line 53, column 3]\n " shape="box"] - "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_2" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" [label="4: DeclStmt \n n$51=*&x:int* [line 94, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample_blockCapturedVarLeak_1,(n$51 &x:int*)) [line 94, column 3]\n " shape="box"] + "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" -> "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_2" ; +"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" [label="4: BinaryOperatorStmt: Mul \n n$27=*&rect:CGRect [line 52, column 27]\n n$28=_fun_CGRectGetHeight(n$27:CGRect) [line 52, column 11]\n " shape="box"] - "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" [label="5: BinaryOperatorStmt: Assign \n n$54=*&x:int* [line 93, column 4]\n *n$54:int=2 [line 93, column 3]\n " shape="box"] + "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" -> "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" ; +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_1" [label="1: Start MemoryLeakExample_createCloseCrossGlyphNoLeak:\nFormals: rect:CGRect\nLocals: path1:CGPath* lineThickness:double \n DECLARE_LOCALS(&return,&path1,&lineThickness); [line 56, column 1]\n " color=yellow style=filled] - "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" [label="6: DeclStmt \n n$55=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 92, column 12]\n *&x:int*=n$55 [line 92, column 3]\n " shape="box"] + "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_1" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" ; +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_2" [label="2: Exit MemoryLeakExample_createCloseCrossGlyphNoLeak: \n " color=yellow style=filled] - "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_1" [label="1: Start MemoryLeakExample_blockFreeNoLeak\nFormals: self:MemoryLeakExample*\nLocals: blk:_fn_(*) x:int* \n DECLARE_LOCALS(&return,&blk,&x); [line 100, column 1]\n " color=yellow style=filled] +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" [label="3: Call _fun_CFRelease \n n$29=*&path1:CGPath* [line 61, column 13]\n n$30=_fun_CFRelease(n$29:void const *) [line 61, column 3]\n " shape="box"] - "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_1" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_2" [label="2: Exit MemoryLeakExample_blockFreeNoLeak \n " color=yellow style=filled] + "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_2" ; +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" [label="4: DeclStmt \n n$31=_fun_CGPathCreateMutable() [line 60, column 28]\n *&path1:CGPath*=n$31 [line 60, column 3]\n " shape="box"] -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" [label="3: Return Stmt \n n$56=*&blk:_fn_(*) [line 108, column 10]\n n$57=n$56() [line 108, column 10]\n *&return:int=n$57 [line 108, column 3]\n " shape="box"] + "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" ; +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" [label="5: DeclStmt \n n$32=*&rect:CGRect [line 57, column 51]\n n$33=_fun_CGRectGetHeight(n$32:CGRect) [line 57, column 35]\n *&lineThickness:double=(0.200000003 * n$33) [line 57, column 3]\n " shape="box"] - "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_2" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" [label="4: DeclStmt \n n$58=*&x:int* [line 103, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample_blockFreeNoLeak_2,(n$58 &x:int*)) [line 103, column 3]\n " shape="box"] + "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" ; +"measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_1" [label="1: Start MemoryLeakExample_measureFrameSizeForText\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 32, column 1]\n " color=yellow style=filled] - "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" [label="5: BinaryOperatorStmt: Assign \n n$64=*&x:int* [line 102, column 4]\n *n$64:int=2 [line 102, column 3]\n " shape="box"] + "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_1" -> "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" ; +"measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_2" [label="2: Exit MemoryLeakExample_measureFrameSizeForText \n " color=yellow style=filled] - "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" [label="6: DeclStmt \n n$65=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 101, column 12]\n *&x:int*=n$65 [line 101, column 3]\n " shape="box"] +"measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" [label="3: Call _fun_CFAttributedStringCreateMutable \n n$17=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 33, column 3]\n " shape="box"] - "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" ; -"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_1" [label="1: Start MemoryLeakExample_createCloseCrossGlyph:\nFormals: rect:CGRect\nLocals: \n DECLARE_LOCALS(&return); [line 51, column 1]\n " color=yellow style=filled] + "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" -> "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_2" ; +"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_1" [label="1: Start MemoryLeakExample_measureFrameSizeForTextNoLeak\nFormals: \nLocals: maString:__CFAttributedString* \n DECLARE_LOCALS(&return,&maString); [line 36, column 1]\n " color=yellow style=filled] - "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_1" -> "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" ; -"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_2" [label="2: Exit MemoryLeakExample_createCloseCrossGlyph: \n " color=yellow style=filled] + "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_1" -> "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" ; +"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_2" [label="2: Exit MemoryLeakExample_measureFrameSizeForTextNoLeak \n " color=yellow style=filled] -"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" [label="3: Call _fun_CGPathCreateMutable \n n$26=_fun_CGPathCreateMutable() [line 53, column 3]\n " shape="box"] +"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" [label="3: Call _fun_CFRelease \n n$18=*&maString:__CFAttributedString* [line 39, column 13]\n n$19=_fun_CFRelease(n$18:void const *) [line 39, column 3]\n " shape="box"] - "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" -> "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_2" ; -"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" [label="4: BinaryOperatorStmt: Mul \n n$27=*&rect:CGRect [line 52, column 27]\n n$28=_fun_CGRectGetHeight(n$27:CGRect) [line 52, column 11]\n " shape="box"] + "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" -> "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_2" ; +"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" [label="4: DeclStmt \n n$20=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 38, column 7]\n *&maString:__CFAttributedString*=n$20 [line 37, column 3]\n " shape="box"] - "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" -> "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" ; -"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_1" [label="1: Start MemoryLeakExample_createCloseCrossGlyphNoLeak:\nFormals: rect:CGRect\nLocals: path1:CGPath* lineThickness:double \n DECLARE_LOCALS(&return,&path1,&lineThickness); [line 56, column 1]\n " color=yellow style=filled] + "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" -> "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" ; +"test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_1" [label="1: Start MemoryLeakExample_test1:\nFormals: str:__CFAttributedString const *\nLocals: \n DECLARE_LOCALS(&return); [line 42, column 1]\n " color=yellow style=filled] - "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_1" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" ; -"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_2" [label="2: Exit MemoryLeakExample_createCloseCrossGlyphNoLeak: \n " color=yellow style=filled] + "test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_1" -> "test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_3" ; +"test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_2" [label="2: Exit MemoryLeakExample_test1: \n " color=yellow style=filled] -"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" [label="3: Call _fun_CFRelease \n n$29=*&path1:CGPath* [line 61, column 13]\n n$30=_fun_CFRelease(n$29:void const *) [line 61, column 3]\n " shape="box"] +"test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_3" [label="3: Call _fun_CTFramesetterCreateWithAttributedString \n n$21=*&str:__CFAttributedString const * [line 43, column 43]\n n$22=_fun_CTFramesetterCreateWithAttributedString(n$21:__CFAttributedString const *) [line 43, column 3]\n " shape="box"] - "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_2" ; -"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" [label="4: DeclStmt \n n$31=_fun_CGPathCreateMutable() [line 60, column 28]\n *&path1:CGPath*=n$31 [line 60, column 3]\n " shape="box"] + "test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_3" -> "test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_2" ; +"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_1" [label="1: Start MemoryLeakExample_test1NoLeak\nFormals: \nLocals: framesetter:__CTFramesetter const * \n DECLARE_LOCALS(&return,&framesetter); [line 46, column 1]\n " color=yellow style=filled] - "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" ; -"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" [label="5: DeclStmt \n n$32=*&rect:CGRect [line 57, column 51]\n n$33=_fun_CGRectGetHeight(n$32:CGRect) [line 57, column 35]\n *&lineThickness:double=(0.200000003 * n$33) [line 57, column 3]\n " shape="box"] + "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_1" -> "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" ; +"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_2" [label="2: Exit MemoryLeakExample_test1NoLeak \n " color=yellow style=filled] - "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_1" [label="1: Start MemoryLeakExample_layoutSubviews\nFormals: self:MemoryLeakExample*\nLocals: shadowPath:CGPath const * attachmentContainerView:UIView* \n DECLARE_LOCALS(&return,&shadowPath,&attachmentContainerView); [line 17, column 1]\n " color=yellow style=filled] +"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" [label="3: Call _fun_CFRelease \n n$23=*&framesetter:__CTFramesetter const * [line 48, column 13]\n n$24=_fun_CFRelease(n$23:void const *) [line 48, column 3]\n " shape="box"] - "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_1" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_2" [label="2: Exit MemoryLeakExample_layoutSubviews \n " color=yellow style=filled] + "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" -> "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_2" ; +"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" [label="4: DeclStmt \n n$25=_fun_CTFramesetterCreateWithAttributedString(null:__CFAttributedString const *) [line 47, column 34]\n *&framesetter:__CTFramesetter const *=n$25 [line 47, column 3]\n " shape="box"] -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" [label="3: Message Call: release \n n$0=*&attachmentContainerView:UIView* [line 23, column 4]\n n$1=_fun_NSObject_release(n$0:UIView*) virtual [line 23, column 3]\n " shape="box"] + "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" -> "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" ; +"test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_1" [label="1: Start MemoryLeakExample_test2:\nFormals: trust:__SecTrust*\nLocals: \n DECLARE_LOCALS(&return); [line 64, column 1]\n " color=yellow style=filled] - "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_2" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" [label="4: Call _fun_CGPathRelease \n n$2=*&shadowPath:CGPath const * [line 22, column 17]\n n$3=_fun_CGPathRelease(n$2:CGPath const *) [line 22, column 3]\n " shape="box"] + "test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_1" -> "test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_3" ; +"test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_2" [label="2: Exit MemoryLeakExample_test2: \n " color=yellow style=filled] - "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" [label="5: DeclStmt \n n$4=*&attachmentContainerView:UIView* [line 20, column 28]\n n$5=_fun_UIView_bounds(n$4:UIView*) [line 20, column 52]\n n$6=_fun_CGPathCreateWithRect(n$5:CGRect,null:CGAffineTransform const *) [line 20, column 7]\n *&shadowPath:CGPath const *=n$6 [line 19, column 3]\n " shape="box"] +"test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_3" [label="3: Call _fun_SecTrustCopyPublicKey \n n$34=*&trust:__SecTrust* [line 65, column 25]\n n$35=_fun_SecTrustCopyPublicKey(n$34:__SecTrust*) [line 65, column 3]\n " shape="box"] - "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" [label="6: DeclStmt \n n$7=_fun___objc_alloc_no_fail(sizeof(t=UIView):unsigned long) [line 18, column 37]\n *&attachmentContainerView:UIView*=n$7 [line 18, column 3]\n " shape="box"] + "test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_3" -> "test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_2" ; +"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_1" [label="1: Start MemoryLeakExample_test2NoLeak\nFormals: \nLocals: allowedPublicKey:__SecKey* \n DECLARE_LOCALS(&return,&allowedPublicKey); [line 68, column 1]\n " color=yellow style=filled] - "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" ; -"measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_1" [label="1: Start MemoryLeakExample_measureFrameSizeForText\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 32, column 1]\n " color=yellow style=filled] + "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_1" -> "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" ; +"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_2" [label="2: Exit MemoryLeakExample_test2NoLeak \n " color=yellow style=filled] - "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_1" -> "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" ; -"measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_2" [label="2: Exit MemoryLeakExample_measureFrameSizeForText \n " color=yellow style=filled] +"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" [label="3: Call _fun_CFRelease \n n$36=*&allowedPublicKey:__SecKey* [line 70, column 13]\n n$37=_fun_CFRelease(n$36:void const *) [line 70, column 3]\n " shape="box"] -"measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" [label="3: Call _fun_CFAttributedStringCreateMutable \n n$17=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 33, column 3]\n " shape="box"] + "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" -> "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_2" ; +"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" [label="4: DeclStmt \n n$38=_fun_SecTrustCopyPublicKey(null:__SecTrust*) [line 69, column 32]\n *&allowedPublicKey:__SecKey*=n$38 [line 69, column 3]\n " shape="box"] - "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" -> "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_2" ; -"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_1" [label="1: Start MemoryLeakExample_measureFrameSizeForTextNoLeak\nFormals: \nLocals: maString:__CFAttributedString* \n DECLARE_LOCALS(&return,&maString); [line 36, column 1]\n " color=yellow style=filled] + "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" -> "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" ; +"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_1" [label="1: Start MemoryLeakExample_testImageRefRelease\nFormals: \nLocals: newImage:CGImage* \n DECLARE_LOCALS(&return,&newImage); [line 73, column 1]\n " color=yellow style=filled] - "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_1" -> "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" ; -"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_2" [label="2: Exit MemoryLeakExample_measureFrameSizeForTextNoLeak \n " color=yellow style=filled] + "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_1" -> "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" ; +"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_2" [label="2: Exit MemoryLeakExample_testImageRefRelease \n " color=yellow style=filled] -"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" [label="3: Call _fun_CFRelease \n n$18=*&maString:__CFAttributedString* [line 39, column 13]\n n$19=_fun_CFRelease(n$18:void const *) [line 39, column 3]\n " shape="box"] +"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" [label="3: Call _fun_CGImageRelease \n n$39=*&newImage:CGImage* [line 75, column 18]\n n$40=_fun_CGImageRelease(n$39:CGImage*) [line 75, column 3]\n " shape="box"] - "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" -> "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_2" ; -"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" [label="4: DeclStmt \n n$20=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 38, column 7]\n *&maString:__CFAttributedString*=n$20 [line 37, column 3]\n " shape="box"] + "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" -> "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_2" ; +"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" [label="4: DeclStmt \n n$41=_fun_CGBitmapContextCreateImage(null:CGContext*) [line 74, column 25]\n *&newImage:CGImage*=n$41 [line 74, column 3]\n " shape="box"] - "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" -> "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" ; -"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_1" [label="1: Start MemoryLeakExample_regularLeak\nFormals: self:MemoryLeakExample*\nLocals: x:int* \n DECLARE_LOCALS(&return,&x); [line 85, column 1]\n " color=yellow style=filled] + "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" -> "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" ; +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_1" [label="1: Start MemoryLeakExample_blockCapturedVarLeak\nFormals: self:MemoryLeakExample*\nLocals: blk:_fn_(*) x:int* \n DECLARE_LOCALS(&return,&blk,&x); [line 91, column 1]\n " color=yellow style=filled] - "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_1" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" ; -"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_2" [label="2: Exit MemoryLeakExample_regularLeak \n " color=yellow style=filled] + "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_1" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" ; +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_2" [label="2: Exit MemoryLeakExample_blockCapturedVarLeak \n " color=yellow style=filled] -"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" [label="3: Return Stmt \n n$45=*&x:int* [line 88, column 11]\n n$46=*n$45:int [line 88, column 10]\n *&return:int=n$46 [line 88, column 3]\n " shape="box"] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" [label="3: Return Stmt \n n$49=*&blk:_fn_(*) [line 97, column 10]\n n$50=n$49() [line 97, column 10]\n *&return:int=n$50 [line 97, column 3]\n " shape="box"] - "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_2" ; -"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" [label="4: BinaryOperatorStmt: Assign \n n$47=*&x:int* [line 87, column 4]\n *n$47:int=7 [line 87, column 3]\n " shape="box"] + "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_2" ; +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" [label="4: DeclStmt \n n$51=*&x:int* [line 94, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample_blockCapturedVarLeak_1,(n$51 &x:int*)) [line 94, column 3]\n " shape="box"] - "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" ; -"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" [label="5: DeclStmt \n n$48=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 86, column 12]\n *&x:int*=n$48 [line 86, column 3]\n " shape="box"] + "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" ; +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" [label="5: BinaryOperatorStmt: Assign \n n$54=*&x:int* [line 93, column 4]\n *n$54:int=2 [line 93, column 3]\n " shape="box"] - "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" ; -"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_1" [label="1: Start MemoryLeakExample_test\nFormals: self:MemoryLeakExample*\nLocals: shadowPath:CGPath const * \n DECLARE_LOCALS(&return,&shadowPath); [line 26, column 1]\n " color=yellow style=filled] + "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" ; +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" [label="6: DeclStmt \n n$55=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 92, column 12]\n *&x:int*=n$55 [line 92, column 3]\n " shape="box"] - "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_1" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" ; -"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_2" [label="2: Exit MemoryLeakExample_test \n " color=yellow style=filled] + "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" ; +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_1" [label="1: Start MemoryLeakExample_blockFreeNoLeak\nFormals: self:MemoryLeakExample*\nLocals: blk:_fn_(*) x:int* \n DECLARE_LOCALS(&return,&blk,&x); [line 100, column 1]\n " color=yellow style=filled] -"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" [label="3: Message Call: setShadowPath: \n n$9=*&self:MemoryLeakExample* [line 29, column 3]\n n$10=_fun_MemoryLeakExample_backgroundCoveringView(n$9:MemoryLeakExample*) [line 29, column 8]\n n$11=_fun_UIView_layer(n$10:UIView*) [line 29, column 31]\n n$8=*&shadowPath:CGPath const * [line 29, column 50]\n n$12=_fun_CALayer_setShadowPath:(n$11:CALayer*,n$8:CGPath const *) [line 29, column 37]\n " shape="box"] + "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_1" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" ; +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_2" [label="2: Exit MemoryLeakExample_blockFreeNoLeak \n " color=yellow style=filled] - "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_2" ; -"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" [label="4: DeclStmt \n n$13=*&self:MemoryLeakExample* [line 28, column 28]\n n$14=_fun_MemoryLeakExample_backgroundCoveringView(n$13:MemoryLeakExample*) [line 28, column 33]\n n$15=_fun_UIView_bounds(n$14:UIView*) [line 28, column 56]\n n$16=_fun_CGPathCreateWithRect(n$15:CGRect,null:CGAffineTransform const *) [line 28, column 7]\n *&shadowPath:CGPath const *=n$16 [line 27, column 3]\n " shape="box"] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" [label="3: Return Stmt \n n$56=*&blk:_fn_(*) [line 108, column 10]\n n$57=n$56() [line 108, column 10]\n *&return:int=n$57 [line 108, column 3]\n " shape="box"] - "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" ; -"test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_1" [label="1: Start MemoryLeakExample_test1:\nFormals: str:__CFAttributedString const *\nLocals: \n DECLARE_LOCALS(&return); [line 42, column 1]\n " color=yellow style=filled] + "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_2" ; +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" [label="4: DeclStmt \n n$58=*&x:int* [line 103, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample_blockFreeNoLeak_2,(n$58 &x:int*)) [line 103, column 3]\n " shape="box"] - "test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_1" -> "test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_3" ; -"test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_2" [label="2: Exit MemoryLeakExample_test1: \n " color=yellow style=filled] + "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" ; +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" [label="5: BinaryOperatorStmt: Assign \n n$64=*&x:int* [line 102, column 4]\n *n$64:int=2 [line 102, column 3]\n " shape="box"] -"test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_3" [label="3: Call _fun_CTFramesetterCreateWithAttributedString \n n$21=*&str:__CFAttributedString const * [line 43, column 43]\n n$22=_fun_CTFramesetterCreateWithAttributedString(n$21:__CFAttributedString const *) [line 43, column 3]\n " shape="box"] + "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" ; +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" [label="6: DeclStmt \n n$65=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 101, column 12]\n *&x:int*=n$65 [line 101, column 3]\n " shape="box"] - "test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_3" -> "test1:#MemoryLeakExample#class.6a178021c88203c49ec4a36c5d873685_2" ; -"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_1" [label="1: Start MemoryLeakExample_test1NoLeak\nFormals: \nLocals: framesetter:__CTFramesetter const * \n DECLARE_LOCALS(&return,&framesetter); [line 46, column 1]\n " color=yellow style=filled] + "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" ; +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_1" [label="1: Start MemoryLeakExample_layoutSubviews\nFormals: self:MemoryLeakExample*\nLocals: shadowPath:CGPath const * attachmentContainerView:UIView* \n DECLARE_LOCALS(&return,&shadowPath,&attachmentContainerView); [line 17, column 1]\n " color=yellow style=filled] - "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_1" -> "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" ; -"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_2" [label="2: Exit MemoryLeakExample_test1NoLeak \n " color=yellow style=filled] + "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_1" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" ; +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_2" [label="2: Exit MemoryLeakExample_layoutSubviews \n " color=yellow style=filled] -"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" [label="3: Call _fun_CFRelease \n n$23=*&framesetter:__CTFramesetter const * [line 48, column 13]\n n$24=_fun_CFRelease(n$23:void const *) [line 48, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" [label="3: Message Call: release \n n$0=*&attachmentContainerView:UIView* [line 23, column 4]\n n$1=_fun_NSObject_release(n$0:UIView*) virtual [line 23, column 3]\n " shape="box"] - "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" -> "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_2" ; -"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" [label="4: DeclStmt \n n$25=_fun_CTFramesetterCreateWithAttributedString(null:__CFAttributedString const *) [line 47, column 34]\n *&framesetter:__CTFramesetter const *=n$25 [line 47, column 3]\n " shape="box"] + "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_2" ; +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" [label="4: Call _fun_CGPathRelease \n n$2=*&shadowPath:CGPath const * [line 22, column 17]\n n$3=_fun_CGPathRelease(n$2:CGPath const *) [line 22, column 3]\n " shape="box"] - "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" -> "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" ; -"test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_1" [label="1: Start MemoryLeakExample_test2:\nFormals: trust:__SecTrust*\nLocals: \n DECLARE_LOCALS(&return); [line 64, column 1]\n " color=yellow style=filled] + "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" ; +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" [label="5: DeclStmt \n n$4=*&attachmentContainerView:UIView* [line 20, column 28]\n n$5=_fun_UIView_bounds(n$4:UIView*) [line 20, column 52]\n n$6=_fun_CGPathCreateWithRect(n$5:CGRect,null:CGAffineTransform const *) [line 20, column 7]\n *&shadowPath:CGPath const *=n$6 [line 19, column 3]\n " shape="box"] - "test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_1" -> "test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_3" ; -"test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_2" [label="2: Exit MemoryLeakExample_test2: \n " color=yellow style=filled] + "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" ; +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" [label="6: DeclStmt \n n$7=_fun___objc_alloc_no_fail(sizeof(t=UIView):unsigned long) [line 18, column 37]\n *&attachmentContainerView:UIView*=n$7 [line 18, column 3]\n " shape="box"] -"test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_3" [label="3: Call _fun_SecTrustCopyPublicKey \n n$34=*&trust:__SecTrust* [line 65, column 25]\n n$35=_fun_SecTrustCopyPublicKey(n$34:__SecTrust*) [line 65, column 3]\n " shape="box"] + "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" ; +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_1" [label="1: Start MemoryLeakExample_regularLeak\nFormals: self:MemoryLeakExample*\nLocals: x:int* \n DECLARE_LOCALS(&return,&x); [line 85, column 1]\n " color=yellow style=filled] - "test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_3" -> "test2:#MemoryLeakExample#class.4d854f1c80289cc8e5422233831af105_2" ; -"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_1" [label="1: Start MemoryLeakExample_test2NoLeak\nFormals: \nLocals: allowedPublicKey:__SecKey* \n DECLARE_LOCALS(&return,&allowedPublicKey); [line 68, column 1]\n " color=yellow style=filled] + "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_1" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" ; +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_2" [label="2: Exit MemoryLeakExample_regularLeak \n " color=yellow style=filled] - "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_1" -> "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" ; -"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_2" [label="2: Exit MemoryLeakExample_test2NoLeak \n " color=yellow style=filled] +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" [label="3: Return Stmt \n n$45=*&x:int* [line 88, column 11]\n n$46=*n$45:int [line 88, column 10]\n *&return:int=n$46 [line 88, column 3]\n " shape="box"] -"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" [label="3: Call _fun_CFRelease \n n$36=*&allowedPublicKey:__SecKey* [line 70, column 13]\n n$37=_fun_CFRelease(n$36:void const *) [line 70, column 3]\n " shape="box"] + "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_2" ; +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" [label="4: BinaryOperatorStmt: Assign \n n$47=*&x:int* [line 87, column 4]\n *n$47:int=7 [line 87, column 3]\n " shape="box"] - "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" -> "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_2" ; -"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" [label="4: DeclStmt \n n$38=_fun_SecTrustCopyPublicKey(null:__SecTrust*) [line 69, column 32]\n *&allowedPublicKey:__SecKey*=n$38 [line 69, column 3]\n " shape="box"] + "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" ; +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" [label="5: DeclStmt \n n$48=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 86, column 12]\n *&x:int*=n$48 [line 86, column 3]\n " shape="box"] - "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" -> "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" ; -"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_1" [label="1: Start MemoryLeakExample_testFBColorCreateWithGray\nFormals: self:MemoryLeakExample*\nLocals: borderColor:CGColor* \n DECLARE_LOCALS(&return,&borderColor); [line 80, column 1]\n " color=yellow style=filled] + "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" ; +"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_1" [label="1: Start MemoryLeakExample_test\nFormals: self:MemoryLeakExample*\nLocals: shadowPath:CGPath const * \n DECLARE_LOCALS(&return,&shadowPath); [line 26, column 1]\n " color=yellow style=filled] - "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_1" -> "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" ; -"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_2" [label="2: Exit MemoryLeakExample_testFBColorCreateWithGray \n " color=yellow style=filled] + "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_1" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" ; +"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_2" [label="2: Exit MemoryLeakExample_test \n " color=yellow style=filled] -"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" [label="3: Call _fun_CGColorRelease \n n$42=*&borderColor:CGColor* [line 82, column 18]\n n$43=_fun_CGColorRelease(n$42:CGColor*) [line 82, column 3]\n " shape="box"] +"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" [label="3: Message Call: setShadowPath: \n n$9=*&self:MemoryLeakExample* [line 29, column 3]\n n$10=_fun_MemoryLeakExample_backgroundCoveringView(n$9:MemoryLeakExample*) [line 29, column 8]\n n$11=_fun_UIView_layer(n$10:UIView*) [line 29, column 31]\n n$8=*&shadowPath:CGPath const * [line 29, column 50]\n n$12=_fun_CALayer_setShadowPath:(n$11:CALayer*,n$8:CGPath const *) [line 29, column 37]\n " shape="box"] - "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" -> "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_2" ; -"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" [label="4: DeclStmt \n n$44=_fun_FBColorCreateWithGray(0.:double,0.3:double) [line 81, column 28]\n *&borderColor:CGColor*=n$44 [line 81, column 3]\n " shape="box"] + "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_2" ; +"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" [label="4: DeclStmt \n n$13=*&self:MemoryLeakExample* [line 28, column 28]\n n$14=_fun_MemoryLeakExample_backgroundCoveringView(n$13:MemoryLeakExample*) [line 28, column 33]\n n$15=_fun_UIView_bounds(n$14:UIView*) [line 28, column 56]\n n$16=_fun_CGPathCreateWithRect(n$15:CGRect,null:CGAffineTransform const *) [line 28, column 7]\n *&shadowPath:CGPath const *=n$16 [line 27, column 3]\n " shape="box"] - "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" -> "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" ; -"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_1" [label="1: Start MemoryLeakExample_testImageRefRelease\nFormals: \nLocals: newImage:CGImage* \n DECLARE_LOCALS(&return,&newImage); [line 73, column 1]\n " color=yellow style=filled] + "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" ; +"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_1" [label="1: Start MemoryLeakExample_testFBColorCreateWithGray\nFormals: self:MemoryLeakExample*\nLocals: borderColor:CGColor* \n DECLARE_LOCALS(&return,&borderColor); [line 80, column 1]\n " color=yellow style=filled] - "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_1" -> "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" ; -"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_2" [label="2: Exit MemoryLeakExample_testImageRefRelease \n " color=yellow style=filled] + "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_1" -> "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" ; +"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_2" [label="2: Exit MemoryLeakExample_testFBColorCreateWithGray \n " color=yellow style=filled] -"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" [label="3: Call _fun_CGImageRelease \n n$39=*&newImage:CGImage* [line 75, column 18]\n n$40=_fun_CGImageRelease(n$39:CGImage*) [line 75, column 3]\n " shape="box"] +"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" [label="3: Call _fun_CGColorRelease \n n$42=*&borderColor:CGColor* [line 82, column 18]\n n$43=_fun_CGColorRelease(n$42:CGColor*) [line 82, column 3]\n " shape="box"] - "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" -> "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_2" ; -"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" [label="4: DeclStmt \n n$41=_fun_CGBitmapContextCreateImage(null:CGContext*) [line 74, column 25]\n *&newImage:CGImage*=n$41 [line 74, column 3]\n " shape="box"] + "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" -> "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_2" ; +"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" [label="4: DeclStmt \n n$44=_fun_FBColorCreateWithGray(0.:double,0.3:double) [line 81, column 28]\n *&borderColor:CGColor*=n$44 [line 81, column 3]\n " shape="box"] - "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" -> "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" ; + "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" -> "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" ; }