diff --git a/infer/src/IR/Procname.ml b/infer/src/IR/Procname.ml index aa245a35811..334186569cf 100644 --- a/infer/src/IR/Procname.ml +++ b/infer/src/IR/Procname.ml @@ -401,23 +401,16 @@ end module C = struct (** Type of c procedure names. *) - type t = - { name: QualifiedCppName.t - ; mangled: string option - ; parameters: Parameter.clang_parameter list - ; template_args: Typ.template_spec_info } + type t = {name: QualifiedCppName.t; mangled: string option; template_args: Typ.template_spec_info} [@@deriving compare, equal, yojson_of, sexp, hash, normalize] - let c name ?mangled parameters template_args = {name; mangled; parameters; template_args} + let c name ?mangled template_args = {name; mangled; template_args} let from_string name = - { name= QualifiedCppName.of_qual_string name - ; mangled= None - ; parameters= [] - ; template_args= NoTemplate } + {name= QualifiedCppName.of_qual_string name; mangled= None; template_args= NoTemplate} - let pp verbosity fmt {name; mangled; parameters} = + let pp verbosity fmt {name; mangled} = let plain = QualifiedCppName.to_qual_string name in match verbosity with | Simple -> @@ -426,7 +419,7 @@ module C = struct F.pp_print_string fmt plain | Verbose -> let pp_mangled fmt = function None -> () | Some s -> F.fprintf fmt "{%s}" s in - F.fprintf fmt "%s%a%a" plain Parameter.pp_parameters parameters pp_mangled mangled + F.fprintf fmt "%s%a" plain pp_mangled mangled let pp_without_templates fmt {name} = @@ -434,10 +427,6 @@ module C = struct F.pp_print_string fmt (remove_templates plain) - let get_parameters c = c.parameters - - let replace_parameters new_parameters c = {c with parameters= new_parameters} - (** NOTE: [std::_] is parsed as [C] proc name in Sil, rather than [ObjC_Cpp]. *) let is_std_function ~prefix {name} = match QualifiedCppName.to_rev_list name with @@ -1355,8 +1344,8 @@ let rec get_parameters procname = List.map ~f:(fun par -> Parameter.JavaParameter par) (Java.get_parameters j) | CSharp cs -> List.map ~f:(fun par -> Parameter.CSharpParameter par) (CSharp.get_parameters cs) - | C osig -> - clang_param_to_param (C.get_parameters osig) + | C _ -> + [] | Erlang e -> List.init e.arity ~f:(fun _ -> Parameter.ErlangParameter) | Hack _ -> @@ -1427,8 +1416,8 @@ let rec replace_parameters new_parameters procname = Java (Java.replace_parameters (params_to_java_params new_parameters) j) | CSharp cs -> CSharp (CSharp.replace_parameters (params_to_csharp_params new_parameters) cs) - | C osig -> - C (C.replace_parameters (params_to_clang_params new_parameters) osig) + | C _ -> + procname | Erlang e -> Erlang (Erlang.set_arity (params_to_erlang_arity new_parameters) e) | Hack _ -> @@ -1542,10 +1531,9 @@ let to_short_unique_name pname = in let proc_id = match pname with - | C {parameters; mangled} -> + | C {mangled} -> let pp_mangled fmt = function None -> () | Some mangled -> F.fprintf fmt "#%s" mangled in - F.asprintf "%a%a%a" pp_rev_qualified pname Parameter.pp_parameters parameters pp_mangled - mangled + F.asprintf "%a%a" pp_rev_qualified pname pp_mangled mangled | ObjC_Cpp objc_cpp -> F.asprintf "%a%a#%a" pp_rev_qualified pname Parameter.pp_parameters objc_cpp.parameters ObjC_Cpp.pp_verbose_kind objc_cpp.kind diff --git a/infer/src/IR/Procname.mli b/infer/src/IR/Procname.mli index cebdf9521d8..5e10e9222ca 100644 --- a/infer/src/IR/Procname.mli +++ b/infer/src/IR/Procname.mli @@ -168,17 +168,9 @@ end module C : sig (** Type of c procedure names. *) type t = private - { name: QualifiedCppName.t - ; mangled: string option - ; parameters: Parameter.clang_parameter list - ; template_args: Typ.template_spec_info } + {name: QualifiedCppName.t; mangled: string option; template_args: Typ.template_spec_info} - val c : - QualifiedCppName.t - -> ?mangled:string - -> Parameter.clang_parameter list - -> Typ.template_spec_info - -> t + val c : QualifiedCppName.t -> ?mangled:string -> Typ.template_spec_info -> t (** Create a C procedure name from plain and mangled name. *) val is_make_shared : t -> bool diff --git a/infer/src/IR/Pvar.ml b/infer/src/IR/Pvar.ml index e976023dc0e..b0664912df9 100644 --- a/infer/src/IR/Pvar.ml +++ b/infer/src/IR/Pvar.ml @@ -339,7 +339,7 @@ let get_initializer_pname {pv_name; pv_kind} = SourceFile.to_string file |> Utils.string_crc_hex32 |> Option.return else Some None in - Procname.C (Procname.C.c qual_name ?mangled [] template_args) + Procname.C (Procname.C.c qual_name ?mangled template_args) | _ -> None diff --git a/infer/src/clang/CType_decl.ml b/infer/src/clang/CType_decl.ml index 6e7a482cb26..3b8c2e6049e 100644 --- a/infer/src/clang/CType_decl.ml +++ b/infer/src/clang/CType_decl.ml @@ -507,7 +507,7 @@ and get_template_info tenv (fdi : Clang_ast_t.function_decl_info) = Typ.NoTemplate -and mk_c_function ?tenv name function_decl_info_opt parameters = +and mk_c_function ?tenv name function_decl_info_opt = let file = match function_decl_info_opt with (* when we model static functions, we cannot take the file into account to @@ -543,7 +543,7 @@ and mk_c_function ?tenv name function_decl_info_opt parameters = in let mangled = file ^ mangled_name in if String.is_empty mangled then Procname.from_string_c_fun (QualifiedCppName.to_qual_string name) - else Procname.C (Procname.C.c name ~mangled parameters template_info) + else Procname.C (Procname.C.c name ~mangled template_info) and mk_cpp_method ?tenv class_name method_name ?meth_decl mangled parameters = @@ -617,7 +617,7 @@ and procname_from_decl ?tenv ?block_return_type ?outer_proc meth_decl = match meth_decl with | FunctionDecl (decl_info, name_info, _, fdi) -> let name = CAst_utils.get_qualified_name name_info in - mk_c_function ?tenv name (Some (decl_info, fdi)) parameters + mk_c_function ?tenv name (Some (decl_info, fdi)) | CXXConstructorDecl (decl_info, {ni_name= ""; ni_qual_name= "" :: qual_names}, _, fdi, mdi) -> (* For some constructors of non-class objects in C++, the clang frontend gives empty method name, e.g. struct, lambda, and union. For better readability, we replace them to a @@ -744,7 +744,7 @@ module CProcname = struct module NoAstDecl = struct let c_function_of_string tenv name = let qual_name = QualifiedCppName.of_qual_string name in - mk_c_function ~tenv qual_name None [] + mk_c_function ~tenv qual_name None let cpp_method_of_string tenv class_name method_name = diff --git a/infer/tests/build_systems/disjunctive_domain/disjunctive.exp b/infer/tests/build_systems/disjunctive_domain/disjunctive.exp index 5e20c49ee5f..2245310933e 100644 --- a/infer/tests/build_systems/disjunctive_domain/disjunctive.exp +++ b/infer/tests/build_systems/disjunctive_domain/disjunctive.exp @@ -4,12 +4,12 @@ monotonically increases as the disjunct limit increases N_disjuncts = 1 -three_branch: +four_branch: 1 disjuncts: #0: 0 Non-disj state: ⊥ -CFG Metadata: dropped_disjuncts= 2; interrupted_loops= 0 +CFG Metadata: dropped_disjuncts= 3; interrupted_loops= 0 two_branch: 1 disjuncts: @@ -18,19 +18,12 @@ two_branch: Non-disj state: ⊥ CFG Metadata: dropped_disjuncts= 1; interrupted_loops= 0 -loop: - 1 disjuncts: -#0: two_branch0.0 - -Non-disj state: ⊥ -CFG Metadata: dropped_disjuncts= 3; interrupted_loops= 0 - -four_branch: +three_branch: 1 disjuncts: #0: 0 Non-disj state: ⊥ -CFG Metadata: dropped_disjuncts= 3; interrupted_loops= 0 +CFG Metadata: dropped_disjuncts= 2; interrupted_loops= 0 sequence: 1 disjuncts: @@ -39,17 +32,25 @@ sequence: Non-disj state: ⊥ CFG Metadata: dropped_disjuncts= 0; interrupted_loops= 0 +loop: + 1 disjuncts: +#0: two_branch0.0 + +Non-disj state: ⊥ +CFG Metadata: dropped_disjuncts= 3; interrupted_loops= 0 + No issues found ---------------------------------------- N_disjuncts = 4 -three_branch: - 3 disjuncts: +four_branch: + 4 disjuncts: #0: 0 #1: 2 #2: 1 +#3: 3 Non-disj state: ⊥ CFG Metadata: dropped_disjuncts= 0; interrupted_loops= 0 @@ -62,22 +63,11 @@ two_branch: Non-disj state: ⊥ CFG Metadata: dropped_disjuncts= 0; interrupted_loops= 0 -loop: - 4 disjuncts: -#0: two_branch0.0 -#1: two_branch0.1 -#2: two_branch0.0.two_branch1.0 -#3: two_branch0.0.two_branch1.1 - -Non-disj state: ⊥ -CFG Metadata: dropped_disjuncts= 13; interrupted_loops= 0 - -four_branch: - 4 disjuncts: +three_branch: + 3 disjuncts: #0: 0 #1: 2 #2: 1 -#3: 3 Non-disj state: ⊥ CFG Metadata: dropped_disjuncts= 0; interrupted_loops= 0 @@ -92,17 +82,28 @@ sequence: Non-disj state: ⊥ CFG Metadata: dropped_disjuncts= 5; interrupted_loops= 0 +loop: + 4 disjuncts: +#0: two_branch0.0 +#1: two_branch0.1 +#2: two_branch0.0.two_branch1.0 +#3: two_branch0.0.two_branch1.1 + +Non-disj state: ⊥ +CFG Metadata: dropped_disjuncts= 13; interrupted_loops= 0 + No issues found ---------------------------------------- N_disjuncts = 10 -three_branch: - 3 disjuncts: +four_branch: + 4 disjuncts: #0: 0 #1: 2 #2: 1 +#3: 3 Non-disj state: ⊥ CFG Metadata: dropped_disjuncts= 0; interrupted_loops= 0 @@ -115,28 +116,11 @@ two_branch: Non-disj state: ⊥ CFG Metadata: dropped_disjuncts= 0; interrupted_loops= 0 -loop: - 10 disjuncts: -#0: two_branch0.0 -#1: two_branch0.1 -#2: two_branch0.0.two_branch1.0 -#3: two_branch0.0.two_branch1.1 -#4: two_branch0.1.two_branch2.0 -#5: two_branch0.1.two_branch2.1 -#6: two_branch0.0.two_branch1.0.two_branch3.0 -#7: two_branch0.0.two_branch1.0.two_branch3.1 -#8: two_branch0.0.two_branch1.1.two_branch4.0 -#9: two_branch0.0.two_branch1.1.two_branch4.1 - -Non-disj state: ⊥ -CFG Metadata: dropped_disjuncts= 19; interrupted_loops= 1 - -four_branch: - 4 disjuncts: +three_branch: + 3 disjuncts: #0: 0 #1: 2 #2: 1 -#3: 3 Non-disj state: ⊥ CFG Metadata: dropped_disjuncts= 0; interrupted_loops= 0 @@ -157,5 +141,21 @@ sequence: Non-disj state: ⊥ CFG Metadata: dropped_disjuncts= 5; interrupted_loops= 0 +loop: + 10 disjuncts: +#0: two_branch0.0 +#1: two_branch0.1 +#2: two_branch0.0.two_branch1.0 +#3: two_branch0.0.two_branch1.1 +#4: two_branch0.1.two_branch2.0 +#5: two_branch0.1.two_branch2.1 +#6: two_branch0.0.two_branch1.0.two_branch3.0 +#7: two_branch0.0.two_branch1.0.two_branch3.1 +#8: two_branch0.0.two_branch1.1.two_branch4.0 +#9: two_branch0.0.two_branch1.1.two_branch4.1 + +Non-disj state: ⊥ +CFG Metadata: dropped_disjuncts= 19; interrupted_loops= 1 + No issues found diff --git a/infer/tests/build_systems/incremental_analysis_change_procedure/analysis_dependency_invalidation_graph.dot b/infer/tests/build_systems/incremental_analysis_change_procedure/analysis_dependency_invalidation_graph.dot index 256b19fe8c8..b7c68b5f493 100644 --- a/infer/tests/build_systems/incremental_analysis_change_procedure/analysis_dependency_invalidation_graph.dot +++ b/infer/tests/build_systems/incremental_analysis_change_procedure/analysis_dependency_invalidation_graph.dot @@ -6,7 +6,7 @@ digraph callgraph { N5 [ label = "f\nflag=false" ]; N5 -> N4 ; - N0 [ label = "g\nflag=false" ]; + N0 [ label = "b\nflag=false" ]; N0 -> N1 ; N7 [ label = "main\nflag=false" ]; @@ -18,10 +18,10 @@ digraph callgraph { N4 -> N6 ; N4 -> N3 ; - N2 [ label = "b\nflag=false" ]; + N2 [ label = "g\nflag=false" ]; N2 -> N1 ; N3 [ label = "c\nflag=false" ]; - N3 -> N2 ; + N3 -> N0 ; } diff --git a/infer/tests/build_systems/incremental_analysis_invalidate_only/analysis_dependency_invalidation_graph.dot b/infer/tests/build_systems/incremental_analysis_invalidate_only/analysis_dependency_invalidation_graph.dot index 256b19fe8c8..b7c68b5f493 100644 --- a/infer/tests/build_systems/incremental_analysis_invalidate_only/analysis_dependency_invalidation_graph.dot +++ b/infer/tests/build_systems/incremental_analysis_invalidate_only/analysis_dependency_invalidation_graph.dot @@ -6,7 +6,7 @@ digraph callgraph { N5 [ label = "f\nflag=false" ]; N5 -> N4 ; - N0 [ label = "g\nflag=false" ]; + N0 [ label = "b\nflag=false" ]; N0 -> N1 ; N7 [ label = "main\nflag=false" ]; @@ -18,10 +18,10 @@ digraph callgraph { N4 -> N6 ; N4 -> N3 ; - N2 [ label = "b\nflag=false" ]; + N2 [ label = "g\nflag=false" ]; N2 -> N1 ; N3 [ label = "c\nflag=false" ]; - N3 -> N2 ; + N3 -> N0 ; } diff --git a/infer/tests/build_systems/replay_scheduler/schedule.exp b/infer/tests/build_systems/replay_scheduler/schedule.exp index cc44a2304b7..616aa22e2d1 100644 --- a/infer/tests/build_systems/replay_scheduler/schedule.exp +++ b/infer/tests/build_systems/replay_scheduler/schedule.exp @@ -1,4 +1,4 @@ schema_version=0 0|foo|1,2| -1|goo|3|0 +2|goo|3|0 3|moo|| diff --git a/infer/tests/codetoanalyze/cpp/frontend-17/no_missing_node.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend-17/no_missing_node.cpp.dot index 232c87273fc..fe9e6fe6a0b 100644 --- a/infer/tests/codetoanalyze/cpp/frontend-17/no_missing_node.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend-17/no_missing_node.cpp.dot @@ -1,28 +1,28 @@ /* @generated */ digraph cfg { -"no_missing_node(class Sub)#286112.8843aaec68040db1_1" [label="1: Start no_missing_node\nFormals: __return_param:Sub*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:int \n " color=yellow style=filled] +"no_missing_node#28611251495513600.d338a8520c3e96f2_1" [label="1: Start no_missing_node\nFormals: __return_param:Sub*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:int \n " color=yellow style=filled] - "no_missing_node(class Sub)#286112.8843aaec68040db1_1" -> "no_missing_node(class Sub)#286112.8843aaec68040db1_4" ; -"no_missing_node(class Sub)#286112.8843aaec68040db1_2" [label="2: Exit no_missing_node \n " color=yellow style=filled] + "no_missing_node#28611251495513600.d338a8520c3e96f2_1" -> "no_missing_node#28611251495513600.d338a8520c3e96f2_4" ; +"no_missing_node#28611251495513600.d338a8520c3e96f2_2" [label="2: Exit no_missing_node \n " color=yellow style=filled] -"no_missing_node(class Sub)#286112.8843aaec68040db1_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:int); [line 28, column 42]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:int=(unsigned int)0 [line 28, column 42]\n " shape="box"] +"no_missing_node#28611251495513600.d338a8520c3e96f2_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:int); [line 28, column 42]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:int=(unsigned int)0 [line 28, column 42]\n " shape="box"] - "no_missing_node(class Sub)#286112.8843aaec68040db1_3" -> "no_missing_node(class Sub)#286112.8843aaec68040db1_5" ; -"no_missing_node(class Sub)#286112.8843aaec68040db1_4" [label="4: Return Stmt \n n$0=*&__return_param:Sub* [line 28, column 25]\n " shape="box"] + "no_missing_node#28611251495513600.d338a8520c3e96f2_3" -> "no_missing_node#28611251495513600.d338a8520c3e96f2_5" ; +"no_missing_node#28611251495513600.d338a8520c3e96f2_4" [label="4: Return Stmt \n n$0=*&__return_param:Sub* [line 28, column 25]\n " shape="box"] - "no_missing_node(class Sub)#286112.8843aaec68040db1_4" -> "no_missing_node(class Sub)#286112.8843aaec68040db1_3" ; -"no_missing_node(class Sub)#286112.8843aaec68040db1_5" [label="5: Return Stmt \n n$2=_fun_EnumWrapper::EnumWrapper(n$0.f1:EnumWrapper*,&0$?%__sil_tmpSIL_materialize_temp__n$1:int&) [line 28, column 42]\n *n$0.f2:int=0 [line 28, column 48]\n " shape="box"] + "no_missing_node#28611251495513600.d338a8520c3e96f2_4" -> "no_missing_node#28611251495513600.d338a8520c3e96f2_3" ; +"no_missing_node#28611251495513600.d338a8520c3e96f2_5" [label="5: Return Stmt \n n$2=_fun_EnumWrapper::EnumWrapper(n$0.f1:EnumWrapper*,&0$?%__sil_tmpSIL_materialize_temp__n$1:int&) [line 28, column 42]\n *n$0.f2:int=0 [line 28, column 48]\n " shape="box"] - "no_missing_node(class Sub)#286112.8843aaec68040db1_5" -> "no_missing_node(class Sub)#286112.8843aaec68040db1_6" ; -"no_missing_node(class Sub)#286112.8843aaec68040db1_6" [label="6: Return Stmt \n " shape="box"] + "no_missing_node#28611251495513600.d338a8520c3e96f2_5" -> "no_missing_node#28611251495513600.d338a8520c3e96f2_6" ; +"no_missing_node#28611251495513600.d338a8520c3e96f2_6" [label="6: Return Stmt \n " shape="box"] - "no_missing_node(class Sub)#286112.8843aaec68040db1_6" -> "no_missing_node(class Sub)#286112.8843aaec68040db1_2" ; + "no_missing_node#28611251495513600.d338a8520c3e96f2_6" -> "no_missing_node#28611251495513600.d338a8520c3e96f2_2" ; "EnumWrapper#EnumWrapper#{54497334.b7ae5d94ff96c4b9_1" [label="1: Start EnumWrapper::EnumWrapper\nFormals: this:EnumWrapper* v:int&&\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/call_destructor.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/call_destructor.cpp.dot index a37b4548d67..2924a497b0a 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/call_destructor.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/call_destructor.cpp.dot @@ -1,14 +1,14 @@ /* @generated */ digraph cfg { -"f(class Person)#30721218475209957.d15d531febb37112_1" [label="1: Start f\nFormals: p:Person*\nLocals: \n " color=yellow style=filled] +"f#3072121847520995784.879d673a5bab84df_1" [label="1: Start f\nFormals: p:Person*\nLocals: \n " color=yellow style=filled] - "f(class Person)#30721218475209957.d15d531febb37112_1" -> "f(class Person)#30721218475209957.d15d531febb37112_3" ; -"f(class Person)#30721218475209957.d15d531febb37112_2" [label="2: Exit f \n " color=yellow style=filled] + "f#3072121847520995784.879d673a5bab84df_1" -> "f#3072121847520995784.879d673a5bab84df_3" ; +"f#3072121847520995784.879d673a5bab84df_2" [label="2: Exit f \n " color=yellow style=filled] -"f(class Person)#30721218475209957.d15d531febb37112_3" [label="3: Call _fun_Person::~Person \n n$0=*&p:Person* [line 13, column 21]\n _=*n$0:Person [line 13, column 21]\n n$2=_fun_Person::~Person(n$0:Person*) [line 13, column 21]\n " shape="box"] +"f#3072121847520995784.879d673a5bab84df_3" [label="3: Call _fun_Person::~Person \n n$0=*&p:Person* [line 13, column 21]\n _=*n$0:Person [line 13, column 21]\n n$2=_fun_Person::~Person(n$0:Person*) [line 13, column 21]\n " shape="box"] - "f(class Person)#30721218475209957.d15d531febb37112_3" -> "f(class Person)#30721218475209957.d15d531febb37112_2" ; + "f#3072121847520995784.879d673a5bab84df_3" -> "f#3072121847520995784.879d673a5bab84df_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/call_on_delete.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/call_on_delete.cpp.dot index 3f5008fb8d1..16775b2d7da 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/call_on_delete.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/call_on_delete.cpp.dot @@ -11,17 +11,17 @@ digraph cfg { "deleteInt#11507157942721721842.63c462d9916f225a_3" -> "deleteInt#11507157942721721842.63c462d9916f225a_2" ; -"deleteX(class X)#8359832236310221.de7d98d32d68fd20_1" [label="1: Start deleteX\nFormals: x:X*\nLocals: \n " color=yellow style=filled] +"deleteX#8359832236310221055.8e97d527465f9865_1" [label="1: Start deleteX\nFormals: x:X*\nLocals: \n " color=yellow style=filled] - "deleteX(class X)#8359832236310221.de7d98d32d68fd20_1" -> "deleteX(class X)#8359832236310221.de7d98d32d68fd20_3" ; -"deleteX(class X)#8359832236310221.de7d98d32d68fd20_2" [label="2: Exit deleteX \n " color=yellow style=filled] + "deleteX#8359832236310221055.8e97d527465f9865_1" -> "deleteX#8359832236310221055.8e97d527465f9865_3" ; +"deleteX#8359832236310221055.8e97d527465f9865_2" [label="2: Exit deleteX \n " color=yellow style=filled] -"deleteX(class X)#8359832236310221.de7d98d32d68fd20_3" [label="3: Call delete \n n$0=*&x:X* [line 12, column 29]\n n$1=_fun___delete(n$0:X*) [line 12, column 22]\n " shape="box"] +"deleteX#8359832236310221055.8e97d527465f9865_3" [label="3: Call delete \n n$0=*&x:X* [line 12, column 29]\n n$1=_fun___delete(n$0:X*) [line 12, column 22]\n " shape="box"] - "deleteX(class X)#8359832236310221.de7d98d32d68fd20_3" -> "deleteX(class X)#8359832236310221.de7d98d32d68fd20_2" ; + "deleteX#8359832236310221055.8e97d527465f9865_3" -> "deleteX#8359832236310221055.8e97d527465f9865_2" ; "__infer_inner_destructor_~X#X#(10.9760ffe42533c893_1" [label="1: Start X::__infer_inner_destructor_~X\nFormals: this:X*\nLocals: \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 d06242d9df6..d81aa9a3d67 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot @@ -11,52 +11,52 @@ digraph cfg { "callgetZ#destructor_scope#1641872.f4c0cbb2a5d892ea_3" -> "callgetZ#destructor_scope#1641872.f4c0cbb2a5d892ea_2" ; -"getX#destructor_scope(class destr.956e6b931ba67c14_1" [label="1: Start destructor_scope::getX\nFormals: __return_param:destructor_scope::X*\nLocals: x:destructor_scope::X \n " color=yellow style=filled] +"getX#destructor_scope#11739464242.40a1d0621360ad71_1" [label="1: Start destructor_scope::getX\nFormals: __return_param:destructor_scope::X*\nLocals: x:destructor_scope::X \n " color=yellow style=filled] - "getX#destructor_scope(class destr.956e6b931ba67c14_1" -> "getX#destructor_scope(class destr.956e6b931ba67c14_6" ; -"getX#destructor_scope(class destr.956e6b931ba67c14_2" [label="2: Exit destructor_scope::getX \n " color=yellow style=filled] + "getX#destructor_scope#11739464242.40a1d0621360ad71_1" -> "getX#destructor_scope#11739464242.40a1d0621360ad71_6" ; +"getX#destructor_scope#11739464242.40a1d0621360ad71_2" [label="2: Exit destructor_scope::getX \n " color=yellow style=filled] -"getX#destructor_scope(class destr.956e6b931ba67c14_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::X* [line 70, column 3]\n " shape="box"] +"getX#destructor_scope#11739464242.40a1d0621360ad71_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::X* [line 70, column 3]\n " shape="box"] - "getX#destructor_scope(class destr.956e6b931ba67c14_3" -> "getX#destructor_scope(class destr.956e6b931ba67c14_4" ; -"getX#destructor_scope(class destr.956e6b931ba67c14_4" [label="4: Return Stmt \n n$1=_fun_destructor_scope::X::X(n$0:destructor_scope::X*,&x:destructor_scope::X&) [line 70, column 10]\n " shape="box"] + "getX#destructor_scope#11739464242.40a1d0621360ad71_3" -> "getX#destructor_scope#11739464242.40a1d0621360ad71_4" ; +"getX#destructor_scope#11739464242.40a1d0621360ad71_4" [label="4: Return Stmt \n n$1=_fun_destructor_scope::X::X(n$0:destructor_scope::X*,&x:destructor_scope::X&) [line 70, column 10]\n " shape="box"] - "getX#destructor_scope(class destr.956e6b931ba67c14_4" -> "getX#destructor_scope(class destr.956e6b931ba67c14_5" ; -"getX#destructor_scope(class destr.956e6b931ba67c14_5" [label="5: Return Stmt \n _=*&x:destructor_scope::X [line 70, column 10]\n n$3=_fun_destructor_scope::X::~X(&x:destructor_scope::X*) injected [line 70, column 10]\n " shape="box"] + "getX#destructor_scope#11739464242.40a1d0621360ad71_4" -> "getX#destructor_scope#11739464242.40a1d0621360ad71_5" ; +"getX#destructor_scope#11739464242.40a1d0621360ad71_5" [label="5: Return Stmt \n _=*&x:destructor_scope::X [line 70, column 10]\n n$3=_fun_destructor_scope::X::~X(&x:destructor_scope::X*) injected [line 70, column 10]\n " shape="box"] - "getX#destructor_scope(class destr.956e6b931ba67c14_5" -> "getX#destructor_scope(class destr.956e6b931ba67c14_2" ; -"getX#destructor_scope(class destr.956e6b931ba67c14_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:destructor_scope::X); [line 69, column 3]\n n$5=_fun_destructor_scope::X::X(&x:destructor_scope::X*) [line 69, column 5]\n " shape="box"] + "getX#destructor_scope#11739464242.40a1d0621360ad71_5" -> "getX#destructor_scope#11739464242.40a1d0621360ad71_2" ; +"getX#destructor_scope#11739464242.40a1d0621360ad71_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:destructor_scope::X); [line 69, column 3]\n n$5=_fun_destructor_scope::X::X(&x:destructor_scope::X*) [line 69, column 5]\n " shape="box"] - "getX#destructor_scope(class destr.956e6b931ba67c14_6" -> "getX#destructor_scope(class destr.956e6b931ba67c14_3" ; -"getZ#destructor_scope(class destr.27b8261073c8d260_1" [label="1: Start destructor_scope::getZ\nFormals: __return_param:destructor_scope::Z*\nLocals: z:destructor_scope::Z \n " color=yellow style=filled] + "getX#destructor_scope#11739464242.40a1d0621360ad71_6" -> "getX#destructor_scope#11739464242.40a1d0621360ad71_3" ; +"getZ#destructor_scope#13110319947.fe2bc6519a3d7998_1" [label="1: Start destructor_scope::getZ\nFormals: __return_param:destructor_scope::Z*\nLocals: z:destructor_scope::Z \n " color=yellow style=filled] - "getZ#destructor_scope(class destr.27b8261073c8d260_1" -> "getZ#destructor_scope(class destr.27b8261073c8d260_6" ; -"getZ#destructor_scope(class destr.27b8261073c8d260_2" [label="2: Exit destructor_scope::getZ \n " color=yellow style=filled] + "getZ#destructor_scope#13110319947.fe2bc6519a3d7998_1" -> "getZ#destructor_scope#13110319947.fe2bc6519a3d7998_6" ; +"getZ#destructor_scope#13110319947.fe2bc6519a3d7998_2" [label="2: Exit destructor_scope::getZ \n " color=yellow style=filled] -"getZ#destructor_scope(class destr.27b8261073c8d260_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::Z* [line 75, column 3]\n " shape="box"] +"getZ#destructor_scope#13110319947.fe2bc6519a3d7998_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::Z* [line 75, column 3]\n " shape="box"] - "getZ#destructor_scope(class destr.27b8261073c8d260_3" -> "getZ#destructor_scope(class destr.27b8261073c8d260_4" ; -"getZ#destructor_scope(class destr.27b8261073c8d260_4" [label="4: Return Stmt \n n$1=_fun_destructor_scope::Z::Z(n$0:destructor_scope::Z*,&z:destructor_scope::Z&) [line 75, column 10]\n " shape="box"] + "getZ#destructor_scope#13110319947.fe2bc6519a3d7998_3" -> "getZ#destructor_scope#13110319947.fe2bc6519a3d7998_4" ; +"getZ#destructor_scope#13110319947.fe2bc6519a3d7998_4" [label="4: Return Stmt \n n$1=_fun_destructor_scope::Z::Z(n$0:destructor_scope::Z*,&z:destructor_scope::Z&) [line 75, column 10]\n " shape="box"] - "getZ#destructor_scope(class destr.27b8261073c8d260_4" -> "getZ#destructor_scope(class destr.27b8261073c8d260_5" ; -"getZ#destructor_scope(class destr.27b8261073c8d260_5" [label="5: Return Stmt \n " shape="box"] + "getZ#destructor_scope#13110319947.fe2bc6519a3d7998_4" -> "getZ#destructor_scope#13110319947.fe2bc6519a3d7998_5" ; +"getZ#destructor_scope#13110319947.fe2bc6519a3d7998_5" [label="5: Return Stmt \n " shape="box"] - "getZ#destructor_scope(class destr.27b8261073c8d260_5" -> "getZ#destructor_scope(class destr.27b8261073c8d260_2" ; -"getZ#destructor_scope(class destr.27b8261073c8d260_6" [label="6: DeclStmt \n VARIABLE_DECLARED(z:destructor_scope::Z); [line 74, column 3]\n n$2=_fun_destructor_scope::Z::Z(&z:destructor_scope::Z*) [line 74, column 5]\n " shape="box"] + "getZ#destructor_scope#13110319947.fe2bc6519a3d7998_5" -> "getZ#destructor_scope#13110319947.fe2bc6519a3d7998_2" ; +"getZ#destructor_scope#13110319947.fe2bc6519a3d7998_6" [label="6: DeclStmt \n VARIABLE_DECLARED(z:destructor_scope::Z); [line 74, column 3]\n n$2=_fun_destructor_scope::Z::Z(&z:destructor_scope::Z*) [line 74, column 5]\n " shape="box"] - "getZ#destructor_scope(class destr.27b8261073c8d260_6" -> "getZ#destructor_scope(class destr.27b8261073c8d260_3" ; + "getZ#destructor_scope#13110319947.fe2bc6519a3d7998_6" -> "getZ#destructor_scope#13110319947.fe2bc6519a3d7998_3" ; "test1#destructor_scope#3167061604.d3af82d2ddb9b80d_1" [label="1: Start destructor_scope::test1\nFormals: a:_Bool b:_Bool\nLocals: y3:destructor_scope::Y y1:destructor_scope::Y x3:destructor_scope::X y2:destructor_scope::Y x2:destructor_scope::X s:destructor_scope::S x1:destructor_scope::X \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot index d38f4dd2ef8..5edfc43efc1 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot @@ -22,25 +22,25 @@ digraph cfg { "__infer_globals_initializer_v#708.588095fa475e4a9e_3" -> "__infer_globals_initializer_v#708.588095fa475e4a9e_2" ; -"test(class X)#1824124433716494803.76ba1cf61f22b6e7_1" [label="1: Start test\nFormals: __return_param:X*\nLocals: \n " color=yellow style=filled] +"test#18241244337164948030.afc14f193ad97442_1" [label="1: Start test\nFormals: __return_param:X*\nLocals: \n " color=yellow style=filled] - "test(class X)#1824124433716494803.76ba1cf61f22b6e7_1" -> "test(class X)#1824124433716494803.76ba1cf61f22b6e7_3" ; -"test(class X)#1824124433716494803.76ba1cf61f22b6e7_2" [label="2: Exit test \n " color=yellow style=filled] + "test#18241244337164948030.afc14f193ad97442_1" -> "test#18241244337164948030.afc14f193ad97442_3" ; +"test#18241244337164948030.afc14f193ad97442_2" [label="2: Exit test \n " color=yellow style=filled] -"test(class X)#1824124433716494803.76ba1cf61f22b6e7_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 13, column 12]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 13, column 12]\n " shape="box"] - "test(class X)#1824124433716494803.76ba1cf61f22b6e7_3" -> "test(class X)#1824124433716494803.76ba1cf61f22b6e7_4" ; -"test(class X)#1824124433716494803.76ba1cf61f22b6e7_4" [label="4: Return Stmt \n n$1=_fun_X::X(n$0:X*,&#GB$global:X const &) [line 13, column 19]\n " shape="box"] + "test#18241244337164948030.afc14f193ad97442_3" -> "test#18241244337164948030.afc14f193ad97442_4" ; +"test#18241244337164948030.afc14f193ad97442_4" [label="4: Return Stmt \n n$1=_fun_X::X(n$0:X*,&#GB$global:X const &) [line 13, column 19]\n " shape="box"] - "test(class X)#1824124433716494803.76ba1cf61f22b6e7_4" -> "test(class X)#1824124433716494803.76ba1cf61f22b6e7_5" ; -"test(class X)#1824124433716494803.76ba1cf61f22b6e7_5" [label="5: Return Stmt \n " shape="box"] + "test#18241244337164948030.afc14f193ad97442_4" -> "test#18241244337164948030.afc14f193ad97442_5" ; +"test#18241244337164948030.afc14f193ad97442_5" [label="5: Return Stmt \n " shape="box"] - "test(class X)#1824124433716494803.76ba1cf61f22b6e7_5" -> "test(class X)#1824124433716494803.76ba1cf61f22b6e7_2" ; + "test#18241244337164948030.afc14f193ad97442_5" -> "test#18241244337164948030.afc14f193ad97442_2" ; "test2#3587805488049044947.69e45cfdc4e36a6f_1" [label="1: Start test2\nFormals: \nLocals: local:int \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/frontend/keywords/self_parameter.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/keywords/self_parameter.cpp.dot index 0a75aac9b59..547213614aa 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/keywords/self_parameter.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/keywords/self_parameter.cpp.dot @@ -15,21 +15,21 @@ digraph cfg { "fun_with_self#1780227603737654043.4639f371cac8e491_4" -> "fun_with_self#1780227603737654043.4639f371cac8e491_2" ; -"test(class A)#1418335328436172353.f22d37fbaacc66a7_1" [label="1: Start test\nFormals: a:A*\nLocals: \n " color=yellow style=filled] +"test#14183353284361723530.9ab958283f2da536_1" [label="1: Start test\nFormals: a:A*\nLocals: \n " color=yellow style=filled] - "test(class A)#1418335328436172353.f22d37fbaacc66a7_1" -> "test(class A)#1418335328436172353.f22d37fbaacc66a7_3" ; -"test(class A)#1418335328436172353.f22d37fbaacc66a7_2" [label="2: Exit test \n " color=yellow style=filled] + "test#14183353284361723530.9ab958283f2da536_1" -> "test#14183353284361723530.9ab958283f2da536_3" ; +"test#14183353284361723530.9ab958283f2da536_2" [label="2: Exit test \n " color=yellow style=filled] -"test(class A)#1418335328436172353.f22d37fbaacc66a7_3" [label="3: Return Stmt \n n$0=*&a:A* [line 15, column 25]\n _=*n$0:A [line 15, column 25]\n n$2=_fun_A::meth_with_self(n$0:A*,1:int,2:int) [line 15, column 25]\n n$3=_fun_fun_with_self(10:int) [line 15, column 51]\n " shape="box"] +"test#14183353284361723530.9ab958283f2da536_3" [label="3: Return Stmt \n n$0=*&a:A* [line 15, column 25]\n _=*n$0:A [line 15, column 25]\n n$2=_fun_A::meth_with_self(n$0:A*,1:int,2:int) [line 15, column 25]\n n$3=_fun_fun_with_self(10:int) [line 15, column 51]\n " shape="box"] - "test(class A)#1418335328436172353.f22d37fbaacc66a7_3" -> "test(class A)#1418335328436172353.f22d37fbaacc66a7_4" ; -"test(class A)#1418335328436172353.f22d37fbaacc66a7_4" [label="4: Return Stmt \n *&return:int=(n$2 + n$3) [line 15, column 18]\n " shape="box"] + "test#14183353284361723530.9ab958283f2da536_3" -> "test#14183353284361723530.9ab958283f2da536_4" ; +"test#14183353284361723530.9ab958283f2da536_4" [label="4: Return Stmt \n *&return:int=(n$2 + n$3) [line 15, column 18]\n " shape="box"] - "test(class A)#1418335328436172353.f22d37fbaacc66a7_4" -> "test(class A)#1418335328436172353.f22d37fbaacc66a7_2" ; + "test#14183353284361723530.9ab958283f2da536_4" -> "test#14183353284361723530.9ab958283f2da536_2" ; "meth_with_self#A#(512624655508131.087223c2fe95da4d_1" [label="1: Start A::meth_with_self\nFormals: this:A* self:int b:int\nLocals: \n " color=yellow style=filled] 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 f7868b55e24..e1cdbc59a93 100644 --- a/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot @@ -112,29 +112,29 @@ digraph cfg { "conditional#binary_conditional#47.41decaebdce6325b_15" -> "conditional#binary_conditional#47.41decaebdce6325b_14" ; -"getX#binary_conditional(class bin.8825a5a3afa32784_1" [label="1: Start binary_conditional::getX\nFormals: __return_param:binary_conditional::X*\nLocals: x:binary_conditional::X \n " color=yellow style=filled] +"getX#binary_conditional#770804218.ec6c66051810049a_1" [label="1: Start binary_conditional::getX\nFormals: __return_param:binary_conditional::X*\nLocals: x:binary_conditional::X \n " color=yellow style=filled] - "getX#binary_conditional(class bin.8825a5a3afa32784_1" -> "getX#binary_conditional(class bin.8825a5a3afa32784_6" ; -"getX#binary_conditional(class bin.8825a5a3afa32784_2" [label="2: Exit binary_conditional::getX \n " color=yellow style=filled] + "getX#binary_conditional#770804218.ec6c66051810049a_1" -> "getX#binary_conditional#770804218.ec6c66051810049a_6" ; +"getX#binary_conditional#770804218.ec6c66051810049a_2" [label="2: Exit binary_conditional::getX \n " color=yellow style=filled] -"getX#binary_conditional(class bin.8825a5a3afa32784_3" [label="3: Return Stmt \n n$0=*&__return_param:binary_conditional::X* [line 16, column 3]\n " shape="box"] +"getX#binary_conditional#770804218.ec6c66051810049a_3" [label="3: Return Stmt \n n$0=*&__return_param:binary_conditional::X* [line 16, column 3]\n " shape="box"] - "getX#binary_conditional(class bin.8825a5a3afa32784_3" -> "getX#binary_conditional(class bin.8825a5a3afa32784_4" ; -"getX#binary_conditional(class bin.8825a5a3afa32784_4" [label="4: Return Stmt \n n$1=_fun_binary_conditional::X::X(n$0:binary_conditional::X*,&x:binary_conditional::X&) [line 16, column 10]\n " shape="box"] + "getX#binary_conditional#770804218.ec6c66051810049a_3" -> "getX#binary_conditional#770804218.ec6c66051810049a_4" ; +"getX#binary_conditional#770804218.ec6c66051810049a_4" [label="4: Return Stmt \n n$1=_fun_binary_conditional::X::X(n$0:binary_conditional::X*,&x:binary_conditional::X&) [line 16, column 10]\n " shape="box"] - "getX#binary_conditional(class bin.8825a5a3afa32784_4" -> "getX#binary_conditional(class bin.8825a5a3afa32784_5" ; -"getX#binary_conditional(class bin.8825a5a3afa32784_5" [label="5: Return Stmt \n " shape="box"] + "getX#binary_conditional#770804218.ec6c66051810049a_4" -> "getX#binary_conditional#770804218.ec6c66051810049a_5" ; +"getX#binary_conditional#770804218.ec6c66051810049a_5" [label="5: Return Stmt \n " shape="box"] - "getX#binary_conditional(class bin.8825a5a3afa32784_5" -> "getX#binary_conditional(class bin.8825a5a3afa32784_2" ; -"getX#binary_conditional(class bin.8825a5a3afa32784_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:binary_conditional::X); [line 15, column 3]\n n$2=_fun_binary_conditional::X::X(&x:binary_conditional::X*) [line 15, column 5]\n " shape="box"] + "getX#binary_conditional#770804218.ec6c66051810049a_5" -> "getX#binary_conditional#770804218.ec6c66051810049a_2" ; +"getX#binary_conditional#770804218.ec6c66051810049a_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:binary_conditional::X); [line 15, column 3]\n n$2=_fun_binary_conditional::X::X(&x:binary_conditional::X*) [line 15, column 5]\n " shape="box"] - "getX#binary_conditional(class bin.8825a5a3afa32784_6" -> "getX#binary_conditional(class bin.8825a5a3afa32784_3" ; + "getX#binary_conditional#770804218.ec6c66051810049a_6" -> "getX#binary_conditional#770804218.ec6c66051810049a_3" ; "operator_bool#X#binary_conditiona.1074e20ff76c2575_1" [label="1: Start binary_conditional::X::operator_bool\nFormals: this:binary_conditional::X*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp.dot index 932b7ac05f1..8f20d743a39 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp.dot @@ -140,60 +140,60 @@ digraph cfg { "copyY_moveY_div1#copy_move_constr.5716e8b7acbd3ff4_11" -> "copyY_moveY_div1#copy_move_constr.5716e8b7acbd3ff4_10" ; -"getX#copy_move_constructor(class .3ed1bf77442fb4e4_1" [label="1: Start copy_move_constructor::getX\nFormals: f:int __return_param:copy_move_constructor::X*\nLocals: x:copy_move_constructor::X \n " color=yellow style=filled] +"getX#copy_move_constructor#221168.876b259ed079b8b1_1" [label="1: Start copy_move_constructor::getX\nFormals: f:int __return_param:copy_move_constructor::X*\nLocals: x:copy_move_constructor::X \n " color=yellow style=filled] - "getX#copy_move_constructor(class .3ed1bf77442fb4e4_1" -> "getX#copy_move_constructor(class .3ed1bf77442fb4e4_7" ; -"getX#copy_move_constructor(class .3ed1bf77442fb4e4_2" [label="2: Exit copy_move_constructor::getX \n " color=yellow style=filled] + "getX#copy_move_constructor#221168.876b259ed079b8b1_1" -> "getX#copy_move_constructor#221168.876b259ed079b8b1_7" ; +"getX#copy_move_constructor#221168.876b259ed079b8b1_2" [label="2: Exit copy_move_constructor::getX \n " color=yellow style=filled] -"getX#copy_move_constructor(class .3ed1bf77442fb4e4_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::X* [line 30, column 3]\n " shape="box"] +"getX#copy_move_constructor#221168.876b259ed079b8b1_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::X* [line 30, column 3]\n " shape="box"] - "getX#copy_move_constructor(class .3ed1bf77442fb4e4_3" -> "getX#copy_move_constructor(class .3ed1bf77442fb4e4_4" ; -"getX#copy_move_constructor(class .3ed1bf77442fb4e4_4" [label="4: Return Stmt \n n$1=_fun_copy_move_constructor::X::X(n$0:copy_move_constructor::X*,&x:copy_move_constructor::X&) [line 30, column 10]\n " shape="box"] + "getX#copy_move_constructor#221168.876b259ed079b8b1_3" -> "getX#copy_move_constructor#221168.876b259ed079b8b1_4" ; +"getX#copy_move_constructor#221168.876b259ed079b8b1_4" [label="4: Return Stmt \n n$1=_fun_copy_move_constructor::X::X(n$0:copy_move_constructor::X*,&x:copy_move_constructor::X&) [line 30, column 10]\n " shape="box"] - "getX#copy_move_constructor(class .3ed1bf77442fb4e4_4" -> "getX#copy_move_constructor(class .3ed1bf77442fb4e4_5" ; -"getX#copy_move_constructor(class .3ed1bf77442fb4e4_5" [label="5: Return Stmt \n " shape="box"] + "getX#copy_move_constructor#221168.876b259ed079b8b1_4" -> "getX#copy_move_constructor#221168.876b259ed079b8b1_5" ; +"getX#copy_move_constructor#221168.876b259ed079b8b1_5" [label="5: Return Stmt \n " shape="box"] - "getX#copy_move_constructor(class .3ed1bf77442fb4e4_5" -> "getX#copy_move_constructor(class .3ed1bf77442fb4e4_2" ; -"getX#copy_move_constructor(class .3ed1bf77442fb4e4_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&f:int [line 29, column 9]\n *&x.f:int=n$2 [line 29, column 3]\n " shape="box"] + "getX#copy_move_constructor#221168.876b259ed079b8b1_5" -> "getX#copy_move_constructor#221168.876b259ed079b8b1_2" ; +"getX#copy_move_constructor#221168.876b259ed079b8b1_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&f:int [line 29, column 9]\n *&x.f:int=n$2 [line 29, column 3]\n " shape="box"] - "getX#copy_move_constructor(class .3ed1bf77442fb4e4_6" -> "getX#copy_move_constructor(class .3ed1bf77442fb4e4_3" ; -"getX#copy_move_constructor(class .3ed1bf77442fb4e4_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:copy_move_constructor::X); [line 28, column 3]\n n$3=_fun_copy_move_constructor::X::X(&x:copy_move_constructor::X*) [line 28, column 5]\n " shape="box"] + "getX#copy_move_constructor#221168.876b259ed079b8b1_6" -> "getX#copy_move_constructor#221168.876b259ed079b8b1_3" ; +"getX#copy_move_constructor#221168.876b259ed079b8b1_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:copy_move_constructor::X); [line 28, column 3]\n n$3=_fun_copy_move_constructor::X::X(&x:copy_move_constructor::X*) [line 28, column 5]\n " shape="box"] - "getX#copy_move_constructor(class .3ed1bf77442fb4e4_7" -> "getX#copy_move_constructor(class .3ed1bf77442fb4e4_6" ; -"getY#copy_move_constructor(class .ad9dd85c67bb69fc_1" [label="1: Start copy_move_constructor::getY\nFormals: f:int __return_param:copy_move_constructor::Y*\nLocals: y:copy_move_constructor::Y \n " color=yellow style=filled] + "getX#copy_move_constructor#221168.876b259ed079b8b1_7" -> "getX#copy_move_constructor#221168.876b259ed079b8b1_6" ; +"getY#copy_move_constructor#171201.2c171bbad2707d61_1" [label="1: Start copy_move_constructor::getY\nFormals: f:int __return_param:copy_move_constructor::Y*\nLocals: y:copy_move_constructor::Y \n " color=yellow style=filled] - "getY#copy_move_constructor(class .ad9dd85c67bb69fc_1" -> "getY#copy_move_constructor(class .ad9dd85c67bb69fc_7" ; -"getY#copy_move_constructor(class .ad9dd85c67bb69fc_2" [label="2: Exit copy_move_constructor::getY \n " color=yellow style=filled] + "getY#copy_move_constructor#171201.2c171bbad2707d61_1" -> "getY#copy_move_constructor#171201.2c171bbad2707d61_7" ; +"getY#copy_move_constructor#171201.2c171bbad2707d61_2" [label="2: Exit copy_move_constructor::getY \n " color=yellow style=filled] -"getY#copy_move_constructor(class .ad9dd85c67bb69fc_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::Y* [line 36, column 3]\n " shape="box"] +"getY#copy_move_constructor#171201.2c171bbad2707d61_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::Y* [line 36, column 3]\n " shape="box"] - "getY#copy_move_constructor(class .ad9dd85c67bb69fc_3" -> "getY#copy_move_constructor(class .ad9dd85c67bb69fc_4" ; -"getY#copy_move_constructor(class .ad9dd85c67bb69fc_4" [label="4: Return Stmt \n n$1=_fun_copy_move_constructor::Y::Y(n$0:copy_move_constructor::Y*,&y:copy_move_constructor::Y&) [line 36, column 10]\n " shape="box"] + "getY#copy_move_constructor#171201.2c171bbad2707d61_3" -> "getY#copy_move_constructor#171201.2c171bbad2707d61_4" ; +"getY#copy_move_constructor#171201.2c171bbad2707d61_4" [label="4: Return Stmt \n n$1=_fun_copy_move_constructor::Y::Y(n$0:copy_move_constructor::Y*,&y:copy_move_constructor::Y&) [line 36, column 10]\n " shape="box"] - "getY#copy_move_constructor(class .ad9dd85c67bb69fc_4" -> "getY#copy_move_constructor(class .ad9dd85c67bb69fc_5" ; -"getY#copy_move_constructor(class .ad9dd85c67bb69fc_5" [label="5: Return Stmt \n " shape="box"] + "getY#copy_move_constructor#171201.2c171bbad2707d61_4" -> "getY#copy_move_constructor#171201.2c171bbad2707d61_5" ; +"getY#copy_move_constructor#171201.2c171bbad2707d61_5" [label="5: Return Stmt \n " shape="box"] - "getY#copy_move_constructor(class .ad9dd85c67bb69fc_5" -> "getY#copy_move_constructor(class .ad9dd85c67bb69fc_2" ; -"getY#copy_move_constructor(class .ad9dd85c67bb69fc_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&f:int [line 35, column 9]\n *&y.f:int=n$2 [line 35, column 3]\n " shape="box"] + "getY#copy_move_constructor#171201.2c171bbad2707d61_5" -> "getY#copy_move_constructor#171201.2c171bbad2707d61_2" ; +"getY#copy_move_constructor#171201.2c171bbad2707d61_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&f:int [line 35, column 9]\n *&y.f:int=n$2 [line 35, column 3]\n " shape="box"] - "getY#copy_move_constructor(class .ad9dd85c67bb69fc_6" -> "getY#copy_move_constructor(class .ad9dd85c67bb69fc_3" ; -"getY#copy_move_constructor(class .ad9dd85c67bb69fc_7" [label="7: DeclStmt \n VARIABLE_DECLARED(y:copy_move_constructor::Y); [line 34, column 3]\n n$3=_fun_copy_move_constructor::Y::Y(&y:copy_move_constructor::Y*) [line 34, column 5]\n " shape="box"] + "getY#copy_move_constructor#171201.2c171bbad2707d61_6" -> "getY#copy_move_constructor#171201.2c171bbad2707d61_3" ; +"getY#copy_move_constructor#171201.2c171bbad2707d61_7" [label="7: DeclStmt \n VARIABLE_DECLARED(y:copy_move_constructor::Y); [line 34, column 3]\n n$3=_fun_copy_move_constructor::Y::Y(&y:copy_move_constructor::Y*) [line 34, column 5]\n " shape="box"] - "getY#copy_move_constructor(class .ad9dd85c67bb69fc_7" -> "getY#copy_move_constructor(class .ad9dd85c67bb69fc_6" ; + "getY#copy_move_constructor#171201.2c171bbad2707d61_7" -> "getY#copy_move_constructor#171201.2c171bbad2707d61_6" ; "moveX_div0#copy_move_constructor#.f23c95e594ab41ba_1" [label="1: Start copy_move_constructor::moveX_div0\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X \n " color=yellow style=filled] 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 e1a4f28331d..b6946525adc 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot @@ -42,29 +42,29 @@ digraph cfg { "div#temp_object#82357420092119352.2061ea7bd543a210_4" -> "div#temp_object#82357420092119352.2061ea7bd543a210_2" ; -"getX#temp_object(class temp_objec.c6d7bacbd2aa751d_1" [label="1: Start temp_object::getX\nFormals: a:int b:int __return_param:temp_object::X*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const \n " color=yellow style=filled] +"getX#temp_object#4720444219866178.f48412a1530fe282_1" [label="1: Start temp_object::getX\nFormals: a:int b:int __return_param:temp_object::X*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const \n " color=yellow style=filled] - "getX#temp_object(class temp_objec.c6d7bacbd2aa751d_1" -> "getX#temp_object(class temp_objec.c6d7bacbd2aa751d_4" ; -"getX#temp_object(class temp_objec.c6d7bacbd2aa751d_2" [label="2: Exit temp_object::getX \n " color=yellow style=filled] + "getX#temp_object#4720444219866178.f48412a1530fe282_1" -> "getX#temp_object#4720444219866178.f48412a1530fe282_4" ; +"getX#temp_object#4720444219866178.f48412a1530fe282_2" [label="2: Exit temp_object::getX \n " color=yellow style=filled] -"getX#temp_object(class temp_objec.c6d7bacbd2aa751d_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const ); [line 24, column 31]\n n$2=*&a:int [line 24, column 33]\n n$3=*&b:int [line 24, column 36]\n n$4=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const *,n$2:int,n$3:int) [line 24, column 31]\n " shape="box"] +"getX#temp_object#4720444219866178.f48412a1530fe282_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const ); [line 24, column 31]\n n$2=*&a:int [line 24, column 33]\n n$3=*&b:int [line 24, column 36]\n n$4=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const *,n$2:int,n$3:int) [line 24, column 31]\n " shape="box"] - "getX#temp_object(class temp_objec.c6d7bacbd2aa751d_3" -> "getX#temp_object(class temp_objec.c6d7bacbd2aa751d_5" ; -"getX#temp_object(class temp_objec.c6d7bacbd2aa751d_4" [label="4: Return Stmt \n n$0=*&__return_param:temp_object::X* [line 24, column 24]\n " shape="box"] + "getX#temp_object#4720444219866178.f48412a1530fe282_3" -> "getX#temp_object#4720444219866178.f48412a1530fe282_5" ; +"getX#temp_object#4720444219866178.f48412a1530fe282_4" [label="4: Return Stmt \n n$0=*&__return_param:temp_object::X* [line 24, column 24]\n " shape="box"] - "getX#temp_object(class temp_objec.c6d7bacbd2aa751d_4" -> "getX#temp_object(class temp_objec.c6d7bacbd2aa751d_3" ; -"getX#temp_object(class temp_objec.c6d7bacbd2aa751d_5" [label="5: Return Stmt \n n$5=_fun_temp_object::X::X(n$0:temp_object::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const &) [line 24, column 31]\n " shape="box"] + "getX#temp_object#4720444219866178.f48412a1530fe282_4" -> "getX#temp_object#4720444219866178.f48412a1530fe282_3" ; +"getX#temp_object#4720444219866178.f48412a1530fe282_5" [label="5: Return Stmt \n n$5=_fun_temp_object::X::X(n$0:temp_object::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const &) [line 24, column 31]\n " shape="box"] - "getX#temp_object(class temp_objec.c6d7bacbd2aa751d_5" -> "getX#temp_object(class temp_objec.c6d7bacbd2aa751d_6" ; -"getX#temp_object(class temp_objec.c6d7bacbd2aa751d_6" [label="6: Return Stmt \n " shape="box"] + "getX#temp_object#4720444219866178.f48412a1530fe282_5" -> "getX#temp_object#4720444219866178.f48412a1530fe282_6" ; +"getX#temp_object#4720444219866178.f48412a1530fe282_6" [label="6: Return Stmt \n " shape="box"] - "getX#temp_object(class temp_objec.c6d7bacbd2aa751d_6" -> "getX#temp_object(class temp_objec.c6d7bacbd2aa751d_2" ; + "getX#temp_object#4720444219866178.f48412a1530fe282_6" -> "getX#temp_object#4720444219866178.f48412a1530fe282_2" ; "getX_field_div0#temp_object#12698.854c4a3940ca0511_1" [label="1: Start temp_object::getX_field_div0\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot index f6cba3fc110..5d9867f3a30 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot @@ -101,83 +101,83 @@ digraph cfg { "forward#std#32881243201550.4d44031ae211ec0d_4" -> "forward#std#32881243201550.4d44031ae211ec0d_2" ; -"make_id#p.704a07df7f1fd491_1" [label="1: Start pass_by_val::make_id\nFormals: args:int& args:int& args:int&& __return_param:pass_by_val::Id*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id \n " color=yellow style=filled] +"make_id#p.2f2dd9bec9bb8475_1" [label="1: Start pass_by_val::make_id\nFormals: args:int& args:int& args:int&& __return_param:pass_by_val::Id*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id \n " color=yellow style=filled] - "make_id#p.704a07df7f1fd491_1" -> "make_id#p.704a07df7f1fd491_4" ; -"make_id#p.704a07df7f1fd491_2" [label="2: Exit pass_by_val::make_id \n " color=yellow style=filled] + "make_id#p.2f2dd9bec9bb8475_1" -> "make_id#p.2f2dd9bec9bb8475_4" ; +"make_id#p.2f2dd9bec9bb8475_2" [label="2: Exit pass_by_val::make_id \n " color=yellow style=filled] -"make_id#p.704a07df7f1fd491_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id); [line 59, column 10]\n n$2=*&args:int& [line 59, column 35]\n n$3=_fun_std::forward(n$2:int&) [line 59, column 16]\n n$4=*n$3:int [line 59, column 16]\n n$5=*&args:int& [line 59, column 35]\n n$6=_fun_std::forward(n$5:int&) [line 59, column 16]\n n$7=*&args:int&& [line 59, column 35]\n n$8=_fun_std::forward(n$7:int&&) [line 59, column 16]\n n$9=_fun_pass_by_val::Id::Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*,n$4:int,n$6:int&,n$8:int&) [line 59, column 10]\n " shape="box"] +"make_id#p.2f2dd9bec9bb8475_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id); [line 59, column 10]\n n$2=*&args:int& [line 59, column 35]\n n$3=_fun_std::forward(n$2:int&) [line 59, column 16]\n n$4=*n$3:int [line 59, column 16]\n n$5=*&args:int& [line 59, column 35]\n n$6=_fun_std::forward(n$5:int&) [line 59, column 16]\n n$7=*&args:int&& [line 59, column 35]\n n$8=_fun_std::forward(n$7:int&&) [line 59, column 16]\n n$9=_fun_pass_by_val::Id::Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*,n$4:int,n$6:int&,n$8:int&) [line 59, column 10]\n " shape="box"] - "make_id#p.704a07df7f1fd491_3" -> "make_id#p.704a07df7f1fd491_5" ; -"make_id#p.704a07df7f1fd491_4" [label="4: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 59, column 3]\n " shape="box"] + "make_id#p.2f2dd9bec9bb8475_3" -> "make_id#p.2f2dd9bec9bb8475_5" ; +"make_id#p.2f2dd9bec9bb8475_4" [label="4: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 59, column 3]\n " shape="box"] - "make_id#p.704a07df7f1fd491_4" -> "make_id#p.704a07df7f1fd491_3" ; -"make_id#p.704a07df7f1fd491_5" [label="5: Return Stmt \n n$10=_fun_pass_by_val::Id::Id(n$0:pass_by_val::Id*,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id&) [line 59, column 10]\n " shape="box"] + "make_id#p.2f2dd9bec9bb8475_4" -> "make_id#p.2f2dd9bec9bb8475_3" ; +"make_id#p.2f2dd9bec9bb8475_5" [label="5: Return Stmt \n n$10=_fun_pass_by_val::Id::Id(n$0:pass_by_val::Id*,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id&) [line 59, column 10]\n " shape="box"] - "make_id#p.704a07df7f1fd491_5" -> "make_id#p.704a07df7f1fd491_6" ; -"make_id#p.704a07df7f1fd491_6" [label="6: Return Stmt \n " shape="box"] + "make_id#p.2f2dd9bec9bb8475_5" -> "make_id#p.2f2dd9bec9bb8475_6" ; +"make_id#p.2f2dd9bec9bb8475_6" [label="6: Return Stmt \n " shape="box"] - "make_id#p.704a07df7f1fd491_6" -> "make_id#p.704a07df7f1fd491_2" ; -"perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_1" [label="1: Start pass_by_val::perfect_forwarding_by_ref\nFormals: __return_param:pass_by_val::Id*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$2:int 0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id b:int a:int \n " color=yellow style=filled] + "make_id#p.2f2dd9bec9bb8475_6" -> "make_id#p.2f2dd9bec9bb8475_2" ; +"perfect_forwarding_by_ref#pass_by.47db45acfc842e77_1" [label="1: Start pass_by_val::perfect_forwarding_by_ref\nFormals: __return_param:pass_by_val::Id*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$2:int 0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id b:int a:int \n " color=yellow style=filled] - "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_1" -> "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_10" ; -"perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_2" [label="2: Exit pass_by_val::perfect_forwarding_by_ref \n " color=yellow style=filled] + "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_1" -> "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_10" ; +"perfect_forwarding_by_ref#pass_by.47db45acfc842e77_2" [label="2: Exit pass_by_val::perfect_forwarding_by_ref \n " color=yellow style=filled] -"perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int); [line 64, column 29]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=2 [line 64, column 29]\n " shape="box"] +"perfect_forwarding_by_ref#pass_by.47db45acfc842e77_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int); [line 64, column 29]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=2 [line 64, column 29]\n " shape="box"] - "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_3" -> "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_5" ; -"perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_4" [label="4: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id); [line 64, column 10]\n " shape="box"] + "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_3" -> "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_5" ; +"perfect_forwarding_by_ref#pass_by.47db45acfc842e77_4" [label="4: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id); [line 64, column 10]\n " shape="box"] - "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_4" -> "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_3" ; -"perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_5" [label="5: DeclStmt \n n$4=_fun_pass_by_val::make_id(&a:int&,&b:int&,&0$?%__sil_tmpSIL_materialize_temp__n$2:int&,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*) assign_last [line 64, column 10]\n " shape="box"] + "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_4" -> "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_3" ; +"perfect_forwarding_by_ref#pass_by.47db45acfc842e77_5" [label="5: DeclStmt \n n$4=_fun_pass_by_val::make_id(&a:int&,&b:int&,&0$?%__sil_tmpSIL_materialize_temp__n$2:int&,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*) assign_last [line 64, column 10]\n " shape="box"] - "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_5" -> "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_7" ; -"perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_6" [label="6: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 64, column 3]\n " shape="box"] + "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_5" -> "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_7" ; +"perfect_forwarding_by_ref#pass_by.47db45acfc842e77_6" [label="6: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 64, column 3]\n " shape="box"] - "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_6" -> "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_4" ; -"perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_7" [label="7: Return Stmt \n n$5=_fun_pass_by_val::Id::Id(n$0:pass_by_val::Id*,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id&) [line 64, column 10]\n " shape="box"] + "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_6" -> "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_4" ; +"perfect_forwarding_by_ref#pass_by.47db45acfc842e77_7" [label="7: Return Stmt \n n$5=_fun_pass_by_val::Id::Id(n$0:pass_by_val::Id*,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id&) [line 64, column 10]\n " shape="box"] - "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_7" -> "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_8" ; -"perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_8" [label="8: Return Stmt \n " shape="box"] + "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_7" -> "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_8" ; +"perfect_forwarding_by_ref#pass_by.47db45acfc842e77_8" [label="8: Return Stmt \n " shape="box"] - "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_8" -> "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_2" ; -"perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_9" [label="9: DeclStmt \n VARIABLE_DECLARED(b:int); [line 63, column 3]\n *&b:int=1 [line 63, column 3]\n " shape="box"] + "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_8" -> "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_2" ; +"perfect_forwarding_by_ref#pass_by.47db45acfc842e77_9" [label="9: DeclStmt \n VARIABLE_DECLARED(b:int); [line 63, column 3]\n *&b:int=1 [line 63, column 3]\n " shape="box"] - "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_9" -> "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_6" ; -"perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_10" [label="10: DeclStmt \n VARIABLE_DECLARED(a:int); [line 63, column 3]\n *&a:int=0 [line 63, column 3]\n " shape="box"] + "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_9" -> "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_6" ; +"perfect_forwarding_by_ref#pass_by.47db45acfc842e77_10" [label="10: DeclStmt \n VARIABLE_DECLARED(a:int); [line 63, column 3]\n *&a:int=0 [line 63, column 3]\n " shape="box"] - "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_10" -> "perfect_forwarding_by_ref#pass_by.4a78b0c805a8de47_9" ; -"plain_struct_by_ref#pass_by_val(c.ebb1ec27d296c7f7_1" [label="1: Start pass_by_val::plain_struct_by_ref\nFormals: lref:pass_by_val::PlainStruct& rref:pass_by_val::PlainStruct&& ptr:pass_by_val::PlainStruct*\nLocals: \n " color=yellow style=filled] + "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_10" -> "perfect_forwarding_by_ref#pass_by.47db45acfc842e77_9" ; +"plain_struct_by_ref#pass_by_val#2.700667e64fd3e548_1" [label="1: Start pass_by_val::plain_struct_by_ref\nFormals: lref:pass_by_val::PlainStruct& rref:pass_by_val::PlainStruct&& ptr:pass_by_val::PlainStruct*\nLocals: \n " color=yellow style=filled] - "plain_struct_by_ref#pass_by_val(c.ebb1ec27d296c7f7_1" -> "plain_struct_by_ref#pass_by_val(c.ebb1ec27d296c7f7_3" ; -"plain_struct_by_ref#pass_by_val(c.ebb1ec27d296c7f7_2" [label="2: Exit pass_by_val::plain_struct_by_ref \n " color=yellow style=filled] + "plain_struct_by_ref#pass_by_val#2.700667e64fd3e548_1" -> "plain_struct_by_ref#pass_by_val#2.700667e64fd3e548_3" ; +"plain_struct_by_ref#pass_by_val#2.700667e64fd3e548_2" [label="2: Exit pass_by_val::plain_struct_by_ref \n " color=yellow style=filled] -"plain_struct_by_ref#pass_by_val(c.ebb1ec27d296c7f7_3" [label="3: Return Stmt \n n$0=*&lref:pass_by_val::PlainStruct& [line 21, column 10]\n n$1=*n$0.x:int [line 21, column 10]\n n$2=*&rref:pass_by_val::PlainStruct&& [line 21, column 19]\n n$3=*n$2.x:int [line 21, column 19]\n n$4=*&ptr:pass_by_val::PlainStruct* [line 21, column 28]\n n$5=*n$4.x:int [line 21, column 28]\n " shape="box"] +"plain_struct_by_ref#pass_by_val#2.700667e64fd3e548_3" [label="3: Return Stmt \n n$0=*&lref:pass_by_val::PlainStruct& [line 21, column 10]\n n$1=*n$0.x:int [line 21, column 10]\n n$2=*&rref:pass_by_val::PlainStruct&& [line 21, column 19]\n n$3=*n$2.x:int [line 21, column 19]\n n$4=*&ptr:pass_by_val::PlainStruct* [line 21, column 28]\n n$5=*n$4.x:int [line 21, column 28]\n " shape="box"] - "plain_struct_by_ref#pass_by_val(c.ebb1ec27d296c7f7_3" -> "plain_struct_by_ref#pass_by_val(c.ebb1ec27d296c7f7_4" ; -"plain_struct_by_ref#pass_by_val(c.ebb1ec27d296c7f7_4" [label="4: Return Stmt \n *&return:int=((n$1 + n$3) + n$5) [line 21, column 3]\n " shape="box"] + "plain_struct_by_ref#pass_by_val#2.700667e64fd3e548_3" -> "plain_struct_by_ref#pass_by_val#2.700667e64fd3e548_4" ; +"plain_struct_by_ref#pass_by_val#2.700667e64fd3e548_4" [label="4: Return Stmt \n *&return:int=((n$1 + n$3) + n$5) [line 21, column 3]\n " shape="box"] - "plain_struct_by_ref#pass_by_val(c.ebb1ec27d296c7f7_4" -> "plain_struct_by_ref#pass_by_val(c.ebb1ec27d296c7f7_2" ; + "plain_struct_by_ref#pass_by_val#2.700667e64fd3e548_4" -> "plain_struct_by_ref#pass_by_val#2.700667e64fd3e548_2" ; "plain_struct_by_val#pass_by_val#7.eb0e0bdde375e8d1_1" [label="1: Start pass_by_val::plain_struct_by_val\nFormals: p:pass_by_val::PlainStruct&\nLocals: \n " color=yellow style=filled] @@ -223,21 +223,21 @@ digraph cfg { "tricky_dependent_by_val#pass_by_v.2c9738321ba9545d_4" -> "tricky_dependent_by_val#pass_by_v.2c9738321ba9545d_2" ; -"type_alias_by_ref#pass_by_val(cla.a3dda6b37896a0f8_1" [label="1: Start pass_by_val::type_alias_by_ref\nFormals: p1:pass_by_val::PlainStruct* p2:pass_by_val::PlainStruct const *\nLocals: \n " color=yellow style=filled] +"type_alias_by_ref#pass_by_val#126.f656e449ac4cf31b_1" [label="1: Start pass_by_val::type_alias_by_ref\nFormals: p1:pass_by_val::PlainStruct* p2:pass_by_val::PlainStruct const *\nLocals: \n " color=yellow style=filled] - "type_alias_by_ref#pass_by_val(cla.a3dda6b37896a0f8_1" -> "type_alias_by_ref#pass_by_val(cla.a3dda6b37896a0f8_3" ; -"type_alias_by_ref#pass_by_val(cla.a3dda6b37896a0f8_2" [label="2: Exit pass_by_val::type_alias_by_ref \n " color=yellow style=filled] + "type_alias_by_ref#pass_by_val#126.f656e449ac4cf31b_1" -> "type_alias_by_ref#pass_by_val#126.f656e449ac4cf31b_3" ; +"type_alias_by_ref#pass_by_val#126.f656e449ac4cf31b_2" [label="2: Exit pass_by_val::type_alias_by_ref \n " color=yellow style=filled] -"type_alias_by_ref#pass_by_val(cla.a3dda6b37896a0f8_3" [label="3: Return Stmt \n n$0=*&p1:pass_by_val::PlainStruct* [line 33, column 10]\n n$1=*n$0.x:int [line 33, column 10]\n n$2=*&p2:pass_by_val::PlainStruct const * [line 33, column 18]\n n$3=*n$2.x:int [line 33, column 18]\n " shape="box"] +"type_alias_by_ref#pass_by_val#126.f656e449ac4cf31b_3" [label="3: Return Stmt \n n$0=*&p1:pass_by_val::PlainStruct* [line 33, column 10]\n n$1=*n$0.x:int [line 33, column 10]\n n$2=*&p2:pass_by_val::PlainStruct const * [line 33, column 18]\n n$3=*n$2.x:int [line 33, column 18]\n " shape="box"] - "type_alias_by_ref#pass_by_val(cla.a3dda6b37896a0f8_3" -> "type_alias_by_ref#pass_by_val(cla.a3dda6b37896a0f8_4" ; -"type_alias_by_ref#pass_by_val(cla.a3dda6b37896a0f8_4" [label="4: Return Stmt \n *&return:int=(n$1 + n$3) [line 33, column 3]\n " shape="box"] + "type_alias_by_ref#pass_by_val#126.f656e449ac4cf31b_3" -> "type_alias_by_ref#pass_by_val#126.f656e449ac4cf31b_4" ; +"type_alias_by_ref#pass_by_val#126.f656e449ac4cf31b_4" [label="4: Return Stmt \n *&return:int=(n$1 + n$3) [line 33, column 3]\n " shape="box"] - "type_alias_by_ref#pass_by_val(cla.a3dda6b37896a0f8_4" -> "type_alias_by_ref#pass_by_val(cla.a3dda6b37896a0f8_2" ; + "type_alias_by_ref#pass_by_val#126.f656e449ac4cf31b_4" -> "type_alias_by_ref#pass_by_val#126.f656e449ac4cf31b_2" ; "type_alias_by_val#pass_by_val#927.425db1bd7e6b4811_1" [label="1: Start pass_by_val::type_alias_by_val\nFormals: p1:pass_by_val::PlainStruct& p2:pass_by_val::PlainStruct&\nLocals: 0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct 0$?%__sil_tmp__temp_construct_n$4:pass_by_val::PlainStruct \n " color=yellow style=filled] 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 8bd62fa5e6a..ccee9077207 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot @@ -1,32 +1,32 @@ /* @generated */ digraph cfg { -"test(class A)#1418335328436172353.f22d37fbaacc66a7_1" [label="1: Start test\nFormals: a:A*\nLocals: x:X 0$?%__sil_tmpSIL_materialize_temp__n$1:X \n " color=yellow style=filled] +"test#14183353284361723530.9ab958283f2da536_1" [label="1: Start test\nFormals: a:A*\nLocals: x:X 0$?%__sil_tmpSIL_materialize_temp__n$1:X \n " color=yellow style=filled] - "test(class A)#1418335328436172353.f22d37fbaacc66a7_1" -> "test(class A)#1418335328436172353.f22d37fbaacc66a7_6" ; -"test(class A)#1418335328436172353.f22d37fbaacc66a7_2" [label="2: Exit test \n " color=yellow style=filled] + "test#14183353284361723530.9ab958283f2da536_1" -> "test#14183353284361723530.9ab958283f2da536_6" ; +"test#14183353284361723530.9ab958283f2da536_2" [label="2: Exit test \n " color=yellow style=filled] -"test(class A)#1418335328436172353.f22d37fbaacc66a7_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 21, column 14]\n " shape="box"] +"test#14183353284361723530.9ab958283f2da536_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 21, column 14]\n " shape="box"] - "test(class A)#1418335328436172353.f22d37fbaacc66a7_3" -> "test(class A)#1418335328436172353.f22d37fbaacc66a7_4" ; -"test(class A)#1418335328436172353.f22d37fbaacc66a7_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 21, column 3]\n " shape="box"] + "test#14183353284361723530.9ab958283f2da536_3" -> "test#14183353284361723530.9ab958283f2da536_4" ; +"test#14183353284361723530.9ab958283f2da536_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 21, column 3]\n " shape="box"] - "test(class A)#1418335328436172353.f22d37fbaacc66a7_4" -> "test(class A)#1418335328436172353.f22d37fbaacc66a7_2" ; -"test(class A)#1418335328436172353.f22d37fbaacc66a7_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:X); [line 20, column 9]\n n$2=*&a:A* [line 20, column 9]\n _=*n$2:A [line 20, column 9]\n n$5=_fun_A::get(n$2:A*,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:X*) assign_last [line 20, column 9]\n " shape="box"] + "test#14183353284361723530.9ab958283f2da536_4" -> "test#14183353284361723530.9ab958283f2da536_2" ; +"test#14183353284361723530.9ab958283f2da536_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:X); [line 20, column 9]\n n$2=*&a:A* [line 20, column 9]\n _=*n$2:A [line 20, column 9]\n n$5=_fun_A::get(n$2:A*,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:X*) assign_last [line 20, column 9]\n " shape="box"] - "test(class A)#1418335328436172353.f22d37fbaacc66a7_5" -> "test(class A)#1418335328436172353.f22d37fbaacc66a7_7" ; -"test(class A)#1418335328436172353.f22d37fbaacc66a7_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:X); [line 20, column 3]\n " shape="box"] + "test#14183353284361723530.9ab958283f2da536_5" -> "test#14183353284361723530.9ab958283f2da536_7" ; +"test#14183353284361723530.9ab958283f2da536_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:X); [line 20, column 3]\n " shape="box"] - "test(class A)#1418335328436172353.f22d37fbaacc66a7_6" -> "test(class A)#1418335328436172353.f22d37fbaacc66a7_5" ; -"test(class A)#1418335328436172353.f22d37fbaacc66a7_7" [label="7: DeclStmt \n n$6=_fun_X::X(&x:X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:X&) [line 20, column 9]\n " shape="box"] + "test#14183353284361723530.9ab958283f2da536_6" -> "test#14183353284361723530.9ab958283f2da536_5" ; +"test#14183353284361723530.9ab958283f2da536_7" [label="7: DeclStmt \n n$6=_fun_X::X(&x:X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:X&) [line 20, column 9]\n " shape="box"] - "test(class A)#1418335328436172353.f22d37fbaacc66a7_7" -> "test(class A)#1418335328436172353.f22d37fbaacc66a7_3" ; + "test#14183353284361723530.9ab958283f2da536_7" -> "test#14183353284361723530.9ab958283f2da536_3" ; "get#A(class X)#(17614446005766435.0f83d3543d984a86_1" [label="1: Start A::get\nFormals: this:A* p:int __return_param:X*\nLocals: x:X \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/static.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/static.cpp.dot index dad236ebe23..8e531da9835 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/static.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/static.cpp.dot @@ -11,17 +11,17 @@ digraph cfg { "div0_class#4984704850372216251.260ce38d809793fc_3" -> "div0_class#4984704850372216251.260ce38d809793fc_2" ; -"div0_instance(class A)#1337694953.fc775825a5031b98_1" [label="1: Start div0_instance\nFormals: a:A*\nLocals: \n " color=yellow style=filled] +"div0_instance#1337694953475009043.51640b59fd921707_1" [label="1: Start div0_instance\nFormals: a:A*\nLocals: \n " color=yellow style=filled] - "div0_instance(class A)#1337694953.fc775825a5031b98_1" -> "div0_instance(class A)#1337694953.fc775825a5031b98_3" ; -"div0_instance(class A)#1337694953.fc775825a5031b98_2" [label="2: Exit div0_instance \n " color=yellow style=filled] + "div0_instance#1337694953475009043.51640b59fd921707_1" -> "div0_instance#1337694953475009043.51640b59fd921707_3" ; +"div0_instance#1337694953475009043.51640b59fd921707_2" [label="2: Exit div0_instance \n " color=yellow style=filled] -"div0_instance(class A)#1337694953.fc775825a5031b98_3" [label="3: Call _fun_A::fun \n n$0=*&a:A* [line 19, column 3]\n n$2=_fun_A::fun(0:int) [line 19, column 3]\n " shape="box"] +"div0_instance#1337694953475009043.51640b59fd921707_3" [label="3: Call _fun_A::fun \n n$0=*&a:A* [line 19, column 3]\n n$2=_fun_A::fun(0:int) [line 19, column 3]\n " shape="box"] - "div0_instance(class A)#1337694953.fc775825a5031b98_3" -> "div0_instance(class A)#1337694953.fc775825a5031b98_2" ; + "div0_instance#1337694953475009043.51640b59fd921707_3" -> "div0_instance#1337694953475009043.51640b59fd921707_2" ; "fun#A#(6769534270530582672).0ab578f4190d39d2_1" [label="1: Start A::fun\nFormals: a:int\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot index fb254616472..3d355e90db7 100644 --- a/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot @@ -46,27 +46,27 @@ digraph cfg { "div0_static_field#122314706996311.dca5ebae856e9b40_6" -> "div0_static_field#122314706996311.dca5ebae856e9b40_5" ; -"div0_static_field_member_access(c.e5b80b8e0139e41b_1" [label="1: Start div0_static_field_member_access\nFormals: a:f1::A* b:C*\nLocals: \n " color=yellow style=filled] +"div0_static_field_member_access#8.b606a4de40e2ad34_1" [label="1: Start div0_static_field_member_access\nFormals: a:f1::A* b:C*\nLocals: \n " color=yellow style=filled] - "div0_static_field_member_access(c.e5b80b8e0139e41b_1" -> "div0_static_field_member_access(c.e5b80b8e0139e41b_6" ; -"div0_static_field_member_access(c.e5b80b8e0139e41b_2" [label="2: Exit div0_static_field_member_access \n " color=yellow style=filled] + "div0_static_field_member_access#8.b606a4de40e2ad34_1" -> "div0_static_field_member_access#8.b606a4de40e2ad34_6" ; +"div0_static_field_member_access#8.b606a4de40e2ad34_2" [label="2: Exit div0_static_field_member_access \n " color=yellow style=filled] -"div0_static_field_member_access(c.e5b80b8e0139e41b_3" [label="3: Return Stmt \n n$0=*&#GB<>$f1::A::v:int [line 41, column 15]\n n$1=*&#GB<>$B::v:int [line 41, column 26]\n " shape="box"] +"div0_static_field_member_access#8.b606a4de40e2ad34_3" [label="3: Return Stmt \n n$0=*&#GB<>$f1::A::v:int [line 41, column 15]\n n$1=*&#GB<>$B::v:int [line 41, column 26]\n " shape="box"] - "div0_static_field_member_access(c.e5b80b8e0139e41b_3" -> "div0_static_field_member_access(c.e5b80b8e0139e41b_4" ; -"div0_static_field_member_access(c.e5b80b8e0139e41b_4" [label="4: Return Stmt \n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 41, column 3]\n " shape="box"] + "div0_static_field_member_access#8.b606a4de40e2ad34_3" -> "div0_static_field_member_access#8.b606a4de40e2ad34_4" ; +"div0_static_field_member_access#8.b606a4de40e2ad34_4" [label="4: Return Stmt \n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 41, column 3]\n " shape="box"] - "div0_static_field_member_access(c.e5b80b8e0139e41b_4" -> "div0_static_field_member_access(c.e5b80b8e0139e41b_2" ; -"div0_static_field_member_access(c.e5b80b8e0139e41b_5" [label="5: BinaryOperatorStmt: Assign \n *&#GB<>$B::v:int=-2 [line 40, column 3]\n " shape="box"] + "div0_static_field_member_access#8.b606a4de40e2ad34_4" -> "div0_static_field_member_access#8.b606a4de40e2ad34_2" ; +"div0_static_field_member_access#8.b606a4de40e2ad34_5" [label="5: BinaryOperatorStmt: Assign \n *&#GB<>$B::v:int=-2 [line 40, column 3]\n " shape="box"] - "div0_static_field_member_access(c.e5b80b8e0139e41b_5" -> "div0_static_field_member_access(c.e5b80b8e0139e41b_3" ; -"div0_static_field_member_access(c.e5b80b8e0139e41b_6" [label="6: BinaryOperatorStmt: Assign \n *&#GB<>$f1::A::v:int=1 [line 39, column 3]\n " shape="box"] + "div0_static_field_member_access#8.b606a4de40e2ad34_5" -> "div0_static_field_member_access#8.b606a4de40e2ad34_3" ; +"div0_static_field_member_access#8.b606a4de40e2ad34_6" [label="6: BinaryOperatorStmt: Assign \n *&#GB<>$f1::A::v:int=1 [line 39, column 3]\n " shape="box"] - "div0_static_field_member_access(c.e5b80b8e0139e41b_6" -> "div0_static_field_member_access(c.e5b80b8e0139e41b_5" ; + "div0_static_field_member_access#8.b606a4de40e2ad34_6" -> "div0_static_field_member_access#8.b606a4de40e2ad34_5" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot index b3e115a6a11..9adb8abaf5c 100644 --- a/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot @@ -1,16 +1,16 @@ /* @generated */ digraph cfg { -"call_with_forward_declaration(cla.c1f98de069e5c709_1" [label="1: Start call_with_forward_declaration\nFormals: x:XForward*\nLocals: \n " color=yellow style=filled] +"call_with_forward_declaration#161.7dab8d0b16e63b8b_1" [label="1: Start call_with_forward_declaration\nFormals: x:XForward*\nLocals: \n " color=yellow style=filled] - "call_with_forward_declaration(cla.c1f98de069e5c709_1" -> "call_with_forward_declaration(cla.c1f98de069e5c709_3" ; -"call_with_forward_declaration(cla.c1f98de069e5c709_2" [label="2: Exit call_with_forward_declaration \n " color=yellow style=filled] + "call_with_forward_declaration#161.7dab8d0b16e63b8b_1" -> "call_with_forward_declaration#161.7dab8d0b16e63b8b_3" ; +"call_with_forward_declaration#161.7dab8d0b16e63b8b_2" [label="2: Exit call_with_forward_declaration \n " color=yellow style=filled] -"call_with_forward_declaration(cla.c1f98de069e5c709_3" [label="3: Call _fun_XForward::call \n n$0=*&x:XForward* [line 33, column 51]\n _=*n$0:XForward [line 33, column 51]\n n$2=_fun_XForward::call(n$0:XForward*) [line 33, column 51]\n " shape="box"] +"call_with_forward_declaration#161.7dab8d0b16e63b8b_3" [label="3: Call _fun_XForward::call \n n$0=*&x:XForward* [line 33, column 51]\n _=*n$0:XForward [line 33, column 51]\n n$2=_fun_XForward::call(n$0:XForward*) [line 33, column 51]\n " shape="box"] - "call_with_forward_declaration(cla.c1f98de069e5c709_3" -> "call_with_forward_declaration(cla.c1f98de069e5c709_2" ; + "call_with_forward_declaration#161.7dab8d0b16e63b8b_3" -> "call_with_forward_declaration#161.7dab8d0b16e63b8b_2" ; "getX#13708790503777666214.a992c0752db0283a_1" [label="1: Start getX\nFormals: \nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/member_access.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/member_access.cpp.dot index 7c9abf385c0..9d51ce7b4f8 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/member_access.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/member_access.cpp.dot @@ -1,20 +1,20 @@ /* @generated */ digraph cfg { -"access_ptr(class X)#1532147950839.a2d5fea3989ac28d_1" [label="1: Start access_ptr\nFormals: x:X*\nLocals: c:int f:int \n " color=yellow style=filled] +"access_ptr#15321479508398739907.c982e7d4bf02ada6_1" [label="1: Start access_ptr\nFormals: x:X*\nLocals: c:int f:int \n " color=yellow style=filled] - "access_ptr(class X)#1532147950839.a2d5fea3989ac28d_1" -> "access_ptr(class X)#1532147950839.a2d5fea3989ac28d_4" ; -"access_ptr(class X)#1532147950839.a2d5fea3989ac28d_2" [label="2: Exit access_ptr \n " color=yellow style=filled] + "access_ptr#15321479508398739907.c982e7d4bf02ada6_1" -> "access_ptr#15321479508398739907.c982e7d4bf02ada6_4" ; +"access_ptr#15321479508398739907.c982e7d4bf02ada6_2" [label="2: Exit access_ptr \n " color=yellow style=filled] -"access_ptr(class X)#1532147950839.a2d5fea3989ac28d_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 20, column 3]\n n$0=*&x:X* [line 20, column 11]\n _=*n$0:X [line 20, column 11]\n n$2=_fun_X::call(n$0:X*) [line 20, column 11]\n *&c:int=n$2 [line 20, column 3]\n " shape="box"] +"access_ptr#15321479508398739907.c982e7d4bf02ada6_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 20, column 3]\n n$0=*&x:X* [line 20, column 11]\n _=*n$0:X [line 20, column 11]\n n$2=_fun_X::call(n$0:X*) [line 20, column 11]\n *&c:int=n$2 [line 20, column 3]\n " shape="box"] - "access_ptr(class X)#1532147950839.a2d5fea3989ac28d_3" -> "access_ptr(class X)#1532147950839.a2d5fea3989ac28d_2" ; -"access_ptr(class X)#1532147950839.a2d5fea3989ac28d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:int); [line 19, column 3]\n n$3=*&x:X* [line 19, column 11]\n n$4=*n$3.f:int [line 19, column 11]\n *&f:int=n$4 [line 19, column 3]\n " shape="box"] + "access_ptr#15321479508398739907.c982e7d4bf02ada6_3" -> "access_ptr#15321479508398739907.c982e7d4bf02ada6_2" ; +"access_ptr#15321479508398739907.c982e7d4bf02ada6_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:int); [line 19, column 3]\n n$3=*&x:X* [line 19, column 11]\n n$4=*n$3.f:int [line 19, column 11]\n *&f:int=n$4 [line 19, column 3]\n " shape="box"] - "access_ptr(class X)#1532147950839.a2d5fea3989ac28d_4" -> "access_ptr(class X)#1532147950839.a2d5fea3989ac28d_3" ; + "access_ptr#15321479508398739907.c982e7d4bf02ada6_4" -> "access_ptr#15321479508398739907.c982e7d4bf02ada6_3" ; "access_ref#4794488565171451856.2c0cb1f039897d64_1" [label="1: Start access_ref\nFormals: x:X&\nLocals: c:int f:int \n " color=yellow style=filled] 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 f1946791c94..0c6a89551ab 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 @@ -11,42 +11,42 @@ digraph cfg { "__infer_globals_initializer_globa.bdc08c089842ce08_3" -> "__infer_globals_initializer_globa.bdc08c089842ce08_2" ; -"field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_1" [label="1: Start field_div0_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] +"field_div0_ptr#255578158174435732.4ee118b9c5178d1d_1" [label="1: Start field_div0_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] - "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_1" -> "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_5" ; - "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_1" -> "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_6" ; -"field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_2" [label="2: Exit field_div0_ptr \n " color=yellow style=filled] + "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_1" -> "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_5" ; + "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_1" -> "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_6" ; +"field_div0_ptr#255578158174435732.4ee118b9c5178d1d_2" [label="2: Exit field_div0_ptr \n " color=yellow style=filled] -"field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_3" [label="3: + \n END_BRANCHES\n " ] +"field_div0_ptr#255578158174435732.4ee118b9c5178d1d_3" [label="3: + \n END_BRANCHES\n " ] - "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_3" -> "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_4" ; -"field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_4" [label="4: between_join_and_exit \n END_BRANCHES\n " shape="box"] + "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_3" -> "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_4" ; +"field_div0_ptr#255578158174435732.4ee118b9c5178d1d_4" [label="4: between_join_and_exit \n END_BRANCHES\n " shape="box"] - "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_4" -> "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_2" ; -"field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_5" [label="5: Prune (true branch, if (terminated)) \n n$0=*&x:X* [line 46, column 7]\n PRUNE(n$0, true); [line 46, column 7]\n " shape="invhouse"] + "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_4" -> "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_2" ; +"field_div0_ptr#255578158174435732.4ee118b9c5178d1d_5" [label="5: Prune (true branch, if (terminated)) \n n$0=*&x:X* [line 46, column 7]\n PRUNE(n$0, true); [line 46, column 7]\n " shape="invhouse"] - "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_5" -> "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_9" ; -"field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_6" [label="6: Prune (false branch, if (terminated)) \n n$0=*&x:X* [line 46, column 7]\n PRUNE(!n$0, false); [line 46, column 7]\n " shape="invhouse"] + "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_5" -> "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_9" ; +"field_div0_ptr#255578158174435732.4ee118b9c5178d1d_6" [label="6: Prune (false branch, if (terminated)) \n n$0=*&x:X* [line 46, column 7]\n PRUNE(!n$0, false); [line 46, column 7]\n " shape="invhouse"] - "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_6" -> "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_3" ; -"field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_7" [label="7: Return Stmt \n n$1=*&x:X* [line 48, column 12]\n _=*n$1:X [line 48, column 12]\n n$3=_fun_X::div(n$1:X*) [line 48, column 12]\n " shape="box"] + "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_6" -> "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_3" ; +"field_div0_ptr#255578158174435732.4ee118b9c5178d1d_7" [label="7: Return Stmt \n n$1=*&x:X* [line 48, column 12]\n _=*n$1:X [line 48, column 12]\n n$3=_fun_X::div(n$1:X*) [line 48, column 12]\n " shape="box"] - "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_7" -> "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_8" ; -"field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_8" [label="8: Return Stmt \n *&return:int=n$3 [line 48, column 5]\n " shape="box"] + "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_7" -> "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_8" ; +"field_div0_ptr#255578158174435732.4ee118b9c5178d1d_8" [label="8: Return Stmt \n *&return:int=n$3 [line 48, column 5]\n " shape="box"] - "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_8" -> "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_2" ; -"field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_9" [label="9: Call _fun_set_field_ptr \n n$4=*&x:X* [line 47, column 19]\n n$5=_fun_set_field_ptr(n$4:X*,0:int) [line 47, column 5]\n " shape="box"] + "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_8" -> "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_2" ; +"field_div0_ptr#255578158174435732.4ee118b9c5178d1d_9" [label="9: Call _fun_set_field_ptr \n n$4=*&x:X* [line 47, column 19]\n n$5=_fun_set_field_ptr(n$4:X*,0:int) [line 47, column 5]\n " shape="box"] - "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_9" -> "field_div0_ptr(class X)#255578158.6b797bfc0b5ae223_7" ; + "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_9" -> "field_div0_ptr#255578158174435732.4ee118b9c5178d1d_7" ; "field_div0_ref#117238048226305489.b7eb5245bed0a75c_1" [label="1: Start field_div0_ref\nFormals: x:X&\nLocals: \n " color=yellow style=filled] @@ -66,42 +66,42 @@ digraph cfg { "field_div0_ref#117238048226305489.b7eb5245bed0a75c_5" -> "field_div0_ref#117238048226305489.b7eb5245bed0a75c_3" ; -"field_div1_ptr(class X)#104917759.81717de1848fc0d3_1" [label="1: Start field_div1_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] +"field_div1_ptr#104917759261767605.af54450738e6dc82_1" [label="1: Start field_div1_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] - "field_div1_ptr(class X)#104917759.81717de1848fc0d3_1" -> "field_div1_ptr(class X)#104917759.81717de1848fc0d3_5" ; - "field_div1_ptr(class X)#104917759.81717de1848fc0d3_1" -> "field_div1_ptr(class X)#104917759.81717de1848fc0d3_6" ; -"field_div1_ptr(class X)#104917759.81717de1848fc0d3_2" [label="2: Exit field_div1_ptr \n " color=yellow style=filled] + "field_div1_ptr#104917759261767605.af54450738e6dc82_1" -> "field_div1_ptr#104917759261767605.af54450738e6dc82_5" ; + "field_div1_ptr#104917759261767605.af54450738e6dc82_1" -> "field_div1_ptr#104917759261767605.af54450738e6dc82_6" ; +"field_div1_ptr#104917759261767605.af54450738e6dc82_2" [label="2: Exit field_div1_ptr \n " color=yellow style=filled] -"field_div1_ptr(class X)#104917759.81717de1848fc0d3_3" [label="3: + \n END_BRANCHES\n " ] +"field_div1_ptr#104917759261767605.af54450738e6dc82_3" [label="3: + \n END_BRANCHES\n " ] - "field_div1_ptr(class X)#104917759.81717de1848fc0d3_3" -> "field_div1_ptr(class X)#104917759.81717de1848fc0d3_4" ; -"field_div1_ptr(class X)#104917759.81717de1848fc0d3_4" [label="4: between_join_and_exit \n END_BRANCHES\n " shape="box"] + "field_div1_ptr#104917759261767605.af54450738e6dc82_3" -> "field_div1_ptr#104917759261767605.af54450738e6dc82_4" ; +"field_div1_ptr#104917759261767605.af54450738e6dc82_4" [label="4: between_join_and_exit \n END_BRANCHES\n " shape="box"] - "field_div1_ptr(class X)#104917759.81717de1848fc0d3_4" -> "field_div1_ptr(class X)#104917759.81717de1848fc0d3_2" ; -"field_div1_ptr(class X)#104917759.81717de1848fc0d3_5" [label="5: Prune (true branch, if (terminated)) \n n$0=*&x:X* [line 53, column 7]\n PRUNE(n$0, true); [line 53, column 7]\n " shape="invhouse"] + "field_div1_ptr#104917759261767605.af54450738e6dc82_4" -> "field_div1_ptr#104917759261767605.af54450738e6dc82_2" ; +"field_div1_ptr#104917759261767605.af54450738e6dc82_5" [label="5: Prune (true branch, if (terminated)) \n n$0=*&x:X* [line 53, column 7]\n PRUNE(n$0, true); [line 53, column 7]\n " shape="invhouse"] - "field_div1_ptr(class X)#104917759.81717de1848fc0d3_5" -> "field_div1_ptr(class X)#104917759.81717de1848fc0d3_9" ; -"field_div1_ptr(class X)#104917759.81717de1848fc0d3_6" [label="6: Prune (false branch, if (terminated)) \n n$0=*&x:X* [line 53, column 7]\n PRUNE(!n$0, false); [line 53, column 7]\n " shape="invhouse"] + "field_div1_ptr#104917759261767605.af54450738e6dc82_5" -> "field_div1_ptr#104917759261767605.af54450738e6dc82_9" ; +"field_div1_ptr#104917759261767605.af54450738e6dc82_6" [label="6: Prune (false branch, if (terminated)) \n n$0=*&x:X* [line 53, column 7]\n PRUNE(!n$0, false); [line 53, column 7]\n " shape="invhouse"] - "field_div1_ptr(class X)#104917759.81717de1848fc0d3_6" -> "field_div1_ptr(class X)#104917759.81717de1848fc0d3_3" ; -"field_div1_ptr(class X)#104917759.81717de1848fc0d3_7" [label="7: Return Stmt \n n$1=*&x:X* [line 55, column 12]\n _=*n$1:X [line 55, column 12]\n n$3=_fun_X::div(n$1:X*) [line 55, column 12]\n " shape="box"] + "field_div1_ptr#104917759261767605.af54450738e6dc82_6" -> "field_div1_ptr#104917759261767605.af54450738e6dc82_3" ; +"field_div1_ptr#104917759261767605.af54450738e6dc82_7" [label="7: Return Stmt \n n$1=*&x:X* [line 55, column 12]\n _=*n$1:X [line 55, column 12]\n n$3=_fun_X::div(n$1:X*) [line 55, column 12]\n " shape="box"] - "field_div1_ptr(class X)#104917759.81717de1848fc0d3_7" -> "field_div1_ptr(class X)#104917759.81717de1848fc0d3_8" ; -"field_div1_ptr(class X)#104917759.81717de1848fc0d3_8" [label="8: Return Stmt \n *&return:int=n$3 [line 55, column 5]\n " shape="box"] + "field_div1_ptr#104917759261767605.af54450738e6dc82_7" -> "field_div1_ptr#104917759261767605.af54450738e6dc82_8" ; +"field_div1_ptr#104917759261767605.af54450738e6dc82_8" [label="8: Return Stmt \n *&return:int=n$3 [line 55, column 5]\n " shape="box"] - "field_div1_ptr(class X)#104917759.81717de1848fc0d3_8" -> "field_div1_ptr(class X)#104917759.81717de1848fc0d3_2" ; -"field_div1_ptr(class X)#104917759.81717de1848fc0d3_9" [label="9: Call _fun_set_field_ptr \n n$4=*&x:X* [line 54, column 19]\n n$5=_fun_set_field_ptr(n$4:X*,1:int) [line 54, column 5]\n " shape="box"] + "field_div1_ptr#104917759261767605.af54450738e6dc82_8" -> "field_div1_ptr#104917759261767605.af54450738e6dc82_2" ; +"field_div1_ptr#104917759261767605.af54450738e6dc82_9" [label="9: Call _fun_set_field_ptr \n n$4=*&x:X* [line 54, column 19]\n n$5=_fun_set_field_ptr(n$4:X*,1:int) [line 54, column 5]\n " shape="box"] - "field_div1_ptr(class X)#104917759.81717de1848fc0d3_9" -> "field_div1_ptr(class X)#104917759.81717de1848fc0d3_7" ; + "field_div1_ptr#104917759261767605.af54450738e6dc82_9" -> "field_div1_ptr#104917759261767605.af54450738e6dc82_7" ; "field_div1_ref#149971541835733588.5b6e5f87301df190_1" [label="1: Start field_div1_ref\nFormals: x:X&\nLocals: \n " color=yellow style=filled] @@ -295,42 +295,42 @@ digraph cfg { "get_global_ref_div1_method#921890.1d66d8c44e8582bb_5" -> "get_global_ref_div1_method#921890.1d66d8c44e8582bb_4" ; -"method_div0_ptr(class X)#61067856.dd62393e799ba25c_1" [label="1: Start method_div0_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] +"method_div0_ptr#61067856480874012.a4bd2a817d503af4_1" [label="1: Start method_div0_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] - "method_div0_ptr(class X)#61067856.dd62393e799ba25c_1" -> "method_div0_ptr(class X)#61067856.dd62393e799ba25c_5" ; - "method_div0_ptr(class X)#61067856.dd62393e799ba25c_1" -> "method_div0_ptr(class X)#61067856.dd62393e799ba25c_6" ; -"method_div0_ptr(class X)#61067856.dd62393e799ba25c_2" [label="2: Exit method_div0_ptr \n " color=yellow style=filled] + "method_div0_ptr#61067856480874012.a4bd2a817d503af4_1" -> "method_div0_ptr#61067856480874012.a4bd2a817d503af4_5" ; + "method_div0_ptr#61067856480874012.a4bd2a817d503af4_1" -> "method_div0_ptr#61067856480874012.a4bd2a817d503af4_6" ; +"method_div0_ptr#61067856480874012.a4bd2a817d503af4_2" [label="2: Exit method_div0_ptr \n " color=yellow style=filled] -"method_div0_ptr(class X)#61067856.dd62393e799ba25c_3" [label="3: + \n END_BRANCHES\n " ] +"method_div0_ptr#61067856480874012.a4bd2a817d503af4_3" [label="3: + \n END_BRANCHES\n " ] - "method_div0_ptr(class X)#61067856.dd62393e799ba25c_3" -> "method_div0_ptr(class X)#61067856.dd62393e799ba25c_4" ; -"method_div0_ptr(class X)#61067856.dd62393e799ba25c_4" [label="4: between_join_and_exit \n END_BRANCHES\n " shape="box"] + "method_div0_ptr#61067856480874012.a4bd2a817d503af4_3" -> "method_div0_ptr#61067856480874012.a4bd2a817d503af4_4" ; +"method_div0_ptr#61067856480874012.a4bd2a817d503af4_4" [label="4: between_join_and_exit \n END_BRANCHES\n " shape="box"] - "method_div0_ptr(class X)#61067856.dd62393e799ba25c_4" -> "method_div0_ptr(class X)#61067856.dd62393e799ba25c_2" ; -"method_div0_ptr(class X)#61067856.dd62393e799ba25c_5" [label="5: Prune (true branch, if (terminated)) \n n$0=*&x:X* [line 32, column 7]\n PRUNE(n$0, true); [line 32, column 7]\n " shape="invhouse"] + "method_div0_ptr#61067856480874012.a4bd2a817d503af4_4" -> "method_div0_ptr#61067856480874012.a4bd2a817d503af4_2" ; +"method_div0_ptr#61067856480874012.a4bd2a817d503af4_5" [label="5: Prune (true branch, if (terminated)) \n n$0=*&x:X* [line 32, column 7]\n PRUNE(n$0, true); [line 32, column 7]\n " shape="invhouse"] - "method_div0_ptr(class X)#61067856.dd62393e799ba25c_5" -> "method_div0_ptr(class X)#61067856.dd62393e799ba25c_9" ; -"method_div0_ptr(class X)#61067856.dd62393e799ba25c_6" [label="6: Prune (false branch, if (terminated)) \n n$0=*&x:X* [line 32, column 7]\n PRUNE(!n$0, false); [line 32, column 7]\n " shape="invhouse"] + "method_div0_ptr#61067856480874012.a4bd2a817d503af4_5" -> "method_div0_ptr#61067856480874012.a4bd2a817d503af4_9" ; +"method_div0_ptr#61067856480874012.a4bd2a817d503af4_6" [label="6: Prune (false branch, if (terminated)) \n n$0=*&x:X* [line 32, column 7]\n PRUNE(!n$0, false); [line 32, column 7]\n " shape="invhouse"] - "method_div0_ptr(class X)#61067856.dd62393e799ba25c_6" -> "method_div0_ptr(class X)#61067856.dd62393e799ba25c_3" ; -"method_div0_ptr(class X)#61067856.dd62393e799ba25c_7" [label="7: Return Stmt \n n$1=*&x:X* [line 34, column 12]\n _=*n$1:X [line 34, column 12]\n n$3=_fun_X::div(n$1:X*) [line 34, column 12]\n " shape="box"] + "method_div0_ptr#61067856480874012.a4bd2a817d503af4_6" -> "method_div0_ptr#61067856480874012.a4bd2a817d503af4_3" ; +"method_div0_ptr#61067856480874012.a4bd2a817d503af4_7" [label="7: Return Stmt \n n$1=*&x:X* [line 34, column 12]\n _=*n$1:X [line 34, column 12]\n n$3=_fun_X::div(n$1:X*) [line 34, column 12]\n " shape="box"] - "method_div0_ptr(class X)#61067856.dd62393e799ba25c_7" -> "method_div0_ptr(class X)#61067856.dd62393e799ba25c_8" ; -"method_div0_ptr(class X)#61067856.dd62393e799ba25c_8" [label="8: Return Stmt \n *&return:int=n$3 [line 34, column 5]\n " shape="box"] + "method_div0_ptr#61067856480874012.a4bd2a817d503af4_7" -> "method_div0_ptr#61067856480874012.a4bd2a817d503af4_8" ; +"method_div0_ptr#61067856480874012.a4bd2a817d503af4_8" [label="8: Return Stmt \n *&return:int=n$3 [line 34, column 5]\n " shape="box"] - "method_div0_ptr(class X)#61067856.dd62393e799ba25c_8" -> "method_div0_ptr(class X)#61067856.dd62393e799ba25c_2" ; -"method_div0_ptr(class X)#61067856.dd62393e799ba25c_9" [label="9: Call _fun_zero_ptr \n n$4=*&x:X* [line 33, column 14]\n n$5=_fun_zero_ptr(n$4:X*) [line 33, column 5]\n " shape="box"] + "method_div0_ptr#61067856480874012.a4bd2a817d503af4_8" -> "method_div0_ptr#61067856480874012.a4bd2a817d503af4_2" ; +"method_div0_ptr#61067856480874012.a4bd2a817d503af4_9" [label="9: Call _fun_zero_ptr \n n$4=*&x:X* [line 33, column 14]\n n$5=_fun_zero_ptr(n$4:X*) [line 33, column 5]\n " shape="box"] - "method_div0_ptr(class X)#61067856.dd62393e799ba25c_9" -> "method_div0_ptr(class X)#61067856.dd62393e799ba25c_7" ; + "method_div0_ptr#61067856480874012.a4bd2a817d503af4_9" -> "method_div0_ptr#61067856480874012.a4bd2a817d503af4_7" ; "method_div0_ref#12048348997540346.5280d482da62ad0e_1" [label="1: Start method_div0_ref\nFormals: x:X&\nLocals: \n " color=yellow style=filled] @@ -350,42 +350,42 @@ digraph cfg { "method_div0_ref#12048348997540346.5280d482da62ad0e_5" -> "method_div0_ref#12048348997540346.5280d482da62ad0e_3" ; -"method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_1" [label="1: Start method_div1_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] +"method_div1_ptr#30616850407986710.94d1209c17222ffe_1" [label="1: Start method_div1_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] - "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_1" -> "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_5" ; - "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_1" -> "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_6" ; -"method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_2" [label="2: Exit method_div1_ptr \n " color=yellow style=filled] + "method_div1_ptr#30616850407986710.94d1209c17222ffe_1" -> "method_div1_ptr#30616850407986710.94d1209c17222ffe_5" ; + "method_div1_ptr#30616850407986710.94d1209c17222ffe_1" -> "method_div1_ptr#30616850407986710.94d1209c17222ffe_6" ; +"method_div1_ptr#30616850407986710.94d1209c17222ffe_2" [label="2: Exit method_div1_ptr \n " color=yellow style=filled] -"method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_3" [label="3: + \n END_BRANCHES\n " ] +"method_div1_ptr#30616850407986710.94d1209c17222ffe_3" [label="3: + \n END_BRANCHES\n " ] - "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_3" -> "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_4" ; -"method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_4" [label="4: between_join_and_exit \n END_BRANCHES\n " shape="box"] + "method_div1_ptr#30616850407986710.94d1209c17222ffe_3" -> "method_div1_ptr#30616850407986710.94d1209c17222ffe_4" ; +"method_div1_ptr#30616850407986710.94d1209c17222ffe_4" [label="4: between_join_and_exit \n END_BRANCHES\n " shape="box"] - "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_4" -> "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_2" ; -"method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_5" [label="5: Prune (true branch, if (terminated)) \n n$0=*&x:X* [line 39, column 7]\n PRUNE(n$0, true); [line 39, column 7]\n " shape="invhouse"] + "method_div1_ptr#30616850407986710.94d1209c17222ffe_4" -> "method_div1_ptr#30616850407986710.94d1209c17222ffe_2" ; +"method_div1_ptr#30616850407986710.94d1209c17222ffe_5" [label="5: Prune (true branch, if (terminated)) \n n$0=*&x:X* [line 39, column 7]\n PRUNE(n$0, true); [line 39, column 7]\n " shape="invhouse"] - "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_5" -> "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_9" ; -"method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_6" [label="6: Prune (false branch, if (terminated)) \n n$0=*&x:X* [line 39, column 7]\n PRUNE(!n$0, false); [line 39, column 7]\n " shape="invhouse"] + "method_div1_ptr#30616850407986710.94d1209c17222ffe_5" -> "method_div1_ptr#30616850407986710.94d1209c17222ffe_9" ; +"method_div1_ptr#30616850407986710.94d1209c17222ffe_6" [label="6: Prune (false branch, if (terminated)) \n n$0=*&x:X* [line 39, column 7]\n PRUNE(!n$0, false); [line 39, column 7]\n " shape="invhouse"] - "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_6" -> "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_3" ; -"method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_7" [label="7: Return Stmt \n n$1=*&x:X* [line 41, column 12]\n _=*n$1:X [line 41, column 12]\n n$3=_fun_X::div(n$1:X*) [line 41, column 12]\n " shape="box"] + "method_div1_ptr#30616850407986710.94d1209c17222ffe_6" -> "method_div1_ptr#30616850407986710.94d1209c17222ffe_3" ; +"method_div1_ptr#30616850407986710.94d1209c17222ffe_7" [label="7: Return Stmt \n n$1=*&x:X* [line 41, column 12]\n _=*n$1:X [line 41, column 12]\n n$3=_fun_X::div(n$1:X*) [line 41, column 12]\n " shape="box"] - "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_7" -> "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_8" ; -"method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_8" [label="8: Return Stmt \n *&return:int=n$3 [line 41, column 5]\n " shape="box"] + "method_div1_ptr#30616850407986710.94d1209c17222ffe_7" -> "method_div1_ptr#30616850407986710.94d1209c17222ffe_8" ; +"method_div1_ptr#30616850407986710.94d1209c17222ffe_8" [label="8: Return Stmt \n *&return:int=n$3 [line 41, column 5]\n " shape="box"] - "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_8" -> "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_2" ; -"method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_9" [label="9: Call _fun_nonzero_ptr \n n$4=*&x:X* [line 40, column 17]\n n$5=_fun_nonzero_ptr(n$4:X*) [line 40, column 5]\n " shape="box"] + "method_div1_ptr#30616850407986710.94d1209c17222ffe_8" -> "method_div1_ptr#30616850407986710.94d1209c17222ffe_2" ; +"method_div1_ptr#30616850407986710.94d1209c17222ffe_9" [label="9: Call _fun_nonzero_ptr \n n$4=*&x:X* [line 40, column 17]\n n$5=_fun_nonzero_ptr(n$4:X*) [line 40, column 5]\n " shape="box"] - "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_9" -> "method_div1_ptr(class X)#30616850.64eb0c6fbbafc7f2_7" ; + "method_div1_ptr#30616850407986710.94d1209c17222ffe_9" -> "method_div1_ptr#30616850407986710.94d1209c17222ffe_7" ; "method_div1_ref#18445848838166655.1ecfa9c02aff37ba_1" [label="1: Start method_div1_ref\nFormals: x:X&\nLocals: \n " color=yellow style=filled] @@ -405,17 +405,17 @@ digraph cfg { "method_div1_ref#18445848838166655.1ecfa9c02aff37ba_5" -> "method_div1_ref#18445848838166655.1ecfa9c02aff37ba_3" ; -"nonzero_ptr(class X)#171692055439.ab3e0f6dea34ce6b_1" [label="1: Start nonzero_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] +"nonzero_ptr#1716920554390102131.73cd383c8a42e9a8_1" [label="1: Start nonzero_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] - "nonzero_ptr(class X)#171692055439.ab3e0f6dea34ce6b_1" -> "nonzero_ptr(class X)#171692055439.ab3e0f6dea34ce6b_3" ; -"nonzero_ptr(class X)#171692055439.ab3e0f6dea34ce6b_2" [label="2: Exit nonzero_ptr \n " color=yellow style=filled] + "nonzero_ptr#1716920554390102131.73cd383c8a42e9a8_1" -> "nonzero_ptr#1716920554390102131.73cd383c8a42e9a8_3" ; +"nonzero_ptr#1716920554390102131.73cd383c8a42e9a8_2" [label="2: Exit nonzero_ptr \n " color=yellow style=filled] -"nonzero_ptr(class X)#171692055439.ab3e0f6dea34ce6b_3" [label="3: Call _fun_X::nonzero \n n$0=*&x:X* [line 17, column 26]\n _=*n$0:X [line 17, column 26]\n n$2=_fun_X::nonzero(n$0:X*) [line 17, column 26]\n " shape="box"] +"nonzero_ptr#1716920554390102131.73cd383c8a42e9a8_3" [label="3: Call _fun_X::nonzero \n n$0=*&x:X* [line 17, column 26]\n _=*n$0:X [line 17, column 26]\n n$2=_fun_X::nonzero(n$0:X*) [line 17, column 26]\n " shape="box"] - "nonzero_ptr(class X)#171692055439.ab3e0f6dea34ce6b_3" -> "nonzero_ptr(class X)#171692055439.ab3e0f6dea34ce6b_2" ; + "nonzero_ptr#1716920554390102131.73cd383c8a42e9a8_3" -> "nonzero_ptr#1716920554390102131.73cd383c8a42e9a8_2" ; "nonzero_ref#2062801655575406720.e5794366c34a5ecd_1" [label="1: Start nonzero_ref\nFormals: x:X&\nLocals: \n " color=yellow style=filled] @@ -427,17 +427,17 @@ digraph cfg { "nonzero_ref#2062801655575406720.e5794366c34a5ecd_3" -> "nonzero_ref#2062801655575406720.e5794366c34a5ecd_2" ; -"set_field_ptr(class X)#1026280186.624982a2696b528e_1" [label="1: Start set_field_ptr\nFormals: x:X* val:int\nLocals: \n " color=yellow style=filled] +"set_field_ptr#1026280186281094697.0df004d43278f4c6_1" [label="1: Start set_field_ptr\nFormals: x:X* val:int\nLocals: \n " color=yellow style=filled] - "set_field_ptr(class X)#1026280186.624982a2696b528e_1" -> "set_field_ptr(class X)#1026280186.624982a2696b528e_3" ; -"set_field_ptr(class X)#1026280186.624982a2696b528e_2" [label="2: Exit set_field_ptr \n " color=yellow style=filled] + "set_field_ptr#1026280186281094697.0df004d43278f4c6_1" -> "set_field_ptr#1026280186281094697.0df004d43278f4c6_3" ; +"set_field_ptr#1026280186281094697.0df004d43278f4c6_2" [label="2: Exit set_field_ptr \n " color=yellow style=filled] -"set_field_ptr(class X)#1026280186.624982a2696b528e_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&val:int [line 19, column 44]\n n$0=*&x:X* [line 19, column 37]\n *n$0.f:int=n$1 [line 19, column 37]\n " shape="box"] +"set_field_ptr#1026280186281094697.0df004d43278f4c6_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&val:int [line 19, column 44]\n n$0=*&x:X* [line 19, column 37]\n *n$0.f:int=n$1 [line 19, column 37]\n " shape="box"] - "set_field_ptr(class X)#1026280186.624982a2696b528e_3" -> "set_field_ptr(class X)#1026280186.624982a2696b528e_2" ; + "set_field_ptr#1026280186281094697.0df004d43278f4c6_3" -> "set_field_ptr#1026280186281094697.0df004d43278f4c6_2" ; "set_field_ref#1517749754776198249.aa4620ee8933c900_1" [label="1: Start set_field_ref\nFormals: x:X& val:int\nLocals: \n " color=yellow style=filled] @@ -449,17 +449,17 @@ digraph cfg { "set_field_ref#1517749754776198249.aa4620ee8933c900_3" -> "set_field_ref#1517749754776198249.aa4620ee8933c900_2" ; -"zero_ptr(class X)#125287098530873.d08145759acbbf21_1" [label="1: Start zero_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] +"zero_ptr#12528709853087384868.d5a909d971ab4393_1" [label="1: Start zero_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] - "zero_ptr(class X)#125287098530873.d08145759acbbf21_1" -> "zero_ptr(class X)#125287098530873.d08145759acbbf21_3" ; -"zero_ptr(class X)#125287098530873.d08145759acbbf21_2" [label="2: Exit zero_ptr \n " color=yellow style=filled] + "zero_ptr#12528709853087384868.d5a909d971ab4393_1" -> "zero_ptr#12528709853087384868.d5a909d971ab4393_3" ; +"zero_ptr#12528709853087384868.d5a909d971ab4393_2" [label="2: Exit zero_ptr \n " color=yellow style=filled] -"zero_ptr(class X)#125287098530873.d08145759acbbf21_3" [label="3: Call _fun_X::zero \n n$0=*&x:X* [line 15, column 23]\n _=*n$0:X [line 15, column 23]\n n$2=_fun_X::zero(n$0:X*) [line 15, column 23]\n " shape="box"] +"zero_ptr#12528709853087384868.d5a909d971ab4393_3" [label="3: Call _fun_X::zero \n n$0=*&x:X* [line 15, column 23]\n _=*n$0:X [line 15, column 23]\n n$2=_fun_X::zero(n$0:X*) [line 15, column 23]\n " shape="box"] - "zero_ptr(class X)#125287098530873.d08145759acbbf21_3" -> "zero_ptr(class X)#125287098530873.d08145759acbbf21_2" ; + "zero_ptr#12528709853087384868.d5a909d971ab4393_3" -> "zero_ptr#12528709853087384868.d5a909d971ab4393_2" ; "zero_ref#14077465191616488315.9f868765c7667236_1" [label="1: Start zero_ref\nFormals: x:X&\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot index 5cb4eb1aaf5..9116a4c4103 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot @@ -91,60 +91,60 @@ digraph cfg { "div1_B#inheritance_casts#15202051.6fa30ed113dcaca4_5" -> "div1_B#inheritance_casts#15202051.6fa30ed113dcaca4_2" ; -"getA#inheritance_casts(class inhe.bf770d8fdf04212f_1" [label="1: Start inheritance_casts::getA\nFormals: f:int __return_param:inheritance_casts::A*\nLocals: x:inheritance_casts::A \n " color=yellow style=filled] +"getA#inheritance_casts#5702196550.a31441c26ae3c842_1" [label="1: Start inheritance_casts::getA\nFormals: f:int __return_param:inheritance_casts::A*\nLocals: x:inheritance_casts::A \n " color=yellow style=filled] - "getA#inheritance_casts(class inhe.bf770d8fdf04212f_1" -> "getA#inheritance_casts(class inhe.bf770d8fdf04212f_7" ; -"getA#inheritance_casts(class inhe.bf770d8fdf04212f_2" [label="2: Exit inheritance_casts::getA \n " color=yellow style=filled] + "getA#inheritance_casts#5702196550.a31441c26ae3c842_1" -> "getA#inheritance_casts#5702196550.a31441c26ae3c842_7" ; +"getA#inheritance_casts#5702196550.a31441c26ae3c842_2" [label="2: Exit inheritance_casts::getA \n " color=yellow style=filled] -"getA#inheritance_casts(class inhe.bf770d8fdf04212f_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::A* [line 21, column 3]\n " shape="box"] +"getA#inheritance_casts#5702196550.a31441c26ae3c842_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::A* [line 21, column 3]\n " shape="box"] - "getA#inheritance_casts(class inhe.bf770d8fdf04212f_3" -> "getA#inheritance_casts(class inhe.bf770d8fdf04212f_4" ; -"getA#inheritance_casts(class inhe.bf770d8fdf04212f_4" [label="4: Return Stmt \n n$1=_fun_inheritance_casts::A::A(n$0:inheritance_casts::A*,&x:inheritance_casts::A&) [line 21, column 10]\n " shape="box"] + "getA#inheritance_casts#5702196550.a31441c26ae3c842_3" -> "getA#inheritance_casts#5702196550.a31441c26ae3c842_4" ; +"getA#inheritance_casts#5702196550.a31441c26ae3c842_4" [label="4: Return Stmt \n n$1=_fun_inheritance_casts::A::A(n$0:inheritance_casts::A*,&x:inheritance_casts::A&) [line 21, column 10]\n " shape="box"] - "getA#inheritance_casts(class inhe.bf770d8fdf04212f_4" -> "getA#inheritance_casts(class inhe.bf770d8fdf04212f_5" ; -"getA#inheritance_casts(class inhe.bf770d8fdf04212f_5" [label="5: Return Stmt \n " shape="box"] + "getA#inheritance_casts#5702196550.a31441c26ae3c842_4" -> "getA#inheritance_casts#5702196550.a31441c26ae3c842_5" ; +"getA#inheritance_casts#5702196550.a31441c26ae3c842_5" [label="5: Return Stmt \n " shape="box"] - "getA#inheritance_casts(class inhe.bf770d8fdf04212f_5" -> "getA#inheritance_casts(class inhe.bf770d8fdf04212f_2" ; -"getA#inheritance_casts(class inhe.bf770d8fdf04212f_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&f:int [line 20, column 9]\n *&x.f:int=n$2 [line 20, column 3]\n " shape="box"] + "getA#inheritance_casts#5702196550.a31441c26ae3c842_5" -> "getA#inheritance_casts#5702196550.a31441c26ae3c842_2" ; +"getA#inheritance_casts#5702196550.a31441c26ae3c842_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&f:int [line 20, column 9]\n *&x.f:int=n$2 [line 20, column 3]\n " shape="box"] - "getA#inheritance_casts(class inhe.bf770d8fdf04212f_6" -> "getA#inheritance_casts(class inhe.bf770d8fdf04212f_3" ; -"getA#inheritance_casts(class inhe.bf770d8fdf04212f_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:inheritance_casts::A); [line 19, column 3]\n n$3=_fun_inheritance_casts::A::A(&x:inheritance_casts::A*) [line 19, column 5]\n " shape="box"] + "getA#inheritance_casts#5702196550.a31441c26ae3c842_6" -> "getA#inheritance_casts#5702196550.a31441c26ae3c842_3" ; +"getA#inheritance_casts#5702196550.a31441c26ae3c842_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:inheritance_casts::A); [line 19, column 3]\n n$3=_fun_inheritance_casts::A::A(&x:inheritance_casts::A*) [line 19, column 5]\n " shape="box"] - "getA#inheritance_casts(class inhe.bf770d8fdf04212f_7" -> "getA#inheritance_casts(class inhe.bf770d8fdf04212f_6" ; -"getB#inheritance_casts(class inhe.903fb8dc56797768_1" [label="1: Start inheritance_casts::getB\nFormals: f:int __return_param:inheritance_casts::B*\nLocals: x:inheritance_casts::B \n " color=yellow style=filled] + "getA#inheritance_casts#5702196550.a31441c26ae3c842_7" -> "getA#inheritance_casts#5702196550.a31441c26ae3c842_6" ; +"getB#inheritance_casts#7572693428.2a52889292973e0a_1" [label="1: Start inheritance_casts::getB\nFormals: f:int __return_param:inheritance_casts::B*\nLocals: x:inheritance_casts::B \n " color=yellow style=filled] - "getB#inheritance_casts(class inhe.903fb8dc56797768_1" -> "getB#inheritance_casts(class inhe.903fb8dc56797768_7" ; -"getB#inheritance_casts(class inhe.903fb8dc56797768_2" [label="2: Exit inheritance_casts::getB \n " color=yellow style=filled] + "getB#inheritance_casts#7572693428.2a52889292973e0a_1" -> "getB#inheritance_casts#7572693428.2a52889292973e0a_7" ; +"getB#inheritance_casts#7572693428.2a52889292973e0a_2" [label="2: Exit inheritance_casts::getB \n " color=yellow style=filled] -"getB#inheritance_casts(class inhe.903fb8dc56797768_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::B* [line 16, column 3]\n " shape="box"] +"getB#inheritance_casts#7572693428.2a52889292973e0a_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::B* [line 16, column 3]\n " shape="box"] - "getB#inheritance_casts(class inhe.903fb8dc56797768_3" -> "getB#inheritance_casts(class inhe.903fb8dc56797768_4" ; -"getB#inheritance_casts(class inhe.903fb8dc56797768_4" [label="4: Return Stmt \n n$1=_fun_inheritance_casts::B::B(n$0:inheritance_casts::B*,&x:inheritance_casts::B&) [line 16, column 10]\n " shape="box"] + "getB#inheritance_casts#7572693428.2a52889292973e0a_3" -> "getB#inheritance_casts#7572693428.2a52889292973e0a_4" ; +"getB#inheritance_casts#7572693428.2a52889292973e0a_4" [label="4: Return Stmt \n n$1=_fun_inheritance_casts::B::B(n$0:inheritance_casts::B*,&x:inheritance_casts::B&) [line 16, column 10]\n " shape="box"] - "getB#inheritance_casts(class inhe.903fb8dc56797768_4" -> "getB#inheritance_casts(class inhe.903fb8dc56797768_5" ; -"getB#inheritance_casts(class inhe.903fb8dc56797768_5" [label="5: Return Stmt \n " shape="box"] + "getB#inheritance_casts#7572693428.2a52889292973e0a_4" -> "getB#inheritance_casts#7572693428.2a52889292973e0a_5" ; +"getB#inheritance_casts#7572693428.2a52889292973e0a_5" [label="5: Return Stmt \n " shape="box"] - "getB#inheritance_casts(class inhe.903fb8dc56797768_5" -> "getB#inheritance_casts(class inhe.903fb8dc56797768_2" ; -"getB#inheritance_casts(class inhe.903fb8dc56797768_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&f:int [line 15, column 9]\n *&x.f:int=n$2 [line 15, column 3]\n " shape="box"] + "getB#inheritance_casts#7572693428.2a52889292973e0a_5" -> "getB#inheritance_casts#7572693428.2a52889292973e0a_2" ; +"getB#inheritance_casts#7572693428.2a52889292973e0a_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&f:int [line 15, column 9]\n *&x.f:int=n$2 [line 15, column 3]\n " shape="box"] - "getB#inheritance_casts(class inhe.903fb8dc56797768_6" -> "getB#inheritance_casts(class inhe.903fb8dc56797768_3" ; -"getB#inheritance_casts(class inhe.903fb8dc56797768_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:inheritance_casts::B); [line 14, column 3]\n n$3=_fun_inheritance_casts::B::B(&x:inheritance_casts::B*) [line 14, column 5]\n " shape="box"] + "getB#inheritance_casts#7572693428.2a52889292973e0a_6" -> "getB#inheritance_casts#7572693428.2a52889292973e0a_3" ; +"getB#inheritance_casts#7572693428.2a52889292973e0a_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:inheritance_casts::B); [line 14, column 3]\n n$3=_fun_inheritance_casts::B::B(&x:inheritance_casts::B*) [line 14, column 5]\n " shape="box"] - "getB#inheritance_casts(class inhe.903fb8dc56797768_7" -> "getB#inheritance_casts(class inhe.903fb8dc56797768_6" ; + "getB#inheritance_casts#7572693428.2a52889292973e0a_7" -> "getB#inheritance_casts#7572693428.2a52889292973e0a_6" ; "A#A#inheritance_casts#{5177723221.49b928799db38605_1" [label="1: Start inheritance_casts::A::A\nFormals: this:inheritance_casts::A* __param_0:inheritance_casts::A&&\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_field.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_field.cpp.dot index ed6eccb77d2..c75197c005f 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_field.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_field.cpp.dot @@ -19,29 +19,29 @@ digraph cfg { "div0_b1#17650173920024552929.38acfc238efbf35c_5" -> "div0_b1#17650173920024552929.38acfc238efbf35c_3" ; -"div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_1" [label="1: Start div0_b1_s\nFormals: s:Sub*\nLocals: \n " color=yellow style=filled] +"div0_b1_s#4574535260514480977.c132b3496cd22a9b_1" [label="1: Start div0_b1_s\nFormals: s:Sub*\nLocals: \n " color=yellow style=filled] - "div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_1" -> "div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_6" ; -"div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_2" [label="2: Exit div0_b1_s \n " color=yellow style=filled] + "div0_b1_s#4574535260514480977.c132b3496cd22a9b_1" -> "div0_b1_s#4574535260514480977.c132b3496cd22a9b_6" ; +"div0_b1_s#4574535260514480977.c132b3496cd22a9b_2" [label="2: Exit div0_b1_s \n " color=yellow style=filled] -"div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_3" [label="3: Return Stmt \n n$0=*&s:Sub* [line 50, column 15]\n n$1=*n$0.b1:int [line 50, column 15]\n n$2=*&s:Sub* [line 50, column 23]\n n$3=*n$2.s:int [line 50, column 23]\n " shape="box"] +"div0_b1_s#4574535260514480977.c132b3496cd22a9b_3" [label="3: Return Stmt \n n$0=*&s:Sub* [line 50, column 15]\n n$1=*n$0.b1:int [line 50, column 15]\n n$2=*&s:Sub* [line 50, column 23]\n n$3=*n$2.s:int [line 50, column 23]\n " shape="box"] - "div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_3" -> "div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_4" ; -"div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_4" [label="4: Return Stmt \n *&return:int=(1 / (n$1 - n$3)) [line 50, column 3]\n " shape="box"] + "div0_b1_s#4574535260514480977.c132b3496cd22a9b_3" -> "div0_b1_s#4574535260514480977.c132b3496cd22a9b_4" ; +"div0_b1_s#4574535260514480977.c132b3496cd22a9b_4" [label="4: Return Stmt \n *&return:int=(1 / (n$1 - n$3)) [line 50, column 3]\n " shape="box"] - "div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_4" -> "div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_2" ; -"div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_5" [label="5: BinaryOperatorStmt: Assign \n n$4=*&s:Sub* [line 49, column 3]\n *n$4.s:int=1 [line 49, column 3]\n " shape="box"] + "div0_b1_s#4574535260514480977.c132b3496cd22a9b_4" -> "div0_b1_s#4574535260514480977.c132b3496cd22a9b_2" ; +"div0_b1_s#4574535260514480977.c132b3496cd22a9b_5" [label="5: BinaryOperatorStmt: Assign \n n$4=*&s:Sub* [line 49, column 3]\n *n$4.s:int=1 [line 49, column 3]\n " shape="box"] - "div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_5" -> "div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_3" ; -"div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_6" [label="6: BinaryOperatorStmt: Assign \n n$5=*&s:Sub* [line 48, column 3]\n *n$5.b1:int=1 [line 48, column 3]\n " shape="box"] + "div0_b1_s#4574535260514480977.c132b3496cd22a9b_5" -> "div0_b1_s#4574535260514480977.c132b3496cd22a9b_3" ; +"div0_b1_s#4574535260514480977.c132b3496cd22a9b_6" [label="6: BinaryOperatorStmt: Assign \n n$5=*&s:Sub* [line 48, column 3]\n *n$5.b1:int=1 [line 48, column 3]\n " shape="box"] - "div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_6" -> "div0_b1_s(class Sub)#457453526051.bea603e96ca808f3_5" ; + "div0_b1_s#4574535260514480977.c132b3496cd22a9b_6" -> "div0_b1_s#4574535260514480977.c132b3496cd22a9b_5" ; "div0_b2#6935029956526426132.ef88e6d1eac891cd_1" [label="1: Start div0_b2\nFormals: s:Sub&\nLocals: \n " color=yellow style=filled] @@ -61,29 +61,29 @@ digraph cfg { "div0_b2#6935029956526426132.ef88e6d1eac891cd_5" -> "div0_b2#6935029956526426132.ef88e6d1eac891cd_3" ; -"div0_cast(class Sub)#594509077889.57c132b2d87bb731_1" [label="1: Start div0_cast\nFormals: s:Sub*\nLocals: b:Base1* \n " color=yellow style=filled] +"div0_cast#5945090778893539301.687c05d84c955593_1" [label="1: Start div0_cast\nFormals: s:Sub*\nLocals: b:Base1* \n " color=yellow style=filled] - "div0_cast(class Sub)#594509077889.57c132b2d87bb731_1" -> "div0_cast(class Sub)#594509077889.57c132b2d87bb731_6" ; -"div0_cast(class Sub)#594509077889.57c132b2d87bb731_2" [label="2: Exit div0_cast \n " color=yellow style=filled] + "div0_cast#5945090778893539301.687c05d84c955593_1" -> "div0_cast#5945090778893539301.687c05d84c955593_6" ; +"div0_cast#5945090778893539301.687c05d84c955593_2" [label="2: Exit div0_cast \n " color=yellow style=filled] -"div0_cast(class Sub)#594509077889.57c132b2d87bb731_3" [label="3: Return Stmt \n n$0=*&b:Base1* [line 38, column 14]\n n$1=*n$0.b1:int [line 38, column 14]\n " shape="box"] +"div0_cast#5945090778893539301.687c05d84c955593_3" [label="3: Return Stmt \n n$0=*&b:Base1* [line 38, column 14]\n n$1=*n$0.b1:int [line 38, column 14]\n " shape="box"] - "div0_cast(class Sub)#594509077889.57c132b2d87bb731_3" -> "div0_cast(class Sub)#594509077889.57c132b2d87bb731_4" ; -"div0_cast(class Sub)#594509077889.57c132b2d87bb731_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 38, column 3]\n " shape="box"] + "div0_cast#5945090778893539301.687c05d84c955593_3" -> "div0_cast#5945090778893539301.687c05d84c955593_4" ; +"div0_cast#5945090778893539301.687c05d84c955593_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 38, column 3]\n " shape="box"] - "div0_cast(class Sub)#594509077889.57c132b2d87bb731_4" -> "div0_cast(class Sub)#594509077889.57c132b2d87bb731_2" ; -"div0_cast(class Sub)#594509077889.57c132b2d87bb731_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:Base1*); [line 37, column 3]\n n$2=*&s:Sub* [line 37, column 14]\n *&b:Sub*=n$2 [line 37, column 3]\n " shape="box"] + "div0_cast#5945090778893539301.687c05d84c955593_4" -> "div0_cast#5945090778893539301.687c05d84c955593_2" ; +"div0_cast#5945090778893539301.687c05d84c955593_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:Base1*); [line 37, column 3]\n n$2=*&s:Sub* [line 37, column 14]\n *&b:Sub*=n$2 [line 37, column 3]\n " shape="box"] - "div0_cast(class Sub)#594509077889.57c132b2d87bb731_5" -> "div0_cast(class Sub)#594509077889.57c132b2d87bb731_3" ; -"div0_cast(class Sub)#594509077889.57c132b2d87bb731_6" [label="6: BinaryOperatorStmt: Assign \n n$3=*&s:Sub* [line 36, column 3]\n *n$3.b1:int=0 [line 36, column 3]\n " shape="box"] + "div0_cast#5945090778893539301.687c05d84c955593_5" -> "div0_cast#5945090778893539301.687c05d84c955593_3" ; +"div0_cast#5945090778893539301.687c05d84c955593_6" [label="6: BinaryOperatorStmt: Assign \n n$3=*&s:Sub* [line 36, column 3]\n *n$3.b1:int=0 [line 36, column 3]\n " shape="box"] - "div0_cast(class Sub)#594509077889.57c132b2d87bb731_6" -> "div0_cast(class Sub)#594509077889.57c132b2d87bb731_5" ; + "div0_cast#5945090778893539301.687c05d84c955593_6" -> "div0_cast#5945090778893539301.687c05d84c955593_5" ; "div0_cast_ref#1142764833188645182.4f535c7752ac1b6e_1" [label="1: Start div0_cast_ref\nFormals: s:Sub&\nLocals: b:Base1& \n " color=yellow style=filled] @@ -126,29 +126,29 @@ digraph cfg { "div0_s#16566672704220882536.127f1e4fb94cf0b7_5" -> "div0_s#16566672704220882536.127f1e4fb94cf0b7_3" ; -"div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_1" [label="1: Start div0_s_b1\nFormals: s:Sub*\nLocals: \n " color=yellow style=filled] +"div0_s_b1#6365361903134380141.385a354053ffb314_1" [label="1: Start div0_s_b1\nFormals: s:Sub*\nLocals: \n " color=yellow style=filled] - "div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_1" -> "div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_6" ; -"div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_2" [label="2: Exit div0_s_b1 \n " color=yellow style=filled] + "div0_s_b1#6365361903134380141.385a354053ffb314_1" -> "div0_s_b1#6365361903134380141.385a354053ffb314_6" ; +"div0_s_b1#6365361903134380141.385a354053ffb314_2" [label="2: Exit div0_s_b1 \n " color=yellow style=filled] -"div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_3" [label="3: Return Stmt \n n$0=*&s:Sub* [line 56, column 15]\n n$1=*n$0.b1:int [line 56, column 15]\n n$2=*&s:Sub* [line 56, column 23]\n n$3=*n$2.s:int [line 56, column 23]\n " shape="box"] +"div0_s_b1#6365361903134380141.385a354053ffb314_3" [label="3: Return Stmt \n n$0=*&s:Sub* [line 56, column 15]\n n$1=*n$0.b1:int [line 56, column 15]\n n$2=*&s:Sub* [line 56, column 23]\n n$3=*n$2.s:int [line 56, column 23]\n " shape="box"] - "div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_3" -> "div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_4" ; -"div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_4" [label="4: Return Stmt \n *&return:int=(1 / (n$1 - n$3)) [line 56, column 3]\n " shape="box"] + "div0_s_b1#6365361903134380141.385a354053ffb314_3" -> "div0_s_b1#6365361903134380141.385a354053ffb314_4" ; +"div0_s_b1#6365361903134380141.385a354053ffb314_4" [label="4: Return Stmt \n *&return:int=(1 / (n$1 - n$3)) [line 56, column 3]\n " shape="box"] - "div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_4" -> "div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_2" ; -"div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_5" [label="5: BinaryOperatorStmt: Assign \n n$4=*&s:Sub* [line 55, column 3]\n *n$4.s:int=1 [line 55, column 3]\n " shape="box"] + "div0_s_b1#6365361903134380141.385a354053ffb314_4" -> "div0_s_b1#6365361903134380141.385a354053ffb314_2" ; +"div0_s_b1#6365361903134380141.385a354053ffb314_5" [label="5: BinaryOperatorStmt: Assign \n n$4=*&s:Sub* [line 55, column 3]\n *n$4.s:int=1 [line 55, column 3]\n " shape="box"] - "div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_5" -> "div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_3" ; -"div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_6" [label="6: BinaryOperatorStmt: Assign \n n$5=*&s:Sub* [line 54, column 3]\n *n$5.b1:int=1 [line 54, column 3]\n " shape="box"] + "div0_s_b1#6365361903134380141.385a354053ffb314_5" -> "div0_s_b1#6365361903134380141.385a354053ffb314_3" ; +"div0_s_b1#6365361903134380141.385a354053ffb314_6" [label="6: BinaryOperatorStmt: Assign \n n$5=*&s:Sub* [line 54, column 3]\n *n$5.b1:int=1 [line 54, column 3]\n " shape="box"] - "div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_6" -> "div0_s_b1(class Sub)#636536190313.eab3ecee328fdfa5_5" ; + "div0_s_b1#6365361903134380141.385a354053ffb314_6" -> "div0_s_b1#6365361903134380141.385a354053ffb314_5" ; "div1_b1#14974413951234929464.2d37fbc87faf4490_1" [label="1: Start div1_b1\nFormals: s:Sub&\nLocals: \n " color=yellow style=filled] @@ -168,27 +168,27 @@ digraph cfg { "div1_b1#14974413951234929464.2d37fbc87faf4490_5" -> "div1_b1#14974413951234929464.2d37fbc87faf4490_3" ; -"div1_cast(class Sub)#470079471262.5f88f1a243823d84_1" [label="1: Start div1_cast\nFormals: s:Sub*\nLocals: b:Base1* \n " color=yellow style=filled] +"div1_cast#4700794712628779370.bf330282d3921dae_1" [label="1: Start div1_cast\nFormals: s:Sub*\nLocals: b:Base1* \n " color=yellow style=filled] - "div1_cast(class Sub)#470079471262.5f88f1a243823d84_1" -> "div1_cast(class Sub)#470079471262.5f88f1a243823d84_6" ; -"div1_cast(class Sub)#470079471262.5f88f1a243823d84_2" [label="2: Exit div1_cast \n " color=yellow style=filled] + "div1_cast#4700794712628779370.bf330282d3921dae_1" -> "div1_cast#4700794712628779370.bf330282d3921dae_6" ; +"div1_cast#4700794712628779370.bf330282d3921dae_2" [label="2: Exit div1_cast \n " color=yellow style=filled] -"div1_cast(class Sub)#470079471262.5f88f1a243823d84_3" [label="3: Return Stmt \n n$0=*&b:Base1* [line 67, column 14]\n n$1=*n$0.b1:int [line 67, column 14]\n " shape="box"] +"div1_cast#4700794712628779370.bf330282d3921dae_3" [label="3: Return Stmt \n n$0=*&b:Base1* [line 67, column 14]\n n$1=*n$0.b1:int [line 67, column 14]\n " shape="box"] - "div1_cast(class Sub)#470079471262.5f88f1a243823d84_3" -> "div1_cast(class Sub)#470079471262.5f88f1a243823d84_4" ; -"div1_cast(class Sub)#470079471262.5f88f1a243823d84_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 67, column 3]\n " shape="box"] + "div1_cast#4700794712628779370.bf330282d3921dae_3" -> "div1_cast#4700794712628779370.bf330282d3921dae_4" ; +"div1_cast#4700794712628779370.bf330282d3921dae_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 67, column 3]\n " shape="box"] - "div1_cast(class Sub)#470079471262.5f88f1a243823d84_4" -> "div1_cast(class Sub)#470079471262.5f88f1a243823d84_2" ; -"div1_cast(class Sub)#470079471262.5f88f1a243823d84_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:Base1*); [line 66, column 3]\n n$2=*&s:Sub* [line 66, column 14]\n *&b:Sub*=n$2 [line 66, column 3]\n " shape="box"] + "div1_cast#4700794712628779370.bf330282d3921dae_4" -> "div1_cast#4700794712628779370.bf330282d3921dae_2" ; +"div1_cast#4700794712628779370.bf330282d3921dae_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:Base1*); [line 66, column 3]\n n$2=*&s:Sub* [line 66, column 14]\n *&b:Sub*=n$2 [line 66, column 3]\n " shape="box"] - "div1_cast(class Sub)#470079471262.5f88f1a243823d84_5" -> "div1_cast(class Sub)#470079471262.5f88f1a243823d84_3" ; -"div1_cast(class Sub)#470079471262.5f88f1a243823d84_6" [label="6: BinaryOperatorStmt: Assign \n n$3=*&s:Sub* [line 65, column 3]\n *n$3.b1:int=1 [line 65, column 3]\n " shape="box"] + "div1_cast#4700794712628779370.bf330282d3921dae_5" -> "div1_cast#4700794712628779370.bf330282d3921dae_3" ; +"div1_cast#4700794712628779370.bf330282d3921dae_6" [label="6: BinaryOperatorStmt: Assign \n n$3=*&s:Sub* [line 65, column 3]\n *n$3.b1:int=1 [line 65, column 3]\n " shape="box"] - "div1_cast(class Sub)#470079471262.5f88f1a243823d84_6" -> "div1_cast(class Sub)#470079471262.5f88f1a243823d84_5" ; + "div1_cast#4700794712628779370.bf330282d3921dae_6" -> "div1_cast#4700794712628779370.bf330282d3921dae_5" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/types/operator_overload.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/operator_overload.cpp.dot index 6853685facc..ce291f54dfa 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/operator_overload.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/operator_overload.cpp.dot @@ -72,21 +72,21 @@ digraph cfg { "div0_method_op#164586340103275013.9f8c8af0fef3459b_5" -> "div0_method_op#164586340103275013.9f8c8af0fef3459b_3" ; -"div0_method_op_ptr(class X)#10912.208aa82119402d74_1" [label="1: Start div0_method_op_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] +"div0_method_op_ptr#10912550985860.096d01aa199facb5_1" [label="1: Start div0_method_op_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] - "div0_method_op_ptr(class X)#10912.208aa82119402d74_1" -> "div0_method_op_ptr(class X)#10912.208aa82119402d74_3" ; -"div0_method_op_ptr(class X)#10912.208aa82119402d74_2" [label="2: Exit div0_method_op_ptr \n " color=yellow style=filled] + "div0_method_op_ptr#10912550985860.096d01aa199facb5_1" -> "div0_method_op_ptr#10912550985860.096d01aa199facb5_3" ; +"div0_method_op_ptr#10912550985860.096d01aa199facb5_2" [label="2: Exit div0_method_op_ptr \n " color=yellow style=filled] -"div0_method_op_ptr(class X)#10912.208aa82119402d74_3" [label="3: Return Stmt \n n$1=*&x:X* [line 24, column 45]\n n$2=_fun_X::operator[](n$1:X&,0:int) [line 24, column 43]\n " shape="box"] +"div0_method_op_ptr#10912550985860.096d01aa199facb5_3" [label="3: Return Stmt \n n$1=*&x:X* [line 24, column 45]\n n$2=_fun_X::operator[](n$1:X&,0:int) [line 24, column 43]\n " shape="box"] - "div0_method_op_ptr(class X)#10912.208aa82119402d74_3" -> "div0_method_op_ptr(class X)#10912.208aa82119402d74_4" ; -"div0_method_op_ptr(class X)#10912.208aa82119402d74_4" [label="4: Return Stmt \n *&return:int=(1 / n$2) [line 24, column 32]\n " shape="box"] + "div0_method_op_ptr#10912550985860.096d01aa199facb5_3" -> "div0_method_op_ptr#10912550985860.096d01aa199facb5_4" ; +"div0_method_op_ptr#10912550985860.096d01aa199facb5_4" [label="4: Return Stmt \n *&return:int=(1 / n$2) [line 24, column 32]\n " shape="box"] - "div0_method_op_ptr(class X)#10912.208aa82119402d74_4" -> "div0_method_op_ptr(class X)#10912.208aa82119402d74_2" ; + "div0_method_op_ptr#10912550985860.096d01aa199facb5_4" -> "div0_method_op_ptr#10912550985860.096d01aa199facb5_2" ; "div1_method_op#543966324959376189.a2cc6fb171f5c009_1" [label="1: Start div1_method_op\nFormals: x:X&\nLocals: \n " color=yellow style=filled] 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 4589f9e1332..5d980645337 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot @@ -1,32 +1,32 @@ /* @generated */ digraph cfg { -"get#return_struct(class return_st.86e6722206a41548_1" [label="1: Start return_struct::get\nFormals: a:int __return_param:return_struct::X*\nLocals: x:return_struct::X \n " color=yellow style=filled] +"get#return_struct#152069431635814.ccfaa809d6b1c936_1" [label="1: Start return_struct::get\nFormals: a:int __return_param:return_struct::X*\nLocals: x:return_struct::X \n " color=yellow style=filled] - "get#return_struct(class return_st.86e6722206a41548_1" -> "get#return_struct(class return_st.86e6722206a41548_7" ; -"get#return_struct(class return_st.86e6722206a41548_2" [label="2: Exit return_struct::get \n " color=yellow style=filled] + "get#return_struct#152069431635814.ccfaa809d6b1c936_1" -> "get#return_struct#152069431635814.ccfaa809d6b1c936_7" ; +"get#return_struct#152069431635814.ccfaa809d6b1c936_2" [label="2: Exit return_struct::get \n " color=yellow style=filled] -"get#return_struct(class return_st.86e6722206a41548_3" [label="3: Return Stmt \n n$0=*&__return_param:return_struct::X* [line 22, column 3]\n " shape="box"] +"get#return_struct#152069431635814.ccfaa809d6b1c936_3" [label="3: Return Stmt \n n$0=*&__return_param:return_struct::X* [line 22, column 3]\n " shape="box"] - "get#return_struct(class return_st.86e6722206a41548_3" -> "get#return_struct(class return_st.86e6722206a41548_4" ; -"get#return_struct(class return_st.86e6722206a41548_4" [label="4: Return Stmt \n n$1=_fun_return_struct::X::X(n$0:return_struct::X*,&x:return_struct::X&) [line 22, column 10]\n " shape="box"] + "get#return_struct#152069431635814.ccfaa809d6b1c936_3" -> "get#return_struct#152069431635814.ccfaa809d6b1c936_4" ; +"get#return_struct#152069431635814.ccfaa809d6b1c936_4" [label="4: Return Stmt \n n$1=_fun_return_struct::X::X(n$0:return_struct::X*,&x:return_struct::X&) [line 22, column 10]\n " shape="box"] - "get#return_struct(class return_st.86e6722206a41548_4" -> "get#return_struct(class return_st.86e6722206a41548_5" ; -"get#return_struct(class return_st.86e6722206a41548_5" [label="5: Return Stmt \n " shape="box"] + "get#return_struct#152069431635814.ccfaa809d6b1c936_4" -> "get#return_struct#152069431635814.ccfaa809d6b1c936_5" ; +"get#return_struct#152069431635814.ccfaa809d6b1c936_5" [label="5: Return Stmt \n " shape="box"] - "get#return_struct(class return_st.86e6722206a41548_5" -> "get#return_struct(class return_st.86e6722206a41548_2" ; -"get#return_struct(class return_st.86e6722206a41548_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&a:int [line 21, column 9]\n *&x.f:int=n$2 [line 21, column 3]\n " shape="box"] + "get#return_struct#152069431635814.ccfaa809d6b1c936_5" -> "get#return_struct#152069431635814.ccfaa809d6b1c936_2" ; +"get#return_struct#152069431635814.ccfaa809d6b1c936_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&a:int [line 21, column 9]\n *&x.f:int=n$2 [line 21, column 3]\n " shape="box"] - "get#return_struct(class return_st.86e6722206a41548_6" -> "get#return_struct(class return_st.86e6722206a41548_3" ; -"get#return_struct(class return_st.86e6722206a41548_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 20, column 3]\n n$3=_fun_return_struct::X::X(&x:return_struct::X*) [line 20, column 5]\n " shape="box"] + "get#return_struct#152069431635814.ccfaa809d6b1c936_6" -> "get#return_struct#152069431635814.ccfaa809d6b1c936_3" ; +"get#return_struct#152069431635814.ccfaa809d6b1c936_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 20, column 3]\n n$3=_fun_return_struct::X::X(&x:return_struct::X*) [line 20, column 5]\n " shape="box"] - "get#return_struct(class return_st.86e6722206a41548_7" -> "get#return_struct(class return_st.86e6722206a41548_6" ; + "get#return_struct#152069431635814.ccfaa809d6b1c936_7" -> "get#return_struct#152069431635814.ccfaa809d6b1c936_6" ; "get_div0#return_struct#3543093399.0c3db3a444952aef_1" [label="1: Start return_struct::get_div0\nFormals: \nLocals: x:return_struct::X 0$?%__sil_tmpSIL_materialize_temp__n$1:return_struct::X const \n " color=yellow style=filled] 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 971cec2e2a6..be8c6811e72 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 @@ -67,25 +67,25 @@ digraph cfg { "X_div0#struct_forward_declare#149.e860fd7462df24ba_6" -> "X_div0#struct_forward_declare#149.e860fd7462df24ba_5" ; -"X_ptr_div0#struct_forward_declare.a5c80332fff13935_1" [label="1: Start struct_forward_declare::X_ptr_div0\nFormals: x:struct_forward_declare::X*\nLocals: \n " color=yellow style=filled] +"X_ptr_div0#struct_forward_declare.556e298a3b72ac8f_1" [label="1: Start struct_forward_declare::X_ptr_div0\nFormals: x:struct_forward_declare::X*\nLocals: \n " color=yellow style=filled] - "X_ptr_div0#struct_forward_declare.a5c80332fff13935_1" -> "X_ptr_div0#struct_forward_declare.a5c80332fff13935_5" ; -"X_ptr_div0#struct_forward_declare.a5c80332fff13935_2" [label="2: Exit struct_forward_declare::X_ptr_div0 \n " color=yellow style=filled] + "X_ptr_div0#struct_forward_declare.556e298a3b72ac8f_1" -> "X_ptr_div0#struct_forward_declare.556e298a3b72ac8f_5" ; +"X_ptr_div0#struct_forward_declare.556e298a3b72ac8f_2" [label="2: Exit struct_forward_declare::X_ptr_div0 \n " color=yellow style=filled] -"X_ptr_div0#struct_forward_declare.a5c80332fff13935_3" [label="3: Return Stmt \n n$0=*&x:struct_forward_declare::X* [line 42, column 14]\n _=*n$0:struct_forward_declare::X [line 42, column 14]\n n$2=_fun_struct_forward_declare::X::getF(n$0:struct_forward_declare::X*) [line 42, column 14]\n " shape="box"] +"X_ptr_div0#struct_forward_declare.556e298a3b72ac8f_3" [label="3: Return Stmt \n n$0=*&x:struct_forward_declare::X* [line 42, column 14]\n _=*n$0:struct_forward_declare::X [line 42, column 14]\n n$2=_fun_struct_forward_declare::X::getF(n$0:struct_forward_declare::X*) [line 42, column 14]\n " shape="box"] - "X_ptr_div0#struct_forward_declare.a5c80332fff13935_3" -> "X_ptr_div0#struct_forward_declare.a5c80332fff13935_4" ; -"X_ptr_div0#struct_forward_declare.a5c80332fff13935_4" [label="4: Return Stmt \n *&return:int=(1 / n$2) [line 42, column 3]\n " shape="box"] + "X_ptr_div0#struct_forward_declare.556e298a3b72ac8f_3" -> "X_ptr_div0#struct_forward_declare.556e298a3b72ac8f_4" ; +"X_ptr_div0#struct_forward_declare.556e298a3b72ac8f_4" [label="4: Return Stmt \n *&return:int=(1 / n$2) [line 42, column 3]\n " shape="box"] - "X_ptr_div0#struct_forward_declare.a5c80332fff13935_4" -> "X_ptr_div0#struct_forward_declare.a5c80332fff13935_2" ; -"X_ptr_div0#struct_forward_declare.a5c80332fff13935_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&x:struct_forward_declare::X* [line 41, column 3]\n *n$3.f:int=0 [line 41, column 3]\n " shape="box"] + "X_ptr_div0#struct_forward_declare.556e298a3b72ac8f_4" -> "X_ptr_div0#struct_forward_declare.556e298a3b72ac8f_2" ; +"X_ptr_div0#struct_forward_declare.556e298a3b72ac8f_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&x:struct_forward_declare::X* [line 41, column 3]\n *n$3.f:int=0 [line 41, column 3]\n " shape="box"] - "X_ptr_div0#struct_forward_declare.a5c80332fff13935_5" -> "X_ptr_div0#struct_forward_declare.a5c80332fff13935_3" ; + "X_ptr_div0#struct_forward_declare.556e298a3b72ac8f_5" -> "X_ptr_div0#struct_forward_declare.556e298a3b72ac8f_3" ; "Z_div0#struct_forward_declare#162.744970cb2a0863ce_1" [label="1: Start struct_forward_declare::Z_div0\nFormals: \nLocals: z:struct_forward_declare::Z \n " color=yellow style=filled] @@ -109,36 +109,36 @@ digraph cfg { "Z_div0#struct_forward_declare#162.744970cb2a0863ce_6" -> "Z_div0#struct_forward_declare#162.744970cb2a0863ce_5" ; -"Z_ptr_div0#struct_forward_declare.ce600c6da403f28f_1" [label="1: Start struct_forward_declare::Z_ptr_div0\nFormals: z:struct_forward_declare::Z*\nLocals: \n " color=yellow style=filled] +"Z_ptr_div0#struct_forward_declare.44cb0d131c1ef615_1" [label="1: Start struct_forward_declare::Z_ptr_div0\nFormals: z:struct_forward_declare::Z*\nLocals: \n " color=yellow style=filled] - "Z_ptr_div0#struct_forward_declare.ce600c6da403f28f_1" -> "Z_ptr_div0#struct_forward_declare.ce600c6da403f28f_5" ; -"Z_ptr_div0#struct_forward_declare.ce600c6da403f28f_2" [label="2: Exit struct_forward_declare::Z_ptr_div0 \n " color=yellow style=filled] + "Z_ptr_div0#struct_forward_declare.44cb0d131c1ef615_1" -> "Z_ptr_div0#struct_forward_declare.44cb0d131c1ef615_5" ; +"Z_ptr_div0#struct_forward_declare.44cb0d131c1ef615_2" [label="2: Exit struct_forward_declare::Z_ptr_div0 \n " color=yellow style=filled] -"Z_ptr_div0#struct_forward_declare.ce600c6da403f28f_3" [label="3: Return Stmt \n n$0=*&z:struct_forward_declare::Z* [line 66, column 14]\n _=*n$0:struct_forward_declare::Z [line 66, column 14]\n n$2=_fun_struct_forward_declare::Z::getF(n$0:struct_forward_declare::Z*) [line 66, column 14]\n " shape="box"] +"Z_ptr_div0#struct_forward_declare.44cb0d131c1ef615_3" [label="3: Return Stmt \n n$0=*&z:struct_forward_declare::Z* [line 66, column 14]\n _=*n$0:struct_forward_declare::Z [line 66, column 14]\n n$2=_fun_struct_forward_declare::Z::getF(n$0:struct_forward_declare::Z*) [line 66, column 14]\n " shape="box"] - "Z_ptr_div0#struct_forward_declare.ce600c6da403f28f_3" -> "Z_ptr_div0#struct_forward_declare.ce600c6da403f28f_4" ; -"Z_ptr_div0#struct_forward_declare.ce600c6da403f28f_4" [label="4: Return Stmt \n *&return:int=(1 / n$2) [line 66, column 3]\n " shape="box"] + "Z_ptr_div0#struct_forward_declare.44cb0d131c1ef615_3" -> "Z_ptr_div0#struct_forward_declare.44cb0d131c1ef615_4" ; +"Z_ptr_div0#struct_forward_declare.44cb0d131c1ef615_4" [label="4: Return Stmt \n *&return:int=(1 / n$2) [line 66, column 3]\n " shape="box"] - "Z_ptr_div0#struct_forward_declare.ce600c6da403f28f_4" -> "Z_ptr_div0#struct_forward_declare.ce600c6da403f28f_2" ; -"Z_ptr_div0#struct_forward_declare.ce600c6da403f28f_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&z:struct_forward_declare::Z* [line 65, column 3]\n *n$3.f:int=0 [line 65, column 3]\n " shape="box"] + "Z_ptr_div0#struct_forward_declare.44cb0d131c1ef615_4" -> "Z_ptr_div0#struct_forward_declare.44cb0d131c1ef615_2" ; +"Z_ptr_div0#struct_forward_declare.44cb0d131c1ef615_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&z:struct_forward_declare::Z* [line 65, column 3]\n *n$3.f:int=0 [line 65, column 3]\n " shape="box"] - "Z_ptr_div0#struct_forward_declare.ce600c6da403f28f_5" -> "Z_ptr_div0#struct_forward_declare.ce600c6da403f28f_3" ; -"fun_with_Z#struct_forward_declare.d708d356d0748993_1" [label="1: Start struct_forward_declare::fun_with_Z\nFormals: z1:struct_forward_declare::Z*\nLocals: z2:struct_forward_declare::Z* \n " color=yellow style=filled] + "Z_ptr_div0#struct_forward_declare.44cb0d131c1ef615_5" -> "Z_ptr_div0#struct_forward_declare.44cb0d131c1ef615_3" ; +"fun_with_Z#struct_forward_declare.5b35208973ee3067_1" [label="1: Start struct_forward_declare::fun_with_Z\nFormals: z1:struct_forward_declare::Z*\nLocals: z2:struct_forward_declare::Z* \n " color=yellow style=filled] - "fun_with_Z#struct_forward_declare.d708d356d0748993_1" -> "fun_with_Z#struct_forward_declare.d708d356d0748993_3" ; -"fun_with_Z#struct_forward_declare.d708d356d0748993_2" [label="2: Exit struct_forward_declare::fun_with_Z \n " color=yellow style=filled] + "fun_with_Z#struct_forward_declare.5b35208973ee3067_1" -> "fun_with_Z#struct_forward_declare.5b35208973ee3067_3" ; +"fun_with_Z#struct_forward_declare.5b35208973ee3067_2" [label="2: Exit struct_forward_declare::fun_with_Z \n " color=yellow style=filled] -"fun_with_Z#struct_forward_declare.d708d356d0748993_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z2:struct_forward_declare::Z*); [line 24, column 26]\n n$0=*&z1:struct_forward_declare::Z* [line 24, column 34]\n *&z2:struct_forward_declare::Z*=n$0 [line 24, column 26]\n " shape="box"] +"fun_with_Z#struct_forward_declare.5b35208973ee3067_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z2:struct_forward_declare::Z*); [line 24, column 26]\n n$0=*&z1:struct_forward_declare::Z* [line 24, column 34]\n *&z2:struct_forward_declare::Z*=n$0 [line 24, column 26]\n " shape="box"] - "fun_with_Z#struct_forward_declare.d708d356d0748993_3" -> "fun_with_Z#struct_forward_declare.d708d356d0748993_2" ; + "fun_with_Z#struct_forward_declare.5b35208973ee3067_3" -> "fun_with_Z#struct_forward_declare.5b35208973ee3067_2" ; "getF#X#struct_forward_declare#(23.15dd2207cd05d172_1" [label="1: Start struct_forward_declare::X::getF\nFormals: this:struct_forward_declare::X*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/objcpp/frontend/funcoverloading/af_test.mm.dot b/infer/tests/codetoanalyze/objcpp/frontend/funcoverloading/af_test.mm.dot index fb7f24c0d0b..40c34b1ebba 100644 --- a/infer/tests/codetoanalyze/objcpp/frontend/funcoverloading/af_test.mm.dot +++ b/infer/tests/codetoanalyze/objcpp/frontend/funcoverloading/af_test.mm.dot @@ -15,15 +15,15 @@ digraph cfg { "POPSelectValueType#13202608325161.7f6967bed79eb95e_4" -> "POPSelectValueType#13202608325161.7f6967bed79eb95e_2" ; -"POPSelectValueType(struct objc_ob.2ae895f0ed31789a_1" [label="1: Start POPSelectValueType\nFormals: obj:objc_object*\nLocals: \n " color=yellow style=filled] +"POPSelectValueType#45906213627218.100c5a1fcd7deab0_1" [label="1: Start POPSelectValueType\nFormals: obj:objc_object*\nLocals: \n " color=yellow style=filled] - "POPSelectValueType(struct objc_ob.2ae895f0ed31789a_1" -> "POPSelectValueType(struct objc_ob.2ae895f0ed31789a_3" ; -"POPSelectValueType(struct objc_ob.2ae895f0ed31789a_2" [label="2: Exit POPSelectValueType \n " color=yellow style=filled] + "POPSelectValueType#45906213627218.100c5a1fcd7deab0_1" -> "POPSelectValueType#45906213627218.100c5a1fcd7deab0_3" ; +"POPSelectValueType#45906213627218.100c5a1fcd7deab0_2" [label="2: Exit POPSelectValueType \n " color=yellow style=filled] -"POPSelectValueType(struct objc_ob.2ae895f0ed31789a_3" [label="3: Return Stmt \n *&return:int=1 [line 10, column 34]\n " shape="box"] +"POPSelectValueType#45906213627218.100c5a1fcd7deab0_3" [label="3: Return Stmt \n *&return:int=1 [line 10, column 34]\n " shape="box"] - "POPSelectValueType(struct objc_ob.2ae895f0ed31789a_3" -> "POPSelectValueType(struct objc_ob.2ae895f0ed31789a_2" ; + "POPSelectValueType#45906213627218.100c5a1fcd7deab0_3" -> "POPSelectValueType#45906213627218.100c5a1fcd7deab0_2" ; } diff --git a/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot b/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot index 1f6935b27be..a2fea08f570 100644 --- a/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot +++ b/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot @@ -11,25 +11,25 @@ digraph cfg { "__infer_globals_initializer___som.794b83eea8b5794c_3" -> "__infer_globals_initializer___som.794b83eea8b5794c_2" ; -"fields(class Fields)#303762988678.ade89225d198ce50_1" [label="1: Start fields\nFormals: __return_param:Fields*\nLocals: \n " color=yellow style=filled] +"fields#3037629886785813687.69ed098353fab08d_1" [label="1: Start fields\nFormals: __return_param:Fields*\nLocals: \n " color=yellow style=filled] - "fields(class Fields)#303762988678.ade89225d198ce50_1" -> "fields(class Fields)#303762988678.ade89225d198ce50_3" ; -"fields(class Fields)#303762988678.ade89225d198ce50_2" [label="2: Exit fields \n " color=yellow style=filled] + "fields#3037629886785813687.69ed098353fab08d_1" -> "fields#3037629886785813687.69ed098353fab08d_3" ; +"fields#3037629886785813687.69ed098353fab08d_2" [label="2: Exit fields \n " color=yellow style=filled] -"fields(class Fields)#303762988678.ade89225d198ce50_3" [label="3: Return Stmt \n n$0=*&__return_param:Fields* [line 20, column 19]\n " shape="box"] +"fields#3037629886785813687.69ed098353fab08d_3" [label="3: Return Stmt \n n$0=*&__return_param:Fields* [line 20, column 19]\n " shape="box"] - "fields(class Fields)#303762988678.ade89225d198ce50_3" -> "fields(class Fields)#303762988678.ade89225d198ce50_4" ; -"fields(class Fields)#303762988678.ade89225d198ce50_4" [label="4: Return Stmt \n n$1=_fun_Fields::Fields(n$0:Fields*,&#GB$__someFields:Fields const &) [line 20, column 26]\n " shape="box"] + "fields#3037629886785813687.69ed098353fab08d_3" -> "fields#3037629886785813687.69ed098353fab08d_4" ; +"fields#3037629886785813687.69ed098353fab08d_4" [label="4: Return Stmt \n n$1=_fun_Fields::Fields(n$0:Fields*,&#GB$__someFields:Fields const &) [line 20, column 26]\n " shape="box"] - "fields(class Fields)#303762988678.ade89225d198ce50_4" -> "fields(class Fields)#303762988678.ade89225d198ce50_5" ; -"fields(class Fields)#303762988678.ade89225d198ce50_5" [label="5: Return Stmt \n " shape="box"] + "fields#3037629886785813687.69ed098353fab08d_4" -> "fields#3037629886785813687.69ed098353fab08d_5" ; +"fields#3037629886785813687.69ed098353fab08d_5" [label="5: Return Stmt \n " shape="box"] - "fields(class Fields)#303762988678.ade89225d198ce50_5" -> "fields(class Fields)#303762988678.ade89225d198ce50_2" ; + "fields#3037629886785813687.69ed098353fab08d_5" -> "fields#3037629886785813687.69ed098353fab08d_2" ; "Fields#Fields#{168902558046857490.9c3a33926ef53994_1" [label="1: Start Fields::Fields\nFormals: this:Fields* __param_0:Fields const &\nLocals: \n " color=yellow style=filled]