diff --git a/infer/src/IR/Procname.ml b/infer/src/IR/Procname.ml index 3b5cf5617..bf6ffe270 100644 --- a/infer/src/IR/Procname.ml +++ b/infer/src/IR/Procname.ml @@ -313,13 +313,14 @@ module ObjC_Cpp = struct let pp verbosity fmt osig = + let sep = if is_objc_method osig then "." else "::" in match verbosity with | Simple -> F.pp_print_string fmt osig.method_name | Non_verbose -> - F.fprintf fmt "%s::%s" (Typ.Name.name osig.class_name) osig.method_name + F.fprintf fmt "%s%s%s" (Typ.Name.name osig.class_name) sep osig.method_name | Verbose -> - F.fprintf fmt "%s::%s%a%a" (Typ.Name.name osig.class_name) osig.method_name + F.fprintf fmt "%s%s%s%a%a" (Typ.Name.name osig.class_name) sep osig.method_name Parameter.pp_parameters osig.parameters pp_verbose_kind osig.kind @@ -640,12 +641,12 @@ let hashable_name proc_name = Str.global_replace java_inner_class_prefix_regex "$_" name | exception Caml.Not_found -> name ) - | ObjC_Cpp m when ObjC_Cpp.is_objc_method m -> + | ObjC_Cpp osig when ObjC_Cpp.is_objc_method osig -> (* In Objective C, the list of parameters is part of the method name. To prevent the bug hash to change when a parameter is introduced or removed, only the part of the name before the first colon is used for the bug hash *) let name = F.asprintf "%a" (pp_simplified_string ~withclass:true) proc_name in - List.hd_exn (String.split_on_chars name ~on:[':']) + List.hd_exn (String.split name ~on:':') | _ -> (* Other cases for C and C++ method names *) F.asprintf "%a" (pp_simplified_string ~withclass:true) proc_name diff --git a/infer/tests/build_systems/ck_analytics/issues.exp b/infer/tests/build_systems/ck_analytics/issues.exp index 416dc5c63..0ff1d40db 100644 --- a/infer/tests/build_systems/ck_analytics/issues.exp +++ b/infer/tests/build_systems/ck_analytics/issues.exp @@ -21,5 +21,5 @@ TestComponentKitAnalytics.mm, Linters_dummy_method, 19, COMPONENT_FILE_LINE_COUN TestComponentKitAnalytics.mm, Linters_dummy_method, 20, COMPONENT_FILE_LINE_COUNT, no_bucket, INFO, [] TestComponentKitAnalytics.mm, Linters_dummy_method, 21, COMPONENT_FILE_LINE_COUNT, no_bucket, INFO, [] TestComponentKitAnalytics.mm, Linters_dummy_method, 22, COMPONENT_FILE_LINE_COUNT, no_bucket, INFO, [] -TestComponentKitAnalytics.mm, SomeClass::new, 14, COMPONENT_FILE_CYCLOMATIC_COMPLEXITY, no_bucket, INFO, [] -TestComponentKitAnalytics.mm, SomeClass::new, 16, COMPONENT_FILE_CYCLOMATIC_COMPLEXITY, no_bucket, INFO, [] +TestComponentKitAnalytics.mm, SomeClass.new, 14, COMPONENT_FILE_CYCLOMATIC_COMPLEXITY, no_bucket, INFO, [] +TestComponentKitAnalytics.mm, SomeClass.new, 16, COMPONENT_FILE_CYCLOMATIC_COMPLEXITY, no_bucket, INFO, [] diff --git a/infer/tests/build_systems/ck_imports/issues.exp b/infer/tests/build_systems/ck_imports/issues.exp index d175ed59b..8b325a0a9 100644 --- a/infer/tests/build_systems/ck_imports/issues.exp +++ b/infer/tests/build_systems/ck_imports/issues.exp @@ -1 +1 @@ -TestIgnoreImports.mm, SomeClass::new, 20, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] +TestIgnoreImports.mm, SomeClass.new, 20, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] diff --git a/infer/tests/build_systems/linters/issues.exp b/infer/tests/build_systems/linters/issues.exp index 8571ec62d..337735c0e 100644 --- a/infer/tests/build_systems/linters/issues.exp +++ b/infer/tests/build_systems/linters/issues.exp @@ -1 +1 @@ -main.mm, SomeClass::new, 13, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] +main.mm, SomeClass.new, 13, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] diff --git a/infer/tests/build_systems/objc_getters_setters/issues.exp b/infer/tests/build_systems/objc_getters_setters/issues.exp index bb73c3287..7adfbe118 100644 --- a/infer/tests/build_systems/objc_getters_setters/issues.exp +++ b/infer/tests/build_systems/objc_getters_setters/issues.exp @@ -1,5 +1,5 @@ -build_systems/codetoanalyze/objc_getters_setters/B.m, B::calling_c_function_with_block_parameters_sets_fields_correctly, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure calling_c_function_with_block_parameters_sets_fields_correctly,start of procedure calling_c_function_with_block_parameters,start of procedure c_function(),start of procedure block,return from a call to objc_blockB::calling_c_function_with_block_parameters_3,start of procedure block,return from a call to objc_blockB::calling_c_function_with_block_parameters_4,return from a call to c_function_objc_blockB::calling_c_function_with_block_parameters_3_objc_blockB::calling_c_function_with_block_parameters_4,return from a call to B::calling_c_function_with_block_parameters,Taking true branch] -build_systems/codetoanalyze/objc_getters_setters/B.m, B::calling_method_with_block_parameters_sets_fields_correctly, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure calling_method_with_block_parameters_sets_fields_correctly,start of procedure calling_method_with_block_parameters,start of procedure foo:and:and_also:and:,start of procedure block,return from a call to objc_blockB::calling_method_with_block_parameters_1,start of procedure block,return from a call to objc_blockB::calling_method_with_block_parameters_2,return from a call to A::foo:and:and_also:and:_objc_blockB::calling_method_with_block_parameters_1_objc_blockB::calling_method_with_block_parameters_2,return from a call to B::calling_method_with_block_parameters,Taking true branch] -build_systems/codetoanalyze/objc_getters_setters/B.m, B::npe_no_bad_footprint_in_getter:, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure npe_no_bad_footprint_in_getter:,Executing synthesized getter metadata] -build_systems/codetoanalyze/objc_getters_setters/B.m, B::npe_no_bad_footprint_in_setter:andMetadata:, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure npe_no_bad_footprint_in_setter:andMetadata:,Executing synthesized setter setMetadata:] -build_systems/codetoanalyze/objc_getters_setters/B.m, B::npe_no_precondition_not_met:, 4, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure npe_no_precondition_not_met:,start of procedure infer_field_get_spec:,start of procedure withMetadata:,return from a call to A::withMetadata:,return from a call to B::infer_field_get_spec:,start of procedure getX,return from a call to A::getX,Taking true branch] +build_systems/codetoanalyze/objc_getters_setters/B.m, B.calling_c_function_with_block_parameters_sets_fields_correctly, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure calling_c_function_with_block_parameters_sets_fields_correctly,start of procedure calling_c_function_with_block_parameters,start of procedure c_function(),start of procedure block,return from a call to objc_blockB.calling_c_function_with_block_parameters_3,start of procedure block,return from a call to objc_blockB.calling_c_function_with_block_parameters_4,return from a call to c_function_objc_blockB.calling_c_function_with_block_parameters_3_objc_blockB.calling_c_function_with_block_parameters_4,return from a call to B.calling_c_function_with_block_parameters,Taking true branch] +build_systems/codetoanalyze/objc_getters_setters/B.m, B.calling_method_with_block_parameters_sets_fields_correctly, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure calling_method_with_block_parameters_sets_fields_correctly,start of procedure calling_method_with_block_parameters,start of procedure foo:and:and_also:and:,start of procedure block,return from a call to objc_blockB.calling_method_with_block_parameters_1,start of procedure block,return from a call to objc_blockB.calling_method_with_block_parameters_2,return from a call to A.foo:and:and_also:and:_objc_blockB.calling_method_with_block_parameters_1_objc_blockB.calling_method_with_block_parameters_2,return from a call to B.calling_method_with_block_parameters,Taking true branch] +build_systems/codetoanalyze/objc_getters_setters/B.m, B.npe_no_bad_footprint_in_getter:, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure npe_no_bad_footprint_in_getter:,Executing synthesized getter metadata] +build_systems/codetoanalyze/objc_getters_setters/B.m, B.npe_no_bad_footprint_in_setter:andMetadata:, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure npe_no_bad_footprint_in_setter:andMetadata:,Executing synthesized setter setMetadata:] +build_systems/codetoanalyze/objc_getters_setters/B.m, B.npe_no_precondition_not_met:, 4, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure npe_no_precondition_not_met:,start of procedure infer_field_get_spec:,start of procedure withMetadata:,return from a call to A.withMetadata:,return from a call to B.infer_field_get_spec:,start of procedure getX,return from a call to A.getX,Taking true branch] diff --git a/infer/tests/build_systems/objc_missing_fld/issues.exp b/infer/tests/build_systems/objc_missing_fld/issues.exp index d4e9674f9..5df021d76 100644 --- a/infer/tests/build_systems/objc_missing_fld/issues.exp +++ b/infer/tests/build_systems/objc_missing_fld/issues.exp @@ -1,2 +1,2 @@ -build_systems/codetoanalyze/objc_missing_fld/A.m, badOnlyOneNDA, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure badOnlyOneNDA(),start of procedure predA(),start of procedure implOnlyFn:,return from a call to A::implOnlyFn:,Executing synthesized getter delegate,Condition is true,return from a call to predA,Taking false branch] -build_systems/codetoanalyze/objc_missing_fld/B.m, badOnlyOneNDB, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure badOnlyOneNDB(),start of procedure predB(),start of procedure implOnlyFn:,return from a call to A::implOnlyFn:,Executing synthesized getter delegate,Condition is true,return from a call to predB,Taking false branch] +build_systems/codetoanalyze/objc_missing_fld/A.m, badOnlyOneNDA, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure badOnlyOneNDA(),start of procedure predA(),start of procedure implOnlyFn:,return from a call to A.implOnlyFn:,Executing synthesized getter delegate,Condition is true,return from a call to predA,Taking false branch] +build_systems/codetoanalyze/objc_missing_fld/B.m, badOnlyOneNDB, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure badOnlyOneNDB(),start of procedure predB(),start of procedure implOnlyFn:,return from a call to A.implOnlyFn:,Executing synthesized getter delegate,Condition is true,return from a call to predB,Taking false branch] diff --git a/infer/tests/build_systems/objc_retain_cycles_weak/issues.exp b/infer/tests/build_systems/objc_retain_cycles_weak/issues.exp index 480e50722..16ebad06d 100644 --- a/infer/tests/build_systems/objc_retain_cycles_weak/issues.exp +++ b/infer/tests/build_systems/objc_retain_cycles_weak/issues.exp @@ -1,4 +1,4 @@ -build_systems/codetoanalyze/objc_retain_cycles_weak/TimeSpent.m, TimeSpent::init_bad, 2, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure init_bad,Taking true branch,start of procedure setDataSourceStrong:,return from a call to ListAdapter::setDataSourceStrong:] -build_systems/codetoanalyze/objc_retain_cycles_weak/TimeSpent.m, TimeSpent::init_bad_ref, 3, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure init_bad_ref,Taking true branch] -build_systems/codetoanalyze/objc_retain_cycles_weak/TimeSpent.m, TimeSpent::init_bad_ref2, 3, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure init_bad_ref2,Taking true branch] -build_systems/codetoanalyze/objc_retain_cycles_weak/TimeSpent.m, retain_cycle_weak_bad, 4, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure retain_cycle_weak_bad(),start of procedure init,start of procedure initWithDelegate:,Executing synthesized setter setDelegate:,return from a call to AnalyticsTimeSpent::initWithDelegate:,return from a call to TimeSpent::init,start of procedure initWithStrongDelegate:,return from a call to AnalyticsTimeSpent::initWithStrongDelegate:,start of procedure setAnalyticsTimeSpent:,return from a call to TimeSpent::setAnalyticsTimeSpent:] +build_systems/codetoanalyze/objc_retain_cycles_weak/TimeSpent.m, TimeSpent.init_bad, 2, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure init_bad,Taking true branch,start of procedure setDataSourceStrong:,return from a call to ListAdapter.setDataSourceStrong:] +build_systems/codetoanalyze/objc_retain_cycles_weak/TimeSpent.m, TimeSpent.init_bad_ref, 3, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure init_bad_ref,Taking true branch] +build_systems/codetoanalyze/objc_retain_cycles_weak/TimeSpent.m, TimeSpent.init_bad_ref2, 3, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure init_bad_ref2,Taking true branch] +build_systems/codetoanalyze/objc_retain_cycles_weak/TimeSpent.m, retain_cycle_weak_bad, 4, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure retain_cycle_weak_bad(),start of procedure init,start of procedure initWithDelegate:,Executing synthesized setter setDelegate:,return from a call to AnalyticsTimeSpent.initWithDelegate:,return from a call to TimeSpent.init,start of procedure initWithStrongDelegate:,return from a call to AnalyticsTimeSpent.initWithStrongDelegate:,start of procedure setAnalyticsTimeSpent:,return from a call to TimeSpent.setAnalyticsTimeSpent:] diff --git a/infer/tests/codetoanalyze/objc/biabduction/issues.exp b/infer/tests/codetoanalyze/objc/biabduction/issues.exp index 7b805182b..bf29ad700 100644 --- a/infer/tests/codetoanalyze/objc/biabduction/issues.exp +++ b/infer/tests/codetoanalyze/objc/biabduction/issues.exp @@ -1,42 +1,42 @@ codetoanalyze/objc/biabduction/field_superclass/field.c, field_superclass_main, 3, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure field_superclass_main()] -codetoanalyze/objc/biabduction/global_const/global_const.m, SimpleRoot::doSomethingBadWithDict:andString:, 3, NULL_DEREFERENCE, B2, ERROR, [start of procedure doSomethingBadWithDict:andString:,Message stringByAppendingString: with receiver nil returns nil.] -codetoanalyze/objc/biabduction/global_const/global_const.m, SimpleRoot::doSomethingOkWithDict:andString:, 3, NULL_DEREFERENCE, B2, ERROR, [start of procedure doSomethingOkWithDict:andString:,Message stringByAppendingString: with receiver nil returns nil.] +codetoanalyze/objc/biabduction/global_const/global_const.m, SimpleRoot.doSomethingBadWithDict:andString:, 3, NULL_DEREFERENCE, B2, ERROR, [start of procedure doSomethingBadWithDict:andString:,Message stringByAppendingString: with receiver nil returns nil.] +codetoanalyze/objc/biabduction/global_const/global_const.m, SimpleRoot.doSomethingOkWithDict:andString:, 3, NULL_DEREFERENCE, B2, ERROR, [start of procedure doSomethingOkWithDict:andString:,Message stringByAppendingString: with receiver nil returns nil.] codetoanalyze/objc/biabduction/initialization/compound_literal.c, init_with_compound_literal, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure init_with_compound_literal()] -codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCycleStaticVar.m, RetainCSV::foo, 13, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure foo,Executing synthesized setter setHandler:] -codetoanalyze/objc/biabduction/npe/null_returned_by_method.m, NullReturnedByMethodA::test1, 1, NULL_DEREFERENCE, B5, ERROR, [start of procedure test1,start of procedure test,return from a call to NullReturnedByMethodA::test] +codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCycleStaticVar.m, RetainCSV.foo, 13, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure foo,Executing synthesized setter setHandler:] +codetoanalyze/objc/biabduction/npe/null_returned_by_method.m, NullReturnedByMethodA.test1, 1, NULL_DEREFERENCE, B5, ERROR, [start of procedure test1,start of procedure test,return from a call to NullReturnedByMethodA.test] codetoanalyze/objc/biabduction/procdescs/main.c, ProcdescMain, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure ProcdescMain(),Skipping plusX:andY:: method has no implementation] codetoanalyze/objc/biabduction/procdescs/main.c, call_nslog, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure call_nslog(),Skipping NSLog(): method has no implementation] codetoanalyze/objc/biabduction/property/main.c, property_main, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure property_main(),Skipping aProperty: method has no implementation] -codetoanalyze/objc/biabduction/warnings/ParameterNotNullableExample.m, FBAudioRecorder::FBAudioInputCallbackChain:, 2, NULL_DEREFERENCE, B2, ERROR, [start of procedure FBAudioInputCallbackChain:,Executing synthesized getter recorder Message recordState with receiver nil returns nil.] -codetoanalyze/objc/biabduction/warnings/ParameterNotNullableExample.m, FBAudioRecorder::FBAudioInputCallbackChain:, 2, PARAMETER_NOT_NULL_CHECKED, B2, WARNING, [start of procedure FBAudioInputCallbackChain:,Message recorder with receiver nil returns nil. Message recordState with receiver nil returns nil.] -codetoanalyze/objc/biabduction/warnings/ParameterNotNullableExample.m, FBAudioRecorder::FBAudioInputCallbackField, 2, NULL_DEREFERENCE, B1, ERROR, [start of procedure FBAudioInputCallbackField,Message recordState with receiver nil returns nil.] -codetoanalyze/objc/biabduction/warnings/ParameterNotNullableExample.m, FBAudioRecorder::FBAudioInputCallbackSimple:, 2, PARAMETER_NOT_NULL_CHECKED, B2, WARNING, [start of procedure FBAudioInputCallbackSimple:,Message recordState with receiver nil returns nil.] -codetoanalyze/objc/biabduction/warnings/ParameterNotNullableExample.m, FBAudioRecorder::FBAudioInputCallbackSimpleAliasing:, 3, PARAMETER_NOT_NULL_CHECKED, B1, WARNING, [start of procedure FBAudioInputCallbackSimpleAliasing:,Message recordState with receiver nil returns nil.] -codetoanalyze/objc/biabduction/warnings/ParameterNotNullableExample.m, FBAudioRecorder::init, 2, NULL_DEREFERENCE, B2, ERROR, [start of procedure init] -codetoanalyze/objc/biabduction/warnings/ParameterNotNullableExample.m, FBAudioRecorder::test, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure test,Message recordState with receiver nil returns nil.] -codetoanalyze/objc/shared/block/BlockVar.m, BlockVar::blockPostBad, 5, NULL_DEREFERENCE, B5, ERROR, [start of procedure blockPostBad,start of procedure block,return from a call to objc_blockBlockVar::blockPostBad_2] -codetoanalyze/objc/shared/block/BlockVar.m, BlockVar::capturedNullDeref, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure capturedNullDeref,start of procedure block] -codetoanalyze/objc/shared/block/BlockVar.m, BlockVar::navigateToURLInBackground, 8, NULL_DEREFERENCE, B1, ERROR, [start of procedure navigateToURLInBackground,start of procedure block,start of procedure test,return from a call to BlockVar::test,return from a call to objc_blockBlockVar::navigateToURLInBackground_1,Taking true branch] +codetoanalyze/objc/biabduction/warnings/ParameterNotNullableExample.m, FBAudioRecorder.FBAudioInputCallbackChain:, 2, NULL_DEREFERENCE, B2, ERROR, [start of procedure FBAudioInputCallbackChain:,Executing synthesized getter recorder Message recordState with receiver nil returns nil.] +codetoanalyze/objc/biabduction/warnings/ParameterNotNullableExample.m, FBAudioRecorder.FBAudioInputCallbackChain:, 2, PARAMETER_NOT_NULL_CHECKED, B2, WARNING, [start of procedure FBAudioInputCallbackChain:,Message recorder with receiver nil returns nil. Message recordState with receiver nil returns nil.] +codetoanalyze/objc/biabduction/warnings/ParameterNotNullableExample.m, FBAudioRecorder.FBAudioInputCallbackField, 2, NULL_DEREFERENCE, B1, ERROR, [start of procedure FBAudioInputCallbackField,Message recordState with receiver nil returns nil.] +codetoanalyze/objc/biabduction/warnings/ParameterNotNullableExample.m, FBAudioRecorder.FBAudioInputCallbackSimple:, 2, PARAMETER_NOT_NULL_CHECKED, B2, WARNING, [start of procedure FBAudioInputCallbackSimple:,Message recordState with receiver nil returns nil.] +codetoanalyze/objc/biabduction/warnings/ParameterNotNullableExample.m, FBAudioRecorder.FBAudioInputCallbackSimpleAliasing:, 3, PARAMETER_NOT_NULL_CHECKED, B1, WARNING, [start of procedure FBAudioInputCallbackSimpleAliasing:,Message recordState with receiver nil returns nil.] +codetoanalyze/objc/biabduction/warnings/ParameterNotNullableExample.m, FBAudioRecorder.init, 2, NULL_DEREFERENCE, B2, ERROR, [start of procedure init] +codetoanalyze/objc/biabduction/warnings/ParameterNotNullableExample.m, FBAudioRecorder.test, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure test,Message recordState with receiver nil returns nil.] +codetoanalyze/objc/shared/block/BlockVar.m, BlockVar.blockPostBad, 5, NULL_DEREFERENCE, B5, ERROR, [start of procedure blockPostBad,start of procedure block,return from a call to objc_blockBlockVar.blockPostBad_2] +codetoanalyze/objc/shared/block/BlockVar.m, BlockVar.capturedNullDeref, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure capturedNullDeref,start of procedure block] +codetoanalyze/objc/shared/block/BlockVar.m, BlockVar.navigateToURLInBackground, 8, NULL_DEREFERENCE, B1, ERROR, [start of procedure navigateToURLInBackground,start of procedure block,start of procedure test,return from a call to BlockVar.test,return from a call to objc_blockBlockVar.navigateToURLInBackground_1,Taking true branch] codetoanalyze/objc/shared/block/block.m, main1, 30, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure main1(),start of procedure block,start of procedure block,return from a call to objc_blockobjc_blockmain1_2_3,return from a call to objc_blockmain1_2,start of procedure block,return from a call to objc_blockmain1_1] -codetoanalyze/objc/shared/block/block_no_args.m, My_manager::m, 10, NULL_DEREFERENCE, B1, ERROR, [start of procedure m,start of procedure block,return from a call to objc_blockMy_manager::m_1,Taking true branch] +codetoanalyze/objc/shared/block/block_no_args.m, My_manager.m, 10, NULL_DEREFERENCE, B1, ERROR, [start of procedure m,start of procedure block,return from a call to objc_blockMy_manager.m_1,Taking true branch] codetoanalyze/objc/shared/category_procdesc/main.c, CategoryProcdescMain, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure CategoryProcdescMain(),Skipping performDaysWork: method has no implementation] -codetoanalyze/objc/shared/field_superclass/SuperExample.m, ASuper::init, 2, NULL_DEREFERENCE, B2, ERROR, [start of procedure init] -codetoanalyze/objc/biabduction/blocks_in_heap/BlockInHeap.m, block_in_heap_executed_after_bi_abduction_ok_test, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure block_in_heap_executed_after_bi_abduction_ok_test(),start of procedure block_in_heap_executed_after_bi_abduction_ok_no_retain_cycle(),start of procedure assign_block_to_ivar,Executing synthesized setter setHandler:,return from a call to BlockInHeap::assign_block_to_ivar,Executing synthesized getter handler,start of procedure block,return from a call to objc_blockBlockInHeap::assign_block_to_ivar_1,return from a call to block_in_heap_executed_after_bi_abduction_ok_no_retain_cycle,Taking true branch] -codetoanalyze/objc/biabduction/field_superclass/SubtypingExample.m, Employee::initWithName:andAge:andEducation:, 3, NULL_TEST_AFTER_DEREFERENCE, no_bucket, WARNING, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person::initWithName:andAge:,Taking false branch] -codetoanalyze/objc/biabduction/field_superclass/SubtypingExample.m, Employee::initWithName:andAge:andEducation:, 6, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person::initWithName:andAge:,Taking true branch] -codetoanalyze/objc/biabduction/field_superclass/SubtypingExample.m, subtyping_test, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure subtyping_test(),start of procedure testFields(),start of procedure setEmployeeEducation:,return from a call to Employee::setEmployeeEducation:,start of procedure setAge:,return from a call to Person::setAge:,start of procedure setEmployeeEducation:,return from a call to Employee::setEmployeeEducation:,start of procedure getAge,return from a call to Person::getAge,return from a call to testFields] +codetoanalyze/objc/shared/field_superclass/SuperExample.m, ASuper.init, 2, NULL_DEREFERENCE, B2, ERROR, [start of procedure init] +codetoanalyze/objc/biabduction/blocks_in_heap/BlockInHeap.m, block_in_heap_executed_after_bi_abduction_ok_test, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure block_in_heap_executed_after_bi_abduction_ok_test(),start of procedure block_in_heap_executed_after_bi_abduction_ok_no_retain_cycle(),start of procedure assign_block_to_ivar,Executing synthesized setter setHandler:,return from a call to BlockInHeap.assign_block_to_ivar,Executing synthesized getter handler,start of procedure block,return from a call to objc_blockBlockInHeap.assign_block_to_ivar_1,return from a call to block_in_heap_executed_after_bi_abduction_ok_no_retain_cycle,Taking true branch] +codetoanalyze/objc/biabduction/field_superclass/SubtypingExample.m, Employee.initWithName:andAge:andEducation:, 3, NULL_TEST_AFTER_DEREFERENCE, no_bucket, WARNING, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person.initWithName:andAge:,Taking false branch] +codetoanalyze/objc/biabduction/field_superclass/SubtypingExample.m, Employee.initWithName:andAge:andEducation:, 6, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person.initWithName:andAge:,Taking true branch] +codetoanalyze/objc/biabduction/field_superclass/SubtypingExample.m, subtyping_test, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure subtyping_test(),start of procedure testFields(),start of procedure setEmployeeEducation:,return from a call to Employee.setEmployeeEducation:,start of procedure setAge:,return from a call to Person.setAge:,start of procedure setEmployeeEducation:,return from a call to Employee.setEmployeeEducation:,start of procedure getAge,return from a call to Person.getAge,return from a call to testFields] codetoanalyze/objc/biabduction/initialization/struct_initlistexpr.c, field_set_correctly, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure field_set_correctly()] codetoanalyze/objc/biabduction/initialization/struct_initlistexpr.c, implicit_expr_set_correctly, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure implicit_expr_set_correctly()] codetoanalyze/objc/biabduction/initialization/struct_initlistexpr.c, point_coords_set_correctly, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure point_coords_set_correctly()] -codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCycleBlockAsParameter.m, FBSomeDataManager::fetchNewData, 2, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure fetchNewData,start of procedure initWithCompletionBlock:,return from a call to Fetcher::initWithCompletionBlock:_objc_blockFBSomeDataManager::fetchNewData_1] -codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCycleBlockCapturedVar.m, LinkResolver::test_bad, 3, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure test_bad,Executing synthesized setter setDidFinishLoad:] -codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCycleBlocks.m, RCBlock::retain_self_in_block, 1, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure retain_self_in_block,Executing synthesized setter setHandler:] +codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCycleBlockAsParameter.m, FBSomeDataManager.fetchNewData, 2, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure fetchNewData,start of procedure initWithCompletionBlock:,return from a call to Fetcher.initWithCompletionBlock:_objc_blockFBSomeDataManager.fetchNewData_1] +codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCycleBlockCapturedVar.m, LinkResolver.test_bad, 3, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure test_bad,Executing synthesized setter setDidFinishLoad:] +codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCycleBlocks.m, RCBlock.retain_self_in_block, 1, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure retain_self_in_block,Executing synthesized setter setHandler:] codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCycleBlocks.m, objc_blockretain_a_in_block_cycle_3, 1, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure block,Executing synthesized setter setChild:] codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCycleBlocks.m, retain_a_in_block_cycle, 4, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure retain_a_in_block_cycle(),Executing synthesized setter setB:,Executing synthesized setter setA:] -codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCycleDeduplication.m, CViewController::setCaptureInteractionController:, 4, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure setCaptureInteractionController:,Taking true branch,Executing synthesized setter setDelegate:,Executing synthesized setter setDelegate:] -codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCyclePropertyInProtocol.m, MyCustomViewController::loadViewBad, 3, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure loadViewBad,Executing synthesized setter setView:,Executing synthesized setter setStrong_delegate:] +codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCycleDeduplication.m, CViewController.setCaptureInteractionController:, 4, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure setCaptureInteractionController:,Taking true branch,Executing synthesized setter setDelegate:,Executing synthesized setter setDelegate:] +codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCyclePropertyInProtocol.m, MyCustomViewController.loadViewBad, 3, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure loadViewBad,Executing synthesized setter setView:,Executing synthesized setter setStrong_delegate:] codetoanalyze/objc/biabduction/memory_leaks_benchmark/retain_cycle.m, strongcycle, 6, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure strongcycle(),Executing synthesized setter setB:,Executing synthesized setter setA:] -codetoanalyze/objc/biabduction/memory_leaks_benchmark/retain_cycle2.m, strongcycle2, 4, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure strongcycle2(),start of procedure init,return from a call to Parent::init,start of procedure init,return from a call to Child::init,start of procedure setChild:,return from a call to Parent::setChild:,start of procedure setParent:,return from a call to Child::setParent:] +codetoanalyze/objc/biabduction/memory_leaks_benchmark/retain_cycle2.m, strongcycle2, 4, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure strongcycle2(),start of procedure init,return from a call to Parent.init,start of procedure init,return from a call to Child.init,start of procedure setChild:,return from a call to Parent.setChild:,start of procedure setParent:,return from a call to Child.setParent:] codetoanalyze/objc/biabduction/npe/UpdateDict.m, add_nil_in_dict, 10, NULL_DEREFERENCE, B1, ERROR, [start of procedure add_nil_in_dict(),Skipping dictionaryWithObjectsAndKeys:: method has no implementation] codetoanalyze/objc/biabduction/npe/UpdateDict.m, add_nil_to_array, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure add_nil_to_array()] codetoanalyze/objc/biabduction/npe/UpdateDict.m, insert_nil_in_array, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure insert_nil_in_array()] @@ -45,67 +45,67 @@ codetoanalyze/objc/biabduction/npe/UpdateDict.m, nullable_NSDictionary_objectFor codetoanalyze/objc/biabduction/npe/UpdateDict.m, nullable_NSMapTable_objectForKey, 4, NULL_DEREFERENCE, B5, ERROR, [start of procedure nullable_NSMapTable_objectForKey(),Taking true branch,Taking true branch] codetoanalyze/objc/biabduction/npe/UpdateDict.m, update_array_with_null, 5, NULL_DEREFERENCE, B1, ERROR, [start of procedure update_array_with_null()] codetoanalyze/objc/biabduction/npe/UpdateDict.m, update_dict_with_key_null, 10, NULL_DEREFERENCE, B1, ERROR, [start of procedure update_dict_with_key_null(),Skipping dictionaryWithObjectsAndKeys:: method has no implementation] -codetoanalyze/objc/biabduction/npe/nil_in_array_literal.m, Arr::insertNilBad, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure insertNilBad,start of procedure initA,Taking true branch,return from a call to A::initA] -codetoanalyze/objc/biabduction/npe/nil_in_array_literal.m, Arr::nilInArrayLiteral0, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInArrayLiteral0] -codetoanalyze/objc/biabduction/npe/nil_in_array_literal.m, Arr::nilInArrayLiteral1, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInArrayLiteral1] -codetoanalyze/objc/biabduction/npe/nil_in_array_literal.m, Arr::nilInArrayLiteral2, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInArrayLiteral2] -codetoanalyze/objc/biabduction/npe/nil_in_array_literal.m, Arr::nilInArrayLiteral3, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInArrayLiteral3] -codetoanalyze/objc/biabduction/npe/nil_in_array_literal.m, Arr::nilInArrayWithObject, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInArrayWithObject] -codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict::nilInDictionaryLiteralKey0, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralKey0] -codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict::nilInDictionaryLiteralKey1, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralKey1] -codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict::nilInDictionaryLiteralKey2, 5, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralKey2] -codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict::nilInDictionaryLiteralKey3, 5, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralKey3] -codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict::nilInDictionaryLiteralValue0, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralValue0] -codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict::nilInDictionaryLiteralValue1, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralValue1] -codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict::nilInDictionaryLiteralValue2, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralValue2] -codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict::nilInDictionaryLiteralValue3, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralValue3] -codetoanalyze/objc/biabduction/npe/npe_conditional.m, conditionalNPE, 3, NULL_DEREFERENCE, B2, ERROR, [start of procedure conditionalNPE(),start of procedure name,return from a call to ConditionalA::name,Condition is true] -codetoanalyze/objc/biabduction/npe/npe_self.m, CSelf::init, 2, NULL_DEREFERENCE, B2, ERROR, [start of procedure init] -codetoanalyze/objc/biabduction/npe/npe_self.m, CSelf::test, 3, NULL_DEREFERENCE, B5, ERROR, [start of procedure test,Taking false branch] +codetoanalyze/objc/biabduction/npe/nil_in_array_literal.m, Arr.insertNilBad, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure insertNilBad,start of procedure initA,Taking true branch,return from a call to A.initA] +codetoanalyze/objc/biabduction/npe/nil_in_array_literal.m, Arr.nilInArrayLiteral0, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInArrayLiteral0] +codetoanalyze/objc/biabduction/npe/nil_in_array_literal.m, Arr.nilInArrayLiteral1, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInArrayLiteral1] +codetoanalyze/objc/biabduction/npe/nil_in_array_literal.m, Arr.nilInArrayLiteral2, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInArrayLiteral2] +codetoanalyze/objc/biabduction/npe/nil_in_array_literal.m, Arr.nilInArrayLiteral3, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInArrayLiteral3] +codetoanalyze/objc/biabduction/npe/nil_in_array_literal.m, Arr.nilInArrayWithObject, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInArrayWithObject] +codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict.nilInDictionaryLiteralKey0, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralKey0] +codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict.nilInDictionaryLiteralKey1, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralKey1] +codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict.nilInDictionaryLiteralKey2, 5, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralKey2] +codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict.nilInDictionaryLiteralKey3, 5, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralKey3] +codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict.nilInDictionaryLiteralValue0, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralValue0] +codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict.nilInDictionaryLiteralValue1, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralValue1] +codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict.nilInDictionaryLiteralValue2, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralValue2] +codetoanalyze/objc/biabduction/npe/nil_in_dictionary_literal.m, ADict.nilInDictionaryLiteralValue3, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nilInDictionaryLiteralValue3] +codetoanalyze/objc/biabduction/npe/npe_conditional.m, conditionalNPE, 3, NULL_DEREFERENCE, B2, ERROR, [start of procedure conditionalNPE(),start of procedure name,return from a call to ConditionalA.name,Condition is true] +codetoanalyze/objc/biabduction/npe/npe_self.m, CSelf.init, 2, NULL_DEREFERENCE, B2, ERROR, [start of procedure init] +codetoanalyze/objc/biabduction/npe/npe_self.m, CSelf.test, 3, NULL_DEREFERENCE, B5, ERROR, [start of procedure test,Taking false branch] codetoanalyze/objc/biabduction/npe/nullable.m, derefNullableParamDirect, 0, NULL_DEREFERENCE, B1, ERROR, [start of procedure derefNullableParamDirect()] codetoanalyze/objc/biabduction/npe/nullable.m, derefNullableParamIndirect, 2, NULL_DEREFERENCE, B1, ERROR, [start of procedure derefNullableParamIndirect()] codetoanalyze/objc/biabduction/npe/nullable.m, parameter_nullable_bug, 5, NULL_DEREFERENCE, B1, ERROR, [start of procedure parameter_nullable_bug()] -codetoanalyze/objc/biabduction/property/ExplicitIvarName.m, ExplicitIvarNameA::testDefaultName, 7, NULL_DEREFERENCE, B1, ERROR, [start of procedure testDefaultName,Skipping setY:: method has no implementation,Taking true branch] -codetoanalyze/objc/biabduction/property/ExplicitIvarName.m, ExplicitIvarNameA::testExplicit, 6, NULL_DEREFERENCE, B1, ERROR, [start of procedure testExplicit,Taking true branch] -codetoanalyze/objc/biabduction/subtyping/KindOfClassExample.m, shouldThrowDivideByZero1, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure shouldThrowDivideByZero1(),start of procedure init,return from a call to Base::init,start of procedure returnsZero1:,Taking true branch,return from a call to Base::returnsZero1:] -codetoanalyze/objc/biabduction/subtyping/KindOfClassExample.m, shouldThrowDivideByZero2, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure shouldThrowDivideByZero2(),start of procedure init,return from a call to Base::init,start of procedure returnsZero2(),Taking false branch,return from a call to returnsZero2] -codetoanalyze/objc/biabduction/subtyping/KindOfClassExample.m, shouldThrowDivideByZero3, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure shouldThrowDivideByZero3(),start of procedure init,return from a call to Derived::init,Taking true branch] -codetoanalyze/objc/biabduction/variadic_methods/premature_nil_termination.m, PrematureNilTermA::nilInArrayWithObjects, 5, PREMATURE_NIL_TERMINATION_ARGUMENT, B1, ERROR, [start of procedure nilInArrayWithObjects] -codetoanalyze/objc/shared/memory_leaks_benchmark/TollBridgeExample.m, TollBridgeExample::bridge, 2, MEMORY_LEAK, no_bucket, ERROR, [start of procedure bridge] -codetoanalyze/objc/biabduction/memory_leaks_benchmark/CoreVideoExample.m, CoreVideoExample::cvpixelbuffer_not_released_leak, 1, MEMORY_LEAK, no_bucket, ERROR, [start of procedure cvpixelbuffer_not_released_leak] -codetoanalyze/objc/biabduction/memory_leaks_benchmark/NSData_models_tests.m, NSData_models_tests::macForIV:, 2, MEMORY_LEAK, no_bucket, ERROR, [start of procedure macForIV:] -codetoanalyze/objc/biabduction/memory_leaks_benchmark/NSString_models_tests.m, StringInitA::hexStringValue, 11, MEMORY_LEAK, no_bucket, ERROR, [start of procedure hexStringValue,Skipping CFStringCreateWithBytesNoCopy(): method has no implementation,Taking false branch] +codetoanalyze/objc/biabduction/property/ExplicitIvarName.m, ExplicitIvarNameA.testDefaultName, 7, NULL_DEREFERENCE, B1, ERROR, [start of procedure testDefaultName,Skipping setY:: method has no implementation,Taking true branch] +codetoanalyze/objc/biabduction/property/ExplicitIvarName.m, ExplicitIvarNameA.testExplicit, 6, NULL_DEREFERENCE, B1, ERROR, [start of procedure testExplicit,Taking true branch] +codetoanalyze/objc/biabduction/subtyping/KindOfClassExample.m, shouldThrowDivideByZero1, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure shouldThrowDivideByZero1(),start of procedure init,return from a call to Base.init,start of procedure returnsZero1:,Taking true branch,return from a call to Base.returnsZero1:] +codetoanalyze/objc/biabduction/subtyping/KindOfClassExample.m, shouldThrowDivideByZero2, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure shouldThrowDivideByZero2(),start of procedure init,return from a call to Base.init,start of procedure returnsZero2(),Taking false branch,return from a call to returnsZero2] +codetoanalyze/objc/biabduction/subtyping/KindOfClassExample.m, shouldThrowDivideByZero3, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure shouldThrowDivideByZero3(),start of procedure init,return from a call to Derived.init,Taking true branch] +codetoanalyze/objc/biabduction/variadic_methods/premature_nil_termination.m, PrematureNilTermA.nilInArrayWithObjects, 5, PREMATURE_NIL_TERMINATION_ARGUMENT, B1, ERROR, [start of procedure nilInArrayWithObjects] +codetoanalyze/objc/shared/memory_leaks_benchmark/TollBridgeExample.m, TollBridgeExample.bridge, 2, MEMORY_LEAK, no_bucket, ERROR, [start of procedure bridge] +codetoanalyze/objc/biabduction/memory_leaks_benchmark/CoreVideoExample.m, CoreVideoExample.cvpixelbuffer_not_released_leak, 1, MEMORY_LEAK, no_bucket, ERROR, [start of procedure cvpixelbuffer_not_released_leak] +codetoanalyze/objc/biabduction/memory_leaks_benchmark/NSData_models_tests.m, NSData_models_tests.macForIV:, 2, MEMORY_LEAK, no_bucket, ERROR, [start of procedure macForIV:] +codetoanalyze/objc/biabduction/memory_leaks_benchmark/NSString_models_tests.m, StringInitA.hexStringValue, 11, MEMORY_LEAK, no_bucket, ERROR, [start of procedure hexStringValue,Skipping CFStringCreateWithBytesNoCopy(): method has no implementation,Taking false branch] codetoanalyze/objc/biabduction/memory_leaks_benchmark/RetainCycleLength3.m, strongcycle, 6, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure strongcycle(),Executing synthesized setter setB:,Executing synthesized setter setC:,Executing synthesized setter setA:] -codetoanalyze/objc/biabduction/npe/Fraction.m, test_virtual_call, 7, NULL_DEREFERENCE, B1, ERROR, [start of procedure test_virtual_call(),start of procedure setNumerator:,return from a call to Fraction::setNumerator:,start of procedure getNumerator,return from a call to Fraction::getNumerator,Taking true branch] -codetoanalyze/objc/biabduction/npe/Npe_with_equal_names.m, EqualNamesTest, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure EqualNamesTest(),start of procedure meth,return from a call to EqualNamesA::meth] +codetoanalyze/objc/biabduction/npe/Fraction.m, test_virtual_call, 7, NULL_DEREFERENCE, B1, ERROR, [start of procedure test_virtual_call(),start of procedure setNumerator:,return from a call to Fraction.setNumerator:,start of procedure getNumerator,return from a call to Fraction.getNumerator,Taking true branch] +codetoanalyze/objc/biabduction/npe/Npe_with_equal_names.m, EqualNamesTest, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure EqualNamesTest(),start of procedure meth,return from a call to EqualNamesA.meth] codetoanalyze/objc/biabduction/npe/Nsstring_nil_args.m, initWithFormatBad, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure initWithFormatBad()] codetoanalyze/objc/biabduction/npe/Nsstring_nil_args.m, stringByAppendingStringBad, 2, NULL_DEREFERENCE, B1, ERROR, [start of procedure stringByAppendingStringBad()] codetoanalyze/objc/biabduction/npe/Nsstring_nil_args.m, stringWithStringBad, 2, NULL_DEREFERENCE, B1, ERROR, [start of procedure stringWithStringBad(),start of procedure nullableMethod(),return from a call to nullableMethod] codetoanalyze/objc/biabduction/npe/Nsstring_nil_args.m, stringWithUTF8StringBad, 1, NULL_DEREFERENCE, B5, ERROR, [start of procedure stringWithUTF8StringBad(),start of procedure nullableMethod(),return from a call to nullableMethod] -codetoanalyze/objc/biabduction/npe/block.m, BlockA::doSomethingThenCallback:, 2, PARAMETER_NOT_NULL_CHECKED, B1, WARNING, [start of procedure doSomethingThenCallback:] -codetoanalyze/objc/biabduction/npe/block.m, BlockA::foo, 5, NULL_DEREFERENCE, B1, ERROR, [start of procedure foo] -codetoanalyze/objc/biabduction/npe/block.m, BlockA::foo3:, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure foo3:] -codetoanalyze/objc/biabduction/npe/block.m, BlockA::foo4:, 6, NULL_DEREFERENCE, B1, ERROR, [start of procedure foo4:] -codetoanalyze/objc/biabduction/npe/block.m, BlockA::foo7, 2, IVAR_NOT_NULL_CHECKED, B1, WARNING, [start of procedure foo7] -codetoanalyze/objc/biabduction/npe/dynamic_dispatch.m, DynamicDispatchMain::npe_bad, 2, NULL_DEREFERENCE, B5, ERROR, [start of procedure npe_bad,start of procedure get_ddclass_from:,start of procedure get_ddclass,return from a call to PInstance::get_ddclass,return from a call to DynamicDispatchMain::get_ddclass_from:] -codetoanalyze/objc/biabduction/npe/dynamic_dispatch.m, objc_blockDynamicDispatchMain::dispatch_async_block_npe_bad_1, 3, NULL_DEREFERENCE, B5, ERROR, [start of procedure block,start of procedure get_ddclass_from:,start of procedure get_ddclass,return from a call to PInstance::get_ddclass,return from a call to DynamicDispatchMain::get_ddclass_from:] -codetoanalyze/objc/biabduction/npe/ivar_blocks.m, MyClass::ivar_npe, 1, IVAR_NOT_NULL_CHECKED, B1, WARNING, [start of procedure ivar_npe] -codetoanalyze/objc/biabduction/npe/skip_method_with_nil_object.m, SkipMethodNilA::testBug:, 6, PARAMETER_NOT_NULL_CHECKED, B2, WARNING, [start of procedure testBug:,Message get_a with receiver nil returns nil.,Message skip_method with receiver nil returns nil.,Taking false branch] +codetoanalyze/objc/biabduction/npe/block.m, BlockA.doSomethingThenCallback:, 2, PARAMETER_NOT_NULL_CHECKED, B1, WARNING, [start of procedure doSomethingThenCallback:] +codetoanalyze/objc/biabduction/npe/block.m, BlockA.foo, 5, NULL_DEREFERENCE, B1, ERROR, [start of procedure foo] +codetoanalyze/objc/biabduction/npe/block.m, BlockA.foo3:, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure foo3:] +codetoanalyze/objc/biabduction/npe/block.m, BlockA.foo4:, 6, NULL_DEREFERENCE, B1, ERROR, [start of procedure foo4:] +codetoanalyze/objc/biabduction/npe/block.m, BlockA.foo7, 2, IVAR_NOT_NULL_CHECKED, B1, WARNING, [start of procedure foo7] +codetoanalyze/objc/biabduction/npe/dynamic_dispatch.m, DynamicDispatchMain.npe_bad, 2, NULL_DEREFERENCE, B5, ERROR, [start of procedure npe_bad,start of procedure get_ddclass_from:,start of procedure get_ddclass,return from a call to PInstance.get_ddclass,return from a call to DynamicDispatchMain.get_ddclass_from:] +codetoanalyze/objc/biabduction/npe/dynamic_dispatch.m, objc_blockDynamicDispatchMain.dispatch_async_block_npe_bad_1, 3, NULL_DEREFERENCE, B5, ERROR, [start of procedure block,start of procedure get_ddclass_from:,start of procedure get_ddclass,return from a call to PInstance.get_ddclass,return from a call to DynamicDispatchMain.get_ddclass_from:] +codetoanalyze/objc/biabduction/npe/ivar_blocks.m, MyClass.ivar_npe, 1, IVAR_NOT_NULL_CHECKED, B1, WARNING, [start of procedure ivar_npe] +codetoanalyze/objc/biabduction/npe/skip_method_with_nil_object.m, SkipMethodNilA.testBug:, 6, PARAMETER_NOT_NULL_CHECKED, B2, WARNING, [start of procedure testBug:,Message get_a with receiver nil returns nil.,Message skip_method with receiver nil returns nil.,Taking false branch] codetoanalyze/objc/biabduction/property/main.c, property_main, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure property_main(),Skipping aProperty: method has no implementation] codetoanalyze/objc/biabduction/resource_leaks/Dispatch_sources.m, ProcessContentsOfFile, 35, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure ProcessContentsOfFile(),Taking false branch,Skipping dispatch_get_global_queue(): method has no implementation,Skipping dispatch_source_create(): method has no implementation,Taking false branch,Skipping dispatch_source_set_event_handler(): method has no implementation,Skipping dispatch_source_set_cancel_handler(): method has no implementation] codetoanalyze/objc/biabduction/resource_leaks/Dispatch_sources.m, objc_blockProcessContentsOfFile_2, 6, MEMORY_LEAK, no_bucket, ERROR, [start of procedure block,Skipping dispatch_source_get_data(): method has no implementation,Taking true branch,Skipping MyProcessFileData(): method has no implementation] -codetoanalyze/objc/biabduction/resource_leaks/ResourceLeakExample.m, NSFileHandle::fileHandleForLoggingAtPath:mode:, 9, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure fileHandleForLoggingAtPath:mode:,Taking true branch,Skipping fileSystemRepresentation: method has no implementation,Taking false branch,Taking true branch,Skipping autorelease: no implementation found for method declared in Objective-C protocol] -codetoanalyze/objc/shared/annotations/nonnull_annotations.m, A::test1:, 2, PARAMETER_NOT_NULL_CHECKED, B2, WARNING, [start of procedure test1:,Message child with receiver nil returns nil.] -codetoanalyze/objc/shared/annotations/nonnull_annotations.m, A::test3:, 1, PARAMETER_NOT_NULL_CHECKED, B1, WARNING, [start of procedure test3:] -codetoanalyze/objc/shared/annotations/nullable_annotations.m, User::otherUserName, 2, NULL_DEREFERENCE, B2, ERROR, [start of procedure otherUserName,Skipping otherUser: method has no implementation] +codetoanalyze/objc/biabduction/resource_leaks/ResourceLeakExample.m, NSFileHandle.fileHandleForLoggingAtPath:mode:, 9, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure fileHandleForLoggingAtPath:mode:,Taking true branch,Skipping fileSystemRepresentation: method has no implementation,Taking false branch,Taking true branch,Skipping autorelease: no implementation found for method declared in Objective-C protocol] +codetoanalyze/objc/shared/annotations/nonnull_annotations.m, A.test1:, 2, PARAMETER_NOT_NULL_CHECKED, B2, WARNING, [start of procedure test1:,Message child with receiver nil returns nil.] +codetoanalyze/objc/shared/annotations/nonnull_annotations.m, A.test3:, 1, PARAMETER_NOT_NULL_CHECKED, B1, WARNING, [start of procedure test3:] +codetoanalyze/objc/shared/annotations/nullable_annotations.m, User.otherUserName, 2, NULL_DEREFERENCE, B2, ERROR, [start of procedure otherUserName,Skipping otherUser: method has no implementation] codetoanalyze/objc/shared/annotations/nullable_annotations.m, npe_property_nullable, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure npe_property_nullable(),Skipping child: method has no implementation] -codetoanalyze/objc/shared/annotations/nullable_annotations_fields.m, A::nullable_field, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure nullable_field,Skipping getA(): method has no implementation] -codetoanalyze/objc/shared/block/dispatch.m, DispatchA::dispatch_a_block_variable_from_macro_delivers_initialised_object, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure dispatch_a_block_variable_from_macro_delivers_initialised_object,start of procedure dispatch_a_block_variable_from_macro,return from a call to DispatchA::dispatch_a_block_variable_from_macro] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::blockCapturedVarLeak, 6, MEMORY_LEAK, no_bucket, ERROR, [start of procedure blockCapturedVarLeak,start of procedure block,return from a call to objc_blockMemoryLeakExample::blockCapturedVarLeak_1] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::createCloseCrossGlyph:, 2, MEMORY_LEAK, no_bucket, ERROR, [start of procedure createCloseCrossGlyph:,Skipping CGRectGetHeight(): method has no implementation] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::measureFrameSizeForText, 1, MEMORY_LEAK, no_bucket, ERROR, [start of procedure measureFrameSizeForText] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::regularLeak, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure regularLeak] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::test, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure test,Skipping bounds: method has no implementation,Skipping setShadowPath:: method has no implementation] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::test1:, 1, MEMORY_LEAK, no_bucket, ERROR, [start of procedure test1:] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample::test2:, 1, MEMORY_LEAK, no_bucket, ERROR, [start of procedure test2:] -codetoanalyze/objc/shared/npe/Available_expr.m, Available_expr::test_no_bug, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure test_no_bug,Taking true branch] +codetoanalyze/objc/shared/annotations/nullable_annotations_fields.m, A.nullable_field, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure nullable_field,Skipping getA(): method has no implementation] +codetoanalyze/objc/shared/block/dispatch.m, DispatchA.dispatch_a_block_variable_from_macro_delivers_initialised_object, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure dispatch_a_block_variable_from_macro_delivers_initialised_object,start of procedure dispatch_a_block_variable_from_macro,return from a call to DispatchA.dispatch_a_block_variable_from_macro] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample.blockCapturedVarLeak, 6, MEMORY_LEAK, no_bucket, ERROR, [start of procedure blockCapturedVarLeak,start of procedure block,return from a call to objc_blockMemoryLeakExample.blockCapturedVarLeak_1] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample.createCloseCrossGlyph:, 2, MEMORY_LEAK, no_bucket, ERROR, [start of procedure createCloseCrossGlyph:,Skipping CGRectGetHeight(): method has no implementation] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample.measureFrameSizeForText, 1, MEMORY_LEAK, no_bucket, ERROR, [start of procedure measureFrameSizeForText] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample.regularLeak, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure regularLeak] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample.test, 3, MEMORY_LEAK, no_bucket, ERROR, [start of procedure test,Skipping bounds: method has no implementation,Skipping setShadowPath:: method has no implementation] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample.test1:, 1, MEMORY_LEAK, no_bucket, ERROR, [start of procedure test1:] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample.test2:, 1, MEMORY_LEAK, no_bucket, ERROR, [start of procedure test2:] +codetoanalyze/objc/shared/npe/Available_expr.m, Available_expr.test_no_bug, 3, NULL_DEREFERENCE, B1, ERROR, [start of procedure test_no_bug,Taking true branch] diff --git a/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot b/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot index 8e13e9b37..1157e779e 100644 --- a/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot @@ -11,7 +11,7 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_4" [label="4: Message Call: capture \n n$1=*&a:A* [line 54, column 4]\n n$2=_fun_A::capture(n$1:A*) virtual [line 54, column 3]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_4" [label="4: Message Call: capture \n n$1=*&a:A* [line 54, column 4]\n n$2=_fun_A.capture(n$1:A*) virtual [line 54, column 3]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" ; @@ -34,25 +34,25 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"objc_blockA::capture_1(class A,class D).98932872e1ea0076b1d26d1353afdc23_1" [label="1: Start objc_blockA::capture_1\nFormals: self:A* d:D*\nLocals: \nCaptured: self:A* \n " color=yellow style=filled] +"objc_blockA.capture_1(class A,class D).8e9a52049a11f3e729d697583cda7110_1" [label="1: Start objc_blockA.capture_1\nFormals: self:A* d:D*\nLocals: \nCaptured: self:A* \n " color=yellow style=filled] - "objc_blockA::capture_1(class A,class D).98932872e1ea0076b1d26d1353afdc23_1" -> "objc_blockA::capture_1(class A,class D).98932872e1ea0076b1d26d1353afdc23_3" ; -"objc_blockA::capture_1(class A,class D).98932872e1ea0076b1d26d1353afdc23_2" [label="2: Exit objc_blockA::capture_1 \n " color=yellow style=filled] + "objc_blockA.capture_1(class A,class D).8e9a52049a11f3e729d697583cda7110_1" -> "objc_blockA.capture_1(class A,class D).8e9a52049a11f3e729d697583cda7110_3" ; +"objc_blockA.capture_1(class A,class D).8e9a52049a11f3e729d697583cda7110_2" [label="2: Exit objc_blockA.capture_1 \n " color=yellow style=filled] -"objc_blockA::capture_1(class A,class D).98932872e1ea0076b1d26d1353afdc23_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&self:A* [line 46, column 5]\n n$2=*&d:D* [line 46, column 13]\n *n$1._data:D*=n$2 [line 46, column 5]\n " shape="box"] +"objc_blockA.capture_1(class A,class D).8e9a52049a11f3e729d697583cda7110_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&self:A* [line 46, column 5]\n n$2=*&d:D* [line 46, column 13]\n *n$1._data:D*=n$2 [line 46, column 5]\n " shape="box"] - "objc_blockA::capture_1(class A,class D).98932872e1ea0076b1d26d1353afdc23_3" -> "objc_blockA::capture_1(class A,class D).98932872e1ea0076b1d26d1353afdc23_2" ; -"capture#A#instance.d411336575e4bf632a1828f5f5979726_1" [label="1: Start A::capture\nFormals: self:A*\nLocals: \n " color=yellow style=filled] + "objc_blockA.capture_1(class A,class D).8e9a52049a11f3e729d697583cda7110_3" -> "objc_blockA.capture_1(class A,class D).8e9a52049a11f3e729d697583cda7110_2" ; +"capture#A#instance.d411336575e4bf632a1828f5f5979726_1" [label="1: Start A.capture\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "capture#A#instance.d411336575e4bf632a1828f5f5979726_1" -> "capture#A#instance.d411336575e4bf632a1828f5f5979726_4" ; -"capture#A#instance.d411336575e4bf632a1828f5f5979726_2" [label="2: Exit A::capture \n " color=yellow style=filled] +"capture#A#instance.d411336575e4bf632a1828f5f5979726_2" [label="2: Exit A.capture \n " color=yellow style=filled] -"capture#A#instance.d411336575e4bf632a1828f5f5979726_3" [label="3: Message Call: sHandler: \n n$3=*&self:A* [line 45, column 4]\n n$4=*n$3._b:B* [line 45, column 4]\n n$0=*&self:A* [line 45, column 16]\n n$5=_fun_B::sHandler:(n$4:B*,(_fun_objc_blockA::capture_1,(n$0 &self:A*)):_fn_(*)) block_params virtual [line 45, column 3]\n " shape="box"] +"capture#A#instance.d411336575e4bf632a1828f5f5979726_3" [label="3: Message Call: sHandler: \n n$3=*&self:A* [line 45, column 4]\n n$4=*n$3._b:B* [line 45, column 4]\n n$0=*&self:A* [line 45, column 16]\n n$5=_fun_B.sHandler:(n$4:B*,(_fun_objc_blockA.capture_1,(n$0 &self:A*)):_fn_(*)) block_params virtual [line 45, column 3]\n " shape="box"] "capture#A#instance.d411336575e4bf632a1828f5f5979726_3" -> "capture#A#instance.d411336575e4bf632a1828f5f5979726_2" ; @@ -60,11 +60,11 @@ digraph cfg { "capture#A#instance.d411336575e4bf632a1828f5f5979726_4" -> "capture#A#instance.d411336575e4bf632a1828f5f5979726_3" ; -"sHandler:#B#instance.590685250eb38eaab242405cd45c572b_1" [label="1: Start B::sHandler:\nFormals: self:B* h:_fn_(*)\nLocals: \n " color=yellow style=filled] +"sHandler:#B#instance.590685250eb38eaab242405cd45c572b_1" [label="1: Start B.sHandler:\nFormals: self:B* h:_fn_(*)\nLocals: \n " color=yellow style=filled] "sHandler:#B#instance.590685250eb38eaab242405cd45c572b_1" -> "sHandler:#B#instance.590685250eb38eaab242405cd45c572b_3" ; -"sHandler:#B#instance.590685250eb38eaab242405cd45c572b_2" [label="2: Exit B::sHandler: \n " color=yellow style=filled] +"sHandler:#B#instance.590685250eb38eaab242405cd45c572b_2" [label="2: Exit B.sHandler: \n " color=yellow style=filled] "sHandler:#B#instance.590685250eb38eaab242405cd45c572b_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&self:B* [line 28, column 3]\n n$1=*&h:_fn_(*) [line 28, column 14]\n *n$0._h:_fn_(*)=n$1 [line 28, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot b/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot index 95db86384..bb124e3a6 100644 --- a/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot @@ -11,107 +11,107 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_1" [label="1: Start objc_blockA::test2_3\nFormals: \nLocals: p:objc_object* \n " color=yellow style=filled] +"objc_blockA.test2_3.9e734e5048a7cd48cace952a9e183154_1" [label="1: Start objc_blockA.test2_3\nFormals: \nLocals: p:objc_object* \n " color=yellow style=filled] - "objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_1" -> "objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_3" ; -"objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_2" [label="2: Exit objc_blockA::test2_3 \n " color=yellow style=filled] + "objc_blockA.test2_3.9e734e5048a7cd48cace952a9e183154_1" -> "objc_blockA.test2_3.9e734e5048a7cd48cace952a9e183154_3" ; +"objc_blockA.test2_3.9e734e5048a7cd48cace952a9e183154_2" [label="2: Exit objc_blockA.test2_3 \n " color=yellow style=filled] -"objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:objc_object*); [line 39, column 5]\n n$8=*&#GB$A::test2.sharedInstance:objc_object* [line 39, column 12]\n *&p:objc_object*=n$8 [line 39, column 5]\n " shape="box"] +"objc_blockA.test2_3.9e734e5048a7cd48cace952a9e183154_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:objc_object*); [line 39, column 5]\n n$8=*&#GB$A.test2.sharedInstance:objc_object* [line 39, column 12]\n *&p:objc_object*=n$8 [line 39, column 5]\n " shape="box"] - "objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_3" -> "objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_2" ; -"objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_1" [label="1: Start objc_blockA::test3_4\nFormals: \nLocals: \n " color=yellow style=filled] + "objc_blockA.test2_3.9e734e5048a7cd48cace952a9e183154_3" -> "objc_blockA.test2_3.9e734e5048a7cd48cace952a9e183154_2" ; +"objc_blockA.test3_4.cf509a07e14b642d4e78e323de50d37f_1" [label="1: Start objc_blockA.test3_4\nFormals: \nLocals: \n " color=yellow style=filled] - "objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_1" -> "objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_3" ; -"objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_2" [label="2: Exit objc_blockA::test3_4 \n " color=yellow style=filled] + "objc_blockA.test3_4.cf509a07e14b642d4e78e323de50d37f_1" -> "objc_blockA.test3_4.cf509a07e14b642d4e78e323de50d37f_3" ; +"objc_blockA.test3_4.cf509a07e14b642d4e78e323de50d37f_2" [label="2: Exit objc_blockA.test3_4 \n " color=yellow style=filled] -"objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_3" [label="3: UnaryOperator \n n$13=*&#GB$A::test3.i:int [line 50, column 5]\n *&#GB$A::test3.i:int=(n$13 + 1) [line 50, column 5]\n " shape="box"] +"objc_blockA.test3_4.cf509a07e14b642d4e78e323de50d37f_3" [label="3: UnaryOperator \n n$13=*&#GB$A.test3.i:int [line 50, column 5]\n *&#GB$A.test3.i:int=(n$13 + 1) [line 50, column 5]\n " shape="box"] - "objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_3" -> "objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_2" ; -"objc_blockA::test_1.2002c886c49fdecdc4bf7a72fba954ba_1" [label="1: Start objc_blockA::test_1\nFormals: \nLocals: \n " color=yellow style=filled] + "objc_blockA.test3_4.cf509a07e14b642d4e78e323de50d37f_3" -> "objc_blockA.test3_4.cf509a07e14b642d4e78e323de50d37f_2" ; +"objc_blockA.test_1.78a4922219b515f90379bfccc4d8771a_1" [label="1: Start objc_blockA.test_1\nFormals: \nLocals: \n " color=yellow style=filled] - "objc_blockA::test_1.2002c886c49fdecdc4bf7a72fba954ba_1" -> "objc_blockA::test_1.2002c886c49fdecdc4bf7a72fba954ba_3" ; -"objc_blockA::test_1.2002c886c49fdecdc4bf7a72fba954ba_2" [label="2: Exit objc_blockA::test_1 \n " color=yellow style=filled] + "objc_blockA.test_1.78a4922219b515f90379bfccc4d8771a_1" -> "objc_blockA.test_1.78a4922219b515f90379bfccc4d8771a_3" ; +"objc_blockA.test_1.78a4922219b515f90379bfccc4d8771a_2" [label="2: Exit objc_blockA.test_1 \n " color=yellow style=filled] -"objc_blockA::test_1.2002c886c49fdecdc4bf7a72fba954ba_3" [label="3: BinaryOperatorStmt: Assign \n n$1=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 19, column 23]\n n$2=_fun_NSObject::init(n$1:A*) virtual [line 19, column 22]\n *&#GB$A::test.sharedInstance:objc_object*=n$2 [line 19, column 5]\n " shape="box"] +"objc_blockA.test_1.78a4922219b515f90379bfccc4d8771a_3" [label="3: BinaryOperatorStmt: Assign \n n$1=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 19, column 23]\n n$2=_fun_NSObject.init(n$1:A*) virtual [line 19, column 22]\n *&#GB$A.test.sharedInstance:objc_object*=n$2 [line 19, column 5]\n " shape="box"] - "objc_blockA::test_1.2002c886c49fdecdc4bf7a72fba954ba_3" -> "objc_blockA::test_1.2002c886c49fdecdc4bf7a72fba954ba_2" ; -"objc_blockA::test_leak_2.5f4f71e062f7fac0ae4a5b163d676189_1" [label="1: Start objc_blockA::test_leak_2\nFormals: \nLocals: \n " color=yellow style=filled] + "objc_blockA.test_1.78a4922219b515f90379bfccc4d8771a_3" -> "objc_blockA.test_1.78a4922219b515f90379bfccc4d8771a_2" ; +"objc_blockA.test_leak_2.283de372da56cae6e3edcf8db6c39b92_1" [label="1: Start objc_blockA.test_leak_2\nFormals: \nLocals: \n " color=yellow style=filled] - "objc_blockA::test_leak_2.5f4f71e062f7fac0ae4a5b163d676189_1" -> "objc_blockA::test_leak_2.5f4f71e062f7fac0ae4a5b163d676189_3" ; -"objc_blockA::test_leak_2.5f4f71e062f7fac0ae4a5b163d676189_2" [label="2: Exit objc_blockA::test_leak_2 \n " color=yellow style=filled] + "objc_blockA.test_leak_2.283de372da56cae6e3edcf8db6c39b92_1" -> "objc_blockA.test_leak_2.283de372da56cae6e3edcf8db6c39b92_3" ; +"objc_blockA.test_leak_2.283de372da56cae6e3edcf8db6c39b92_2" [label="2: Exit objc_blockA.test_leak_2 \n " color=yellow style=filled] -"objc_blockA::test_leak_2.5f4f71e062f7fac0ae4a5b163d676189_3" [label="3: BinaryOperatorStmt: Assign \n n$4=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 29, column 23]\n n$5=_fun_NSObject::init(n$4:A*) virtual [line 29, column 22]\n *&#GB$A::test_leak.sharedInstance:objc_object*=n$5 [line 29, column 5]\n " shape="box"] +"objc_blockA.test_leak_2.283de372da56cae6e3edcf8db6c39b92_3" [label="3: BinaryOperatorStmt: Assign \n n$4=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 29, column 23]\n n$5=_fun_NSObject.init(n$4:A*) virtual [line 29, column 22]\n *&#GB$A.test_leak.sharedInstance:objc_object*=n$5 [line 29, column 5]\n " shape="box"] - "objc_blockA::test_leak_2.5f4f71e062f7fac0ae4a5b163d676189_3" -> "objc_blockA::test_leak_2.5f4f71e062f7fac0ae4a5b163d676189_2" ; -"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_1" [label="1: Start A::test\nFormals: \nLocals: \n " color=yellow style=filled] + "objc_blockA.test_leak_2.283de372da56cae6e3edcf8db6c39b92_3" -> "objc_blockA.test_leak_2.283de372da56cae6e3edcf8db6c39b92_2" ; +"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_1" [label="1: Start A.test\nFormals: \nLocals: \n " color=yellow style=filled] "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_1" -> "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" ; -"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_2" [label="2: Exit A::test \n " color=yellow style=filled] +"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_2" [label="2: Exit A.test \n " color=yellow style=filled] -"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" [label="3: Return Stmt \n n$0=*&#GB$A::test.sharedInstance:objc_object* [line 23, column 10]\n *&return:objc_object*=n$0 [line 23, column 3]\n " shape="box"] +"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" [label="3: Return Stmt \n n$0=*&#GB$A.test.sharedInstance:objc_object* [line 23, column 10]\n *&return:objc_object*=n$0 [line 23, column 3]\n " shape="box"] "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" -> "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_2" ; -"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" [label="4: Call (_fun_objc_blockA::test_1) \n n$3=(_fun_objc_blockA::test_1)() [line 18, column 3]\n " shape="box"] +"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" [label="4: Call (_fun_objc_blockA.test_1) \n n$3=(_fun_objc_blockA.test_1)() [line 18, column 3]\n " shape="box"] "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" -> "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" ; -"test2#A#class.ce50cb13c3345decc567dd4eb6124604_1" [label="1: Start A::test2\nFormals: \nLocals: \n " color=yellow style=filled] +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_1" [label="1: Start A.test2\nFormals: \nLocals: \n " color=yellow style=filled] "test2#A#class.ce50cb13c3345decc567dd4eb6124604_1" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" ; -"test2#A#class.ce50cb13c3345decc567dd4eb6124604_2" [label="2: Exit A::test2 \n " color=yellow style=filled] +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_2" [label="2: Exit A.test2 \n " color=yellow style=filled] -"test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" [label="3: Return Stmt \n n$7=*&#GB$A::test2.sharedInstance:objc_object* [line 42, column 10]\n *&return:objc_object*=n$7 [line 42, column 3]\n " shape="box"] +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" [label="3: Return Stmt \n n$7=*&#GB$A.test2.sharedInstance:objc_object* [line 42, column 10]\n *&return:objc_object*=n$7 [line 42, column 3]\n " shape="box"] "test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_2" ; -"test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" [label="4: Call (_fun_objc_blockA::test2_3) \n n$9=(_fun_objc_blockA::test2_3)() [line 37, column 3]\n " shape="box"] +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" [label="4: Call (_fun_objc_blockA.test2_3) \n n$9=(_fun_objc_blockA.test2_3)() [line 37, column 3]\n " shape="box"] "test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" ; -"test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" [label="5: BinaryOperatorStmt: Assign \n n$10=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 36, column 21]\n n$11=_fun_NSObject::init(n$10:A*) virtual [line 36, column 20]\n *&#GB$A::test2.sharedInstance:objc_object*=n$11 [line 36, column 3]\n " shape="box"] +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" [label="5: BinaryOperatorStmt: Assign \n n$10=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 36, column 21]\n n$11=_fun_NSObject.init(n$10:A*) virtual [line 36, column 20]\n *&#GB$A.test2.sharedInstance:objc_object*=n$11 [line 36, column 3]\n " shape="box"] "test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" ; -"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_1" [label="1: Start A::test3\nFormals: \nLocals: \n " color=yellow style=filled] +"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_1" [label="1: Start A.test3\nFormals: \nLocals: \n " color=yellow style=filled] "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_1" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" ; -"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_2" [label="2: Exit A::test3 \n " color=yellow style=filled] +"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_2" [label="2: Exit A.test3 \n " color=yellow style=filled] -"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" [label="3: Return Stmt \n n$12=*&#GB$A::test3.i:int [line 53, column 10]\n *&return:int=n$12 [line 53, column 3]\n " shape="box"] +"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" [label="3: Return Stmt \n n$12=*&#GB$A.test3.i:int [line 53, column 10]\n *&return:int=n$12 [line 53, column 3]\n " shape="box"] "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_2" ; -"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" [label="4: Call (_fun_objc_blockA::test3_4) \n n$14=(_fun_objc_blockA::test3_4)() [line 48, column 3]\n " shape="box"] +"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" [label="4: Call (_fun_objc_blockA.test3_4) \n n$14=(_fun_objc_blockA.test3_4)() [line 48, column 3]\n " shape="box"] "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" ; -"test_leak#A#class.8240788aa53244827857be0e92d27671_1" [label="1: Start A::test_leak\nFormals: \nLocals: \n " color=yellow style=filled] +"test_leak#A#class.8240788aa53244827857be0e92d27671_1" [label="1: Start A.test_leak\nFormals: \nLocals: \n " color=yellow style=filled] "test_leak#A#class.8240788aa53244827857be0e92d27671_1" -> "test_leak#A#class.8240788aa53244827857be0e92d27671_3" ; -"test_leak#A#class.8240788aa53244827857be0e92d27671_2" [label="2: Exit A::test_leak \n " color=yellow style=filled] +"test_leak#A#class.8240788aa53244827857be0e92d27671_2" [label="2: Exit A.test_leak \n " color=yellow style=filled] -"test_leak#A#class.8240788aa53244827857be0e92d27671_3" [label="3: Call (_fun_objc_blockA::test_leak_2) \n n$6=(_fun_objc_blockA::test_leak_2)() [line 28, column 3]\n " shape="box"] +"test_leak#A#class.8240788aa53244827857be0e92d27671_3" [label="3: Call (_fun_objc_blockA.test_leak_2) \n n$6=(_fun_objc_blockA.test_leak_2)() [line 28, column 3]\n " shape="box"] "test_leak#A#class.8240788aa53244827857be0e92d27671_3" -> "test_leak#A#class.8240788aa53244827857be0e92d27671_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot index cc66682f4..a1ca34209 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot @@ -1,77 +1,77 @@ /* @generated */ digraph cfg { -"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_1" [label="1: Start Boxing::getBool\nFormals: self:Boxing*\nLocals: n:NSNumber* \n " color=yellow style=filled] +"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_1" [label="1: Start Boxing.getBool\nFormals: self:Boxing*\nLocals: n:NSNumber* \n " color=yellow style=filled] "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_1" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" ; -"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_2" [label="2: Exit Boxing::getBool \n " color=yellow style=filled] +"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_2" [label="2: Exit Boxing.getBool \n " color=yellow style=filled] -"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" [label="3: Return Stmt \n n$12=_fun_NSNumber::numberWithBool:(1:_Bool) [line 36, column 10]\n *&return:NSNumber*=n$12 [line 36, column 3]\n " shape="box"] +"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" [label="3: Return Stmt \n n$12=_fun_NSNumber.numberWithBool:(1:_Bool) [line 36, column 10]\n *&return:NSNumber*=n$12 [line 36, column 3]\n " shape="box"] "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_2" ; -"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 35, column 3]\n n$13=_fun_NSNumber::numberWithBool:(1:_Bool) [line 35, column 17]\n *&n:NSNumber*=n$13 [line 35, column 3]\n " shape="box"] +"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 35, column 3]\n n$13=_fun_NSNumber.numberWithBool:(1:_Bool) [line 35, column 17]\n *&n:NSNumber*=n$13 [line 35, column 3]\n " shape="box"] "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" ; -"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_1" [label="1: Start Boxing::getDouble\nFormals: self:Boxing*\nLocals: n:NSNumber* \n " color=yellow style=filled] +"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_1" [label="1: Start Boxing.getDouble\nFormals: self:Boxing*\nLocals: n:NSNumber* \n " color=yellow style=filled] "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_1" -> "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" ; -"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_2" [label="2: Exit Boxing::getDouble \n " color=yellow style=filled] +"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_2" [label="2: Exit Boxing.getDouble \n " color=yellow style=filled] -"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" [label="3: Return Stmt \n n$10=_fun_NSNumber::numberWithDouble:(1.5:double) [line 31, column 10]\n *&return:NSNumber*=n$10 [line 31, column 3]\n " shape="box"] +"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" [label="3: Return Stmt \n n$10=_fun_NSNumber.numberWithDouble:(1.5:double) [line 31, column 10]\n *&return:NSNumber*=n$10 [line 31, column 3]\n " shape="box"] "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" -> "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_2" ; -"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 30, column 3]\n n$11=_fun_NSNumber::numberWithDouble:(1.5:double) [line 30, column 17]\n *&n:NSNumber*=n$11 [line 30, column 3]\n " shape="box"] +"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 30, column 3]\n n$11=_fun_NSNumber.numberWithDouble:(1.5:double) [line 30, column 17]\n *&n:NSNumber*=n$11 [line 30, column 3]\n " shape="box"] "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" -> "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" ; -"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_1" [label="1: Start Boxing::getFloat\nFormals: self:Boxing*\nLocals: n:NSNumber* \n " color=yellow style=filled] +"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_1" [label="1: Start Boxing.getFloat\nFormals: self:Boxing*\nLocals: n:NSNumber* \n " color=yellow style=filled] "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_1" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" ; -"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_2" [label="2: Exit Boxing::getFloat \n " color=yellow style=filled] +"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_2" [label="2: Exit Boxing.getFloat \n " color=yellow style=filled] -"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" [label="3: Return Stmt \n n$8=_fun_NSNumber::numberWithFloat:(1.5:float) [line 26, column 10]\n *&return:NSNumber*=n$8 [line 26, column 3]\n " shape="box"] +"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" [label="3: Return Stmt \n n$8=_fun_NSNumber.numberWithFloat:(1.5:float) [line 26, column 10]\n *&return:NSNumber*=n$8 [line 26, column 3]\n " shape="box"] "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_2" ; -"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 25, column 3]\n n$9=_fun_NSNumber::numberWithFloat:(1.5:float) [line 25, column 17]\n *&n:NSNumber*=n$9 [line 25, column 3]\n " shape="box"] +"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 25, column 3]\n n$9=_fun_NSNumber.numberWithFloat:(1.5:float) [line 25, column 17]\n *&n:NSNumber*=n$9 [line 25, column 3]\n " shape="box"] "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" ; -"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_1" [label="1: Start Boxing::getInt\nFormals: self:Boxing*\nLocals: n:NSNumber* \n " color=yellow style=filled] +"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_1" [label="1: Start Boxing.getInt\nFormals: self:Boxing*\nLocals: n:NSNumber* \n " color=yellow style=filled] "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_1" -> "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" ; -"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_2" [label="2: Exit Boxing::getInt \n " color=yellow style=filled] +"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_2" [label="2: Exit Boxing.getInt \n " color=yellow style=filled] -"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" [label="3: Return Stmt \n n$6=_fun_NSNumber::numberWithInt:(5:int) [line 21, column 10]\n *&return:NSNumber*=n$6 [line 21, column 3]\n " shape="box"] +"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" [label="3: Return Stmt \n n$6=_fun_NSNumber.numberWithInt:(5:int) [line 21, column 10]\n *&return:NSNumber*=n$6 [line 21, column 3]\n " shape="box"] "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" -> "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_2" ; -"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 20, column 3]\n n$7=_fun_NSNumber::numberWithInt:(5:int) [line 20, column 17]\n *&n:NSNumber*=n$7 [line 20, column 3]\n " shape="box"] +"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 20, column 3]\n n$7=_fun_NSNumber.numberWithInt:(5:int) [line 20, column 17]\n *&n:NSNumber*=n$7 [line 20, column 3]\n " shape="box"] "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" -> "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" ; -"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_1" [label="1: Start Boxing::getIntExp\nFormals: self:Boxing*\nLocals: n:NSNumber* y:int x:int \n " color=yellow style=filled] +"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_1" [label="1: Start Boxing.getIntExp\nFormals: self:Boxing*\nLocals: n:NSNumber* y:int x:int \n " color=yellow style=filled] "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_1" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_6" ; -"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_2" [label="2: Exit Boxing::getIntExp \n " color=yellow style=filled] +"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_2" [label="2: Exit Boxing.getIntExp \n " color=yellow style=filled] -"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" [label="3: Return Stmt \n n$0=*&x:int [line 16, column 12]\n n$1=*&y:int [line 16, column 16]\n n$2=_fun_NSNumber::numberWithInt:((n$0 + n$1):int) [line 16, column 10]\n *&return:NSNumber*=n$2 [line 16, column 3]\n " shape="box"] +"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" [label="3: Return Stmt \n n$0=*&x:int [line 16, column 12]\n n$1=*&y:int [line 16, column 16]\n n$2=_fun_NSNumber.numberWithInt:((n$0 + n$1):int) [line 16, column 10]\n *&return:NSNumber*=n$2 [line 16, column 3]\n " shape="box"] "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_2" ; -"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 15, column 3]\n n$3=*&x:int [line 15, column 41]\n n$4=*&y:int [line 15, column 45]\n n$5=_fun_NSNumber::numberWithInt:((n$3 + n$4):int) [line 15, column 17]\n *&n:NSNumber*=n$5 [line 15, column 3]\n " shape="box"] +"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 15, column 3]\n n$3=*&x:int [line 15, column 41]\n n$4=*&y:int [line 15, column 45]\n n$5=_fun_NSNumber.numberWithInt:((n$3 + n$4):int) [line 15, column 17]\n *&n:NSNumber*=n$5 [line 15, column 3]\n " shape="box"] "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_4" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" ; @@ -83,33 +83,33 @@ digraph cfg { "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_6" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_5" ; -"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_1" [label="1: Start Boxing::getS\nFormals: self:Boxing*\nLocals: s:NSString* \n " color=yellow style=filled] +"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_1" [label="1: Start Boxing.getS\nFormals: self:Boxing*\nLocals: s:NSString* \n " color=yellow style=filled] "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_1" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" ; -"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_2" [label="2: Exit Boxing::getS \n " color=yellow style=filled] +"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_2" [label="2: Exit Boxing.getS \n " color=yellow style=filled] -"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" [label="3: Return Stmt \n n$15=_fun_NSString::stringWithUTF8String:(\"hello world\":char*) [line 41, column 10]\n *&return:NSString*=n$15 [line 41, column 3]\n " shape="box"] +"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" [label="3: Return Stmt \n n$15=_fun_NSString.stringWithUTF8String:(\"hello world\":char*) [line 41, column 10]\n *&return:NSString*=n$15 [line 41, column 3]\n " shape="box"] "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_2" ; -"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 40, column 3]\n n$16=_fun_strdup(\"hello world\":char*) [line 40, column 19]\n n$17=_fun_NSString::stringWithUTF8String:(n$16:char*) [line 40, column 17]\n *&s:NSString*=n$17 [line 40, column 3]\n " shape="box"] +"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 40, column 3]\n n$16=_fun_strdup(\"hello world\":char*) [line 40, column 19]\n n$17=_fun_NSString.stringWithUTF8String:(n$16:char*) [line 40, column 17]\n *&s:NSString*=n$17 [line 40, column 3]\n " shape="box"] "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" ; -"getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_1" [label="1: Start Boxing::getString\nFormals: self:Boxing*\nLocals: s:NSString* \n " color=yellow style=filled] +"getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_1" [label="1: Start Boxing.getString\nFormals: self:Boxing*\nLocals: s:NSString* \n " color=yellow style=filled] "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_1" -> "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_4" ; -"getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_2" [label="2: Exit Boxing::getString \n " color=yellow style=filled] +"getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_2" [label="2: Exit Boxing.getString \n " color=yellow style=filled] "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_3" [label="3: Return Stmt \n n$19=*&s:NSString* [line 47, column 10]\n *&return:NSString*=n$19 [line 47, column 3]\n " shape="box"] "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_3" -> "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_2" ; -"getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 46, column 3]\n n$20=_fun_NSString::unknownSelector:(\"hello world\":char*) [line 46, column 17]\n *&s:NSString*=n$20 [line 46, column 3]\n " shape="box"] +"getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 46, column 3]\n n$20=_fun_NSString.unknownSelector:(\"hello world\":char*) [line 46, column 17]\n *&s:NSString*=n$20 [line 46, column 3]\n " shape="box"] "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_4" -> "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot index f8fe1e559..76cbd88b9 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot @@ -28,23 +28,23 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n n$1=*&germanCars:NSArray* [line 24, column 26]\n n$2=_fun_NSArray::nextObject(n$1:NSArray*) virtual [line 24, column 3]\n *&item:NSString*=n$2 [line 24, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n n$1=*&germanCars:NSArray* [line 24, column 26]\n n$2=_fun_NSArray.nextObject(n$1:NSArray*) virtual [line 24, column 3]\n *&item:NSString*=n$2 [line 24, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Call _fun_NSLog \n n$3=_fun_NSString::stringWithUTF8String:(\"%@\":char* const ) [line 25, column 11]\n n$4=*&item:NSString* [line 25, column 18]\n n$5=_fun_NSLog(n$3:objc_object*,n$4:NSString*) [line 25, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Call _fun_NSLog \n n$3=_fun_NSString.stringWithUTF8String:(\"%@\":char* const ) [line 25, column 11]\n n$4=*&item:NSString* [line 25, column 18]\n n$5=_fun_NSLog(n$3:objc_object*,n$4:NSString*) [line 25, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$7=*&germanCars:NSArray* [line 24, column 26]\n n$8=_fun_NSArray::nextObject(n$7:NSArray*) virtual [line 24, column 3]\n *&item:NSString*=n$8 [line 24, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$7=*&germanCars:NSArray* [line 24, column 26]\n n$8=_fun_NSArray.nextObject(n$7:NSArray*) virtual [line 24, column 3]\n *&item:NSString*=n$8 [line 24, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: Assign \n n$9=*&germanCars:NSArray* [line 22, column 7]\n n$10=_fun_NSArray::objectAtIndexedSubscript:(n$9:NSArray*,(unsigned long)3:unsigned long) virtual [line 22, column 7]\n *&s:NSString*=n$10 [line 22, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: Assign \n n$9=*&germanCars:NSArray* [line 22, column 7]\n n$10=_fun_NSArray.objectAtIndexedSubscript:(n$9:NSArray*,(unsigned long)3:unsigned long) virtual [line 22, column 7]\n *&s:NSString*=n$10 [line 22, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(germanCars:NSArray*); [line 14, column 3]\n n$16=_fun_NSString::stringWithUTF8String:(\"Mercedes-Benz\":char* const ) [line 15, column 5]\n n$11=_fun_NSString::stringWithUTF8String:(\"BMW\":char* const ) [line 16, column 5]\n n$12=_fun_NSString::stringWithUTF8String:(\"Porsche\":char* const ) [line 17, column 5]\n n$13=_fun_NSString::stringWithUTF8String:(\"Opel\":char* const ) [line 18, column 5]\n n$14=_fun_NSString::stringWithUTF8String:(\"Volkswagen\":char* const ) [line 19, column 5]\n n$15=_fun_NSString::stringWithUTF8String:(\"Audi\":char* const ) [line 20, column 5]\n n$17=_fun_NSArray::arrayWithObjects:count:(n$16:objc_object*,n$11:objc_object*,n$12:objc_object*,n$13:objc_object*,n$14:objc_object*,n$15:objc_object*,null:objc_object*) [line 14, column 25]\n *&germanCars:NSArray*=n$17 [line 14, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(germanCars:NSArray*); [line 14, column 3]\n n$16=_fun_NSString.stringWithUTF8String:(\"Mercedes-Benz\":char* const ) [line 15, column 5]\n n$11=_fun_NSString.stringWithUTF8String:(\"BMW\":char* const ) [line 16, column 5]\n n$12=_fun_NSString.stringWithUTF8String:(\"Porsche\":char* const ) [line 17, column 5]\n n$13=_fun_NSString.stringWithUTF8String:(\"Opel\":char* const ) [line 18, column 5]\n n$14=_fun_NSString.stringWithUTF8String:(\"Volkswagen\":char* const ) [line 19, column 5]\n n$15=_fun_NSString.stringWithUTF8String:(\"Audi\":char* const ) [line 20, column 5]\n n$17=_fun_NSArray.arrayWithObjects:count:(n$16:objc_object*,n$11:objc_object*,n$12:objc_object*,n$13:objc_object*,n$14:objc_object*,n$15:objc_object*,null:objc_object*) [line 14, column 25]\n *&germanCars:NSArray*=n$17 [line 14, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/array_literal.c.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/array_literal.c.dot index d9cb29b09..9e444d6fc 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/array_literal.c.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/array_literal.c.dot @@ -7,11 +7,11 @@ digraph cfg { "get_array.bca6b16c85e5b8ba530f380271b2ec79_2" [label="2: Exit get_array \n " color=yellow style=filled] -"get_array.bca6b16c85e5b8ba530f380271b2ec79_3" [label="3: Return Stmt \n n$1=_fun_NSString::stringWithUTF8String:(\"cat\":char* const ) [line 12, column 13]\n n$0=_fun_NSString::stringWithUTF8String:(\"dog\":char* const ) [line 12, column 21]\n n$2=_fun_NSArray::arrayWithObjects:count:(n$1:objc_object*,n$0:objc_object*,null:objc_object*) [line 12, column 10]\n *&return:NSArray*=n$2 [line 12, column 3]\n " shape="box"] +"get_array.bca6b16c85e5b8ba530f380271b2ec79_3" [label="3: Return Stmt \n n$1=_fun_NSString.stringWithUTF8String:(\"cat\":char* const ) [line 12, column 13]\n n$0=_fun_NSString.stringWithUTF8String:(\"dog\":char* const ) [line 12, column 21]\n n$2=_fun_NSArray.arrayWithObjects:count:(n$1:objc_object*,n$0:objc_object*,null:objc_object*) [line 12, column 10]\n *&return:NSArray*=n$2 [line 12, column 3]\n " shape="box"] "get_array.bca6b16c85e5b8ba530f380271b2ec79_3" -> "get_array.bca6b16c85e5b8ba530f380271b2ec79_2" ; -"get_array.bca6b16c85e5b8ba530f380271b2ec79_4" [label="4: DeclStmt \n VARIABLE_DECLARED(animals:NSArray*); [line 11, column 3]\n n$4=_fun_NSString::stringWithUTF8String:(\"cat\":char* const ) [line 11, column 48]\n n$3=_fun_NSString::stringWithUTF8String:(\"dog\":char* const ) [line 11, column 56]\n n$5=_fun_NSArray::arrayWithObjects:(n$4:objc_object*,n$3:NSString*,null:void*) [line 11, column 22]\n *&animals:NSArray*=n$5 [line 11, column 3]\n " shape="box"] +"get_array.bca6b16c85e5b8ba530f380271b2ec79_4" [label="4: DeclStmt \n VARIABLE_DECLARED(animals:NSArray*); [line 11, column 3]\n n$4=_fun_NSString.stringWithUTF8String:(\"cat\":char* const ) [line 11, column 48]\n n$3=_fun_NSString.stringWithUTF8String:(\"dog\":char* const ) [line 11, column 56]\n n$5=_fun_NSArray.arrayWithObjects:(n$4:objc_object*,n$3:NSString*,null:void*) [line 11, column 22]\n *&animals:NSArray*=n$5 [line 11, column 3]\n " shape="box"] "get_array.bca6b16c85e5b8ba530f380271b2ec79_4" -> "get_array.bca6b16c85e5b8ba530f380271b2ec79_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/dict_literal.c.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/dict_literal.c.dot index 49f6a9ae5..f90d35eb7 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/dict_literal.c.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/dict_literal.c.dot @@ -7,7 +7,7 @@ digraph cfg { "get_array1.5988b7ad8acf5c81cef9a72d072073c1_2" [label="2: Exit get_array1 \n " color=yellow style=filled] -"get_array1.5988b7ad8acf5c81cef9a72d072073c1_3" [label="3: Return Stmt \n n$5=_fun_NSString::stringWithUTF8String:(\"Matt\":char* const ) [line 12, column 53]\n n$0=_fun_NSString::stringWithUTF8String:(\"firstName\":char* const ) [line 13, column 53]\n n$1=_fun_NSString::stringWithUTF8String:(\"Galloway\":char* const ) [line 14, column 53]\n n$2=_fun_NSString::stringWithUTF8String:(\"lastName\":char* const ) [line 15, column 53]\n n$3=_fun_NSNumber::numberWithInt:(28:int) [line 16, column 53]\n n$4=_fun_NSString::stringWithUTF8String:(\"age\":char* const ) [line 17, column 53]\n n$6=_fun_NSDictionary::dictionaryWithObjectsAndKeys:(n$5:objc_object*,n$0:NSString*,n$1:NSString*,n$2:NSString*,n$3:NSNumber*,n$4:NSString*,null:void*) [line 12, column 10]\n *&return:NSDictionary*=n$6 [line 12, column 3]\n " shape="box"] +"get_array1.5988b7ad8acf5c81cef9a72d072073c1_3" [label="3: Return Stmt \n n$5=_fun_NSString.stringWithUTF8String:(\"Matt\":char* const ) [line 12, column 53]\n n$0=_fun_NSString.stringWithUTF8String:(\"firstName\":char* const ) [line 13, column 53]\n n$1=_fun_NSString.stringWithUTF8String:(\"Galloway\":char* const ) [line 14, column 53]\n n$2=_fun_NSString.stringWithUTF8String:(\"lastName\":char* const ) [line 15, column 53]\n n$3=_fun_NSNumber.numberWithInt:(28:int) [line 16, column 53]\n n$4=_fun_NSString.stringWithUTF8String:(\"age\":char* const ) [line 17, column 53]\n n$6=_fun_NSDictionary.dictionaryWithObjectsAndKeys:(n$5:objc_object*,n$0:NSString*,n$1:NSString*,n$2:NSString*,n$3:NSNumber*,n$4:NSString*,null:void*) [line 12, column 10]\n *&return:NSDictionary*=n$6 [line 12, column 3]\n " shape="box"] "get_array1.5988b7ad8acf5c81cef9a72d072073c1_3" -> "get_array1.5988b7ad8acf5c81cef9a72d072073c1_2" ; @@ -18,7 +18,7 @@ digraph cfg { "get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_2" [label="2: Exit get_array2 \n " color=yellow style=filled] -"get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_3" [label="3: Return Stmt \n n$5=_fun_NSString::stringWithUTF8String:(\"Matt\":char* const ) [line 23, column 27]\n n$0=_fun_NSString::stringWithUTF8String:(\"firstName\":char* const ) [line 23, column 12]\n n$1=_fun_NSString::stringWithUTF8String:(\"Galloway\":char* const ) [line 23, column 50]\n n$2=_fun_NSString::stringWithUTF8String:(\"lastName\":char* const ) [line 23, column 36]\n n$3=_fun_NSNumber::numberWithInt:(28:int) [line 23, column 72]\n n$4=_fun_NSString::stringWithUTF8String:(\"age\":char* const ) [line 23, column 63]\n n$6=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(n$5:objc_object*,n$0:objc_object*,n$1:objc_object*,n$2:objc_object*,n$3:objc_object*,n$4:objc_object*,null:objc_object*) [line 23, column 10]\n *&return:NSDictionary*=n$6 [line 23, column 3]\n " shape="box"] +"get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_3" [label="3: Return Stmt \n n$5=_fun_NSString.stringWithUTF8String:(\"Matt\":char* const ) [line 23, column 27]\n n$0=_fun_NSString.stringWithUTF8String:(\"firstName\":char* const ) [line 23, column 12]\n n$1=_fun_NSString.stringWithUTF8String:(\"Galloway\":char* const ) [line 23, column 50]\n n$2=_fun_NSString.stringWithUTF8String:(\"lastName\":char* const ) [line 23, column 36]\n n$3=_fun_NSNumber.numberWithInt:(28:int) [line 23, column 72]\n n$4=_fun_NSString.stringWithUTF8String:(\"age\":char* const ) [line 23, column 63]\n n$6=_fun_NSDictionary.dictionaryWithObjects:forKeys:count:(n$5:objc_object*,n$0:objc_object*,n$1:objc_object*,n$2:objc_object*,n$3:objc_object*,n$4:objc_object*,null:objc_object*) [line 23, column 10]\n *&return:NSDictionary*=n$6 [line 23, column 3]\n " shape="box"] "get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_3" -> "get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/string_literal.c.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/string_literal.c.dot index bf3e9a3f2..02908f0f4 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/string_literal.c.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/string_literal.c.dot @@ -7,7 +7,7 @@ digraph cfg { "get_string1.37988b3a9459aa3258beba816a2c79fc_2" [label="2: Exit get_string1 \n " color=yellow style=filled] -"get_string1.37988b3a9459aa3258beba816a2c79fc_3" [label="3: Return Stmt \n n$0=_fun_NSString::stringWithUTF8String:(\"Hello World!\":char*) [line 12, column 10]\n *&return:NSString*=n$0 [line 12, column 3]\n " shape="box"] +"get_string1.37988b3a9459aa3258beba816a2c79fc_3" [label="3: Return Stmt \n n$0=_fun_NSString.stringWithUTF8String:(\"Hello World!\":char*) [line 12, column 10]\n *&return:NSString*=n$0 [line 12, column 3]\n " shape="box"] "get_string1.37988b3a9459aa3258beba816a2c79fc_3" -> "get_string1.37988b3a9459aa3258beba816a2c79fc_2" ; @@ -18,7 +18,7 @@ digraph cfg { "get_string2.896232467e9bb3980f16ff6f7a1da043_2" [label="2: Exit get_string2 \n " color=yellow style=filled] -"get_string2.896232467e9bb3980f16ff6f7a1da043_3" [label="3: Return Stmt \n n$0=_fun_NSString::stringWithUTF8String:(\"Hello World!\":char* const ) [line 15, column 34]\n *&return:NSString*=n$0 [line 15, column 27]\n " shape="box"] +"get_string2.896232467e9bb3980f16ff6f7a1da043_3" [label="3: Return Stmt \n n$0=_fun_NSString.stringWithUTF8String:(\"Hello World!\":char* const ) [line 15, column 34]\n *&return:NSString*=n$0 [line 15, column 27]\n " shape="box"] "get_string2.896232467e9bb3980f16ff6f7a1da043_3" -> "get_string2.896232467e9bb3980f16ff6f7a1da043_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot b/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot index b39059981..9916e29d4 100644 --- a/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot @@ -1,22 +1,22 @@ /* @generated */ digraph cfg { -"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_1" [label="1: Start A::test4:\nFormals: self:A* x:int\nLocals: \n " color=yellow style=filled] +"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_1" [label="1: Start A.test4:\nFormals: self:A* x:int\nLocals: \n " color=yellow style=filled] "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_1" -> "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" ; -"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_2" [label="2: Exit A::test4: \n " color=yellow style=filled] +"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_2" [label="2: Exit A.test4: \n " color=yellow style=filled] "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" [label="3: Return Stmt \n n$0=*&x:int [line 18, column 10]\n *&return:int=n$0 [line 18, column 3]\n " shape="box"] "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" -> "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_2" ; -"test5:#A#instance.4d6ac42705853160b533ab46b444624a_1" [label="1: Start A::test5:\nFormals: self:A* b:_Bool\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$1:int \n " color=yellow style=filled] +"test5:#A#instance.4d6ac42705853160b533ab46b444624a_1" [label="1: Start A.test5:\nFormals: self:A* b:_Bool\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$1:int \n " color=yellow style=filled] "test5:#A#instance.4d6ac42705853160b533ab46b444624a_1" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_4" ; "test5:#A#instance.4d6ac42705853160b533ab46b444624a_1" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_5" ; -"test5:#A#instance.4d6ac42705853160b533ab46b444624a_2" [label="2: Exit A::test5: \n " color=yellow style=filled] +"test5:#A#instance.4d6ac42705853160b533ab46b444624a_2" [label="2: Exit A.test5: \n " color=yellow style=filled] "test5:#A#instance.4d6ac42705853160b533ab46b444624a_3" [label="3: + \n " ] @@ -39,7 +39,7 @@ digraph cfg { "test5:#A#instance.4d6ac42705853160b533ab46b444624a_7" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_3" ; -"test5:#A#instance.4d6ac42705853160b533ab46b444624a_8" [label="8: Return Stmt \n n$5=*&self:A* [line 22, column 11]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 22, column 23]\n n$6=_fun_A::test4:(n$5:A*,n$4:int) virtual [line 22, column 10]\n *&return:int=n$6 [line 22, column 3]\n " shape="box"] +"test5:#A#instance.4d6ac42705853160b533ab46b444624a_8" [label="8: Return Stmt \n n$5=*&self:A* [line 22, column 11]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 22, column 23]\n n$6=_fun_A.test4:(n$5:A*,n$4:int) virtual [line 22, column 10]\n *&return:int=n$6 [line 22, column 3]\n " shape="box"] "test5:#A#instance.4d6ac42705853160b533ab46b444624a_8" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot b/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot index aeecc220b..1d3218f8c 100644 --- a/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot @@ -1,13 +1,13 @@ /* @generated */ digraph cfg { -"test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_1" [label="1: Start ExceptionExample::test\nFormals: self:ExceptionExample*\nLocals: s:NSString* \n " color=yellow style=filled] +"test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_1" [label="1: Start ExceptionExample.test\nFormals: self:ExceptionExample*\nLocals: s:NSString* \n " color=yellow style=filled] "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_1" -> "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_4" ; -"test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_2" [label="2: Exit ExceptionExample::test \n " color=yellow style=filled] +"test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_2" [label="2: Exit ExceptionExample.test \n " color=yellow style=filled] -"test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_3" [label="3: Message Call: description \n n$0=*&self:ExceptionExample* [line 21, column 6]\n n$1=_fun_NSObject::description(n$0:ExceptionExample*) [line 21, column 5]\n " shape="box"] +"test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_3" [label="3: Message Call: description \n n$0=*&self:ExceptionExample* [line 21, column 6]\n n$1=_fun_NSObject.description(n$0:ExceptionExample*) [line 21, column 5]\n " shape="box"] "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_3" -> "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_2" ; @@ -15,11 +15,11 @@ digraph cfg { "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_4" -> "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_3" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_1" [label="1: Start ExceptionExample::test1\nFormals: self:ExceptionExample*\nLocals: s:NSString* \n " color=yellow style=filled] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_1" [label="1: Start ExceptionExample.test1\nFormals: self:ExceptionExample*\nLocals: s:NSString* \n " color=yellow style=filled] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_1" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_8" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_2" [label="2: Exit ExceptionExample::test1 \n " color=yellow style=filled] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_2" [label="2: Exit ExceptionExample.test1 \n " color=yellow style=filled] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_3" [label="3: + \n " ] @@ -38,7 +38,7 @@ digraph cfg { "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_6" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_3" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_7" [label="7: ObjCCPPThrow \n n$6=_fun_NSString::stringWithUTF8String:(\"Something is not right exception\":char* const ) [line 29, column 27]\n n$5=_fun_NSString::stringWithUTF8String:(\"Can't perform this operation because of this or that\":char* const ) [line 31, column 24]\n n$7=_fun_NSException::exceptionWithName:reason:userInfo:(n$6:NSString*,n$5:NSString*,null:NSDictionary*) [line 28, column 12]\n n$8=_fun___infer_objc_cpp_throw(n$7:NSException*) [line 28, column 5]\n " shape="box"] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_7" [label="7: ObjCCPPThrow \n n$6=_fun_NSString.stringWithUTF8String:(\"Something is not right exception\":char* const ) [line 29, column 27]\n n$5=_fun_NSString.stringWithUTF8String:(\"Can't perform this operation because of this or that\":char* const ) [line 31, column 24]\n n$7=_fun_NSException.exceptionWithName:reason:userInfo:(n$6:NSString*,n$5:NSString*,null:NSDictionary*) [line 28, column 12]\n n$8=_fun___infer_objc_cpp_throw(n$7:NSException*) [line 28, column 5]\n " shape="box"] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_7" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/fast_enumeration/Fast_enumeration.m.dot b/infer/tests/codetoanalyze/objc/frontend/fast_enumeration/Fast_enumeration.m.dot index 902d60ce0..aa8d95202 100644 --- a/infer/tests/codetoanalyze/objc/frontend/fast_enumeration/Fast_enumeration.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/fast_enumeration/Fast_enumeration.m.dot @@ -1,10 +1,10 @@ /* @generated */ digraph cfg { -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_1" [label="1: Start A::fast_loop:\nFormals: self:A* items:NSArray*\nLocals: item:NSArray* size:int \n " color=yellow style=filled] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_1" [label="1: Start A.fast_loop:\nFormals: self:A* items:NSArray*\nLocals: item:NSArray* size:int \n " color=yellow style=filled] "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_1" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_11" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_2" [label="2: Exit A::fast_loop: \n " color=yellow style=filled] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_2" [label="2: Exit A.fast_loop: \n " color=yellow style=filled] "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_3" [label="3: Return Stmt \n n$0=*&size:int [line 24, column 10]\n *&return:int=n$0 [line 24, column 3]\n " shape="box"] @@ -28,15 +28,15 @@ digraph cfg { "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_7" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_3" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_8" [label="8: BinaryOperatorStmt: Assign \n n$2=*&items:NSArray* [line 21, column 25]\n n$3=_fun_NSArray::nextObject(n$2:NSArray*) virtual [line 21, column 3]\n *&item:NSArray*=n$3 [line 21, column 3]\n " shape="box"] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_8" [label="8: BinaryOperatorStmt: Assign \n n$2=*&items:NSArray* [line 21, column 25]\n n$3=_fun_NSArray.nextObject(n$2:NSArray*) virtual [line 21, column 3]\n *&item:NSArray*=n$3 [line 21, column 3]\n " shape="box"] "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_8" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_4" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_9" [label="9: BinaryOperatorStmt: AddAssign \n n$4=*&item:NSArray* [line 22, column 14]\n n$5=_fun_NSArray::count(n$4:NSArray*) [line 22, column 13]\n n$6=*&size:int [line 22, column 5]\n *&size:int=(n$6 + n$5) [line 22, column 5]\n " shape="box"] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_9" [label="9: BinaryOperatorStmt: AddAssign \n n$4=*&item:NSArray* [line 22, column 14]\n n$5=_fun_NSArray.count(n$4:NSArray*) [line 22, column 13]\n n$6=*&size:int [line 22, column 5]\n *&size:int=(n$6 + n$5) [line 22, column 5]\n " shape="box"] "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_9" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_8" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" [label="10: BinaryOperatorStmt: Assign \n n$8=*&items:NSArray* [line 21, column 25]\n n$9=_fun_NSArray::nextObject(n$8:NSArray*) virtual [line 21, column 3]\n *&item:NSArray*=n$9 [line 21, column 3]\n " shape="box"] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" [label="10: BinaryOperatorStmt: Assign \n n$8=*&items:NSArray* [line 21, column 25]\n n$9=_fun_NSArray.nextObject(n$8:NSArray*) virtual [line 21, column 3]\n *&item:NSArray*=n$9 [line 21, column 3]\n " shape="box"] "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_4" ; @@ -44,11 +44,11 @@ digraph cfg { "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_11" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_1" [label="1: Start A::fast_loop_no_crash\nFormals: self:A*\nLocals: obj:objc_object* \n " color=yellow style=filled] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_1" [label="1: Start A.fast_loop_no_crash\nFormals: self:A*\nLocals: obj:objc_object* \n " color=yellow style=filled] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_1" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_10" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_2" [label="2: Exit A::fast_loop_no_crash \n " color=yellow style=filled] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_2" [label="2: Exit A.fast_loop_no_crash \n " color=yellow style=filled] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_3" [label="3: + \n " ] @@ -68,15 +68,15 @@ digraph cfg { "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_6" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_2" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_7" [label="7: BinaryOperatorStmt: Assign \n n$19=*&self:A* [line 38, column 15]\n n$20=*n$19.reverseObjectEnumerator:NSEnumerator* [line 38, column 15]\n n$21=_fun_NSEnumerator::nextObject(n$20:NSEnumerator*) virtual [line 38, column 3]\n *&obj:objc_object*=n$21 [line 38, column 3]\n " shape="box"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_7" [label="7: BinaryOperatorStmt: Assign \n n$19=*&self:A* [line 38, column 15]\n n$20=*n$19.reverseObjectEnumerator:NSEnumerator* [line 38, column 15]\n n$21=_fun_NSEnumerator.nextObject(n$20:NSEnumerator*) virtual [line 38, column 3]\n *&obj:objc_object*=n$21 [line 38, column 3]\n " shape="box"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_7" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_3" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_8" [label="8: Message Call: copy \n n$22=*&obj:objc_object* [line 39, column 6]\n n$23=_fun_NSObject::copy(n$22:objc_object*) virtual [line 39, column 5]\n " shape="box"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_8" [label="8: Message Call: copy \n n$22=*&obj:objc_object* [line 39, column 6]\n n$23=_fun_NSObject.copy(n$22:objc_object*) virtual [line 39, column 5]\n " shape="box"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_8" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_7" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_9" [label="9: BinaryOperatorStmt: Assign \n n$25=*&self:A* [line 38, column 15]\n n$26=*n$25.reverseObjectEnumerator:NSEnumerator* [line 38, column 15]\n n$27=_fun_NSEnumerator::nextObject(n$26:NSEnumerator*) virtual [line 38, column 3]\n *&obj:objc_object*=n$27 [line 38, column 3]\n " shape="box"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_9" [label="9: BinaryOperatorStmt: Assign \n n$25=*&self:A* [line 38, column 15]\n n$26=*n$25.reverseObjectEnumerator:NSEnumerator* [line 38, column 15]\n n$27=_fun_NSEnumerator.nextObject(n$26:NSEnumerator*) virtual [line 38, column 3]\n *&obj:objc_object*=n$27 [line 38, column 3]\n " shape="box"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_9" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_3" ; @@ -84,11 +84,11 @@ digraph cfg { "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_10" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_9" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_1" [label="1: Start A::while_loop:\nFormals: self:A* items:NSArray*\nLocals: item:NSArray* size:int \n " color=yellow style=filled] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_1" [label="1: Start A.while_loop:\nFormals: self:A* items:NSArray*\nLocals: item:NSArray* size:int \n " color=yellow style=filled] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_1" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_10" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_2" [label="2: Exit A::while_loop: \n " color=yellow style=filled] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_2" [label="2: Exit A.while_loop: \n " color=yellow style=filled] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_3" [label="3: Return Stmt \n n$10=*&size:int [line 33, column 10]\n *&return:int=n$10 [line 33, column 3]\n " shape="box"] @@ -99,7 +99,7 @@ digraph cfg { "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_4" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" [label="5: BinaryOperatorStmt: Assign \n n$11=*&items:NSArray* [line 30, column 19]\n n$12=_fun_NSArray::objectAtIndex:(n$11:NSArray*,(unsigned long)3:unsigned long) virtual [line 30, column 18]\n *&item:NSArray*=n$12 [line 30, column 11]\n n$13=*&item:NSArray* [line 30, column 11]\n " shape="box"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" [label="5: BinaryOperatorStmt: Assign \n n$11=*&items:NSArray* [line 30, column 19]\n n$12=_fun_NSArray.objectAtIndex:(n$11:NSArray*,(unsigned long)3:unsigned long) virtual [line 30, column 18]\n *&item:NSArray*=n$12 [line 30, column 11]\n n$13=*&item:NSArray* [line 30, column 11]\n " shape="box"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_6" ; @@ -112,7 +112,7 @@ digraph cfg { "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_7" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_3" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_8" [label="8: BinaryOperatorStmt: AddAssign \n n$14=*&item:NSArray* [line 31, column 14]\n n$15=_fun_NSArray::count(n$14:NSArray*) [line 31, column 13]\n n$16=*&size:int [line 31, column 5]\n *&size:int=(n$16 + n$15) [line 31, column 5]\n " shape="box"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_8" [label="8: BinaryOperatorStmt: AddAssign \n n$14=*&item:NSArray* [line 31, column 14]\n n$15=_fun_NSArray.count(n$14:NSArray*) [line 31, column 13]\n n$16=*&size:int [line 31, column 5]\n *&size:int=(n$16 + n$15) [line 31, column 5]\n " shape="box"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_8" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_4" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/internal_forward_class/ForwardClassInMethod.m.dot b/infer/tests/codetoanalyze/objc/frontend/internal_forward_class/ForwardClassInMethod.m.dot index 2c267ca34..d21f5d81a 100644 --- a/infer/tests/codetoanalyze/objc/frontend/internal_forward_class/ForwardClassInMethod.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/internal_forward_class/ForwardClassInMethod.m.dot @@ -1,10 +1,10 @@ /* @generated */ digraph cfg { -"foo#A#instance.a1bcc3cb6c1f00fc285817fb8454eaed_1" [label="1: Start A::foo\nFormals: self:A*\nLocals: \n " color=yellow style=filled] +"foo#A#instance.a1bcc3cb6c1f00fc285817fb8454eaed_1" [label="1: Start A.foo\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "foo#A#instance.a1bcc3cb6c1f00fc285817fb8454eaed_1" -> "foo#A#instance.a1bcc3cb6c1f00fc285817fb8454eaed_2" ; -"foo#A#instance.a1bcc3cb6c1f00fc285817fb8454eaed_2" [label="2: Exit A::foo \n " color=yellow style=filled] +"foo#A#instance.a1bcc3cb6c1f00fc285817fb8454eaed_2" [label="2: Exit A.foo \n " color=yellow style=filled] } diff --git a/infer/tests/codetoanalyze/objc/frontend/predefined_expr/PredefinedExprExample.m.dot b/infer/tests/codetoanalyze/objc/frontend/predefined_expr/PredefinedExprExample.m.dot index 68551dbbc..d61521b5d 100644 --- a/infer/tests/codetoanalyze/objc/frontend/predefined_expr/PredefinedExprExample.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/predefined_expr/PredefinedExprExample.m.dot @@ -1,35 +1,35 @@ /* @generated */ digraph cfg { -"testFunct#A#instance.b6c9dae744220d93a4466679814728c1_1" [label="1: Start A::testFunct\nFormals: self:A*\nLocals: \n " color=yellow style=filled] +"testFunct#A#instance.b6c9dae744220d93a4466679814728c1_1" [label="1: Start A.testFunct\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "testFunct#A#instance.b6c9dae744220d93a4466679814728c1_1" -> "testFunct#A#instance.b6c9dae744220d93a4466679814728c1_3" ; -"testFunct#A#instance.b6c9dae744220d93a4466679814728c1_2" [label="2: Exit A::testFunct \n " color=yellow style=filled] +"testFunct#A#instance.b6c9dae744220d93a4466679814728c1_2" [label="2: Exit A.testFunct \n " color=yellow style=filled] -"testFunct#A#instance.b6c9dae744220d93a4466679814728c1_3" [label="3: Call _fun_NSLog \n n$4=_fun_NSString::stringWithUTF8String:(\"%s\":char* const ) [line 25, column 9]\n n$5=_fun_NSLog(n$4:objc_object*,\"\":char const *) [line 25, column 3]\n " shape="box"] +"testFunct#A#instance.b6c9dae744220d93a4466679814728c1_3" [label="3: Call _fun_NSLog \n n$4=_fun_NSString.stringWithUTF8String:(\"%s\":char* const ) [line 25, column 9]\n n$5=_fun_NSLog(n$4:objc_object*,\"\":char const *) [line 25, column 3]\n " shape="box"] "testFunct#A#instance.b6c9dae744220d93a4466679814728c1_3" -> "testFunct#A#instance.b6c9dae744220d93a4466679814728c1_2" ; -"testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_1" [label="1: Start A::testFunction\nFormals: self:A*\nLocals: \n " color=yellow style=filled] +"testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_1" [label="1: Start A.testFunction\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_1" -> "testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_3" ; -"testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_2" [label="2: Exit A::testFunction \n " color=yellow style=filled] +"testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_2" [label="2: Exit A.testFunction \n " color=yellow style=filled] -"testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString::stringWithUTF8String:(\"%s\":char* const ) [line 21, column 9]\n n$3=_fun_NSLog(n$2:objc_object*,\"\":char const *) [line 21, column 3]\n " shape="box"] +"testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString.stringWithUTF8String:(\"%s\":char* const ) [line 21, column 9]\n n$3=_fun_NSLog(n$2:objc_object*,\"\":char const *) [line 21, column 3]\n " shape="box"] "testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_3" -> "testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_2" ; -"testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_1" [label="1: Start A::testPrettyFunction\nFormals: self:A*\nLocals: \n " color=yellow style=filled] +"testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_1" [label="1: Start A.testPrettyFunction\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_1" -> "testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_3" ; -"testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_2" [label="2: Exit A::testPrettyFunction \n " color=yellow style=filled] +"testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_2" [label="2: Exit A.testPrettyFunction \n " color=yellow style=filled] -"testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString::stringWithUTF8String:(\"%s\":char* const ) [line 17, column 9]\n n$1=_fun_NSLog(n$0:objc_object*,\"\":char const *) [line 17, column 3]\n " shape="box"] +"testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString.stringWithUTF8String:(\"%s\":char* const ) [line 17, column 9]\n n$1=_fun_NSLog(n$0:objc_object*,\"\":char const *) [line 17, column 3]\n " shape="box"] "testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_3" -> "testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/property/PropertyImplSetter.m.dot b/infer/tests/codetoanalyze/objc/frontend/property/PropertyImplSetter.m.dot index 330d7f9ca..5d989db83 100644 --- a/infer/tests/codetoanalyze/objc/frontend/property/PropertyImplSetter.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/property/PropertyImplSetter.m.dot @@ -1,10 +1,10 @@ /* @generated */ digraph cfg { -"setMaximumFileSize:#PropertyImplSetter#instance.1d600fefeeb62155817021d20e02a478_1" [label="1: Start PropertyImplSetter::setMaximumFileSize:\nFormals: self:PropertyImplSetter* newMaximumFileSize:int\nLocals: \n " color=yellow style=filled] +"setMaximumFileSize:#PropertyImplSetter#instance.1d600fefeeb62155817021d20e02a478_1" [label="1: Start PropertyImplSetter.setMaximumFileSize:\nFormals: self:PropertyImplSetter* newMaximumFileSize:int\nLocals: \n " color=yellow style=filled] "setMaximumFileSize:#PropertyImplSetter#instance.1d600fefeeb62155817021d20e02a478_1" -> "setMaximumFileSize:#PropertyImplSetter#instance.1d600fefeeb62155817021d20e02a478_3" ; -"setMaximumFileSize:#PropertyImplSetter#instance.1d600fefeeb62155817021d20e02a478_2" [label="2: Exit PropertyImplSetter::setMaximumFileSize: \n " color=yellow style=filled] +"setMaximumFileSize:#PropertyImplSetter#instance.1d600fefeeb62155817021d20e02a478_2" [label="2: Exit PropertyImplSetter.setMaximumFileSize: \n " color=yellow style=filled] "setMaximumFileSize:#PropertyImplSetter#instance.1d600fefeeb62155817021d20e02a478_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&self:PropertyImplSetter* [line 13, column 3]\n *n$0._maximumFileSize:int=0 [line 13, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/frontend/property/Property_getter.m.dot b/infer/tests/codetoanalyze/objc/frontend/property/Property_getter.m.dot index b5de628d9..b42f21c98 100644 --- a/infer/tests/codetoanalyze/objc/frontend/property/Property_getter.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/property/Property_getter.m.dot @@ -1,13 +1,13 @@ /* @generated */ digraph cfg { -"addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_1" [label="1: Start A::addTarget:\nFormals: self:A* target:A*\nLocals: \n " color=yellow style=filled] +"addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_1" [label="1: Start A.addTarget:\nFormals: self:A* target:A*\nLocals: \n " color=yellow style=filled] "addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_1" -> "addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_3" ; -"addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_2" [label="2: Exit A::addTarget: \n " color=yellow style=filled] +"addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_2" [label="2: Exit A.addTarget: \n " color=yellow style=filled] -"addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_3" [label="3: Return Stmt \n n$0=*&target:A* [line 17, column 10]\n n$1=_fun_A::x(n$0:A*) [line 17, column 17]\n *&return:int=n$1 [line 17, column 3]\n " shape="box"] +"addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_3" [label="3: Return Stmt \n n$0=*&target:A* [line 17, column 10]\n n$1=_fun_A.x(n$0:A*) [line 17, column 17]\n *&return:int=n$1 [line 17, column 3]\n " shape="box"] "addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_3" -> "addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/property/main_car.m.dot b/infer/tests/codetoanalyze/objc/frontend/property/main_car.m.dot index dd9d4514f..49bb27a86 100644 --- a/infer/tests/codetoanalyze/objc/frontend/property/main_car.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/property/main_car.m.dot @@ -11,15 +11,15 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Call _fun_NSLog \n n$0=_fun_NSString::stringWithUTF8String:(\"%d\":char* const ) [line 13, column 9]\n n$1=*&honda:Car* [line 13, column 16]\n n$2=_fun_Car::running(n$1:Car*) [line 13, column 22]\n n$3=_fun_NSLog(n$0:objc_object*,n$2:int) [line 13, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Call _fun_NSLog \n n$0=_fun_NSString.stringWithUTF8String:(\"%d\":char* const ) [line 13, column 9]\n n$1=*&honda:Car* [line 13, column 16]\n n$2=_fun_Car.running(n$1:Car*) [line 13, column 22]\n n$3=_fun_NSLog(n$0:objc_object*,n$2:int) [line 13, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Message Call: setRunning: \n n$4=*&honda:Car* [line 12, column 3]\n n$5=_fun_Car::setRunning:(n$4:Car*,1:_Bool) [line 12, column 9]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Message Call: setRunning: \n n$4=*&honda:Car* [line 12, column 3]\n n$5=_fun_Car.setRunning:(n$4:Car*,1:_Bool) [line 12, column 9]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n VARIABLE_DECLARED(honda:Car*); [line 11, column 3]\n n$6=_fun___objc_alloc_no_fail(sizeof(t=Car):unsigned long) [line 11, column 17]\n n$7=_fun_NSObject::init(n$6:Car*) virtual [line 11, column 16]\n *&honda:Car*=n$7 [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n VARIABLE_DECLARED(honda:Car*); [line 11, column 3]\n n$6=_fun___objc_alloc_no_fail(sizeof(t=Car):unsigned long) [line 11, column 17]\n n$7=_fun_NSObject.init(n$6:Car*) virtual [line 11, column 16]\n *&honda:Car*=n$7 [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/protocol/protocol.m.dot b/infer/tests/codetoanalyze/objc/frontend/protocol/protocol.m.dot index 1d50e2564..9e5b26a2e 100644 --- a/infer/tests/codetoanalyze/objc/frontend/protocol/protocol.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/protocol/protocol.m.dot @@ -1,10 +1,10 @@ /* @generated */ digraph cfg { -"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_1" [label="1: Start Bla::fooMethod\nFormals: self:Bla*\nLocals: \n " color=yellow style=filled] +"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_1" [label="1: Start Bla.fooMethod\nFormals: self:Bla*\nLocals: \n " color=yellow style=filled] "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_1" -> "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_5" ; -"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_2" [label="2: Exit Bla::fooMethod \n " color=yellow style=filled] +"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_2" [label="2: Exit Bla.fooMethod \n " color=yellow style=filled] "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_3" [label="3: + \n " ] @@ -15,7 +15,7 @@ digraph cfg { "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_4" -> "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_2" ; -"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_5" [label="5: Message Call: conformsToProtocol: \n n$0=*&self:Bla* [line 23, column 8]\n n$1=_fun_NSObject::conformsToProtocol:(n$0:Bla*,\"Foo\":Protocol*) virtual [line 23, column 7]\n " shape="box"] +"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_5" [label="5: Message Call: conformsToProtocol: \n n$0=*&self:Bla* [line 23, column 8]\n n$1=_fun_NSObject.conformsToProtocol:(n$0:Bla*,\"Foo\":Protocol*) virtual [line 23, column 7]\n " shape="box"] "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_5" -> "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_6" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/returnstmt/void_return.m.dot b/infer/tests/codetoanalyze/objc/frontend/returnstmt/void_return.m.dot index 6ca39d6df..571fb2fe3 100644 --- a/infer/tests/codetoanalyze/objc/frontend/returnstmt/void_return.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/returnstmt/void_return.m.dot @@ -1,10 +1,10 @@ /* @generated */ digraph cfg { -"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_1" [label="1: Start MyClass::aMethod\nFormals: self:MyClass*\nLocals: j:int i:int \n " color=yellow style=filled] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_1" [label="1: Start MyClass.aMethod\nFormals: self:MyClass*\nLocals: j:int i:int \n " color=yellow style=filled] "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_1" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_15" ; -"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_2" [label="2: Exit MyClass::aMethod \n " color=yellow style=filled] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_2" [label="2: Exit MyClass.aMethod \n " color=yellow style=filled] "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_3" [label="3: + \n " ] diff --git a/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot b/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot index 5ed9fba2e..de12d1e84 100644 --- a/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot @@ -32,47 +32,47 @@ digraph cfg { "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_8" -> "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_5" ; "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_8" -> "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_6" ; -"call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_1" [label="1: Start A::call_alloc_class\nFormals: \nLocals: \n " color=yellow style=filled] +"call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_1" [label="1: Start A.call_alloc_class\nFormals: \nLocals: \n " color=yellow style=filled] "call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_1" -> "call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_3" ; -"call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_2" [label="2: Exit A::call_alloc_class \n " color=yellow style=filled] +"call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_2" [label="2: Exit A.call_alloc_class \n " color=yellow style=filled] "call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_3" [label="3: Call alloc \n n$5=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 57, column 3]\n " shape="box"] "call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_3" -> "call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_2" ; -"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_1" [label="1: Start A::call_test_class\nFormals: \nLocals: \n " color=yellow style=filled] +"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_1" [label="1: Start A.call_test_class\nFormals: \nLocals: \n " color=yellow style=filled] "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_1" -> "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" ; -"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_2" [label="2: Exit A::call_test_class \n " color=yellow style=filled] +"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_2" [label="2: Exit A.call_test_class \n " color=yellow style=filled] -"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" [label="3: Message Call: test_class \n n$4=_fun_C::test_class() [line 53, column 3]\n " shape="box"] +"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" [label="3: Message Call: test_class \n n$4=_fun_C.test_class() [line 53, column 3]\n " shape="box"] "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" -> "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_2" ; -"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_1" [label="1: Start A::calling_super\nFormals: \nLocals: \n " color=yellow style=filled] +"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_1" [label="1: Start A.calling_super\nFormals: \nLocals: \n " color=yellow style=filled] "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_1" -> "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" ; -"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_2" [label="2: Exit A::calling_super \n " color=yellow style=filled] +"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_2" [label="2: Exit A.calling_super \n " color=yellow style=filled] -"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" [label="3: Message Call: test_class \n n$18=_fun_C::test_class() [line 82, column 3]\n " shape="box"] +"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" [label="3: Message Call: test_class \n n$18=_fun_C.test_class() [line 82, column 3]\n " shape="box"] "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" -> "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_2" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_1" [label="1: Start A::class_method_fst_arg_of_class_method_inside_instance_method\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle* stringsBundlePath:NSString* \n " color=yellow style=filled] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_1" [label="1: Start A.class_method_fst_arg_of_class_method_inside_instance_method\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle* stringsBundlePath:NSString* \n " color=yellow style=filled] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_1" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_11" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_2" [label="2: Exit A::class_method_fst_arg_of_class_method_inside_instance_method \n " color=yellow style=filled] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_2" [label="2: Exit A.class_method_fst_arg_of_class_method_inside_instance_method \n " color=yellow style=filled] -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_3" [label="3: Return Stmt \n n$27=*&#GB$A::class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle* [line 120, column 10]\n *&return:NSBundle*=n$27 [line 120, column 3]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_3" [label="3: Return Stmt \n n$27=*&#GB$A.class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle* [line 120, column 10]\n *&return:NSBundle*=n$27 [line 120, column 3]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_3" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_2" ; @@ -92,35 +92,35 @@ digraph cfg { "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_7" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_4" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_8" [label="8: ConditionalStmt Branch \n n$31=_fun_NSBundle::mainBundle() [line 119, column 59]\n *&0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle*=n$31 [line 119, column 12]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_8" [label="8: ConditionalStmt Branch \n n$31=_fun_NSBundle.mainBundle() [line 119, column 59]\n *&0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle*=n$31 [line 119, column 12]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_8" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_4" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" [label="9: BinaryConditionalStmt Init \n n$28=*&stringsBundlePath:NSString* [line 119, column 37]\n n$29=_fun_NSBundle::bundleWithPath:(n$28:NSString*) [line 119, column 12]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" [label="9: BinaryConditionalStmt Init \n n$28=*&stringsBundlePath:NSString* [line 119, column 37]\n n$29=_fun_NSBundle.bundleWithPath:(n$28:NSString*) [line 119, column 12]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_5" ; "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_6" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_10" [label="10: BinaryOperatorStmt: Assign \n n$32=*&0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle* [line 119, column 12]\n *&#GB$A::class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle*=n$32 [line 119, column 3]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_10" [label="10: BinaryOperatorStmt: Assign \n n$32=*&0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle* [line 119, column 12]\n *&#GB$A.class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle*=n$32 [line 119, column 3]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_10" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_3" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_11" [label="11: DeclStmt \n VARIABLE_DECLARED(stringsBundlePath:NSString*); [line 116, column 3]\n n$35=_fun_NSBundle::bundleForClass:(sizeof(t=B):unsigned long) [line 117, column 8]\n n$33=_fun_NSString::stringWithUTF8String:(\"Strings\":char* const ) [line 117, column 60]\n n$34=_fun_NSString::stringWithUTF8String:(\"bundle\":char* const ) [line 118, column 60]\n n$36=_fun_NSBundle::pathForResource:ofType:(n$35:NSBundle*,n$33:NSString*,n$34:NSString*) virtual [line 117, column 7]\n *&stringsBundlePath:NSString*=n$36 [line 116, column 3]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_11" [label="11: DeclStmt \n VARIABLE_DECLARED(stringsBundlePath:NSString*); [line 116, column 3]\n n$35=_fun_NSBundle.bundleForClass:(sizeof(t=B):unsigned long) [line 117, column 8]\n n$33=_fun_NSString.stringWithUTF8String:(\"Strings\":char* const ) [line 117, column 60]\n n$34=_fun_NSString.stringWithUTF8String:(\"bundle\":char* const ) [line 118, column 60]\n n$36=_fun_NSBundle.pathForResource:ofType:(n$35:NSBundle*,n$33:NSString*,n$34:NSString*) virtual [line 117, column 7]\n *&stringsBundlePath:NSString*=n$36 [line 116, column 3]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_11" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" ; -"test_class#A#class.97324b18f626e66a3c32cec03286eb8d_1" [label="1: Start A::test_class\nFormals: \nLocals: \n " color=yellow style=filled] +"test_class#A#class.97324b18f626e66a3c32cec03286eb8d_1" [label="1: Start A.test_class\nFormals: \nLocals: \n " color=yellow style=filled] "test_class#A#class.97324b18f626e66a3c32cec03286eb8d_1" -> "test_class#A#class.97324b18f626e66a3c32cec03286eb8d_2" ; -"test_class#A#class.97324b18f626e66a3c32cec03286eb8d_2" [label="2: Exit A::test_class \n " color=yellow style=filled] +"test_class#A#class.97324b18f626e66a3c32cec03286eb8d_2" [label="2: Exit A.test_class \n " color=yellow style=filled] -"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_1" [label="1: Start A::used_in_binary_op:\nFormals: c:objc_class*\nLocals: \n " color=yellow style=filled] +"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_1" [label="1: Start A.used_in_binary_op:\nFormals: c:objc_class*\nLocals: \n " color=yellow style=filled] "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_1" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_5" ; -"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_2" [label="2: Exit A::used_in_binary_op: \n " color=yellow style=filled] +"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_2" [label="2: Exit A.used_in_binary_op: \n " color=yellow style=filled] "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_3" [label="3: + \n " ] @@ -152,128 +152,128 @@ digraph cfg { "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_9" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_2" ; -"call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_1" [label="1: Start A::call_alloc_instance\nFormals: self:A*\nLocals: \n " color=yellow style=filled] +"call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_1" [label="1: Start A.call_alloc_instance\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_1" -> "call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_3" ; -"call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_2" [label="2: Exit A::call_alloc_instance \n " color=yellow style=filled] +"call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_2" [label="2: Exit A.call_alloc_instance \n " color=yellow style=filled] "call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_3" [label="3: Call alloc \n n$7=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 61, column 3]\n " shape="box"] "call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_3" -> "call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_2" ; -"call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_1" [label="1: Start A::call_class_instance\nFormals: self:A*\nLocals: \n " color=yellow style=filled] +"call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_1" [label="1: Start A.call_class_instance\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_1" -> "call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_3" ; -"call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_2" [label="2: Exit A::call_class_instance \n " color=yellow style=filled] +"call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_2" [label="2: Exit A.call_class_instance \n " color=yellow style=filled] -"call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_3" [label="3: Message Call: test_class \n n$9=_fun_C::test_class() [line 65, column 3]\n " shape="box"] +"call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_3" [label="3: Message Call: test_class \n n$9=_fun_C.test_class() [line 65, column 3]\n " shape="box"] "call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_3" -> "call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_2" ; -"call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_1" [label="1: Start A::call_class_instance_with_class_name\nFormals: self:A*\nLocals: \n " color=yellow style=filled] +"call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_1" [label="1: Start A.call_class_instance_with_class_name\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_1" -> "call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_3" ; -"call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_2" [label="2: Exit A::call_class_instance_with_class_name \n " color=yellow style=filled] +"call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_2" [label="2: Exit A.call_class_instance_with_class_name \n " color=yellow style=filled] -"call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_3" [label="3: Message Call: test_class \n n$10=_fun_A::test_class() [line 69, column 3]\n " shape="box"] +"call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_3" [label="3: Message Call: test_class \n n$10=_fun_A.test_class() [line 69, column 3]\n " shape="box"] "call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_3" -> "call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_2" ; -"call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_1" [label="1: Start A::call_test\nFormals: self:A*\nLocals: \n " color=yellow style=filled] +"call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_1" [label="1: Start A.call_test\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_1" -> "call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_3" ; -"call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_2" [label="2: Exit A::call_test \n " color=yellow style=filled] +"call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_2" [label="2: Exit A.call_test \n " color=yellow style=filled] -"call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_3" [label="3: Message Call: test \n n$1=*&self:A* [line 46, column 4]\n n$2=_fun_A::test(n$1:A*) virtual [line 46, column 3]\n " shape="box"] +"call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_3" [label="3: Message Call: test \n n$1=*&self:A* [line 46, column 4]\n n$2=_fun_A.test(n$1:A*) virtual [line 46, column 3]\n " shape="box"] "call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_3" -> "call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_2" ; -"class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_1" [label="1: Start A::class_method_fst_arg_of_class_method\nFormals: self:A*\nLocals: \n " color=yellow style=filled] +"class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_1" [label="1: Start A.class_method_fst_arg_of_class_method\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_1" -> "class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_3" ; -"class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_2" [label="2: Exit A::class_method_fst_arg_of_class_method \n " color=yellow style=filled] +"class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_2" [label="2: Exit A.class_method_fst_arg_of_class_method \n " color=yellow style=filled] -"class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_3" [label="3: Return Stmt \n n$26=_fun_NSBundle::bundleForClass:(sizeof(t=A):unsigned long) [line 111, column 10]\n *&return:NSBundle*=n$26 [line 111, column 3]\n " shape="box"] +"class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_3" [label="3: Return Stmt \n n$26=_fun_NSBundle.bundleForClass:(sizeof(t=A):unsigned long) [line 111, column 10]\n *&return:NSBundle*=n$26 [line 111, column 3]\n " shape="box"] "class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_3" -> "class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_2" ; -"init#A#instance.eee79aaaddd644404e17691a7e7d809a_1" [label="1: Start A::init\nFormals: self:A*\nLocals: \n " color=yellow style=filled] +"init#A#instance.eee79aaaddd644404e17691a7e7d809a_1" [label="1: Start A.init\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "init#A#instance.eee79aaaddd644404e17691a7e7d809a_1" -> "init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" ; -"init#A#instance.eee79aaaddd644404e17691a7e7d809a_2" [label="2: Exit A::init \n " color=yellow style=filled] +"init#A#instance.eee79aaaddd644404e17691a7e7d809a_2" [label="2: Exit A.init \n " color=yellow style=filled] -"init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" [label="3: Message Call: init \n n$19=*&self:A* [line 86, column 3]\n n$20=_fun_NSObject::init(n$19:A*) [line 86, column 3]\n " shape="box"] +"init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" [label="3: Message Call: init \n n$19=*&self:A* [line 86, column 3]\n n$20=_fun_NSObject.init(n$19:A*) [line 86, column 3]\n " shape="box"] "init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" -> "init#A#instance.eee79aaaddd644404e17691a7e7d809a_2" ; -"loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_1" [label="1: Start A::loggerName\nFormals: self:A*\nLocals: \n " color=yellow style=filled] +"loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_1" [label="1: Start A.loggerName\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_1" -> "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_3" ; -"loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_2" [label="2: Exit A::loggerName \n " color=yellow style=filled] +"loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_2" [label="2: Exit A.loggerName \n " color=yellow style=filled] "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_3" [label="3: Return Stmt \n n$22=_fun_NSStringFromClass(sizeof(t=A):unsigned long) [line 90, column 10]\n *&return:NSString*=n$22 [line 90, column 3]\n " shape="box"] "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_3" -> "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_2" ; -"t#A#instance.e31b9a7bced712626784e2860af1a31b_1" [label="1: Start A::t\nFormals: self:A*\nLocals: b:B* \n " color=yellow style=filled] +"t#A#instance.e31b9a7bced712626784e2860af1a31b_1" [label="1: Start A.t\nFormals: self:A*\nLocals: b:B* \n " color=yellow style=filled] "t#A#instance.e31b9a7bced712626784e2860af1a31b_1" -> "t#A#instance.e31b9a7bced712626784e2860af1a31b_4" ; -"t#A#instance.e31b9a7bced712626784e2860af1a31b_2" [label="2: Exit A::t \n " color=yellow style=filled] +"t#A#instance.e31b9a7bced712626784e2860af1a31b_2" [label="2: Exit A.t \n " color=yellow style=filled] -"t#A#instance.e31b9a7bced712626784e2860af1a31b_3" [label="3: Message Call: b_m \n n$12=_fun_B::b_m() [line 74, column 3]\n " shape="box"] +"t#A#instance.e31b9a7bced712626784e2860af1a31b_3" [label="3: Message Call: b_m \n n$12=_fun_B.b_m() [line 74, column 3]\n " shape="box"] "t#A#instance.e31b9a7bced712626784e2860af1a31b_3" -> "t#A#instance.e31b9a7bced712626784e2860af1a31b_2" ; -"t#A#instance.e31b9a7bced712626784e2860af1a31b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B*); [line 73, column 3]\n n$13=_fun___objc_alloc_no_fail(sizeof(t=B):unsigned long) [line 73, column 10]\n n$14=_fun_NSObject::init(n$13:B*) virtual [line 73, column 10]\n *&b:B*=n$14 [line 73, column 3]\n " shape="box"] +"t#A#instance.e31b9a7bced712626784e2860af1a31b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B*); [line 73, column 3]\n n$13=_fun___objc_alloc_no_fail(sizeof(t=B):unsigned long) [line 73, column 10]\n n$14=_fun_NSObject.init(n$13:B*) virtual [line 73, column 10]\n *&b:B*=n$14 [line 73, column 3]\n " shape="box"] "t#A#instance.e31b9a7bced712626784e2860af1a31b_4" -> "t#A#instance.e31b9a7bced712626784e2860af1a31b_3" ; -"test#A#instance.561395dd5ffb844cbbb6c52cf21ce047_1" [label="1: Start A::test\nFormals: self:A*\nLocals: \n " color=yellow style=filled] +"test#A#instance.561395dd5ffb844cbbb6c52cf21ce047_1" [label="1: Start A.test\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "test#A#instance.561395dd5ffb844cbbb6c52cf21ce047_1" -> "test#A#instance.561395dd5ffb844cbbb6c52cf21ce047_2" ; -"test#A#instance.561395dd5ffb844cbbb6c52cf21ce047_2" [label="2: Exit A::test \n " color=yellow style=filled] +"test#A#instance.561395dd5ffb844cbbb6c52cf21ce047_2" [label="2: Exit A.test \n " color=yellow style=filled] -"use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_1" [label="1: Start A::use_class_in_other_ways:\nFormals: self:A* object:B*\nLocals: \n " color=yellow style=filled] +"use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_1" [label="1: Start A.use_class_in_other_ways:\nFormals: self:A* object:B*\nLocals: \n " color=yellow style=filled] "use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_1" -> "use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_3" ; -"use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_2" [label="2: Exit A::use_class_in_other_ways: \n " color=yellow style=filled] +"use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_2" [label="2: Exit A.use_class_in_other_ways: \n " color=yellow style=filled] -"use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_3" [label="3: Return Stmt \n n$16=*&object:B* [line 78, column 11]\n n$17=_fun_B::isC:(n$16:B*,sizeof(t=A):unsigned long) virtual [line 78, column 10]\n *&return:_Bool=n$17 [line 78, column 3]\n " shape="box"] +"use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_3" [label="3: Return Stmt \n n$16=*&object:B* [line 78, column 11]\n n$17=_fun_B.isC:(n$16:B*,sizeof(t=A):unsigned long) virtual [line 78, column 10]\n *&return:_Bool=n$17 [line 78, column 3]\n " shape="box"] "use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_3" -> "use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_2" ; -"b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_1" [label="1: Start B::b_m\nFormals: \nLocals: \n " color=yellow style=filled] +"b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_1" [label="1: Start B.b_m\nFormals: \nLocals: \n " color=yellow style=filled] "b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_1" -> "b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_2" ; -"b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_2" [label="2: Exit B::b_m \n " color=yellow style=filled] +"b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_2" [label="2: Exit B.b_m \n " color=yellow style=filled] -"isC:#B(struct objc_class)#instance.ab14fb7a19510df6032d65aa27b0f12d_1" [label="1: Start B::isC:\nFormals: self:B* aClass:objc_class*\nLocals: \n " color=yellow style=filled] +"isC:#B(struct objc_class)#instance.ab14fb7a19510df6032d65aa27b0f12d_1" [label="1: Start B.isC:\nFormals: self:B* aClass:objc_class*\nLocals: \n " color=yellow style=filled] "isC:#B(struct objc_class)#instance.ab14fb7a19510df6032d65aa27b0f12d_1" -> "isC:#B(struct objc_class)#instance.ab14fb7a19510df6032d65aa27b0f12d_3" ; -"isC:#B(struct objc_class)#instance.ab14fb7a19510df6032d65aa27b0f12d_2" [label="2: Exit B::isC: \n " color=yellow style=filled] +"isC:#B(struct objc_class)#instance.ab14fb7a19510df6032d65aa27b0f12d_2" [label="2: Exit B.isC: \n " color=yellow style=filled] "isC:#B(struct objc_class)#instance.ab14fb7a19510df6032d65aa27b0f12d_3" [label="3: Return Stmt \n *&return:_Bool=1 [line 23, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/frontend/self_static/static.m.dot b/infer/tests/codetoanalyze/objc/frontend/self_static/static.m.dot index 1822da86c..10b53a930 100644 --- a/infer/tests/codetoanalyze/objc/frontend/self_static/static.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/self_static/static.m.dot @@ -1,54 +1,54 @@ /* @generated */ digraph cfg { -"aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_1" [label="1: Start MyClass::aClassMethod\nFormals: \nLocals: myClass:MyClass* \n " color=yellow style=filled] +"aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_1" [label="1: Start MyClass.aClassMethod\nFormals: \nLocals: myClass:MyClass* \n " color=yellow style=filled] "aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_1" -> "aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_3" ; -"aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_2" [label="2: Exit MyClass::aClassMethod \n " color=yellow style=filled] +"aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_2" [label="2: Exit MyClass.aClassMethod \n " color=yellow style=filled] "aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_3" [label="3: DeclStmt \n VARIABLE_DECLARED(myClass:MyClass*); [line 19, column 3]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=MyClass):unsigned long) [line 19, column 22]\n *&myClass:MyClass*=n$0 [line 19, column 3]\n " shape="box"] "aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_3" -> "aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_2" ; -"aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_1" [label="1: Start MyClass::aClassMethod2\nFormals: \nLocals: \n " color=yellow style=filled] +"aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_1" [label="1: Start MyClass.aClassMethod2\nFormals: \nLocals: \n " color=yellow style=filled] "aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_1" -> "aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_3" ; -"aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_2" [label="2: Exit MyClass::aClassMethod2 \n " color=yellow style=filled] +"aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_2" [label="2: Exit MyClass.aClassMethod2 \n " color=yellow style=filled] -"aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_3" [label="3: Message Call: aClassMethod \n n$2=_fun_MyClass::aClassMethod() [line 27, column 3]\n " shape="box"] +"aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_3" [label="3: Message Call: aClassMethod \n n$2=_fun_MyClass.aClassMethod() [line 27, column 3]\n " shape="box"] "aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_3" -> "aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_2" ; -"anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_1" [label="1: Start MyClass::anInstanceMethod\nFormals: self:MyClass*\nLocals: \n " color=yellow style=filled] +"anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_1" [label="1: Start MyClass.anInstanceMethod\nFormals: self:MyClass*\nLocals: \n " color=yellow style=filled] "anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_1" -> "anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_3" ; -"anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_2" [label="2: Exit MyClass::anInstanceMethod \n " color=yellow style=filled] +"anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_2" [label="2: Exit MyClass.anInstanceMethod \n " color=yellow style=filled] -"anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_3" [label="3: Message Call: aClassMethod \n n$1=_fun_MyClass::aClassMethod() [line 23, column 3]\n " shape="box"] +"anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_3" [label="3: Message Call: aClassMethod \n n$1=_fun_MyClass.aClassMethod() [line 23, column 3]\n " shape="box"] "anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_3" -> "anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_2" ; -"anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_1" [label="1: Start MyClass::anInstanceMethod2\nFormals: self:MyClass*\nLocals: \n " color=yellow style=filled] +"anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_1" [label="1: Start MyClass.anInstanceMethod2\nFormals: self:MyClass*\nLocals: \n " color=yellow style=filled] "anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_1" -> "anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_3" ; -"anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_2" [label="2: Exit MyClass::anInstanceMethod2 \n " color=yellow style=filled] +"anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_2" [label="2: Exit MyClass.anInstanceMethod2 \n " color=yellow style=filled] -"anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_3" [label="3: Message Call: getX \n n$3=*&self:MyClass* [line 35, column 4]\n n$4=_fun_MyClass::getX(n$3:MyClass*) virtual [line 35, column 3]\n " shape="box"] +"anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_3" [label="3: Message Call: getX \n n$3=*&self:MyClass* [line 35, column 4]\n n$4=_fun_MyClass.getX(n$3:MyClass*) virtual [line 35, column 3]\n " shape="box"] "anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_3" -> "anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_2" ; -"getX#MyClass#instance.ddf21e5eecd35d40e2b277a5d6933812_1" [label="1: Start MyClass::getX\nFormals: self:MyClass*\nLocals: \n " color=yellow style=filled] +"getX#MyClass#instance.ddf21e5eecd35d40e2b277a5d6933812_1" [label="1: Start MyClass.getX\nFormals: self:MyClass*\nLocals: \n " color=yellow style=filled] "getX#MyClass#instance.ddf21e5eecd35d40e2b277a5d6933812_1" -> "getX#MyClass#instance.ddf21e5eecd35d40e2b277a5d6933812_3" ; -"getX#MyClass#instance.ddf21e5eecd35d40e2b277a5d6933812_2" [label="2: Exit MyClass::getX \n " color=yellow style=filled] +"getX#MyClass#instance.ddf21e5eecd35d40e2b277a5d6933812_2" [label="2: Exit MyClass.getX \n " color=yellow style=filled] "getX#MyClass#instance.ddf21e5eecd35d40e2b277a5d6933812_3" [label="3: Return Stmt \n *&return:int=0 [line 31, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot b/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot index df8bae2c0..a9f1dc9b1 100644 --- a/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_2" [label="2: Exit __infer_globals_initializer_lastName \n " color=yellow style=filled] -"__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$lastName:NSString*); [line 10, column 1]\n n$0=_fun_NSString::stringWithUTF8String:(\"Rodriguez\":char* const ) [line 10, column 22]\n *&#GB$lastName:NSString*=n$0 [line 10, column 1]\n " shape="box"] +"__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$lastName:NSString*); [line 10, column 1]\n n$0=_fun_NSString.stringWithUTF8String:(\"Rodriguez\":char* const ) [line 10, column 22]\n *&#GB$lastName:NSString*=n$0 [line 10, column 1]\n " shape="box"] "__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_3" -> "__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/strings/string_literal.m.dot b/infer/tests/codetoanalyze/objc/frontend/strings/string_literal.m.dot index 007899220..421653460 100644 --- a/infer/tests/codetoanalyze/objc/frontend/strings/string_literal.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/strings/string_literal.m.dot @@ -11,7 +11,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lastName:NSString*); [line 11, column 3]\n n$0=_fun_NSString::stringWithUTF8String:(\"Rodriguez\":char* const ) [line 11, column 24]\n *&lastName:NSString*=n$0 [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lastName:NSString*); [line 11, column 3]\n n$0=_fun_NSString.stringWithUTF8String:(\"Rodriguez\":char* const ) [line 11, column 24]\n *&lastName:NSString*=n$0 [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/subclass/MyClass.m.dot b/infer/tests/codetoanalyze/objc/frontend/subclass/MyClass.m.dot index 5d456e816..bc2ff68b3 100644 --- a/infer/tests/codetoanalyze/objc/frontend/subclass/MyClass.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/subclass/MyClass.m.dot @@ -1,10 +1,10 @@ /* @generated */ digraph cfg { -"myNumber#MyClass#instance.b5167e9607437362e48461937478a06c_1" [label="1: Start MyClass::myNumber\nFormals: self:MyClass*\nLocals: \n " color=yellow style=filled] +"myNumber#MyClass#instance.b5167e9607437362e48461937478a06c_1" [label="1: Start MyClass.myNumber\nFormals: self:MyClass*\nLocals: \n " color=yellow style=filled] "myNumber#MyClass#instance.b5167e9607437362e48461937478a06c_1" -> "myNumber#MyClass#instance.b5167e9607437362e48461937478a06c_3" ; -"myNumber#MyClass#instance.b5167e9607437362e48461937478a06c_2" [label="2: Exit MyClass::myNumber \n " color=yellow style=filled] +"myNumber#MyClass#instance.b5167e9607437362e48461937478a06c_2" [label="2: Exit MyClass.myNumber \n " color=yellow style=filled] "myNumber#MyClass#instance.b5167e9607437362e48461937478a06c_3" [label="3: Return Stmt \n *&return:int=1 [line 13, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot b/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot index 3b8ac6c59..0226bd901 100644 --- a/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot @@ -1,17 +1,17 @@ /* @generated */ digraph cfg { -"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_1" [label="1: Start MySubclass::myNumber\nFormals: self:MySubclass*\nLocals: subclassNumber:int \n " color=yellow style=filled] +"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_1" [label="1: Start MySubclass.myNumber\nFormals: self:MySubclass*\nLocals: subclassNumber:int \n " color=yellow style=filled] "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_1" -> "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" ; -"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_2" [label="2: Exit MySubclass::myNumber \n " color=yellow style=filled] +"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_2" [label="2: Exit MySubclass.myNumber \n " color=yellow style=filled] "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" [label="3: Return Stmt \n n$0=*&subclassNumber:int [line 16, column 10]\n *&return:int=n$0 [line 16, column 3]\n " shape="box"] "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" -> "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_2" ; -"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" [label="4: DeclStmt \n VARIABLE_DECLARED(subclassNumber:int); [line 15, column 3]\n n$1=*&self:MySubclass* [line 15, column 24]\n n$2=_fun_MyClass::myNumber(n$1:MySubclass*) [line 15, column 24]\n *&subclassNumber:int=(n$2 + 1) [line 15, column 3]\n " shape="box"] +"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" [label="4: DeclStmt \n VARIABLE_DECLARED(subclassNumber:int); [line 15, column 3]\n n$1=*&self:MySubclass* [line 15, column 24]\n n$2=_fun_MyClass.myNumber(n$1:MySubclass*) [line 15, column 24]\n *&subclassNumber:int=(n$2 + 1) [line 15, column 3]\n " shape="box"] "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" -> "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/subclass/main.c.dot b/infer/tests/codetoanalyze/objc/frontend/subclass/main.c.dot index 12cdf161c..e463376b1 100644 --- a/infer/tests/codetoanalyze/objc/frontend/subclass/main.c.dot +++ b/infer/tests/codetoanalyze/objc/frontend/subclass/main.c.dot @@ -11,7 +11,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:A*); [line 11, column 3]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 11, column 11]\n n$1=_fun_NSObject::init(n$0:A*) virtual [line 11, column 10]\n *&a:A*=n$1 [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:A*); [line 11, column 3]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 11, column 11]\n n$1=_fun_NSObject.init(n$0:A*) virtual [line 11, column 10]\n *&a:A*=n$1 [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot b/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot index 66fc69aff..70e6a1577 100644 --- a/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot @@ -22,11 +22,11 @@ digraph cfg { "__infer_globals_initializer___iPhoneVideoAdLayout#774934d200ab6ea201ea7444923ebf03.1e6bd750ce4ce65119ad54cee8ee01a8_3" -> "__infer_globals_initializer___iPhoneVideoAdLayout#774934d200ab6ea201ea7444923ebf03.1e6bd750ce4ce65119ad54cee8ee01a8_2" ; -"layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_1" [label="1: Start FBScrollViewDelegateProxy::layoutToUse\nFormals: \nLocals: \n " color=yellow style=filled] +"layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_1" [label="1: Start FBScrollViewDelegateProxy.layoutToUse\nFormals: \nLocals: \n " color=yellow style=filled] "layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_1" -> "layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_3" ; -"layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_2" [label="2: Exit FBScrollViewDelegateProxy::layoutToUse \n " color=yellow style=filled] +"layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_2" [label="2: Exit FBScrollViewDelegateProxy.layoutToUse \n " color=yellow style=filled] "layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_3" [label="3: Return Stmt \n n$0=*&#GB$__iPhoneVideoAdLayout:FBVideoAdLayout [line 43, column 10]\n *&return:FBVideoAdLayout=n$0 [line 43, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot b/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot index 0e97db2d1..a5b7f72a3 100644 --- a/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot @@ -45,11 +45,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&o:AClass* [line 43, column 10]\n n$1=*&x:int [line 43, column 16]\n n$3=_fun_AClass::bar:(n$2:AClass*,n$1:int) virtual [line 43, column 9]\n *&x:int=n$3 [line 43, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&o:AClass* [line 43, column 10]\n n$1=*&x:int [line 43, column 16]\n n$3=_fun_AClass.bar:(n$2:AClass*,n$1:int) virtual [line 43, column 9]\n *&x:int=n$3 [line 43, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Message Call: foo: \n n$5=*&o:AClass* [line 42, column 6]\n n$4=*&x:int [line 42, column 12]\n n$6=_fun_AClass::foo:(n$5:AClass*,n$4:int) virtual [line 42, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Message Call: foo: \n n$5=*&o:AClass* [line 42, column 6]\n n$4=*&x:int [line 42, column 12]\n n$6=_fun_AClass.foo:(n$5:AClass*,n$4:int) virtual [line 42, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -70,22 +70,22 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_1" [label="1: Start AClass::bar:\nFormals: self:AClass* a:int\nLocals: \n " color=yellow style=filled] +"bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_1" [label="1: Start AClass.bar:\nFormals: self:AClass* a:int\nLocals: \n " color=yellow style=filled] "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_1" -> "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_3" ; -"bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_2" [label="2: Exit AClass::bar: \n " color=yellow style=filled] +"bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_2" [label="2: Exit AClass.bar: \n " color=yellow style=filled] "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_3" [label="3: Return Stmt \n n$1=*&a:int [line 22, column 10]\n *&a:int=(n$1 + 1) [line 22, column 10]\n *&return:int=n$1 [line 22, column 3]\n " shape="box"] "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_3" -> "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_2" ; -"foo:#AClass#instance.85442408d439a21334483f95effd3023_1" [label="1: Start AClass::foo:\nFormals: self:AClass* a:int\nLocals: \n " color=yellow style=filled] +"foo:#AClass#instance.85442408d439a21334483f95effd3023_1" [label="1: Start AClass.foo:\nFormals: self:AClass* a:int\nLocals: \n " color=yellow style=filled] "foo:#AClass#instance.85442408d439a21334483f95effd3023_1" -> "foo:#AClass#instance.85442408d439a21334483f95effd3023_3" ; -"foo:#AClass#instance.85442408d439a21334483f95effd3023_2" [label="2: Exit AClass::foo: \n " color=yellow style=filled] +"foo:#AClass#instance.85442408d439a21334483f95effd3023_2" [label="2: Exit AClass.foo: \n " color=yellow style=filled] "foo:#AClass#instance.85442408d439a21334483f95effd3023_3" [label="3: UnaryOperator \n n$0=*&a:int [line 19, column 3]\n *&a:int=(n$0 + 1) [line 19, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot index f8216ddb3..ac0a28865 100644 --- a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot @@ -1,10 +1,10 @@ /* @generated */ digraph cfg { -"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_1" [label="1: Start AClass::sharedInstance\nFormals: self:AClass*\nLocals: \n " color=yellow style=filled] +"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_1" [label="1: Start AClass.sharedInstance\nFormals: self:AClass*\nLocals: \n " color=yellow style=filled] "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_1" -> "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" ; -"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_2" [label="2: Exit AClass::sharedInstance \n " color=yellow style=filled] +"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_2" [label="2: Exit AClass.sharedInstance \n " color=yellow style=filled] "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" [label="3: Return Stmt \n n$0=*&#GB$aVariable:NSObject* [line 19, column 10]\n *&return:NSObject*=n$0 [line 19, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot index 5f751a454..be6bc5ec5 100644 --- a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot @@ -1,10 +1,10 @@ /* @generated */ digraph cfg { -"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_1" [label="1: Start AClass::sharedInstance\nFormals: self:AClass*\nLocals: \n " color=yellow style=filled] +"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_1" [label="1: Start AClass.sharedInstance\nFormals: self:AClass*\nLocals: \n " color=yellow style=filled] "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_1" -> "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" ; -"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_2" [label="2: Exit AClass::sharedInstance \n " color=yellow style=filled] +"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_2" [label="2: Exit AClass.sharedInstance \n " color=yellow style=filled] "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" [label="3: Return Stmt \n n$0=*&#GB$aVariable:NSObject* [line 19, column 10]\n *&return:NSObject*=n$0 [line 19, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot b/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot index 6636a78f1..66c160d0a 100644 --- a/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot @@ -29,7 +29,7 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_2" [label="2: Exit test \n " color=yellow style=filled] -"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:C*[3*8]); [line 23, column 3]\n n$0=*&c1:C* [line 23, column 15]\n n$1=_fun_NSObject::init(n$0:C*) virtual [line 23, column 14]\n *&a[0]:C*=n$1 [line 23, column 13]\n n$2=*&c1:C* [line 23, column 25]\n *&a[1]:C*=n$2 [line 23, column 13]\n n$3=*&c2:C* [line 23, column 29]\n *&a[2]:C*=n$3 [line 23, column 13]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:C*[3*8]); [line 23, column 3]\n n$0=*&c1:C* [line 23, column 15]\n n$1=_fun_NSObject.init(n$0:C*) virtual [line 23, column 14]\n *&a[0]:C*=n$1 [line 23, column 13]\n n$2=*&c1:C* [line 23, column 25]\n *&a[1]:C*=n$2 [line 23, column 13]\n n$3=*&c2:C* [line 23, column 29]\n *&a[2]:C*=n$3 [line 23, column 13]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; diff --git a/infer/tests/codetoanalyze/objc/ioslints/issues.exp b/infer/tests/codetoanalyze/objc/ioslints/issues.exp index 630168f3d..14e371092 100644 --- a/infer/tests/codetoanalyze/objc/ioslints/issues.exp +++ b/infer/tests/codetoanalyze/objc/ioslints/issues.exp @@ -1,10 +1,10 @@ -codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases::m2, 144, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] -codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases::m3, 152, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] -codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases::uifont_without_respondstoselector, 127, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] -codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases::with_responds_to_selector_in_else, 80, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] -codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases::without_instances_responds_to_selector, 104, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] -codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases::without_responds_to_selector, 65, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases.m2, 144, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases.m3, 152, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases.uifont_without_respondstoselector, 127, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases.with_responds_to_selector_in_else, 80, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases.without_instances_responds_to_selector, 104, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases.without_responds_to_selector, 65, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, OpenURLOptionsFromSourceApplication, 69, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] -codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk::unsupported_class, 35, UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] -codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk::unsupported_class_with_attributes, 54, UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] -codetoanalyze/objc/ioslints/unavailable_property_ios.m, FNFPlayerLayer::initWithConfigs, 20, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk.unsupported_class, 35, UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk.unsupported_class_with_attributes, 54, UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_property_ios.m, FNFPlayerLayer.initWithConfigs, 20, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, no_bucket, ERROR, [] diff --git a/infer/tests/codetoanalyze/objc/linters-for-test-only/issues.exp b/infer/tests/codetoanalyze/objc/linters-for-test-only/issues.exp index 6ee148c62..9c2796474 100644 --- a/infer/tests/codetoanalyze/objc/linters-for-test-only/issues.exp +++ b/infer/tests/codetoanalyze/objc/linters-for-test-only/issues.exp @@ -4,16 +4,16 @@ codetoanalyze/objc/linters-for-test-only/CFStringExample.m, main, 22, FILTER_BY_ codetoanalyze/objc/linters-for-test-only/CFStringExample.m, main, 22, WHITE_BLACKLIST_PATH_EXAMPLE, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/CFStringExample.m, main, 23, CALLS_TO_FUNCTIONS_WITH_CREATE_FUNCTION_PARAMETERS, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/CFStringExample.m, main, 24, CALLS_TO_FUNCTIONS_WITH_CREATE_FUNCTION_PARAMETERS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf::methodThatShallBeOkaySuper, 35, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf::methodThatShallComplain, 38, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf::methodThatShallComplain, 39, TEST_IF_VIEW_METHOD_IS_NOT_CALLED_WITH_SUPER, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf::testView, 25, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf::testView, 25, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf::testView, 42, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf::testView, 42, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf::testView, 43, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelfBase::testView, 14, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelfBase::testView, 15, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf.methodThatShallBeOkaySuper, 35, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf.methodThatShallComplain, 38, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf.methodThatShallComplain, 39, TEST_IF_VIEW_METHOD_IS_NOT_CALLED_WITH_SUPER, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf.testView, 25, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf.testView, 25, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf.testView, 42, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf.testView, 42, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf.testView, 43, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelfBase.testView, 14, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelfBase.testView, 15, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, Linters_dummy_method, 12, TEST_IF_IS_PROTOCOL_NAMED, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, Linters_dummy_method, 19, TEST_IF_IS_CLASS_NAMED, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, Linters_dummy_method, 29, CAT_DECL_MACRO, no_bucket, WARNING, [] @@ -37,208 +37,208 @@ codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, Linters_dummy_metho codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, Linters_dummy_method, 189, CAT_IMPL_MACRO, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, Linters_dummy_method, 189, TEST_IF_IS_CATEGORY_IMPLEMENTATION_ON_SUBCLASS_OF, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, Linters_dummy_method, 189, TEST_IF_IS_CATEGORY_ON_SUBCLASS_OF, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassCategoryMethod, 78, TEST_IF_METHOD_IS_IN_CATEGORY_INTERFACE_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassCategoryMethod, 78, TEST_IF_METHOD_IS_IN_CATEGORY_INTERFACE_ON_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassCategoryMethod, 78, TEST_IF_METHOD_IS_IN_CATEGORY_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassCategoryMethod, 78, TEST_IF_METHOD_IS_IN_CATEGORY_ON_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassCategoryMethod, 84, TEST_IF_METHOD_IS_IN_CATEGORY_IMPLEMENATION_ON_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassCategoryMethod, 84, TEST_IF_METHOD_IS_IN_CATEGORY_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassCategoryMethod, 84, TEST_IF_METHOD_IS_IN_CATEGORY_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassCategoryMethod, 84, TEST_IF_METHOD_IS_IN_CATEGORY_ON_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassCategoryMethod, 84, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassAndInstanceMethod, 23, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassAndInstanceMethod, 23, TEST_IF_METHOD_IS_IN_INTERFACE_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassAndInstanceMethod, 24, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassAndInstanceMethod, 24, TEST_IF_METHOD_IS_IN_INTERFACE_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassAndInstanceMethod, 40, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassAndInstanceMethod, 40, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassAndInstanceMethod, 40, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassAndInstanceMethod, 42, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassAndInstanceMethod, 42, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassAndInstanceMethod, 42, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 22, TEST_IF_IS_CLASS_METHOD_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 22, TEST_IF_IS_METHOD_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 22, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 22, TEST_IF_METHOD_IS_IN_INTERFACE_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 22, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 37, TEST_IF_IS_CLASS_METHOD_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 37, TEST_IF_IS_METHOD_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 37, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 37, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 37, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 37, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 37, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 38, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 38, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassClassMethod, 38, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassInterfaceExtensionMethod, 31, TEST_IF_METHOD_IS_IN_CATEGORY_INTERFACE_ON_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassInterfaceExtensionMethod, 31, TEST_IF_METHOD_IS_IN_CATEGORY_ON_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassInterfaceExtensionMethod, 47, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassInterfaceExtensionMethod, 47, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassInterfaceExtensionMethod, 47, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassMethod, 25, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassMethod, 25, TEST_IF_METHOD_IS_IN_INTERFACE_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassMethod, 25, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassMethod, 44, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassMethod, 44, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassMethod, 44, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassMethod, 44, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassMethod, 44, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassMethod, 45, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassMethod, 45, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassMethod, 45, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassProperty, 53, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassProperty, 53, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassProperty, 53, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassProperty, 53, TEST_RETURN_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassProtocolOptionalMethod, 51, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassProtocolOptionalMethod, 51, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassProtocolOptionalMethod, 51, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassProtocolOptionalMethod, 51, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassProtocolRequiredMethod, 49, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassProtocolRequiredMethod, 49, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassProtocolRequiredMethod, 49, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassProtocolRequiredMethod, 49, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 59, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 59, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 60, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 61, TEST_ALL_METHODS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 61, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 61, TEST_IS_RECEIVER_CLASS_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 62, TEST_ALL_METHODS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 62, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 64, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 65, TEST_ALL_METHODS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 65, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 65, TEST_IS_RECEIVER_CLASS_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 66, TEST_ALL_METHODS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 66, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 68, TEST_ALL_METHODS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 68, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 69, TEST_IS_RECEIVER_ID_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 69, UNSAFE_CALL_TO_OPTIONAL_METHOD, no_bucket, ERROR, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 70, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 71, TEST_ALL_METHODS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::myBaseClassTestReceiver, 71, TEST_IS_RECEIVER_CLASS_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::setMyBaseClassProperty, 56, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::setMyBaseClassProperty, 56, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::setMyBaseClassProperty, 56, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass::setMyBaseClassProperty, 56, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClassProtocol::myBaseClassProtocolOptionalMethod, 16, TEST_IF_METHOD_IS_IN_PROTOCOL_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClassProtocol::myBaseClassProtocolOptionalMethod, 16, TEST_IS_OPTIONAL_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClassProtocol::myBaseClassProtocolRequiredMethod, 14, TEST_IF_METHOD_IS_IN_PROTOCOL_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassCategoryMethod, 148, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassCategoryMethod, 148, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassCategoryMethod, 149, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassCategoryMethod, 149, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassClassMethod, 120, TEST_IF_IS_CLASS_METHOD_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassClassMethod, 120, TEST_IF_IS_METHOD_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassClassMethod, 120, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassClassMethod, 120, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassClassMethod, 120, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassClassMethod, 120, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassClassMethod, 121, TEST_ALL_METHODS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassClassMethod, 121, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassClassMethod, 121, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassClassMethod, 121, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassInterfaceExtensionMethod, 128, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassInterfaceExtensionMethod, 128, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassInterfaceExtensionMethod, 129, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassInterfaceExtensionMethod, 129, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassMethod, 124, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassMethod, 124, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassMethod, 124, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassMethod, 124, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassMethod, 125, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassMethod, 125, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassMethod, 125, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassProperty, 140, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassProperty, 140, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassProperty, 140, TEST_RETURN_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassProperty, 141, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassProperty, 141, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassProtocolOptionalMethod, 136, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassProtocolOptionalMethod, 136, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassProtocolOptionalMethod, 137, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassProtocolOptionalMethod, 137, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassProtocolRequiredMethod, 132, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassProtocolRequiredMethod, 132, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassProtocolRequiredMethod, 133, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::myBaseClassProtocolRequiredMethod, 133, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassCategoryMethod, 185, TEST_IF_METHOD_IS_IN_CATEGORY_INTERFACE_ON_SUBCLASS_OF, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassCategoryMethod, 185, TEST_IF_METHOD_IS_IN_CATEGORY_ON_SUBCLASS_OF, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassCategoryMethod, 191, TEST_IF_METHOD_IS_IN_CATEGORY_IMPLEMENTATION_ON_SUBCLASS_OF, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassCategoryMethod, 191, TEST_IF_METHOD_IS_IN_CATEGORY_ON_SUBCLASS_OF, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassCategoryMethod, 191, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassMethod, 114, TEST_IF_IS_INSTANCE_METHOD_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassMethod, 114, TEST_IF_IS_METHOD_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassMethod, 152, TEST_IF_IS_INSTANCE_METHOD_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassMethod, 152, TEST_IF_IS_METHOD_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassMethod, 152, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassProtocol2OptionalMethod, 160, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassProtocol2OptionalMethod, 160, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassProtocol2RequiredMethod, 158, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassProtocol2RequiredMethod, 158, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassProtocolOptionalMethod, 156, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassProtocolOptionalMethod, 156, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassProtocolRequiredMethod, 154, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassProtocolRequiredMethod, 154, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassSubprotocol2OptionalMethod, 164, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassSubprotocol2OptionalMethod, 164, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassSubprotocol2RequiredMethod, 162, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassSubprotocol2RequiredMethod, 162, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 168, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 168, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 169, TEST_IS_RECEIVER_SUBCLASS_OF, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 172, TEST_ALL_METHODS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 172, TEST_IS_RECEIVER_CLASS_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 172, TEST_IS_RECEIVER_SUBCLASS_OF, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 173, TEST_ALL_METHODS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 173, TEST_IS_RECEIVER_CLASS_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 173, TEST_IS_RECEIVER_SUBCLASS_OF, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 174, TEST_ALL_METHODS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 174, TEST_IS_RECEIVER_SUBCLASS_OF, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 176, TEST_ALL_METHODS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 176, TEST_IS_RECEIVER_SUBCLASS_OF, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 177, TEST_ALL_METHODS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 177, TEST_IS_RECEIVER_CLASS_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 177, TEST_IS_RECEIVER_SUBCLASS_OF, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::mySubclassTestReceiver, 178, TEST_IS_RECEIVER_SUBCLASS_OF, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::setMyBaseClassProperty, 144, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::setMyBaseClassProperty, 144, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::setMyBaseClassProperty, 144, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::setMyBaseClassProperty, 145, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass::setMyBaseClassProperty, 145, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclassProtocol2::mySubclassProtocol2OptionalMethod, 102, TEST_IS_OPTIONAL_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclassProtocol::mySubclassProtocolOptionalMethod, 95, TEST_IS_OPTIONAL_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclassSubprotocol::mySubclassSubprotocol2OptionalMethod, 109, TEST_IS_OPTIONAL_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, InContextOfMethodsTest::method, 14, TEST_IN_METHOD_CONTEXT, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, InContextOfMethodsTest::method, 14, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassCategoryMethod, 78, TEST_IF_METHOD_IS_IN_CATEGORY_INTERFACE_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassCategoryMethod, 78, TEST_IF_METHOD_IS_IN_CATEGORY_INTERFACE_ON_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassCategoryMethod, 78, TEST_IF_METHOD_IS_IN_CATEGORY_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassCategoryMethod, 78, TEST_IF_METHOD_IS_IN_CATEGORY_ON_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassCategoryMethod, 84, TEST_IF_METHOD_IS_IN_CATEGORY_IMPLEMENATION_ON_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassCategoryMethod, 84, TEST_IF_METHOD_IS_IN_CATEGORY_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassCategoryMethod, 84, TEST_IF_METHOD_IS_IN_CATEGORY_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassCategoryMethod, 84, TEST_IF_METHOD_IS_IN_CATEGORY_ON_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassCategoryMethod, 84, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassAndInstanceMethod, 23, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassAndInstanceMethod, 23, TEST_IF_METHOD_IS_IN_INTERFACE_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassAndInstanceMethod, 24, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassAndInstanceMethod, 24, TEST_IF_METHOD_IS_IN_INTERFACE_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassAndInstanceMethod, 40, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassAndInstanceMethod, 40, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassAndInstanceMethod, 40, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassAndInstanceMethod, 42, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassAndInstanceMethod, 42, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassAndInstanceMethod, 42, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 22, TEST_IF_IS_CLASS_METHOD_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 22, TEST_IF_IS_METHOD_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 22, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 22, TEST_IF_METHOD_IS_IN_INTERFACE_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 22, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 37, TEST_IF_IS_CLASS_METHOD_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 37, TEST_IF_IS_METHOD_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 37, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 37, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 37, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 37, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 37, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 38, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 38, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassClassMethod, 38, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassInterfaceExtensionMethod, 31, TEST_IF_METHOD_IS_IN_CATEGORY_INTERFACE_ON_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassInterfaceExtensionMethod, 31, TEST_IF_METHOD_IS_IN_CATEGORY_ON_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassInterfaceExtensionMethod, 47, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassInterfaceExtensionMethod, 47, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassInterfaceExtensionMethod, 47, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassMethod, 25, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassMethod, 25, TEST_IF_METHOD_IS_IN_INTERFACE_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassMethod, 25, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassMethod, 44, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassMethod, 44, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassMethod, 44, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassMethod, 44, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassMethod, 44, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassMethod, 45, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassMethod, 45, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassMethod, 45, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassProperty, 53, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassProperty, 53, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassProperty, 53, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassProperty, 53, TEST_RETURN_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassProtocolOptionalMethod, 51, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassProtocolOptionalMethod, 51, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassProtocolOptionalMethod, 51, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassProtocolOptionalMethod, 51, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassProtocolRequiredMethod, 49, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassProtocolRequiredMethod, 49, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassProtocolRequiredMethod, 49, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassProtocolRequiredMethod, 49, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 59, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 59, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 60, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 61, TEST_ALL_METHODS, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 61, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 61, TEST_IS_RECEIVER_CLASS_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 62, TEST_ALL_METHODS, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 62, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 64, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 65, TEST_ALL_METHODS, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 65, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 65, TEST_IS_RECEIVER_CLASS_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 66, TEST_ALL_METHODS, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 66, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 68, TEST_ALL_METHODS, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 68, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 69, TEST_IS_RECEIVER_ID_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 69, UNSAFE_CALL_TO_OPTIONAL_METHOD, no_bucket, ERROR, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 70, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 71, TEST_ALL_METHODS, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.myBaseClassTestReceiver, 71, TEST_IS_RECEIVER_CLASS_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.setMyBaseClassProperty, 56, TEST_IF_METHOD_IS_IN_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.setMyBaseClassProperty, 56, TEST_IF_METHOD_IS_IN_IMPLEMENTATION_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.setMyBaseClassProperty, 56, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClass.setMyBaseClassProperty, 56, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClassProtocol.myBaseClassProtocolOptionalMethod, 16, TEST_IF_METHOD_IS_IN_PROTOCOL_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClassProtocol.myBaseClassProtocolOptionalMethod, 16, TEST_IS_OPTIONAL_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MyBaseClassProtocol.myBaseClassProtocolRequiredMethod, 14, TEST_IF_METHOD_IS_IN_PROTOCOL_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassCategoryMethod, 148, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassCategoryMethod, 148, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassCategoryMethod, 149, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassCategoryMethod, 149, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassClassMethod, 120, TEST_IF_IS_CLASS_METHOD_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassClassMethod, 120, TEST_IF_IS_METHOD_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassClassMethod, 120, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassClassMethod, 120, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassClassMethod, 120, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassClassMethod, 120, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassClassMethod, 121, TEST_ALL_METHODS, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassClassMethod, 121, TEST_IN_CLASS_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassClassMethod, 121, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassClassMethod, 121, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassInterfaceExtensionMethod, 128, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassInterfaceExtensionMethod, 128, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassInterfaceExtensionMethod, 129, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassInterfaceExtensionMethod, 129, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassMethod, 124, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassMethod, 124, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassMethod, 124, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassMethod, 124, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassMethod, 125, TEST_IN_INSTANCE_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassMethod, 125, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassMethod, 125, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassProperty, 140, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassProperty, 140, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassProperty, 140, TEST_RETURN_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassProperty, 141, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassProperty, 141, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassProtocolOptionalMethod, 136, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassProtocolOptionalMethod, 136, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassProtocolOptionalMethod, 137, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassProtocolOptionalMethod, 137, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassProtocolRequiredMethod, 132, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassProtocolRequiredMethod, 132, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassProtocolRequiredMethod, 133, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.myBaseClassProtocolRequiredMethod, 133, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassCategoryMethod, 185, TEST_IF_METHOD_IS_IN_CATEGORY_INTERFACE_ON_SUBCLASS_OF, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassCategoryMethod, 185, TEST_IF_METHOD_IS_IN_CATEGORY_ON_SUBCLASS_OF, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassCategoryMethod, 191, TEST_IF_METHOD_IS_IN_CATEGORY_IMPLEMENTATION_ON_SUBCLASS_OF, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassCategoryMethod, 191, TEST_IF_METHOD_IS_IN_CATEGORY_ON_SUBCLASS_OF, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassCategoryMethod, 191, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassMethod, 114, TEST_IF_IS_INSTANCE_METHOD_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassMethod, 114, TEST_IF_IS_METHOD_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassMethod, 152, TEST_IF_IS_INSTANCE_METHOD_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassMethod, 152, TEST_IF_IS_METHOD_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassMethod, 152, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassProtocol2OptionalMethod, 160, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassProtocol2OptionalMethod, 160, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassProtocol2RequiredMethod, 158, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassProtocol2RequiredMethod, 158, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassProtocolOptionalMethod, 156, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassProtocolOptionalMethod, 156, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassProtocolRequiredMethod, 154, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassProtocolRequiredMethod, 154, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassSubprotocol2OptionalMethod, 164, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassSubprotocol2OptionalMethod, 164, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassSubprotocol2RequiredMethod, 162, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassSubprotocol2RequiredMethod, 162, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 168, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 168, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 169, TEST_IS_RECEIVER_SUBCLASS_OF, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 172, TEST_ALL_METHODS, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 172, TEST_IS_RECEIVER_CLASS_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 172, TEST_IS_RECEIVER_SUBCLASS_OF, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 173, TEST_ALL_METHODS, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 173, TEST_IS_RECEIVER_CLASS_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 173, TEST_IS_RECEIVER_SUBCLASS_OF, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 174, TEST_ALL_METHODS, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 174, TEST_IS_RECEIVER_SUBCLASS_OF, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 176, TEST_ALL_METHODS, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 176, TEST_IS_RECEIVER_SUBCLASS_OF, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 177, TEST_ALL_METHODS, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 177, TEST_IS_RECEIVER_CLASS_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 177, TEST_IS_RECEIVER_SUBCLASS_OF, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.mySubclassTestReceiver, 178, TEST_IS_RECEIVER_SUBCLASS_OF, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.setMyBaseClassProperty, 144, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.setMyBaseClassProperty, 144, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.setMyBaseClassProperty, 144, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.setMyBaseClassProperty, 145, TEST_IS_RECEIVER_CLASS_NAMED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclass.setMyBaseClassProperty, 145, TEST_IS_RECEIVER_SUPER, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclassProtocol.mySubclassProtocolOptionalMethod, 95, TEST_IS_OPTIONAL_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclassProtocol2.mySubclassProtocol2OptionalMethod, 102, TEST_IS_OPTIONAL_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/GenericTestClass.m, MySubclassSubprotocol.mySubclassSubprotocol2OptionalMethod, 109, TEST_IS_OPTIONAL_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, InContextOfMethodsTest.method, 14, TEST_IN_METHOD_CONTEXT, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, InContextOfMethodsTest.method, 14, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, function, 25, TEST_IN_FUNCTION_CONTEXT, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, function, 25, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, objc_block, 19, TEST_IN_BLOCK_CONTEXT, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, objc_block, 19, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/InSubclassExample.m, HappySadView2::makeBadAction, 33, IN_SUBCLASS_TEST, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/PrivateAPIChecker.m, TestView::methoddd, 19, TEST_SELECTOR, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, ClassWithPrivateMethods::_badMethod1, 51, UNNECESSARY_OBJC_INSTANCE_METHOD, no_bucket, ERROR, [] -codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, ClassWithPrivateMethods::_badMethod2, 56, UNNECESSARY_OBJC_INSTANCE_METHOD, no_bucket, ERROR, [] -codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, ClassWithPrivateMethods::_badMethod2, 57, CONST_NAMING, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, ClassWithPrivateMethods::_badMethod2, 57, TEST_ALL_METHODS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, ClassWithPrivateMethods::_okayMethod3, 47, TEST_RETURN_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, ClassWithPrivateMethods::publicMethodThatDoesntUseIvars, 34, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, UselessClass::a, 10, TEST_RETURN_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, UselessClass::a, 15, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, UselessClass::a, 15, TEST_RETURN_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, UselessClass::b, 11, TEST_RETURN_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, UselessClass::b, 18, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, UselessClass::b, 18, TEST_RETURN_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/InSubclassExample.m, HappySadView2.makeBadAction, 33, IN_SUBCLASS_TEST, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/PrivateAPIChecker.m, TestView.methoddd, 19, TEST_SELECTOR, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, ClassWithPrivateMethods._badMethod1, 51, UNNECESSARY_OBJC_INSTANCE_METHOD, no_bucket, ERROR, [] +codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, ClassWithPrivateMethods._badMethod2, 56, UNNECESSARY_OBJC_INSTANCE_METHOD, no_bucket, ERROR, [] +codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, ClassWithPrivateMethods._badMethod2, 57, CONST_NAMING, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, ClassWithPrivateMethods._badMethod2, 57, TEST_ALL_METHODS, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, ClassWithPrivateMethods._okayMethod3, 47, TEST_RETURN_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, ClassWithPrivateMethods.publicMethodThatDoesntUseIvars, 34, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, UselessClass.a, 10, TEST_RETURN_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, UselessClass.a, 15, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, UselessClass.a, 15, TEST_RETURN_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, UselessClass.b, 11, TEST_RETURN_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, UselessClass.b, 18, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/PrivateInstanceMethod.m, UselessClass.b, 18, TEST_RETURN_METHOD, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/cat_macro_example.m, Linters_dummy_method, 9, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/cat_macro_example.m, Linters_dummy_method, 11, CLASS_AND_VAR, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/cat_macro_example.m, Linters_dummy_method, 23, CONST_NAMING, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/cat_macro_example.m, Linters_dummy_method, 29, CAT_IMPL_MACRO, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/cat_macro_example.m, SiblingExample::foo, 25, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/cat_macro_example.m, SiblingExample::foo, 31, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/cat_macro_example.m, SiblingExample::foo, 31, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/cat_macro_example.m, SiblingExample.foo, 25, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/cat_macro_example.m, SiblingExample.foo, 31, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/cat_macro_example.m, SiblingExample.foo, 31, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/const.m, Linters_dummy_method, 7, CONST_NAMING, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/const.m, Linters_dummy_method, 7, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/const.m, Linters_dummy_method, 8, CONST_NAMING, no_bucket, WARNING, [] @@ -264,50 +264,50 @@ codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 9, TEST_IMPLICIT codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 9, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/namespace.mm, Linters_dummy_method, 7, TEST_DEFINE_NAMESPACE, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/namespace.mm, Linters_dummy_method, 15, TEST_USING_NAMESPACE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/ns_assume_nonnull.m, Blah::someMethod, 14, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/ns_assume_nonnull.m, Blah::someMethod, 20, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/ns_assume_nonnull.m, Blah::someMethod, 20, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/optional.m, Bar::unsafeAction, 25, UNSAFE_CALL_TO_OPTIONAL_METHOD, no_bucket, ERROR, [] -codetoanalyze/objc/linters-for-test-only/optional.m, BarDelegate::optionalFunction, 16, TEST_IS_OPTIONAL_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/ns_assume_nonnull.m, Blah.someMethod, 14, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/ns_assume_nonnull.m, Blah.someMethod, 20, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/ns_assume_nonnull.m, Blah.someMethod, 20, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/optional.m, Bar.unsafeAction, 25, UNSAFE_CALL_TO_OPTIONAL_METHOD, no_bucket, ERROR, [] +codetoanalyze/objc/linters-for-test-only/optional.m, BarDelegate.optionalFunction, 16, TEST_IS_OPTIONAL_METHOD, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/optional.m, Linters_dummy_method, 20, STRONG_DELEGATE_WARNING, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo::newWithA, 22, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo::newWithA, 22, TEST_PROTOCOL_TYPE_INHERITANCE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo::newWithB, 23, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo::newWithB, 23, TEST_PROTOCOL_TYPE_INHERITANCE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo::newWithC, 24, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo::newWithC, 24, TEST_PROTOCOL_TYPE_INHERITANCE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo::newWithCs, 25, TEST_GENERICS_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo::newWithCs, 25, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo::newWithCs, 25, TEST_PROTOCOL_TYPE_INHERITANCE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo.newWithA, 22, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo.newWithA, 22, TEST_PROTOCOL_TYPE_INHERITANCE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo.newWithB, 23, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo.newWithB, 23, TEST_PROTOCOL_TYPE_INHERITANCE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo.newWithC, 24, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo.newWithC, 24, TEST_PROTOCOL_TYPE_INHERITANCE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo.newWithCs, 25, TEST_GENERICS_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo.newWithCs, 25, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo.newWithCs, 25, TEST_PROTOCOL_TYPE_INHERITANCE, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 9, TEST_PROTOCOL_DEF_INHERITANCE, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 12, TEST_PROTOCOL_DEF_INHERITANCE, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 15, TEST_PROTOCOL_DEF_INHERITANCE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/sel.m, fooButtonComponent::newWithAction, 10, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/sel.m, fooButtonComponent::newWithAction, 10, TEST_PARAMETER_SEL_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/sel.m, fooButtonComponent.newWithAction, 10, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/sel.m, fooButtonComponent.newWithAction, 10, TEST_PARAMETER_SEL_TYPE, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/sibling_example.m, Linters_dummy_method, 9, TEST_VAR_TYPE_CHECK, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/sibling_example.m, Linters_dummy_method, 11, CLASS_AND_VAR, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/sibling_example.m, Linters_dummy_method, 23, CAT_DECL_MACRO, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/sibling_example.m, Linters_dummy_method, 28, CONST_NAMING, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/sibling_example.m, Linters_dummy_method, 29, CAT_DECL_MACRO, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/sibling_example.m, Linters_dummy_method, 42, CAT_IMPL_MACRO, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/sibling_example.m, SiblingExample::foo, 24, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/sibling_example.m, SiblingExample::foo, 30, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/sibling_example.m, SiblingExample::foo, 37, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/sibling_example.m, SiblingExample::foo, 37, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/sibling_example.m, SiblingExample::foo, 44, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/sibling_example.m, SiblingExample::foo, 44, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, A::foo, 11, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, A::foo, 11, TEST_RETURN_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, A::foo, 17, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, A::foo, 17, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, A::foo, 17, TEST_RETURN_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, B::bar, 26, TEST_RETURN_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, B::bar, 32, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, B::bar, 32, TEST_RETURN_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, B::bar, 33, TEST_ALL_METHODS, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, B::bar, 34, MACRO_TEST1, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, B::bar, 34, MACRO_TEST2, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, B::bar, 34, MACRO_TEST3, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/sibling_example.m, SiblingExample.foo, 24, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/sibling_example.m, SiblingExample.foo, 30, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/sibling_example.m, SiblingExample.foo, 37, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/sibling_example.m, SiblingExample.foo, 37, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/sibling_example.m, SiblingExample.foo, 44, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/sibling_example.m, SiblingExample.foo, 44, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, A.foo, 11, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, A.foo, 11, TEST_RETURN_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, A.foo, 17, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, A.foo, 17, TEST_PARAM_TYPE_CHECK2, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, A.foo, 17, TEST_RETURN_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, B.bar, 26, TEST_RETURN_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, B.bar, 32, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, B.bar, 32, TEST_RETURN_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, B.bar, 33, TEST_ALL_METHODS, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, B.bar, 34, MACRO_TEST1, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, B.bar, 34, MACRO_TEST2, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, B.bar, 34, MACRO_TEST3, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 24, GLOBAL_MACRO_SUBCLASS, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 24, IMPORTED_MACRO_SUBCLASS, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 24, LOCAL_MACRO_SUBCLASS, no_bucket, WARNING, [] @@ -327,38 +327,38 @@ codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 51 codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 109, TEST_TYPEDEF_CHECK, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 117, TEST_TYPEDEF_CHECK, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 123, TEST_TYPEDEF_CHECK, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m1, 71, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m10, 80, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m11, 81, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m12, 82, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m13, 83, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m14, 84, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m15, 85, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m15, 85, TEST_RETURN_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m16, 86, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m17, 87, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m2, 72, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m20, 89, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m21, 90, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m22, 91, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m23, 97, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m24, 98, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m25, 99, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m26, 100, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m26, 101, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m26, 103, TEST_NTH_PARAM_TYPE_CHECK, no_bucket, LIKE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m26, 103, TEST_PARAM_TYPE_CHECK, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m3, 73, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m4, 74, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m7, 77, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m8, 78, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType::m9, 79, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m1, 71, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m10, 80, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m11, 81, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m12, 82, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m13, 83, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m14, 84, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m15, 85, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m15, 85, TEST_RETURN_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m16, 86, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m17, 87, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m2, 72, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m20, 89, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m21, 90, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m22, 91, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m23, 97, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m24, 98, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m25, 99, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m26, 100, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m26, 101, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m26, 103, TEST_NTH_PARAM_TYPE_CHECK, no_bucket, LIKE, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m26, 103, TEST_PARAM_TYPE_CHECK, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m3, 73, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m4, 74, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m7, 77, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m8, 78, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType.m9, 79, TEST_BUILTIN_TYPE, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/subclassing.m, bar, 127, TEST_NTH_PARAM_TYPE_CHECK_FUNCTION, no_bucket, LIKE, [] -codetoanalyze/objc/linters-for-test-only/unavailable.m, FooClass::new, 12, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/unavailable.m, FooClass::new, 12, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/unavailable.m, FooClass::new, 12, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/unavailable.m, FooClass::new, 12, TEST_UNAVAILABLE_ATTR, no_bucket, WARNING, [] -codetoanalyze/objc/linters-for-test-only/unavailable.m, FooClass::newWithFoo, 13, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/unavailable.m, FooClass.new, 12, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/unavailable.m, FooClass.new, 12, TEST_IS_METHOD_EXPOSED, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/unavailable.m, FooClass.new, 12, TEST_IS_OVERRIDING_METHOD, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/unavailable.m, FooClass.new, 12, TEST_UNAVAILABLE_ATTR, no_bucket, WARNING, [] +codetoanalyze/objc/linters-for-test-only/unavailable.m, FooClass.newWithFoo, 13, TEST_INSTANCE_TYPE, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/variables_captured_in_block.m, objc_block, 26, IVAR_CAPTURED_IN_OBJC_BLOCK, no_bucket, ERROR, [] codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 29, TEST_DEFAULT_VISIBILITY, no_bucket, WARNING, [] codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 30, TEST_DEFAULT_VISIBILITY, no_bucket, WARNING, [] diff --git a/infer/tests/codetoanalyze/objc/linters/issues.exp b/infer/tests/codetoanalyze/objc/linters/issues.exp index 8e28d300d..54e67a30b 100644 --- a/infer/tests/codetoanalyze/objc/linters/issues.exp +++ b/infer/tests/codetoanalyze/objc/linters/issues.exp @@ -1,23 +1,23 @@ codetoanalyze/objc/linters/Pointer_to_const_objc_class.m, Linters_dummy_method, 11, POINTER_TO_CONST_OBJC_CLASS, no_bucket, WARNING, [] -codetoanalyze/objc/linters/Weak_property_setter.m, Derived::setBaseAlternate, 65, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, no_bucket, WARNING, [] -codetoanalyze/objc/linters/Weak_property_setter.m, Derived::setBaseProp, 62, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, no_bucket, WARNING, [] -codetoanalyze/objc/linters/Weak_property_setter.m, Derived::setBaseWillBeImplementedInCategory, 93, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, no_bucket, WARNING, [] -codetoanalyze/objc/linters/Weak_property_setter.m, Derived::setDerivedCategoryProp, 89, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, no_bucket, WARNING, [] -codetoanalyze/objc/linters/Weak_property_setter.m, Derived::setDerivedProp, 68, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, no_bucket, WARNING, [] -codetoanalyze/objc/linters/Weak_property_setter.m, Derived::setProtocolProp, 71, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, no_bucket, WARNING, [] -codetoanalyze/objc/linters/Weak_property_setter.m, Derived::setWillBeImplementedInCategory, 97, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, no_bucket, WARNING, [] +codetoanalyze/objc/linters/Weak_property_setter.m, Derived.setBaseAlternate, 65, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, no_bucket, WARNING, [] +codetoanalyze/objc/linters/Weak_property_setter.m, Derived.setBaseProp, 62, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, no_bucket, WARNING, [] +codetoanalyze/objc/linters/Weak_property_setter.m, Derived.setBaseWillBeImplementedInCategory, 93, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, no_bucket, WARNING, [] +codetoanalyze/objc/linters/Weak_property_setter.m, Derived.setDerivedCategoryProp, 89, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, no_bucket, WARNING, [] +codetoanalyze/objc/linters/Weak_property_setter.m, Derived.setDerivedProp, 68, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, no_bucket, WARNING, [] +codetoanalyze/objc/linters/Weak_property_setter.m, Derived.setProtocolProp, 71, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, no_bucket, WARNING, [] +codetoanalyze/objc/linters/Weak_property_setter.m, Derived.setWillBeImplementedInCategory, 97, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, no_bucket, WARNING, [] codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 16, ASSIGN_POINTER_WARNING, no_bucket, WARNING, [] codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 18, ASSIGN_POINTER_WARNING, no_bucket, WARNING, [] codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 20, ASSIGN_POINTER_WARNING, no_bucket, WARNING, [] codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 36, ASSIGN_POINTER_WARNING, no_bucket, WARNING, [] -codetoanalyze/objc/linters/atomic_prop.m, A::bla, 97, DIRECT_ATOMIC_PROPERTY_ACCESS, no_bucket, WARNING, [] -codetoanalyze/objc/linters/atomic_prop.m, A::bla, 98, DIRECT_ATOMIC_PROPERTY_ACCESS, no_bucket, WARNING, [] -codetoanalyze/objc/linters/atomic_prop.m, A::readP, 76, DIRECT_ATOMIC_PROPERTY_ACCESS, no_bucket, WARNING, [] -codetoanalyze/objc/linters/atomic_prop.m, A::readP, 76, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] -codetoanalyze/objc/linters/atomic_prop.m, A::readP, 77, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] -codetoanalyze/objc/linters/atomic_prop.m, A::readQ, 85, DIRECT_ATOMIC_PROPERTY_ACCESS, no_bucket, WARNING, [] -codetoanalyze/objc/linters/atomic_prop.m, A::readQ, 85, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] -codetoanalyze/objc/linters/atomic_prop.m, A::writeQ, 81, DIRECT_ATOMIC_PROPERTY_ACCESS, no_bucket, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A.bla, 97, DIRECT_ATOMIC_PROPERTY_ACCESS, no_bucket, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A.bla, 98, DIRECT_ATOMIC_PROPERTY_ACCESS, no_bucket, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A.readP, 76, DIRECT_ATOMIC_PROPERTY_ACCESS, no_bucket, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A.readP, 76, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A.readP, 77, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A.readQ, 85, DIRECT_ATOMIC_PROPERTY_ACCESS, no_bucket, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A.readQ, 85, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A.writeQ, 81, DIRECT_ATOMIC_PROPERTY_ACCESS, no_bucket, WARNING, [] codetoanalyze/objc/linters/atomic_prop.m, objc_block, 113, DIRECT_ATOMIC_PROPERTY_ACCESS, no_bucket, WARNING, [] codetoanalyze/objc/linters/badpointer.m, bad1, 15, BAD_POINTER_COMPARISON, no_bucket, WARNING, [] codetoanalyze/objc/linters/badpointer.m, bad10, 130, BAD_POINTER_COMPARISON, no_bucket, WARNING, [] @@ -30,11 +30,11 @@ codetoanalyze/objc/linters/badpointer.m, bad5, 97, BAD_POINTER_COMPARISON, no_bu codetoanalyze/objc/linters/badpointer.m, bad6, 104, BAD_POINTER_COMPARISON, no_bucket, WARNING, [] codetoanalyze/objc/linters/badpointer.m, bad8, 119, BAD_POINTER_COMPARISON, no_bucket, WARNING, [] codetoanalyze/objc/linters/badpointer.m, bad9, 126, BAD_POINTER_COMPARISON, no_bucket, WARNING, [] -codetoanalyze/objc/linters/dispatch.m, B::sharedInstanceBAD, 33, WRONG_SCOPE_FOR_DISPATCH_ONCE_T, no_bucket, WARNING, [] -codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast::call_with_boxed_int, 67, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] -codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast::call_with_string, 60, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] -codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast::ivar_dictionary_item_call_funct_with_int, 45, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] -codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast::property_with_int, 49, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] +codetoanalyze/objc/linters/dispatch.m, B.sharedInstanceBAD, 33, WRONG_SCOPE_FOR_DISPATCH_ONCE_T, no_bucket, WARNING, [] +codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast.call_with_boxed_int, 67, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] +codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast.call_with_string, 60, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] +codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast.ivar_dictionary_item_call_funct_with_int, 45, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] +codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast.property_with_int, 49, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] codetoanalyze/objc/linters/implicit_cast.m, calling_funct_with_pointer, 15, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] codetoanalyze/objc/linters/implicit_cast.m, calling_funct_with_pointer1, 20, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] codetoanalyze/objc/linters/implicit_cast.m, calling_funct_with_pointer_from_a_method, 28, POINTER_TO_INTEGRAL_IMPLICIT_CAST, no_bucket, WARNING, [] @@ -43,7 +43,7 @@ codetoanalyze/objc/linters/nsnumber.m, bad1, 11, BAD_POINTER_COMPARISON, no_buck codetoanalyze/objc/linters/nsnumber.m, bad2, 16, BAD_POINTER_COMPARISON, no_bucket, WARNING, [] codetoanalyze/objc/linters/nsnumber.m, bad3, 21, BAD_POINTER_COMPARISON, no_bucket, WARNING, [] codetoanalyze/objc/linters/nsnumber.m, bad4, 41, BAD_POINTER_COMPARISON, no_bucket, WARNING, [] -codetoanalyze/objc/linters/optional.m, Bar::unsafeAction, 21, UNSAFE_CALL_TO_OPTIONAL_METHOD, no_bucket, ERROR, [] +codetoanalyze/objc/linters/optional.m, Bar.unsafeAction, 21, UNSAFE_CALL_TO_OPTIONAL_METHOD, no_bucket, ERROR, [] codetoanalyze/objc/linters/registered_observer/Person.m, Linters_dummy_method, 78, REGISTERED_OBSERVER_BEING_DEALLOCATED, no_bucket, WARNING, [] codetoanalyze/objc/linters/registered_observer/Person.m, Linters_dummy_method, 95, REGISTERED_OBSERVER_BEING_DEALLOCATED, no_bucket, WARNING, [] codetoanalyze/objc/linters/registered_observer/ViewController3.m, Linters_dummy_method, 12, REGISTERED_OBSERVER_BEING_DEALLOCATED, no_bucket, WARNING, [] diff --git a/infer/tests/codetoanalyze/objc/liveness/issues.exp b/infer/tests/codetoanalyze/objc/liveness/issues.exp index 8324308c8..d03705c91 100644 --- a/infer/tests/codetoanalyze/objc/liveness/issues.exp +++ b/infer/tests/codetoanalyze/objc/liveness/issues.exp @@ -1 +1 @@ -codetoanalyze/objc/liveness/NestedClassCalls.m, A::nestedBad, 1, DEAD_STORE, no_bucket, ERROR, [Write of unused value] +codetoanalyze/objc/liveness/NestedClassCalls.m, A.nestedBad, 1, DEAD_STORE, no_bucket, ERROR, [Write of unused value] diff --git a/infer/tests/codetoanalyze/objc/pulse/issues.exp b/infer/tests/codetoanalyze/objc/pulse/issues.exp index cb23bd5d5..c8900050a 100644 --- a/infer/tests/codetoanalyze/objc/pulse/issues.exp +++ b/infer/tests/codetoanalyze/objc/pulse/issues.exp @@ -1,9 +1,9 @@ codetoanalyze/objc/pulse/MallocInObjC.m, leak_bad, 0, PULSE_MEMORY_LEAK, no_bucket, ERROR, [allocation part of the trace starts here,allocated by call to `malloc_no_fail` (modelled),allocation part of the trace ends here,memory becomes unreachable here] -codetoanalyze/objc/pulse/MemoryLeaks.m, MemoryLeaks::call_no_bridge_leak_bad, 1, PULSE_MEMORY_LEAK, no_bucket, ERROR, [allocation part of the trace starts here,when calling `MemoryLeaks::ret_no_bridge` here,allocated by call to `CFLocaleCreate` (modelled),allocation part of the trace ends here,memory becomes unreachable here] -codetoanalyze/objc/pulse/MemoryLeaks.m, MemoryLeaks::cg_path_create_mutable_leak_bad:, 2, PULSE_MEMORY_LEAK, no_bucket, ERROR, [allocation part of the trace starts here,allocated by call to `CGPathCreateMutable` (modelled),allocation part of the trace ends here,memory becomes unreachable here] -codetoanalyze/objc/pulse/MemoryLeaks.m, MemoryLeaks::cg_path_create_with_rect_leak_bad, 3, PULSE_MEMORY_LEAK, no_bucket, ERROR, [allocation part of the trace starts here,allocated by call to `CGPathCreateWithRect` (modelled),allocation part of the trace ends here,memory becomes unreachable here] -codetoanalyze/objc/pulse/MemoryLeaks.m, MemoryLeaks::no_bridge_leak_bad, 1, PULSE_MEMORY_LEAK, no_bucket, ERROR, [allocation part of the trace starts here,allocated by call to `CFLocaleCreate` (modelled),allocation part of the trace ends here,memory becomes unreachable here] +codetoanalyze/objc/pulse/MemoryLeaks.m, MemoryLeaks.call_no_bridge_leak_bad, 1, PULSE_MEMORY_LEAK, no_bucket, ERROR, [allocation part of the trace starts here,when calling `MemoryLeaks.ret_no_bridge` here,allocated by call to `CFLocaleCreate` (modelled),allocation part of the trace ends here,memory becomes unreachable here] +codetoanalyze/objc/pulse/MemoryLeaks.m, MemoryLeaks.cg_path_create_mutable_leak_bad:, 2, PULSE_MEMORY_LEAK, no_bucket, ERROR, [allocation part of the trace starts here,allocated by call to `CGPathCreateMutable` (modelled),allocation part of the trace ends here,memory becomes unreachable here] +codetoanalyze/objc/pulse/MemoryLeaks.m, MemoryLeaks.cg_path_create_with_rect_leak_bad, 3, PULSE_MEMORY_LEAK, no_bucket, ERROR, [allocation part of the trace starts here,allocated by call to `CGPathCreateWithRect` (modelled),allocation part of the trace ends here,memory becomes unreachable here] +codetoanalyze/objc/pulse/MemoryLeaks.m, MemoryLeaks.no_bridge_leak_bad, 1, PULSE_MEMORY_LEAK, no_bucket, ERROR, [allocation part of the trace starts here,allocated by call to `CFLocaleCreate` (modelled),allocation part of the trace ends here,memory becomes unreachable here] codetoanalyze/objc/pulse/MemoryLeaks.m, call_bridge_interproc_leak_ok_FP, 2, PULSE_MEMORY_LEAK, no_bucket, ERROR, [allocation part of the trace starts here,allocated by call to `CFLocaleCreate` (modelled),allocation part of the trace ends here,memory becomes unreachable here] codetoanalyze/objc/pulse/MemoryLeaks.m, call_cfrelease_interproc_leak_ok_FP, 2, PULSE_MEMORY_LEAK, no_bucket, ERROR, [allocation part of the trace starts here,allocated by call to `CFLocaleCreate` (modelled),allocation part of the trace ends here,memory becomes unreachable here] -codetoanalyze/objc/pulse/use_after_free.m, PulseTest::use_after_free_simple_in_objc_method_bad:, 2, USE_AFTER_FREE, no_bucket, ERROR, [invalidation part of the trace starts here,parameter `x` of PulseTest::use_after_free_simple_in_objc_method_bad:,was invalidated by call to `free()`,use-after-lifetime part of the trace starts here,parameter `x` of PulseTest::use_after_free_simple_in_objc_method_bad:,invalid access occurs here] +codetoanalyze/objc/pulse/use_after_free.m, PulseTest.use_after_free_simple_in_objc_method_bad:, 2, USE_AFTER_FREE, no_bucket, ERROR, [invalidation part of the trace starts here,parameter `x` of PulseTest.use_after_free_simple_in_objc_method_bad:,was invalidated by call to `free()`,use-after-lifetime part of the trace starts here,parameter `x` of PulseTest.use_after_free_simple_in_objc_method_bad:,invalid access occurs here] codetoanalyze/objc/pulse/use_after_free.m, use_after_free_simple_bad, 2, USE_AFTER_FREE, no_bucket, ERROR, [invalidation part of the trace starts here,parameter `x` of use_after_free_simple_bad,was invalidated by call to `free()`,use-after-lifetime part of the trace starts here,parameter `x` of use_after_free_simple_bad,invalid access occurs here] diff --git a/infer/tests/codetoanalyze/objc/self-in-block/issues.exp b/infer/tests/codetoanalyze/objc/self-in-block/issues.exp index 4f5535c68..76706f404 100644 --- a/infer/tests/codetoanalyze/objc/self-in-block/issues.exp +++ b/infer/tests/codetoanalyze/objc/self-in-block/issues.exp @@ -1,10 +1,10 @@ -codetoanalyze/objc/self-in-block/NoescapeBlock.m, objc_blockA::weak_in_noescape_block_bad:_1, 1, MULTIPLE_WEAKSELF, no_bucket, ERROR, [Using &weakSelf,Using &weakSelf] -codetoanalyze/objc/self-in-block/NoescapeBlock.m, objc_blockA::weak_in_noescape_block_bad:_1, 1, WEAK_SELF_IN_NO_ESCAPE_BLOCK, no_bucket, ERROR, [Using &weakSelf,Using &weakSelf] -codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockSelfInBlockTest::mixSelfWeakSelf_bad_1, 4, MIXED_SELF_WEAKSELF, no_bucket, ERROR, [Using &weakSelf,Using &self,Using &self] -codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockSelfInBlockTest::strongSelfCheck2_bad_6, 6, STRONG_SELF_NOT_CHECKED, no_bucket, ERROR, [&strongSelf assigned here,Using &strongSelf not checked for null,Using &strongSelf not checked for null] -codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockSelfInBlockTest::strongSelfCheck3_bad_9, 2, STRONG_SELF_NOT_CHECKED, no_bucket, ERROR, [&strongSelf assigned here,Using &strongSelf not checked for null] -codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockSelfInBlockTest::strongSelfCheck4_bad_10, 2, STRONG_SELF_NOT_CHECKED, no_bucket, ERROR, [&strongSelf assigned here,Using &strongSelf not checked for null,Using &strongSelf not checked for null] -codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockSelfInBlockTest::strongSelfCheckOnce_bad_5, 6, STRONG_SELF_NOT_CHECKED, no_bucket, ERROR, [&strongSelf assigned here,Using &strongSelf not checked for null,Using &strongSelf not checked for null] -codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockSelfInBlockTest::strongSelfNoCheckNotWeakSelf_good_2, 1, CAPTURED_STRONG_SELF, no_bucket, ERROR, [Using captured &weakSelf] -codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockSelfInBlockTest::weakSelfMultiple_bad_14, 1, MULTIPLE_WEAKSELF, no_bucket, ERROR, [Using &weakSelf,Using &weakSelf] -codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockobjc_blockSelfInBlockTest::capturedStrongSelf_bad_15_16, 1, CAPTURED_STRONG_SELF, no_bucket, ERROR, [Using captured &strongSelf,Using captured &strongSelf] +codetoanalyze/objc/self-in-block/NoescapeBlock.m, objc_blockA.weak_in_noescape_block_bad:_1, 1, MULTIPLE_WEAKSELF, no_bucket, ERROR, [Using &weakSelf,Using &weakSelf] +codetoanalyze/objc/self-in-block/NoescapeBlock.m, objc_blockA.weak_in_noescape_block_bad:_1, 1, WEAK_SELF_IN_NO_ESCAPE_BLOCK, no_bucket, ERROR, [Using &weakSelf,Using &weakSelf] +codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockSelfInBlockTest.mixSelfWeakSelf_bad_1, 4, MIXED_SELF_WEAKSELF, no_bucket, ERROR, [Using &weakSelf,Using &self,Using &self] +codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockSelfInBlockTest.strongSelfCheck2_bad_6, 6, STRONG_SELF_NOT_CHECKED, no_bucket, ERROR, [&strongSelf assigned here,Using &strongSelf not checked for null,Using &strongSelf not checked for null] +codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockSelfInBlockTest.strongSelfCheck3_bad_9, 2, STRONG_SELF_NOT_CHECKED, no_bucket, ERROR, [&strongSelf assigned here,Using &strongSelf not checked for null] +codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockSelfInBlockTest.strongSelfCheck4_bad_10, 2, STRONG_SELF_NOT_CHECKED, no_bucket, ERROR, [&strongSelf assigned here,Using &strongSelf not checked for null,Using &strongSelf not checked for null] +codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockSelfInBlockTest.strongSelfCheckOnce_bad_5, 6, STRONG_SELF_NOT_CHECKED, no_bucket, ERROR, [&strongSelf assigned here,Using &strongSelf not checked for null,Using &strongSelf not checked for null] +codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockSelfInBlockTest.strongSelfNoCheckNotWeakSelf_good_2, 1, CAPTURED_STRONG_SELF, no_bucket, ERROR, [Using captured &weakSelf] +codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockSelfInBlockTest.weakSelfMultiple_bad_14, 1, MULTIPLE_WEAKSELF, no_bucket, ERROR, [Using &weakSelf,Using &weakSelf] +codetoanalyze/objc/self-in-block/StrongSelf.m, objc_blockobjc_blockSelfInBlockTest.capturedStrongSelf_bad_15_16, 1, CAPTURED_STRONG_SELF, no_bucket, ERROR, [Using captured &strongSelf,Using captured &strongSelf] diff --git a/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot b/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot index 275db61d1..801ad2126 100644 --- a/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot @@ -1,73 +1,73 @@ /* @generated */ digraph cfg { -"init#A#instance.eee79aaaddd644404e17691a7e7d809a_1" [label="1: Start A::init\nFormals: self:A*\nLocals: \n " color=yellow style=filled] +"init#A#instance.eee79aaaddd644404e17691a7e7d809a_1" [label="1: Start A.init\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "init#A#instance.eee79aaaddd644404e17691a7e7d809a_1" -> "init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" ; -"init#A#instance.eee79aaaddd644404e17691a7e7d809a_2" [label="2: Exit A::init \n " color=yellow style=filled] +"init#A#instance.eee79aaaddd644404e17691a7e7d809a_2" [label="2: Exit A.init \n " color=yellow style=filled] "init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" [label="3: Return Stmt \n n$0=*&self:A* [line 20, column 10]\n *&return:objc_object*=n$0 [line 20, column 3]\n " shape="box"] "init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" -> "init#A#instance.eee79aaaddd644404e17691a7e7d809a_2" ; -"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_1" [label="1: Start A::test1:\nFormals: self:A* a:A*\nLocals: aa:A* \n " color=yellow style=filled] +"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_1" [label="1: Start A.test1:\nFormals: self:A* a:A*\nLocals: aa:A* \n " color=yellow style=filled] "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_1" -> "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_4" ; -"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_2" [label="2: Exit A::test1: \n " color=yellow style=filled] +"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_2" [label="2: Exit A.test1: \n " color=yellow style=filled] "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_3" [label="3: Return Stmt \n n$1=*&aa:A* [line 25, column 10]\n n$2=*n$1.x:int [line 25, column 10]\n *&return:int=n$2 [line 25, column 3]\n " shape="box"] "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_3" -> "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_2" ; -"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_4" [label="4: DeclStmt \n VARIABLE_DECLARED(aa:A*); [line 24, column 3]\n n$3=*&a:A* [line 24, column 12]\n n$4=_fun_A::child(n$3:A*) [line 24, column 11]\n *&aa:A*=n$4 [line 24, column 3]\n " shape="box"] +"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_4" [label="4: DeclStmt \n VARIABLE_DECLARED(aa:A*); [line 24, column 3]\n n$3=*&a:A* [line 24, column 12]\n n$4=_fun_A.child(n$3:A*) [line 24, column 11]\n *&aa:A*=n$4 [line 24, column 3]\n " shape="box"] "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_4" -> "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_3" ; -"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_1" [label="1: Start A::test2:\nFormals: self:A* a:A*\nLocals: aa:A*\nAnnotation: <> A::test2:(<> <_Nonnull>) \n " color=yellow style=filled] +"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_1" [label="1: Start A.test2:\nFormals: self:A* a:A*\nLocals: aa:A*\nAnnotation: <> A.test2:(<> <_Nonnull>) \n " color=yellow style=filled] "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_1" -> "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_4" ; -"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_2" [label="2: Exit A::test2: \n " color=yellow style=filled] +"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_2" [label="2: Exit A.test2: \n " color=yellow style=filled] "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_3" [label="3: Return Stmt \n n$5=*&aa:A* [line 30, column 10]\n n$6=*n$5.x:int [line 30, column 10]\n *&return:int=n$6 [line 30, column 3]\n " shape="box"] "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_3" -> "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_2" ; -"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_4" [label="4: DeclStmt \n VARIABLE_DECLARED(aa:A*); [line 29, column 3]\n n$7=*&a:A* [line 29, column 12]\n n$8=_fun_A::child(n$7:A*) [line 29, column 11]\n *&aa:A*=n$8 [line 29, column 3]\n " shape="box"] +"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_4" [label="4: DeclStmt \n VARIABLE_DECLARED(aa:A*); [line 29, column 3]\n n$7=*&a:A* [line 29, column 12]\n n$8=_fun_A.child(n$7:A*) [line 29, column 11]\n *&aa:A*=n$8 [line 29, column 3]\n " shape="box"] "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_4" -> "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_3" ; -"test3:#A#instance.28bc2df8df797b21818dc2037239f326_1" [label="1: Start A::test3:\nFormals: self:A* successBlock:_fn_(*)\nLocals: \n " color=yellow style=filled] +"test3:#A#instance.28bc2df8df797b21818dc2037239f326_1" [label="1: Start A.test3:\nFormals: self:A* successBlock:_fn_(*)\nLocals: \n " color=yellow style=filled] "test3:#A#instance.28bc2df8df797b21818dc2037239f326_1" -> "test3:#A#instance.28bc2df8df797b21818dc2037239f326_4" ; -"test3:#A#instance.28bc2df8df797b21818dc2037239f326_2" [label="2: Exit A::test3: \n " color=yellow style=filled] +"test3:#A#instance.28bc2df8df797b21818dc2037239f326_2" [label="2: Exit A.test3: \n " color=yellow style=filled] "test3:#A#instance.28bc2df8df797b21818dc2037239f326_3" [label="3: Return Stmt \n *&return:int=0 [line 35, column 3]\n " shape="box"] "test3:#A#instance.28bc2df8df797b21818dc2037239f326_3" -> "test3:#A#instance.28bc2df8df797b21818dc2037239f326_2" ; -"test3:#A#instance.28bc2df8df797b21818dc2037239f326_4" [label="4: Call n$9 \n n$9=*&successBlock:_fn_(*) [line 34, column 3]\n n$10=_fun_NSString::stringWithUTF8String:(\"Yay\":char* const ) [line 34, column 16]\n n$11=n$9(n$10:NSString*) objc_block [line 34, column 3]\n " shape="box"] +"test3:#A#instance.28bc2df8df797b21818dc2037239f326_4" [label="4: Call n$9 \n n$9=*&successBlock:_fn_(*) [line 34, column 3]\n n$10=_fun_NSString.stringWithUTF8String:(\"Yay\":char* const ) [line 34, column 16]\n n$11=n$9(n$10:NSString*) objc_block [line 34, column 3]\n " shape="box"] "test3:#A#instance.28bc2df8df797b21818dc2037239f326_4" -> "test3:#A#instance.28bc2df8df797b21818dc2037239f326_3" ; -"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_1" [label="1: Start A::test4:\nFormals: self:A* successBlock:_fn_(*)\nLocals: \nAnnotation: <> A::test4:(<> <_Nonnull>) \n " color=yellow style=filled] +"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_1" [label="1: Start A.test4:\nFormals: self:A* successBlock:_fn_(*)\nLocals: \nAnnotation: <> A.test4:(<> <_Nonnull>) \n " color=yellow style=filled] "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_1" -> "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" ; -"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_2" [label="2: Exit A::test4: \n " color=yellow style=filled] +"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_2" [label="2: Exit A.test4: \n " color=yellow style=filled] "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" [label="3: Return Stmt \n *&return:int=0 [line 40, column 3]\n " shape="box"] "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" -> "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_2" ; -"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" [label="4: Call n$12 \n n$12=*&successBlock:_fn_(*) [line 39, column 3]\n n$13=_fun_NSString::stringWithUTF8String:(\"Yay\":char* const ) [line 39, column 16]\n n$14=n$12(n$13:NSString*) objc_block [line 39, column 3]\n " shape="box"] +"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" [label="4: Call n$12 \n n$12=*&successBlock:_fn_(*) [line 39, column 3]\n n$13=_fun_NSString.stringWithUTF8String:(\"Yay\":char* const ) [line 39, column 16]\n n$14=n$12(n$13:NSString*) objc_block [line 39, column 3]\n " shape="box"] "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" -> "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/annotations/nullable_annotations.m.dot b/infer/tests/codetoanalyze/objc/shared/annotations/nullable_annotations.m.dot index d80784457..1bf96ebb6 100644 --- a/infer/tests/codetoanalyze/objc/shared/annotations/nullable_annotations.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/annotations/nullable_annotations.m.dot @@ -7,74 +7,74 @@ digraph cfg { "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_2" [label="2: Exit npe_property_nullable \n " color=yellow style=filled] -"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" [label="3: Return Stmt \n n$1=*&child:Person* [line 56, column 21]\n n$0=_fun_NSString::stringWithUTF8String:(\"key\":char* const ) [line 56, column 12]\n n$2=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(n$1:objc_object*,n$0:objc_object*,null:objc_object*) [line 56, column 10]\n *&return:NSDictionary*=n$2 [line 56, column 3]\n " shape="box"] +"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" [label="3: Return Stmt \n n$1=*&child:Person* [line 56, column 21]\n n$0=_fun_NSString.stringWithUTF8String:(\"key\":char* const ) [line 56, column 12]\n n$2=_fun_NSDictionary.dictionaryWithObjects:forKeys:count:(n$1:objc_object*,n$0:objc_object*,null:objc_object*) [line 56, column 10]\n *&return:NSDictionary*=n$2 [line 56, column 3]\n " shape="box"] "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_2" ; -"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(child:Person*); [line 55, column 3]\n n$3=*&person:Person* [line 55, column 19]\n n$4=_fun_Person::child(n$3:Person*) [line 55, column 26]\n *&child:Person*=n$4 [line 55, column 3]\n " shape="box"] +"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(child:Person*); [line 55, column 3]\n n$3=*&person:Person* [line 55, column 19]\n n$4=_fun_Person.child(n$3:Person*) [line 55, column 26]\n *&child:Person*=n$4 [line 55, column 3]\n " shape="box"] "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" ; -"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" [label="5: DeclStmt \n VARIABLE_DECLARED(person:Person*); [line 54, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=Person):unsigned long) [line 54, column 20]\n n$6=_fun_NSObject::init(n$5:Person*) virtual [line 54, column 20]\n *&person:Person*=n$6 [line 54, column 3]\n " shape="box"] +"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" [label="5: DeclStmt \n VARIABLE_DECLARED(person:Person*); [line 54, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=Person):unsigned long) [line 54, column 20]\n n$6=_fun_NSObject.init(n$5:Person*) virtual [line 54, column 20]\n *&person:Person*=n$6 [line 54, column 3]\n " shape="box"] "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" ; -"initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_1" [label="1: Start User::initWithName:\nFormals: self:User* name:NSString*\nLocals: \nAnnotation: <_Nullable> User::initWithName:(<> <_Nullable>) \n " color=yellow style=filled] +"initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_1" [label="1: Start User.initWithName:\nFormals: self:User* name:NSString*\nLocals: \nAnnotation: <_Nullable> User.initWithName:(<> <_Nullable>) \n " color=yellow style=filled] "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_1" -> "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_3" ; -"initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_2" [label="2: Exit User::initWithName: \n " color=yellow style=filled] +"initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_2" [label="2: Exit User.initWithName: \n " color=yellow style=filled] "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_3" [label="3: Return Stmt \n n$0=*&self:User* [line 30, column 10]\n *&return:objc_object*=n$0 [line 30, column 3]\n " shape="box"] "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_3" -> "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_2" ; -"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_1" [label="1: Start User::otherUserName\nFormals: self:User*\nLocals: ou:User* \n " color=yellow style=filled] +"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_1" [label="1: Start User.otherUserName\nFormals: self:User*\nLocals: ou:User* \n " color=yellow style=filled] "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_1" -> "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" ; -"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_2" [label="2: Exit User::otherUserName \n " color=yellow style=filled] +"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_2" [label="2: Exit User.otherUserName \n " color=yellow style=filled] "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_3" [label="3: Return Stmt \n n$4=*&ou:User* [line 50, column 10]\n n$5=*n$4._name:NSString* [line 50, column 10]\n *&return:NSString*=n$5 [line 50, column 3]\n " shape="box"] "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_3" -> "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_2" ; -"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ou:User*); [line 49, column 3]\n n$6=*&self:User* [line 49, column 15]\n n$7=_fun_User::otherUser(n$6:User*) virtual [line 49, column 14]\n *&ou:User*=n$7 [line 49, column 3]\n " shape="box"] +"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ou:User*); [line 49, column 3]\n n$6=*&self:User* [line 49, column 15]\n n$7=_fun_User.otherUser(n$6:User*) virtual [line 49, column 14]\n *&ou:User*=n$7 [line 49, column 3]\n " shape="box"] "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" -> "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_3" ; -"tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_1" [label="1: Start User::tellMeSomething\nFormals: self:User*\nLocals: \nAnnotation: <_Nullable> User::tellMeSomething(<>) \n " color=yellow style=filled] +"tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_1" [label="1: Start User.tellMeSomething\nFormals: self:User*\nLocals: \nAnnotation: <_Nullable> User.tellMeSomething(<>) \n " color=yellow style=filled] "tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_1" -> "tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_3" ; -"tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_2" [label="2: Exit User::tellMeSomething \n " color=yellow style=filled] +"tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_2" [label="2: Exit User.tellMeSomething \n " color=yellow style=filled] -"tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_3" [label="3: Return Stmt \n n$1=_fun_NSString::stringWithUTF8String:(\"Hi\":char* const ) [line 34, column 10]\n *&return:NSString*=n$1 [line 34, column 3]\n " shape="box"] +"tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_3" [label="3: Return Stmt \n n$1=_fun_NSString.stringWithUTF8String:(\"Hi\":char* const ) [line 34, column 10]\n *&return:NSString*=n$1 [line 34, column 3]\n " shape="box"] "tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_3" -> "tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_2" ; -"tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_1" [label="1: Start User::tellMeSomething:and:and:and:\nFormals: self:User* s1:NSString* s2:NSString* s3:NSString* s4:NSString*\nLocals: \nAnnotation: <> User::tellMeSomething:and:and:and:(<> <> <> <_Nullable> <>) \n " color=yellow style=filled] +"tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_1" [label="1: Start User.tellMeSomething:and:and:and:\nFormals: self:User* s1:NSString* s2:NSString* s3:NSString* s4:NSString*\nLocals: \nAnnotation: <> User.tellMeSomething:and:and:and:(<> <> <> <_Nullable> <>) \n " color=yellow style=filled] "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_1" -> "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_3" ; -"tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_2" [label="2: Exit User::tellMeSomething:and:and:and: \n " color=yellow style=filled] +"tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_2" [label="2: Exit User.tellMeSomething:and:and:and: \n " color=yellow style=filled] -"tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_3" [label="3: Return Stmt \n n$3=_fun_NSString::stringWithUTF8String:(\"Hi\":char* const ) [line 45, column 10]\n *&return:NSString*=n$3 [line 45, column 3]\n " shape="box"] +"tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_3" [label="3: Return Stmt \n n$3=_fun_NSString.stringWithUTF8String:(\"Hi\":char* const ) [line 45, column 10]\n *&return:NSString*=n$3 [line 45, column 3]\n " shape="box"] "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_3" -> "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_2" ; -"tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_1" [label="1: Start User::tellMeSomethingNotNullable\nFormals: self:User*\nLocals: \n " color=yellow style=filled] +"tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_1" [label="1: Start User.tellMeSomethingNotNullable\nFormals: self:User*\nLocals: \n " color=yellow style=filled] "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_1" -> "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_3" ; -"tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_2" [label="2: Exit User::tellMeSomethingNotNullable \n " color=yellow style=filled] +"tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_2" [label="2: Exit User.tellMeSomethingNotNullable \n " color=yellow style=filled] -"tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_3" [label="3: Return Stmt \n n$2=_fun_NSString::stringWithUTF8String:(\"Hi\":char* const ) [line 38, column 10]\n *&return:NSString*=n$2 [line 38, column 3]\n " shape="box"] +"tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_3" [label="3: Return Stmt \n n$2=_fun_NSString.stringWithUTF8String:(\"Hi\":char* const ) [line 38, column 10]\n *&return:NSString*=n$2 [line 38, column 3]\n " shape="box"] "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_3" -> "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot b/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot index 2bdf7ab37..344b0d7fd 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot @@ -1,69 +1,69 @@ /* @generated */ digraph cfg { -"objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_1" [label="1: Start objc_blockBlockVar::blockPostBad_2\nFormals: x:int*\nLocals: \nCaptured: x:int* \n " color=yellow style=filled] +"objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_1" [label="1: Start objc_blockBlockVar.blockPostBad_2\nFormals: x:int*\nLocals: \nCaptured: x:int* \n " color=yellow style=filled] - "objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_1" -> "objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_3" ; -"objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_2" [label="2: Exit objc_blockBlockVar::blockPostBad_2 \n " color=yellow style=filled] + "objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_1" -> "objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_3" ; +"objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_2" [label="2: Exit objc_blockBlockVar.blockPostBad_2 \n " color=yellow style=filled] -"objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_3" [label="3: Return Stmt \n n$15=*&x:int* [line 32, column 12]\n *&return:int*=n$15 [line 32, column 5]\n " shape="box"] +"objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_3" [label="3: Return Stmt \n n$15=*&x:int* [line 32, column 12]\n *&return:int*=n$15 [line 32, column 5]\n " shape="box"] - "objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_3" -> "objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_2" ; -"objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_1" [label="1: Start objc_blockBlockVar::blockPostOk_3\nFormals: x:int*\nLocals: \nCaptured: x:int* \n " color=yellow style=filled] + "objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_3" -> "objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_2" ; +"objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_1" [label="1: Start objc_blockBlockVar.blockPostOk_3\nFormals: x:int*\nLocals: \nCaptured: x:int* \n " color=yellow style=filled] - "objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_1" -> "objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_3" ; -"objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_2" [label="2: Exit objc_blockBlockVar::blockPostOk_3 \n " color=yellow style=filled] + "objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_1" -> "objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_3" ; +"objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_2" [label="2: Exit objc_blockBlockVar.blockPostOk_3 \n " color=yellow style=filled] -"objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_3" [label="3: Return Stmt \n n$20=*&x:int* [line 41, column 12]\n *&return:int*=n$20 [line 41, column 5]\n " shape="box"] +"objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_3" [label="3: Return Stmt \n n$20=*&x:int* [line 41, column 12]\n *&return:int*=n$20 [line 41, column 5]\n " shape="box"] - "objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_3" -> "objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_2" ; -"objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_1" [label="1: Start objc_blockBlockVar::capturedNoNullDeref_5\nFormals: x:int*\nLocals: \nCaptured: x:int* \n " color=yellow style=filled] + "objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_3" -> "objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_2" ; +"objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_1" [label="1: Start objc_blockBlockVar.capturedNoNullDeref_5\nFormals: x:int*\nLocals: \nCaptured: x:int* \n " color=yellow style=filled] - "objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_1" -> "objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_3" ; -"objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_2" [label="2: Exit objc_blockBlockVar::capturedNoNullDeref_5 \n " color=yellow style=filled] + "objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_1" -> "objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_3" ; +"objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_2" [label="2: Exit objc_blockBlockVar.capturedNoNullDeref_5 \n " color=yellow style=filled] -"objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_3" [label="3: Return Stmt \n n$29=*&x:int* [line 58, column 13]\n n$30=*n$29:int [line 58, column 12]\n *&return:int=n$30 [line 58, column 5]\n " shape="box"] +"objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_3" [label="3: Return Stmt \n n$29=*&x:int* [line 58, column 13]\n n$30=*n$29:int [line 58, column 12]\n *&return:int=n$30 [line 58, column 5]\n " shape="box"] - "objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_3" -> "objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_2" ; -"objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_1" [label="1: Start objc_blockBlockVar::capturedNullDeref_4\nFormals: x:int*\nLocals: \nCaptured: x:int* \n " color=yellow style=filled] + "objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_3" -> "objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_2" ; +"objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_1" [label="1: Start objc_blockBlockVar.capturedNullDeref_4\nFormals: x:int*\nLocals: \nCaptured: x:int* \n " color=yellow style=filled] - "objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_1" -> "objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_3" ; -"objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_2" [label="2: Exit objc_blockBlockVar::capturedNullDeref_4 \n " color=yellow style=filled] + "objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_1" -> "objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_3" ; +"objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_2" [label="2: Exit objc_blockBlockVar.capturedNullDeref_4 \n " color=yellow style=filled] -"objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_3" [label="3: Return Stmt \n n$24=*&x:int* [line 49, column 13]\n n$25=*n$24:int [line 49, column 12]\n *&return:int=n$25 [line 49, column 5]\n " shape="box"] +"objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_3" [label="3: Return Stmt \n n$24=*&x:int* [line 49, column 13]\n n$25=*n$24:int [line 49, column 12]\n *&return:int=n$25 [line 49, column 5]\n " shape="box"] - "objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_3" -> "objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_2" ; -"objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_1" [label="1: Start objc_blockBlockVar::navigateToURLInBackground_1\nFormals: a:int b:int\nLocals: res:int \n " color=yellow style=filled] + "objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_3" -> "objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_2" ; +"objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_1" [label="1: Start objc_blockBlockVar.navigateToURLInBackground_1\nFormals: a:int b:int\nLocals: res:int \n " color=yellow style=filled] - "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_1" -> "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_4" ; -"objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_2" [label="2: Exit objc_blockBlockVar::navigateToURLInBackground_1 \n " color=yellow style=filled] + "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_1" -> "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_4" ; +"objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_2" [label="2: Exit objc_blockBlockVar.navigateToURLInBackground_1 \n " color=yellow style=filled] -"objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_3" [label="3: Return Stmt \n n$7=*&a:int [line 19, column 12]\n n$8=*&b:int [line 19, column 16]\n n$9=*&res:int [line 19, column 20]\n *&return:int=((n$7 + n$8) + n$9) [line 19, column 5]\n " shape="box"] +"objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_3" [label="3: Return Stmt \n n$7=*&a:int [line 19, column 12]\n n$8=*&b:int [line 19, column 16]\n n$9=*&res:int [line 19, column 20]\n *&return:int=((n$7 + n$8) + n$9) [line 19, column 5]\n " shape="box"] - "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_3" -> "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_2" ; -"objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_4" [label="4: DeclStmt \n VARIABLE_DECLARED(res:int); [line 18, column 5]\n n$10=_fun_BlockVar::test() [line 18, column 15]\n *&res:int=n$10 [line 18, column 5]\n " shape="box"] + "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_3" -> "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_2" ; +"objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_4" [label="4: DeclStmt \n VARIABLE_DECLARED(res:int); [line 18, column 5]\n n$10=_fun_BlockVar.test() [line 18, column 15]\n *&res:int=n$10 [line 18, column 5]\n " shape="box"] - "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_4" -> "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_3" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_1" [label="1: Start BlockVar::navigateToURLInBackground\nFormals: \nLocals: p:int* x:int addBlock:_fn_(*) \n " color=yellow style=filled] + "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_4" -> "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_3" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_1" [label="1: Start BlockVar.navigateToURLInBackground\nFormals: \nLocals: p:int* x:int addBlock:_fn_(*) \n " color=yellow style=filled] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_1" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" [label="2: Exit BlockVar::navigateToURLInBackground \n " color=yellow style=filled] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" [label="2: Exit BlockVar.navigateToURLInBackground \n " color=yellow style=filled] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_3" [label="3: + \n " ] @@ -103,33 +103,33 @@ digraph cfg { "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" [label="12: DeclStmt \n VARIABLE_DECLARED(addBlock:_fn_(*)); [line 17, column 3]\n *&addBlock:_fn_(*)=(_fun_objc_blockBlockVar::navigateToURLInBackground_1) [line 17, column 3]\n " shape="box"] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" [label="12: DeclStmt \n VARIABLE_DECLARED(addBlock:_fn_(*)); [line 17, column 3]\n *&addBlock:_fn_(*)=(_fun_objc_blockBlockVar.navigateToURLInBackground_1) [line 17, column 3]\n " shape="box"] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" ; -"test#BlockVar#class.79d88363beeb921609a605886abe817f_1" [label="1: Start BlockVar::test\nFormals: \nLocals: \n " color=yellow style=filled] +"test#BlockVar#class.79d88363beeb921609a605886abe817f_1" [label="1: Start BlockVar.test\nFormals: \nLocals: \n " color=yellow style=filled] "test#BlockVar#class.79d88363beeb921609a605886abe817f_1" -> "test#BlockVar#class.79d88363beeb921609a605886abe817f_3" ; -"test#BlockVar#class.79d88363beeb921609a605886abe817f_2" [label="2: Exit BlockVar::test \n " color=yellow style=filled] +"test#BlockVar#class.79d88363beeb921609a605886abe817f_2" [label="2: Exit BlockVar.test \n " color=yellow style=filled] "test#BlockVar#class.79d88363beeb921609a605886abe817f_3" [label="3: Return Stmt \n *&return:int=5 [line 13, column 3]\n " shape="box"] "test#BlockVar#class.79d88363beeb921609a605886abe817f_3" -> "test#BlockVar#class.79d88363beeb921609a605886abe817f_2" ; -"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_1" [label="1: Start BlockVar::blockPostBad\nFormals: self:BlockVar*\nLocals: my_block:_fn_(*) x:int* \n " color=yellow style=filled] +"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_1" [label="1: Start BlockVar.blockPostBad\nFormals: self:BlockVar*\nLocals: my_block:_fn_(*) x:int* \n " color=yellow style=filled] "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_1" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_5" ; -"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_2" [label="2: Exit BlockVar::blockPostBad \n " color=yellow style=filled] +"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_2" [label="2: Exit BlockVar.blockPostBad \n " color=yellow style=filled] "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" [label="3: Return Stmt \n n$11=*&my_block:_fn_(*) [line 34, column 11]\n n$12=n$11() objc_block [line 34, column 11]\n n$13=*n$12:int [line 34, column 10]\n *&return:int=n$13 [line 34, column 3]\n " shape="box"] "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_2" ; -"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 31, column 3]\n n$14=*&x:int* [line 31, column 28]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::blockPostBad_2,(n$14 &x:int*)) [line 31, column 3]\n " shape="box"] +"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 31, column 3]\n n$14=*&x:int* [line 31, column 28]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar.blockPostBad_2,(n$14 &x:int*)) [line 31, column 3]\n " shape="box"] "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" ; @@ -137,18 +137,18 @@ digraph cfg { "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_5" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" ; -"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_1" [label="1: Start BlockVar::blockPostOk\nFormals: self:BlockVar*\nLocals: my_block:_fn_(*) x:int* i:int \n " color=yellow style=filled] +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_1" [label="1: Start BlockVar.blockPostOk\nFormals: self:BlockVar*\nLocals: my_block:_fn_(*) x:int* i:int \n " color=yellow style=filled] "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_1" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_6" ; -"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_2" [label="2: Exit BlockVar::blockPostOk \n " color=yellow style=filled] +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_2" [label="2: Exit BlockVar.blockPostOk \n " color=yellow style=filled] "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" [label="3: Return Stmt \n n$16=*&my_block:_fn_(*) [line 43, column 11]\n n$17=n$16() objc_block [line 43, column 11]\n n$18=*n$17:int [line 43, column 10]\n *&return:int=n$18 [line 43, column 3]\n " shape="box"] "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_2" ; -"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 40, column 3]\n n$19=*&x:int* [line 40, column 28]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::blockPostOk_3,(n$19 &x:int*)) [line 40, column 3]\n " shape="box"] +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 40, column 3]\n n$19=*&x:int* [line 40, column 28]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar.blockPostOk_3,(n$19 &x:int*)) [line 40, column 3]\n " shape="box"] "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" ; @@ -160,11 +160,11 @@ digraph cfg { "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_6" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_5" ; -"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_1" [label="1: Start BlockVar::capturedNoNullDeref\nFormals: self:BlockVar*\nLocals: my_block:_fn_(*) x:int* i:int \n " color=yellow style=filled] +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_1" [label="1: Start BlockVar.capturedNoNullDeref\nFormals: self:BlockVar*\nLocals: my_block:_fn_(*) x:int* i:int \n " color=yellow style=filled] "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_1" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_7" ; -"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_2" [label="2: Exit BlockVar::capturedNoNullDeref \n " color=yellow style=filled] +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_2" [label="2: Exit BlockVar.capturedNoNullDeref \n " color=yellow style=filled] "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_3" [label="3: Return Stmt \n n$26=*&my_block:_fn_(*) [line 61, column 10]\n n$27=n$26() objc_block [line 61, column 10]\n *&return:int=n$27 [line 61, column 3]\n " shape="box"] @@ -175,7 +175,7 @@ digraph cfg { "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_3" ; -"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" [label="5: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 57, column 3]\n n$28=*&x:int* [line 57, column 27]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::capturedNoNullDeref_5,(n$28 &x:int*)) [line 57, column 3]\n " shape="box"] +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" [label="5: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 57, column 3]\n n$28=*&x:int* [line 57, column 27]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar.capturedNoNullDeref_5,(n$28 &x:int*)) [line 57, column 3]\n " shape="box"] "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" ; @@ -187,18 +187,18 @@ digraph cfg { "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_7" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_6" ; -"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_1" [label="1: Start BlockVar::capturedNullDeref\nFormals: self:BlockVar*\nLocals: my_block:_fn_(*) x:int* \n " color=yellow style=filled] +"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_1" [label="1: Start BlockVar.capturedNullDeref\nFormals: self:BlockVar*\nLocals: my_block:_fn_(*) x:int* \n " color=yellow style=filled] "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_1" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_5" ; -"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_2" [label="2: Exit BlockVar::capturedNullDeref \n " color=yellow style=filled] +"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_2" [label="2: Exit BlockVar.capturedNullDeref \n " color=yellow style=filled] "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_3" [label="3: Return Stmt \n n$21=*&my_block:_fn_(*) [line 51, column 10]\n n$22=n$21() objc_block [line 51, column 10]\n *&return:int=n$22 [line 51, column 3]\n " shape="box"] "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_3" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_2" ; -"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 48, column 3]\n n$23=*&x:int* [line 48, column 27]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::capturedNullDeref_4,(n$23 &x:int*)) [line 48, column 3]\n " shape="box"] +"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 48, column 3]\n n$23=*&x:int* [line 48, column 27]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar.capturedNullDeref_4,(n$23 &x:int*)) [line 48, column 3]\n " shape="box"] "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_4" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot b/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot index 85013e858..4f11ea6f7 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot @@ -1,28 +1,28 @@ /* @generated */ digraph cfg { -"objc_blockB::f_1(class B).5b7adcd944bbfcb88a674af924a1733e_1" [label="1: Start objc_blockB::f_1\nFormals: self:B* const \nLocals: \nCaptured: self:B* const \n " color=yellow style=filled] +"objc_blockB.f_1(class B).c1c611f4be5cea3fe56d67e34da1fffd_1" [label="1: Start objc_blockB.f_1\nFormals: self:B* const \nLocals: \nCaptured: self:B* const \n " color=yellow style=filled] - "objc_blockB::f_1(class B).5b7adcd944bbfcb88a674af924a1733e_1" -> "objc_blockB::f_1(class B).5b7adcd944bbfcb88a674af924a1733e_3" ; -"objc_blockB::f_1(class B).5b7adcd944bbfcb88a674af924a1733e_2" [label="2: Exit objc_blockB::f_1 \n " color=yellow style=filled] + "objc_blockB.f_1(class B).c1c611f4be5cea3fe56d67e34da1fffd_1" -> "objc_blockB.f_1(class B).c1c611f4be5cea3fe56d67e34da1fffd_3" ; +"objc_blockB.f_1(class B).c1c611f4be5cea3fe56d67e34da1fffd_2" [label="2: Exit objc_blockB.f_1 \n " color=yellow style=filled] -"objc_blockB::f_1(class B).5b7adcd944bbfcb88a674af924a1733e_3" [label="3: BinaryOperatorStmt: Assign \n n$3=*&self:B* [line 25, column 9]\n *n$3.x:int=5 [line 25, column 9]\n " shape="box"] +"objc_blockB.f_1(class B).c1c611f4be5cea3fe56d67e34da1fffd_3" [label="3: BinaryOperatorStmt: Assign \n n$3=*&self:B* [line 25, column 9]\n *n$3.x:int=5 [line 25, column 9]\n " shape="box"] - "objc_blockB::f_1(class B).5b7adcd944bbfcb88a674af924a1733e_3" -> "objc_blockB::f_1(class B).5b7adcd944bbfcb88a674af924a1733e_2" ; -"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_1" [label="1: Start B::f\nFormals: self:B*\nLocals: \n " color=yellow style=filled] + "objc_blockB.f_1(class B).c1c611f4be5cea3fe56d67e34da1fffd_3" -> "objc_blockB.f_1(class B).c1c611f4be5cea3fe56d67e34da1fffd_2" ; +"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_1" [label="1: Start B.f\nFormals: self:B*\nLocals: \n " color=yellow style=filled] "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_1" -> "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" ; -"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_2" [label="2: Exit B::f \n " color=yellow style=filled] +"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_2" [label="2: Exit B.f \n " color=yellow style=filled] "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" [label="3: Return Stmt \n n$0=*&self:B* [line 27, column 10]\n n$1=*n$0.y:int [line 27, column 10]\n *&return:int=n$1 [line 27, column 3]\n " shape="box"] "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" -> "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_2" ; -"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" [label="4: Message Call: foo:and: \n n$4=*&self:B* [line 23, column 10]\n n$5=*n$4.h:int [line 23, column 10]\n n$2=*&self:B* const [line 24, column 11]\n n$6=_fun_B::foo:and:(n$5:int,(_fun_objc_blockB::f_1,(n$2 &self:B* const )):_fn_(*)) block_params [line 23, column 3]\n " shape="box"] +"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" [label="4: Message Call: foo:and: \n n$4=*&self:B* [line 23, column 10]\n n$5=*n$4.h:int [line 23, column 10]\n n$2=*&self:B* const [line 24, column 11]\n n$6=_fun_B.foo:and:(n$5:int,(_fun_objc_blockB.f_1,(n$2 &self:B* const )):_fn_(*)) block_params [line 23, column 3]\n " shape="box"] "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" -> "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot index b307f9b9f..6812c18d0 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot @@ -1,81 +1,81 @@ /* @generated */ digraph cfg { -"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_1" [label="1: Start objc_blockMyBlock::array_1\nFormals: object:objc_object* idx:unsigned long stop:_Bool*\nLocals: ShouldStop:int \n " color=yellow style=filled] +"objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_1" [label="1: Start objc_blockMyBlock.array_1\nFormals: object:objc_object* idx:unsigned long stop:_Bool*\nLocals: ShouldStop:int \n " color=yellow style=filled] - "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_1" -> "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_5" ; - "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_1" -> "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_6" ; -"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_2" [label="2: Exit objc_blockMyBlock::array_1 \n " color=yellow style=filled] + "objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_1" -> "objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_5" ; + "objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_1" -> "objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_6" ; +"objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_2" [label="2: Exit objc_blockMyBlock.array_1 \n " color=yellow style=filled] -"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_3" [label="3: + \n " ] +"objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_3" [label="3: + \n " ] - "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_3" -> "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_4" ; -"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_4" [label="4: between_join_and_exit \n " shape="box"] + "objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_3" -> "objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_4" ; +"objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_4" [label="4: between_join_and_exit \n " shape="box"] - "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_4" -> "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_2" ; -"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_5" [label="5: Prune (true branch, if) \n n$1=*&ShouldStop:int [line 24, column 9]\n PRUNE(n$1, true); [line 24, column 9]\n " shape="invhouse"] + "objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_4" -> "objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_2" ; +"objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_5" [label="5: Prune (true branch, if) \n n$1=*&ShouldStop:int [line 24, column 9]\n PRUNE(n$1, true); [line 24, column 9]\n " shape="invhouse"] - "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_5" -> "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_7" ; -"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_6" [label="6: Prune (false branch, if) \n n$1=*&ShouldStop:int [line 24, column 9]\n PRUNE(!n$1, false); [line 24, column 9]\n " shape="invhouse"] + "objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_5" -> "objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_7" ; +"objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_6" [label="6: Prune (false branch, if) \n n$1=*&ShouldStop:int [line 24, column 9]\n PRUNE(!n$1, false); [line 24, column 9]\n " shape="invhouse"] - "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_6" -> "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_3" ; -"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&stop:_Bool* [line 25, column 8]\n *n$2:_Bool=1 [line 25, column 7]\n " shape="box"] + "objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_6" -> "objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_3" ; +"objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&stop:_Bool* [line 25, column 8]\n *n$2:_Bool=1 [line 25, column 7]\n " shape="box"] - "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_7" -> "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_3" ; -"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_1" [label="1: Start objc_blockMyBlock::array_trans_2\nFormals: object:objc_object* idx:unsigned long stop:_Bool*\nLocals: ShouldStop:int \n " color=yellow style=filled] + "objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_7" -> "objc_blockMyBlock.array_1(struct objc_object).9201a75f2c4d4a550effc590be108f97_3" ; +"objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_1" [label="1: Start objc_blockMyBlock.array_trans_2\nFormals: object:objc_object* idx:unsigned long stop:_Bool*\nLocals: ShouldStop:int \n " color=yellow style=filled] - "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_1" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_5" ; - "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_1" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_6" ; -"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_2" [label="2: Exit objc_blockMyBlock::array_trans_2 \n " color=yellow style=filled] + "objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_1" -> "objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_5" ; + "objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_1" -> "objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_6" ; +"objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_2" [label="2: Exit objc_blockMyBlock.array_trans_2 \n " color=yellow style=filled] -"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_3" [label="3: + \n " ] +"objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_3" [label="3: + \n " ] - "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_3" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_4" ; -"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_4" [label="4: between_join_and_exit \n " shape="box"] + "objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_3" -> "objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_4" ; +"objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_4" [label="4: between_join_and_exit \n " shape="box"] - "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_4" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_2" ; -"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_5" [label="5: Prune (true branch, if) \n n$32=*&ShouldStop:int [line 41, column 13]\n PRUNE(n$32, true); [line 41, column 13]\n " shape="invhouse"] + "objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_4" -> "objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_2" ; +"objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_5" [label="5: Prune (true branch, if) \n n$32=*&ShouldStop:int [line 41, column 13]\n PRUNE(n$32, true); [line 41, column 13]\n " shape="invhouse"] - "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_5" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_7" ; -"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_6" [label="6: Prune (false branch, if) \n n$32=*&ShouldStop:int [line 41, column 13]\n PRUNE(!n$32, false); [line 41, column 13]\n " shape="invhouse"] + "objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_5" -> "objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_7" ; +"objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_6" [label="6: Prune (false branch, if) \n n$32=*&ShouldStop:int [line 41, column 13]\n PRUNE(!n$32, false); [line 41, column 13]\n " shape="invhouse"] - "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_6" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_3" ; -"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_7" [label="7: BinaryOperatorStmt: Assign \n n$33=*&stop:_Bool* [line 42, column 12]\n *n$33:_Bool=1 [line 42, column 11]\n " shape="box"] + "objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_6" -> "objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_3" ; +"objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_7" [label="7: BinaryOperatorStmt: Assign \n n$33=*&stop:_Bool* [line 42, column 12]\n *n$33:_Bool=1 [line 42, column 11]\n " shape="box"] - "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_7" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_3" ; -"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_1" [label="1: Start MyBlock::array\nFormals: self:MyBlock*\nLocals: a:NSArray* \n " color=yellow style=filled] + "objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_7" -> "objc_blockMyBlock.array_trans_2(struct objc_object).55e73c34c60839a5c2b8abffd7dcfc46_3" ; +"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_1" [label="1: Start MyBlock.array\nFormals: self:MyBlock*\nLocals: a:NSArray* \n " color=yellow style=filled] "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_1" -> "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_4" ; -"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_2" [label="2: Exit MyBlock::array \n " color=yellow style=filled] +"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_2" [label="2: Exit MyBlock.array \n " color=yellow style=filled] -"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_3" [label="3: Message Call: enumerateObjectsUsingBlock: \n n$5=*&a:NSArray* [line 19, column 4]\n n$6=_fun_NSArray::enumerateObjectsUsingBlock:(n$5:NSArray*,(_fun_objc_blockMyBlock::array_1):_fn_(*)) block_params virtual [line 19, column 3]\n " shape="box"] +"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_3" [label="3: Message Call: enumerateObjectsUsingBlock: \n n$5=*&a:NSArray* [line 19, column 4]\n n$6=_fun_NSArray.enumerateObjectsUsingBlock:(n$5:NSArray*,(_fun_objc_blockMyBlock.array_1):_fn_(*)) block_params virtual [line 19, column 3]\n " shape="box"] "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_3" -> "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_2" ; -"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:NSArray*); [line 18, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 18, column 17]\n n$8=_fun_NSArray::init(n$7:NSArray*) virtual [line 18, column 16]\n *&a:NSArray*=n$8 [line 18, column 3]\n " shape="box"] +"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:NSArray*); [line 18, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 18, column 17]\n n$8=_fun_NSArray.init(n$7:NSArray*) virtual [line 18, column 16]\n *&a:NSArray*=n$8 [line 18, column 3]\n " shape="box"] "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_4" -> "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_3" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_1" [label="1: Start MyBlock::array_trans\nFormals: self:MyBlock*\nLocals: idx:unsigned long object:objc_object* stop:_Bool* enumerateObjectsUsingBlock:_fn_(*) objects:NSArray* a:NSArray* \n " color=yellow style=filled] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_1" [label="1: Start MyBlock.array_trans\nFormals: self:MyBlock*\nLocals: idx:unsigned long object:objc_object* stop:_Bool* enumerateObjectsUsingBlock:_fn_(*) objects:NSArray* a:NSArray* \n " color=yellow style=filled] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_1" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_20" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_2" [label="2: Exit MyBlock::array_trans \n " color=yellow style=filled] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_2" [label="2: Exit MyBlock.array_trans \n " color=yellow style=filled] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" [label="3: Call _fun_free \n n$9=*&stop:_Bool* [line 55, column 8]\n n$10=_fun_free(n$9:void*) [line 55, column 3]\n " shape="box"] @@ -94,7 +94,7 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_6" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_4" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_7" [label="7: BinaryOperatorStmt: LT \n n$12=*&idx:unsigned long [line 48, column 28]\n n$13=*&objects:NSArray* [line 48, column 34]\n n$14=_fun_NSArray::count(n$13:NSArray*) [line 48, column 42]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_7" [label="7: BinaryOperatorStmt: LT \n n$12=*&idx:unsigned long [line 48, column 28]\n n$13=*&objects:NSArray* [line 48, column 34]\n n$14=_fun_NSArray.count(n$13:NSArray*) [line 48, column 42]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_7" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_8" ; @@ -128,7 +128,7 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_14" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_11" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_15" [label="15: DeclStmt \n VARIABLE_DECLARED(object:objc_object*); [line 50, column 5]\n n$26=*&objects:NSArray* [line 50, column 17]\n n$25=*&idx:unsigned long [line 50, column 25]\n n$27=_fun_NSArray::objectAtIndexedSubscript:(n$26:NSArray*,n$25:unsigned long) virtual [line 50, column 17]\n *&object:objc_object*=n$27 [line 50, column 5]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_15" [label="15: DeclStmt \n VARIABLE_DECLARED(object:objc_object*); [line 50, column 5]\n n$26=*&objects:NSArray* [line 50, column 17]\n n$25=*&idx:unsigned long [line 50, column 25]\n n$27=_fun_NSArray.objectAtIndexedSubscript:(n$26:NSArray*,n$25:unsigned long) virtual [line 50, column 17]\n *&object:objc_object*=n$27 [line 50, column 5]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_15" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_14" ; @@ -140,7 +140,7 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_17" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_16" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_18" [label="18: DeclStmt \n VARIABLE_DECLARED(enumerateObjectsUsingBlock:_fn_(*)); [line 37, column 3]\n *&enumerateObjectsUsingBlock:_fn_(*)=(_fun_objc_blockMyBlock::array_trans_2) [line 37, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_18" [label="18: DeclStmt \n VARIABLE_DECLARED(enumerateObjectsUsingBlock:_fn_(*)); [line 37, column 3]\n *&enumerateObjectsUsingBlock:_fn_(*)=(_fun_objc_blockMyBlock.array_trans_2) [line 37, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_18" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_17" ; @@ -148,7 +148,7 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_19" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_18" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_20" [label="20: DeclStmt \n VARIABLE_DECLARED(a:NSArray*); [line 32, column 3]\n n$37=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 32, column 17]\n n$38=_fun_NSArray::init(n$37:NSArray*) virtual [line 32, column 16]\n *&a:NSArray*=n$38 [line 32, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_20" [label="20: DeclStmt \n VARIABLE_DECLARED(a:NSArray*); [line 32, column 3]\n n$37=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 32, column 17]\n n$38=_fun_NSArray.init(n$37:NSArray*) virtual [line 32, column 16]\n *&a:NSArray*=n$38 [line 32, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_20" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_19" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot index 7c47f05c1..404c650f5 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot @@ -1,21 +1,21 @@ /* @generated */ digraph cfg { -"objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_1" [label="1: Start objc_blockMy_manager::m_1\nFormals: z:int\nLocals: \nCaptured: z:int \n " color=yellow style=filled] +"objc_blockMy_manager.m_1.d933a5f9ad39365b735134c5f5009061_1" [label="1: Start objc_blockMy_manager.m_1\nFormals: z:int\nLocals: \nCaptured: z:int \n " color=yellow style=filled] - "objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_1" -> "objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_3" ; -"objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_2" [label="2: Exit objc_blockMy_manager::m_1 \n " color=yellow style=filled] + "objc_blockMy_manager.m_1.d933a5f9ad39365b735134c5f5009061_1" -> "objc_blockMy_manager.m_1.d933a5f9ad39365b735134c5f5009061_3" ; +"objc_blockMy_manager.m_1.d933a5f9ad39365b735134c5f5009061_2" [label="2: Exit objc_blockMy_manager.m_1 \n " color=yellow style=filled] -"objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_3" [label="3: BinaryOperatorStmt: Assign \n n$8=*&z:int [line 24, column 9]\n *&#GB$g:int=(n$8 + 3) [line 24, column 5]\n " shape="box"] +"objc_blockMy_manager.m_1.d933a5f9ad39365b735134c5f5009061_3" [label="3: BinaryOperatorStmt: Assign \n n$8=*&z:int [line 24, column 9]\n *&#GB$g:int=(n$8 + 3) [line 24, column 5]\n " shape="box"] - "objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_3" -> "objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_2" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_1" [label="1: Start My_manager::m\nFormals: self:My_manager*\nLocals: p:int* z:int b:_fn_(*) \n " color=yellow style=filled] + "objc_blockMy_manager.m_1.d933a5f9ad39365b735134c5f5009061_3" -> "objc_blockMy_manager.m_1.d933a5f9ad39365b735134c5f5009061_2" ; +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_1" [label="1: Start My_manager.m\nFormals: self:My_manager*\nLocals: p:int* z:int b:_fn_(*) \n " color=yellow style=filled] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_1" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_14" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_2" [label="2: Exit My_manager::m \n " color=yellow style=filled] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_2" [label="2: Exit My_manager.m \n " color=yellow style=filled] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_3" [label="3: + \n " ] @@ -55,7 +55,7 @@ digraph cfg { "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_11" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_10" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_12" [label="12: BinaryOperatorStmt: Assign \n n$7=*&z:int [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager::m_1,(n$7 &z:int)) [line 23, column 3]\n " shape="box"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_12" [label="12: BinaryOperatorStmt: Assign \n n$7=*&z:int [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager.m_1,(n$7 &z:int)) [line 23, column 3]\n " shape="box"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_12" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_11" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot index d045c7fde..d04f0d60e 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot @@ -1,38 +1,38 @@ /* @generated */ digraph cfg { -"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_1" [label="1: Start objc_blockMy_manager::blockReleaseNoLeak_1\nFormals: newImage:CGImage* a:int\nLocals: \nCaptured: newImage:CGImage* \n " color=yellow style=filled] +"objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_1" [label="1: Start objc_blockMy_manager.blockReleaseNoLeak_1\nFormals: newImage:CGImage* a:int\nLocals: \nCaptured: newImage:CGImage* \n " color=yellow style=filled] - "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_1" -> "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_5" ; - "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_1" -> "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_6" ; -"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_2" [label="2: Exit objc_blockMy_manager::blockReleaseNoLeak_1 \n " color=yellow style=filled] + "objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_1" -> "objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_5" ; + "objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_1" -> "objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_6" ; +"objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_2" [label="2: Exit objc_blockMy_manager.blockReleaseNoLeak_1 \n " color=yellow style=filled] -"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_3" [label="3: + \n " ] +"objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_3" [label="3: + \n " ] - "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_3" -> "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_4" ; -"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_4" [label="4: between_join_and_exit \n " shape="box"] + "objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_3" -> "objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_4" ; +"objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_4" [label="4: between_join_and_exit \n " shape="box"] - "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_4" -> "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_2" ; -"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_5" [label="5: Prune (true branch, if) \n n$10=*&newImage:CGImage* [line 24, column 9]\n PRUNE(n$10, true); [line 24, column 9]\n " shape="invhouse"] + "objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_4" -> "objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_2" ; +"objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_5" [label="5: Prune (true branch, if) \n n$10=*&newImage:CGImage* [line 24, column 9]\n PRUNE(n$10, true); [line 24, column 9]\n " shape="invhouse"] - "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_5" -> "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_7" ; -"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_6" [label="6: Prune (false branch, if) \n n$10=*&newImage:CGImage* [line 24, column 9]\n PRUNE(!n$10, false); [line 24, column 9]\n " shape="invhouse"] + "objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_5" -> "objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_7" ; +"objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_6" [label="6: Prune (false branch, if) \n n$10=*&newImage:CGImage* [line 24, column 9]\n PRUNE(!n$10, false); [line 24, column 9]\n " shape="invhouse"] - "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_6" -> "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_3" ; -"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_7" [label="7: Call _fun_CGImageRelease \n n$11=*&newImage:CGImage* [line 25, column 22]\n n$12=_fun_CGImageRelease(n$11:CGImage*) [line 25, column 7]\n " shape="box"] + "objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_6" -> "objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_3" ; +"objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_7" [label="7: Call _fun_CGImageRelease \n n$11=*&newImage:CGImage* [line 25, column 22]\n n$12=_fun_CGImageRelease(n$11:CGImage*) [line 25, column 7]\n " shape="box"] - "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_7" -> "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_3" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_1" [label="1: Start My_manager::blockReleaseNoLeak\nFormals: self:My_manager*\nLocals: newImage:CGImage* context:CGContext* z:int b:_fn_(*) \n " color=yellow style=filled] + "objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_7" -> "objc_blockMy_manager.blockReleaseNoLeak_1(struct CGImage).d2039f8bbb0530575d5ff258d059d268_3" ; +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_1" [label="1: Start My_manager.blockReleaseNoLeak\nFormals: self:My_manager*\nLocals: newImage:CGImage* context:CGContext* z:int b:_fn_(*) \n " color=yellow style=filled] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_1" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_12" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_2" [label="2: Exit My_manager::blockReleaseNoLeak \n " color=yellow style=filled] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_2" [label="2: Exit My_manager.blockReleaseNoLeak \n " color=yellow style=filled] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_3" [label="3: Return Stmt \n n$0=*&z:int [line 30, column 10]\n *&return:int=n$0 [line 30, column 3]\n " shape="box"] @@ -60,7 +60,7 @@ digraph cfg { "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_5" ; "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" [label="9: BinaryOperatorStmt: Assign \n n$9=*&newImage:CGImage* [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager::blockReleaseNoLeak_1,(n$9 &newImage:CGImage*)) [line 23, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" [label="9: BinaryOperatorStmt: Assign \n n$9=*&newImage:CGImage* [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager.blockReleaseNoLeak_1,(n$9 &newImage:CGImage*)) [line 23, column 3]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot index a3ad6de03..48fe4dc52 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot @@ -40,119 +40,119 @@ digraph cfg { "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_10" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_5" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" [label="11: DeclStmt \n VARIABLE_DECLARED(b:DispatchA*); [line 83, column 3]\n n$4=_fun_DispatchA::sharedInstance() [line 83, column 18]\n *&b:DispatchA*=n$4 [line 83, column 3]\n " shape="box"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" [label="11: DeclStmt \n VARIABLE_DECLARED(b:DispatchA*); [line 83, column 3]\n n$4=_fun_DispatchA.sharedInstance() [line 83, column 18]\n *&b:DispatchA*=n$4 [line 83, column 3]\n " shape="box"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_10" ; -"objc_blockDispatchA::block_attribute_2(class DispatchA).8dc1ebb9b817a75d59191e3b5ac3d8f4_1" [label="1: Start objc_blockDispatchA::block_attribute_2\nFormals: a:DispatchA*\nLocals: \nCaptured: a:DispatchA* \n " color=yellow style=filled] +"objc_blockDispatchA.block_attribute_2(class DispatchA).fbb5956dc6c8f95a8f2ae751ac2b44a1_1" [label="1: Start objc_blockDispatchA.block_attribute_2\nFormals: a:DispatchA*\nLocals: \nCaptured: a:DispatchA* \n " color=yellow style=filled] - "objc_blockDispatchA::block_attribute_2(class DispatchA).8dc1ebb9b817a75d59191e3b5ac3d8f4_1" -> "objc_blockDispatchA::block_attribute_2(class DispatchA).8dc1ebb9b817a75d59191e3b5ac3d8f4_3" ; -"objc_blockDispatchA::block_attribute_2(class DispatchA).8dc1ebb9b817a75d59191e3b5ac3d8f4_2" [label="2: Exit objc_blockDispatchA::block_attribute_2 \n " color=yellow style=filled] + "objc_blockDispatchA.block_attribute_2(class DispatchA).fbb5956dc6c8f95a8f2ae751ac2b44a1_1" -> "objc_blockDispatchA.block_attribute_2(class DispatchA).fbb5956dc6c8f95a8f2ae751ac2b44a1_3" ; +"objc_blockDispatchA.block_attribute_2(class DispatchA).fbb5956dc6c8f95a8f2ae751ac2b44a1_2" [label="2: Exit objc_blockDispatchA.block_attribute_2 \n " color=yellow style=filled] -"objc_blockDispatchA::block_attribute_2(class DispatchA).8dc1ebb9b817a75d59191e3b5ac3d8f4_3" [label="3: BinaryOperatorStmt: Assign \n n$8=*&a:DispatchA* [line 38, column 5]\n *n$8._x:int=10 [line 38, column 5]\n " shape="box"] +"objc_blockDispatchA.block_attribute_2(class DispatchA).fbb5956dc6c8f95a8f2ae751ac2b44a1_3" [label="3: BinaryOperatorStmt: Assign \n n$8=*&a:DispatchA* [line 38, column 5]\n *n$8._x:int=10 [line 38, column 5]\n " shape="box"] - "objc_blockDispatchA::block_attribute_2(class DispatchA).8dc1ebb9b817a75d59191e3b5ac3d8f4_3" -> "objc_blockDispatchA::block_attribute_2(class DispatchA).8dc1ebb9b817a75d59191e3b5ac3d8f4_2" ; -"objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_1" [label="1: Start objc_blockDispatchA::dispatch_a_block_variable_4\nFormals: \nLocals: \n " color=yellow style=filled] + "objc_blockDispatchA.block_attribute_2(class DispatchA).fbb5956dc6c8f95a8f2ae751ac2b44a1_3" -> "objc_blockDispatchA.block_attribute_2(class DispatchA).fbb5956dc6c8f95a8f2ae751ac2b44a1_2" ; +"objc_blockDispatchA.dispatch_a_block_variable_4.85a73921543aa13f4bc6d889cc185a8d_1" [label="1: Start objc_blockDispatchA.dispatch_a_block_variable_4\nFormals: \nLocals: \n " color=yellow style=filled] - "objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_1" -> "objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_3" ; -"objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_2" [label="2: Exit objc_blockDispatchA::dispatch_a_block_variable_4 \n " color=yellow style=filled] + "objc_blockDispatchA.dispatch_a_block_variable_4.85a73921543aa13f4bc6d889cc185a8d_1" -> "objc_blockDispatchA.dispatch_a_block_variable_4.85a73921543aa13f4bc6d889cc185a8d_3" ; +"objc_blockDispatchA.dispatch_a_block_variable_4.85a73921543aa13f4bc6d889cc185a8d_2" [label="2: Exit objc_blockDispatchA.dispatch_a_block_variable_4 \n " color=yellow style=filled] -"objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_3" [label="3: BinaryOperatorStmt: Assign \n n$20=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 55, column 25]\n n$21=_fun_NSObject::init(n$20:DispatchA*) virtual [line 55, column 25]\n *&#GB$DispatchA::dispatch_a_block_variable.static_storage__:DispatchA*=n$21 [line 55, column 5]\n " shape="box"] +"objc_blockDispatchA.dispatch_a_block_variable_4.85a73921543aa13f4bc6d889cc185a8d_3" [label="3: BinaryOperatorStmt: Assign \n n$20=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 55, column 25]\n n$21=_fun_NSObject.init(n$20:DispatchA*) virtual [line 55, column 25]\n *&#GB$DispatchA.dispatch_a_block_variable.static_storage__:DispatchA*=n$21 [line 55, column 5]\n " shape="box"] - "objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_3" -> "objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_2" ; -"objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_1" [label="1: Start objc_blockDispatchA::dispatch_a_block_variable_from_macro_5\nFormals: \nLocals: \n " color=yellow style=filled] + "objc_blockDispatchA.dispatch_a_block_variable_4.85a73921543aa13f4bc6d889cc185a8d_3" -> "objc_blockDispatchA.dispatch_a_block_variable_4.85a73921543aa13f4bc6d889cc185a8d_2" ; +"objc_blockDispatchA.dispatch_a_block_variable_from_macro_5.8b47e325760aa028beb8a7010bc38e1c_1" [label="1: Start objc_blockDispatchA.dispatch_a_block_variable_from_macro_5\nFormals: \nLocals: \n " color=yellow style=filled] - "objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_1" -> "objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_3" ; -"objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_2" [label="2: Exit objc_blockDispatchA::dispatch_a_block_variable_from_macro_5 \n " color=yellow style=filled] + "objc_blockDispatchA.dispatch_a_block_variable_from_macro_5.8b47e325760aa028beb8a7010bc38e1c_1" -> "objc_blockDispatchA.dispatch_a_block_variable_from_macro_5.8b47e325760aa028beb8a7010bc38e1c_3" ; +"objc_blockDispatchA.dispatch_a_block_variable_from_macro_5.8b47e325760aa028beb8a7010bc38e1c_2" [label="2: Exit objc_blockDispatchA.dispatch_a_block_variable_from_macro_5 \n " color=yellow style=filled] -"objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_3" [label="3: BinaryOperatorStmt: Assign \n n$25=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 66, column 27]\n n$26=_fun_NSObject::init(n$25:DispatchA*) virtual [line 66, column 27]\n *&#GB$DispatchA::dispatch_a_block_variable_from_macro.static_storage__:DispatchA*=n$26 [line 66, column 7]\n " shape="box"] +"objc_blockDispatchA.dispatch_a_block_variable_from_macro_5.8b47e325760aa028beb8a7010bc38e1c_3" [label="3: BinaryOperatorStmt: Assign \n n$25=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 66, column 27]\n n$26=_fun_NSObject.init(n$25:DispatchA*) virtual [line 66, column 27]\n *&#GB$DispatchA.dispatch_a_block_variable_from_macro.static_storage__:DispatchA*=n$26 [line 66, column 7]\n " shape="box"] - "objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_3" -> "objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_2" ; -"objc_blockDispatchA::sharedInstance_1.50704f3ac0a3af5feaadec9b1fbbe54d_1" [label="1: Start objc_blockDispatchA::sharedInstance_1\nFormals: \nLocals: \n " color=yellow style=filled] + "objc_blockDispatchA.dispatch_a_block_variable_from_macro_5.8b47e325760aa028beb8a7010bc38e1c_3" -> "objc_blockDispatchA.dispatch_a_block_variable_from_macro_5.8b47e325760aa028beb8a7010bc38e1c_2" ; +"objc_blockDispatchA.sharedInstance_1.1c7ccafb7c17643dbbe0027bd1749ee3_1" [label="1: Start objc_blockDispatchA.sharedInstance_1\nFormals: \nLocals: \n " color=yellow style=filled] - "objc_blockDispatchA::sharedInstance_1.50704f3ac0a3af5feaadec9b1fbbe54d_1" -> "objc_blockDispatchA::sharedInstance_1.50704f3ac0a3af5feaadec9b1fbbe54d_3" ; -"objc_blockDispatchA::sharedInstance_1.50704f3ac0a3af5feaadec9b1fbbe54d_2" [label="2: Exit objc_blockDispatchA::sharedInstance_1 \n " color=yellow style=filled] + "objc_blockDispatchA.sharedInstance_1.1c7ccafb7c17643dbbe0027bd1749ee3_1" -> "objc_blockDispatchA.sharedInstance_1.1c7ccafb7c17643dbbe0027bd1749ee3_3" ; +"objc_blockDispatchA.sharedInstance_1.1c7ccafb7c17643dbbe0027bd1749ee3_2" [label="2: Exit objc_blockDispatchA.sharedInstance_1 \n " color=yellow style=filled] -"objc_blockDispatchA::sharedInstance_1.50704f3ac0a3af5feaadec9b1fbbe54d_3" [label="3: BinaryOperatorStmt: Assign \n n$2=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 29, column 23]\n n$3=_fun_DispatchA::init(n$2:DispatchA*) virtual [line 29, column 22]\n *&#GB$DispatchA::sharedInstance.sharedInstance:objc_object*=n$3 [line 29, column 5]\n " shape="box"] +"objc_blockDispatchA.sharedInstance_1.1c7ccafb7c17643dbbe0027bd1749ee3_3" [label="3: BinaryOperatorStmt: Assign \n n$2=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 29, column 23]\n n$3=_fun_DispatchA.init(n$2:DispatchA*) virtual [line 29, column 22]\n *&#GB$DispatchA.sharedInstance.sharedInstance:objc_object*=n$3 [line 29, column 5]\n " shape="box"] - "objc_blockDispatchA::sharedInstance_1.50704f3ac0a3af5feaadec9b1fbbe54d_3" -> "objc_blockDispatchA::sharedInstance_1.50704f3ac0a3af5feaadec9b1fbbe54d_2" ; -"objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_1" [label="1: Start objc_blockDispatchA::trans_3\nFormals: \nLocals: \n " color=yellow style=filled] + "objc_blockDispatchA.sharedInstance_1.1c7ccafb7c17643dbbe0027bd1749ee3_3" -> "objc_blockDispatchA.sharedInstance_1.1c7ccafb7c17643dbbe0027bd1749ee3_2" ; +"objc_blockDispatchA.trans_3.2993ae0bfb5e0ec6d91c5c53d1084592_1" [label="1: Start objc_blockDispatchA.trans_3\nFormals: \nLocals: \n " color=yellow style=filled] - "objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_1" -> "objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_3" ; -"objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_2" [label="2: Exit objc_blockDispatchA::trans_3 \n " color=yellow style=filled] + "objc_blockDispatchA.trans_3.2993ae0bfb5e0ec6d91c5c53d1084592_1" -> "objc_blockDispatchA.trans_3.2993ae0bfb5e0ec6d91c5c53d1084592_3" ; +"objc_blockDispatchA.trans_3.2993ae0bfb5e0ec6d91c5c53d1084592_2" [label="2: Exit objc_blockDispatchA.trans_3 \n " color=yellow style=filled] -"objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_3" [label="3: BinaryOperatorStmt: Assign \n n$15=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 46, column 23]\n n$16=_fun_DispatchA::init(n$15:DispatchA*) virtual [line 46, column 22]\n *&#GB$DispatchA::trans.sharedInstance:objc_object*=n$16 [line 46, column 5]\n " shape="box"] +"objc_blockDispatchA.trans_3.2993ae0bfb5e0ec6d91c5c53d1084592_3" [label="3: BinaryOperatorStmt: Assign \n n$15=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 46, column 23]\n n$16=_fun_DispatchA.init(n$15:DispatchA*) virtual [line 46, column 22]\n *&#GB$DispatchA.trans.sharedInstance:objc_object*=n$16 [line 46, column 5]\n " shape="box"] - "objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_3" -> "objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_2" ; -"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_1" [label="1: Start DispatchA::block_attribute\nFormals: \nLocals: a:DispatchA*(__block) \n " color=yellow style=filled] + "objc_blockDispatchA.trans_3.2993ae0bfb5e0ec6d91c5c53d1084592_3" -> "objc_blockDispatchA.trans_3.2993ae0bfb5e0ec6d91c5c53d1084592_2" ; +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_1" [label="1: Start DispatchA.block_attribute\nFormals: \nLocals: a:DispatchA*(__block) \n " color=yellow style=filled] "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_1" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" ; -"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_2" [label="2: Exit DispatchA::block_attribute \n " color=yellow style=filled] +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_2" [label="2: Exit DispatchA.block_attribute \n " color=yellow style=filled] "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" [label="3: Return Stmt \n n$5=*&a:DispatchA* [line 40, column 10]\n n$6=*n$5._x:int [line 40, column 10]\n *&return:int=n$6 [line 40, column 3]\n " shape="box"] "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_2" ; -"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" [label="4: Call _fun__dispatch_once \n n$7=*&a:DispatchA* [line 37, column 24]\n n$9=_fun__dispatch_once(&#GB$DispatchA::block_attribute.once:long*,(_fun_objc_blockDispatchA::block_attribute_2,(n$7 &a:DispatchA*)):_fn_(*)) block_params [line 37, column 3]\n " shape="box"] +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" [label="4: Call _fun__dispatch_once \n n$7=*&a:DispatchA* [line 37, column 24]\n n$9=_fun__dispatch_once(&#GB$DispatchA.block_attribute.once:long*,(_fun_objc_blockDispatchA.block_attribute_2,(n$7 &a:DispatchA*)):_fn_(*)) block_params [line 37, column 3]\n " shape="box"] "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" ; -"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:DispatchA*); [line 36, column 3]\n n$10=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 36, column 26]\n n$11=_fun_NSObject::init(n$10:DispatchA*) virtual [line 36, column 26]\n *&a:DispatchA*=n$11 [line 36, column 3]\n " shape="box"] +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:DispatchA*); [line 36, column 3]\n n$10=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 36, column 26]\n n$11=_fun_NSObject.init(n$10:DispatchA*) virtual [line 36, column 26]\n *&a:DispatchA*=n$11 [line 36, column 3]\n " shape="box"] "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" ; -"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_1" [label="1: Start DispatchA::dispatch_a_block_variable\nFormals: \nLocals: initialization_block__:_fn_(*) \n " color=yellow style=filled] +"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_1" [label="1: Start DispatchA.dispatch_a_block_variable\nFormals: \nLocals: initialization_block__:_fn_(*) \n " color=yellow style=filled] "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_1" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_5" ; -"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_2" [label="2: Exit DispatchA::dispatch_a_block_variable \n " color=yellow style=filled] +"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_2" [label="2: Exit DispatchA.dispatch_a_block_variable \n " color=yellow style=filled] -"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" [label="3: Return Stmt \n n$17=*&#GB$DispatchA::dispatch_a_block_variable.static_storage__:DispatchA* [line 59, column 10]\n *&return:objc_object*=n$17 [line 59, column 3]\n " shape="box"] +"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" [label="3: Return Stmt \n n$17=*&#GB$DispatchA.dispatch_a_block_variable.static_storage__:DispatchA* [line 59, column 10]\n *&return:objc_object*=n$17 [line 59, column 3]\n " shape="box"] "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_2" ; -"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" [label="4: Call _fun__dispatch_once \n n$18=*&initialization_block__:_fn_(*) [line 58, column 32]\n n$19=_fun__dispatch_once(&#GB$DispatchA::dispatch_a_block_variable.once_token__:long*,n$18:_fn_(*)) [line 58, column 3]\n " shape="box"] +"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" [label="4: Call _fun__dispatch_once \n n$18=*&initialization_block__:_fn_(*) [line 58, column 32]\n n$19=_fun__dispatch_once(&#GB$DispatchA.dispatch_a_block_variable.once_token__:long*,n$18:_fn_(*)) [line 58, column 3]\n " shape="box"] "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" ; -"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(initialization_block__:_fn_(*)); [line 54, column 3]\n *&initialization_block__:_fn_(*)=(_fun_objc_blockDispatchA::dispatch_a_block_variable_4) [line 54, column 3]\n " shape="box"] +"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(initialization_block__:_fn_(*)); [line 54, column 3]\n *&initialization_block__:_fn_(*)=(_fun_objc_blockDispatchA.dispatch_a_block_variable_4) [line 54, column 3]\n " shape="box"] "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_5" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" ; -"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_1" [label="1: Start DispatchA::dispatch_a_block_variable_from_macro\nFormals: \nLocals: initialization_block__:_fn_(*) \n " color=yellow style=filled] +"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_1" [label="1: Start DispatchA.dispatch_a_block_variable_from_macro\nFormals: \nLocals: initialization_block__:_fn_(*) \n " color=yellow style=filled] "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_1" -> "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_5" ; -"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_2" [label="2: Exit DispatchA::dispatch_a_block_variable_from_macro \n " color=yellow style=filled] +"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_2" [label="2: Exit DispatchA.dispatch_a_block_variable_from_macro \n " color=yellow style=filled] -"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_3" [label="3: Fallback node \n n$22=*&#GB$DispatchA::dispatch_a_block_variable_from_macro.static_storage__:DispatchA* [line 70, column 5]\n " shape="box"] +"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_3" [label="3: Fallback node \n n$22=*&#GB$DispatchA.dispatch_a_block_variable_from_macro.static_storage__:DispatchA* [line 70, column 5]\n " shape="box"] "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_3" -> "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_6" ; -"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_4" [label="4: Call _fun__dispatch_once \n n$23=*&initialization_block__:_fn_(*) [line 69, column 34]\n n$24=_fun__dispatch_once(&#GB$DispatchA::dispatch_a_block_variable_from_macro.once_token__:long*,n$23:_fn_(*)) [line 69, column 5]\n " shape="box"] +"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_4" [label="4: Call _fun__dispatch_once \n n$23=*&initialization_block__:_fn_(*) [line 69, column 34]\n n$24=_fun__dispatch_once(&#GB$DispatchA.dispatch_a_block_variable_from_macro.once_token__:long*,n$23:_fn_(*)) [line 69, column 5]\n " shape="box"] "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_4" -> "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_3" ; -"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_5" [label="5: DeclStmt \n VARIABLE_DECLARED(initialization_block__:_fn_(*)); [line 65, column 5]\n *&initialization_block__:_fn_(*)=(_fun_objc_blockDispatchA::dispatch_a_block_variable_from_macro_5) [line 65, column 5]\n " shape="box"] +"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_5" [label="5: DeclStmt \n VARIABLE_DECLARED(initialization_block__:_fn_(*)); [line 65, column 5]\n *&initialization_block__:_fn_(*)=(_fun_objc_blockDispatchA.dispatch_a_block_variable_from_macro_5) [line 65, column 5]\n " shape="box"] "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_5" -> "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_4" ; @@ -160,11 +160,11 @@ digraph cfg { "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_6" -> "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_2" ; -"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_1" [label="1: Start DispatchA::dispatch_a_block_variable_from_macro_delivers_initialised_object\nFormals: \nLocals: a:DispatchA* \n " color=yellow style=filled] +"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_1" [label="1: Start DispatchA.dispatch_a_block_variable_from_macro_delivers_initialised_object\nFormals: \nLocals: a:DispatchA* \n " color=yellow style=filled] "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_1" -> "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_5" ; -"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_2" [label="2: Exit DispatchA::dispatch_a_block_variable_from_macro_delivers_initialised_object \n " color=yellow style=filled] +"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_2" [label="2: Exit DispatchA.dispatch_a_block_variable_from_macro_delivers_initialised_object \n " color=yellow style=filled] "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_3" [label="3: Return Stmt \n n$27=*&a:DispatchA* [line 77, column 15]\n n$28=*n$27._x:int [line 77, column 15]\n *&return:int=(1 / (n$28 - 5)) [line 77, column 3]\n " shape="box"] @@ -175,33 +175,33 @@ digraph cfg { "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_4" -> "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_3" ; -"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:DispatchA*); [line 75, column 3]\n n$30=_fun_DispatchA::dispatch_a_block_variable_from_macro() [line 75, column 18]\n *&a:DispatchA*=n$30 [line 75, column 3]\n " shape="box"] +"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:DispatchA*); [line 75, column 3]\n n$30=_fun_DispatchA.dispatch_a_block_variable_from_macro() [line 75, column 18]\n *&a:DispatchA*=n$30 [line 75, column 3]\n " shape="box"] "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_5" -> "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_4" ; -"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_1" [label="1: Start DispatchA::sharedInstance\nFormals: \nLocals: \n " color=yellow style=filled] +"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_1" [label="1: Start DispatchA.sharedInstance\nFormals: \nLocals: \n " color=yellow style=filled] "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_1" -> "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" ; -"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_2" [label="2: Exit DispatchA::sharedInstance \n " color=yellow style=filled] +"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_2" [label="2: Exit DispatchA.sharedInstance \n " color=yellow style=filled] -"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchA::sharedInstance.sharedInstance:objc_object* [line 31, column 10]\n *&return:objc_object*=n$1 [line 31, column 3]\n " shape="box"] +"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchA.sharedInstance.sharedInstance:objc_object* [line 31, column 10]\n *&return:objc_object*=n$1 [line 31, column 3]\n " shape="box"] "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" -> "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_2" ; -"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" [label="4: Call _fun__dispatch_once \n n$4=_fun__dispatch_once(&#GB$DispatchA::sharedInstance.once:long*,(_fun_objc_blockDispatchA::sharedInstance_1):_fn_(*)) block_params [line 28, column 3]\n " shape="box"] +"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" [label="4: Call _fun__dispatch_once \n n$4=_fun__dispatch_once(&#GB$DispatchA.sharedInstance.once:long*,(_fun_objc_blockDispatchA.sharedInstance_1):_fn_(*)) block_params [line 28, column 3]\n " shape="box"] "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" -> "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" ; -"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_1" [label="1: Start DispatchA::trans\nFormals: \nLocals: dummy_block:_fn_(*) \n " color=yellow style=filled] +"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_1" [label="1: Start DispatchA.trans\nFormals: \nLocals: dummy_block:_fn_(*) \n " color=yellow style=filled] "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_1" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_5" ; -"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_2" [label="2: Exit DispatchA::trans \n " color=yellow style=filled] +"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_2" [label="2: Exit DispatchA.trans \n " color=yellow style=filled] -"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" [label="3: Return Stmt \n n$12=*&#GB$DispatchA::trans.sharedInstance:objc_object* [line 49, column 10]\n *&return:objc_object*=n$12 [line 49, column 3]\n " shape="box"] +"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" [label="3: Return Stmt \n n$12=*&#GB$DispatchA.trans.sharedInstance:objc_object* [line 49, column 10]\n *&return:objc_object*=n$12 [line 49, column 3]\n " shape="box"] "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_2" ; @@ -209,15 +209,15 @@ digraph cfg { "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" ; -"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_5" [label="5: DeclStmt \n VARIABLE_DECLARED(dummy_block:_fn_(*)); [line 45, column 3]\n *&dummy_block:_fn_(*)=(_fun_objc_blockDispatchA::trans_3) [line 45, column 3]\n " shape="box"] +"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_5" [label="5: DeclStmt \n VARIABLE_DECLARED(dummy_block:_fn_(*)); [line 45, column 3]\n *&dummy_block:_fn_(*)=(_fun_objc_blockDispatchA.trans_3) [line 45, column 3]\n " shape="box"] "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_5" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" ; -"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_1" [label="1: Start DispatchA::init\nFormals: self:DispatchA*\nLocals: \n " color=yellow style=filled] +"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_1" [label="1: Start DispatchA.init\nFormals: self:DispatchA*\nLocals: \n " color=yellow style=filled] "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_1" -> "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" ; -"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_2" [label="2: Exit DispatchA::init \n " color=yellow style=filled] +"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_2" [label="2: Exit DispatchA.init \n " color=yellow style=filled] "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" [label="3: Return Stmt \n n$0=*&self:DispatchA* [line 22, column 10]\n *&return:objc_object*=n$0 [line 22, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot index 9501cfa7d..2b5cd1600 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot @@ -1,214 +1,214 @@ /* @generated */ digraph cfg { -"objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_1" [label="1: Start objc_blockDispatchEx::dispatch_after_example_3\nFormals: \nLocals: \n " color=yellow style=filled] +"objc_blockDispatchEx.dispatch_after_example_3.dbb418092b97c8d782359a059568a643_1" [label="1: Start objc_blockDispatchEx.dispatch_after_example_3\nFormals: \nLocals: \n " color=yellow style=filled] - "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_1" -> "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_4" ; -"objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_2" [label="2: Exit objc_blockDispatchEx::dispatch_after_example_3 \n " color=yellow style=filled] + "objc_blockDispatchEx.dispatch_after_example_3.dbb418092b97c8d782359a059568a643_1" -> "objc_blockDispatchEx.dispatch_after_example_3.dbb418092b97c8d782359a059568a643_4" ; +"objc_blockDispatchEx.dispatch_after_example_3.dbb418092b97c8d782359a059568a643_2" [label="2: Exit objc_blockDispatchEx.dispatch_after_example_3 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_3" [label="3: BinaryOperatorStmt: Assign \n n$18=*&#GB$DispatchEx::dispatch_after_example.a:DispatchEx* [line 50, column 20]\n *n$18.x:int=10 [line 50, column 20]\n " shape="box"] +"objc_blockDispatchEx.dispatch_after_example_3.dbb418092b97c8d782359a059568a643_3" [label="3: BinaryOperatorStmt: Assign \n n$18=*&#GB$DispatchEx.dispatch_after_example.a:DispatchEx* [line 50, column 20]\n *n$18.x:int=10 [line 50, column 20]\n " shape="box"] - "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_3" -> "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_2" ; -"objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_4" [label="4: BinaryOperatorStmt: Assign \n n$19=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 49, column 25]\n n$20=_fun_DispatchEx::init(n$19:DispatchEx*) virtual [line 49, column 24]\n *&#GB$DispatchEx::dispatch_after_example.a:DispatchEx*=n$20 [line 49, column 20]\n " shape="box"] + "objc_blockDispatchEx.dispatch_after_example_3.dbb418092b97c8d782359a059568a643_3" -> "objc_blockDispatchEx.dispatch_after_example_3.dbb418092b97c8d782359a059568a643_2" ; +"objc_blockDispatchEx.dispatch_after_example_3.dbb418092b97c8d782359a059568a643_4" [label="4: BinaryOperatorStmt: Assign \n n$19=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 49, column 25]\n n$20=_fun_DispatchEx.init(n$19:DispatchEx*) virtual [line 49, column 24]\n *&#GB$DispatchEx.dispatch_after_example.a:DispatchEx*=n$20 [line 49, column 20]\n " shape="box"] - "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_4" -> "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_3" ; -"objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_1" [label="1: Start objc_blockDispatchEx::dispatch_async_example_2\nFormals: \nLocals: \n " color=yellow style=filled] + "objc_blockDispatchEx.dispatch_after_example_3.dbb418092b97c8d782359a059568a643_4" -> "objc_blockDispatchEx.dispatch_after_example_3.dbb418092b97c8d782359a059568a643_3" ; +"objc_blockDispatchEx.dispatch_async_example_2.2b5337b8c70292f13cb2803af0010083_1" [label="1: Start objc_blockDispatchEx.dispatch_async_example_2\nFormals: \nLocals: \n " color=yellow style=filled] - "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_1" -> "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_4" ; -"objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_2" [label="2: Exit objc_blockDispatchEx::dispatch_async_example_2 \n " color=yellow style=filled] + "objc_blockDispatchEx.dispatch_async_example_2.2b5337b8c70292f13cb2803af0010083_1" -> "objc_blockDispatchEx.dispatch_async_example_2.2b5337b8c70292f13cb2803af0010083_4" ; +"objc_blockDispatchEx.dispatch_async_example_2.2b5337b8c70292f13cb2803af0010083_2" [label="2: Exit objc_blockDispatchEx.dispatch_async_example_2 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_3" [label="3: BinaryOperatorStmt: Assign \n n$10=*&#GB$DispatchEx::dispatch_async_example.a:DispatchEx* [line 39, column 20]\n *n$10.x:int=10 [line 39, column 20]\n " shape="box"] +"objc_blockDispatchEx.dispatch_async_example_2.2b5337b8c70292f13cb2803af0010083_3" [label="3: BinaryOperatorStmt: Assign \n n$10=*&#GB$DispatchEx.dispatch_async_example.a:DispatchEx* [line 39, column 20]\n *n$10.x:int=10 [line 39, column 20]\n " shape="box"] - "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_3" -> "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_2" ; -"objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_4" [label="4: BinaryOperatorStmt: Assign \n n$11=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 38, column 25]\n n$12=_fun_DispatchEx::init(n$11:DispatchEx*) virtual [line 38, column 24]\n *&#GB$DispatchEx::dispatch_async_example.a:DispatchEx*=n$12 [line 38, column 20]\n " shape="box"] + "objc_blockDispatchEx.dispatch_async_example_2.2b5337b8c70292f13cb2803af0010083_3" -> "objc_blockDispatchEx.dispatch_async_example_2.2b5337b8c70292f13cb2803af0010083_2" ; +"objc_blockDispatchEx.dispatch_async_example_2.2b5337b8c70292f13cb2803af0010083_4" [label="4: BinaryOperatorStmt: Assign \n n$11=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 38, column 25]\n n$12=_fun_DispatchEx.init(n$11:DispatchEx*) virtual [line 38, column 24]\n *&#GB$DispatchEx.dispatch_async_example.a:DispatchEx*=n$12 [line 38, column 20]\n " shape="box"] - "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_4" -> "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_3" ; -"objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_1" [label="1: Start objc_blockDispatchEx::dispatch_barrier_example_6\nFormals: \nLocals: \n " color=yellow style=filled] + "objc_blockDispatchEx.dispatch_async_example_2.2b5337b8c70292f13cb2803af0010083_4" -> "objc_blockDispatchEx.dispatch_async_example_2.2b5337b8c70292f13cb2803af0010083_3" ; +"objc_blockDispatchEx.dispatch_barrier_example_6.dd6d1f1e88a64278b49937db6b9f03a5_1" [label="1: Start objc_blockDispatchEx.dispatch_barrier_example_6\nFormals: \nLocals: \n " color=yellow style=filled] - "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_1" -> "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_4" ; -"objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_2" [label="2: Exit objc_blockDispatchEx::dispatch_barrier_example_6 \n " color=yellow style=filled] + "objc_blockDispatchEx.dispatch_barrier_example_6.dd6d1f1e88a64278b49937db6b9f03a5_1" -> "objc_blockDispatchEx.dispatch_barrier_example_6.dd6d1f1e88a64278b49937db6b9f03a5_4" ; +"objc_blockDispatchEx.dispatch_barrier_example_6.dd6d1f1e88a64278b49937db6b9f03a5_2" [label="2: Exit objc_blockDispatchEx.dispatch_barrier_example_6 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_3" [label="3: BinaryOperatorStmt: Assign \n n$39=*&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx* [line 77, column 5]\n *n$39.x:int=10 [line 77, column 5]\n " shape="box"] +"objc_blockDispatchEx.dispatch_barrier_example_6.dd6d1f1e88a64278b49937db6b9f03a5_3" [label="3: BinaryOperatorStmt: Assign \n n$39=*&#GB$DispatchEx.dispatch_barrier_example.a:DispatchEx* [line 77, column 5]\n *n$39.x:int=10 [line 77, column 5]\n " shape="box"] - "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_3" -> "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_2" ; -"objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_4" [label="4: BinaryOperatorStmt: Assign \n n$40=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 76, column 10]\n n$41=_fun_DispatchEx::init(n$40:DispatchEx*) virtual [line 76, column 9]\n *&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx*=n$41 [line 76, column 5]\n " shape="box"] + "objc_blockDispatchEx.dispatch_barrier_example_6.dd6d1f1e88a64278b49937db6b9f03a5_3" -> "objc_blockDispatchEx.dispatch_barrier_example_6.dd6d1f1e88a64278b49937db6b9f03a5_2" ; +"objc_blockDispatchEx.dispatch_barrier_example_6.dd6d1f1e88a64278b49937db6b9f03a5_4" [label="4: BinaryOperatorStmt: Assign \n n$40=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 76, column 10]\n n$41=_fun_DispatchEx.init(n$40:DispatchEx*) virtual [line 76, column 9]\n *&#GB$DispatchEx.dispatch_barrier_example.a:DispatchEx*=n$41 [line 76, column 5]\n " shape="box"] - "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_4" -> "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_3" ; -"objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_1" [label="1: Start objc_blockDispatchEx::dispatch_group_example_4\nFormals: \nLocals: \n " color=yellow style=filled] + "objc_blockDispatchEx.dispatch_barrier_example_6.dd6d1f1e88a64278b49937db6b9f03a5_4" -> "objc_blockDispatchEx.dispatch_barrier_example_6.dd6d1f1e88a64278b49937db6b9f03a5_3" ; +"objc_blockDispatchEx.dispatch_group_example_4.28b9db5f095083187694e2c2e2d24a41_1" [label="1: Start objc_blockDispatchEx.dispatch_group_example_4\nFormals: \nLocals: \n " color=yellow style=filled] - "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_1" -> "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_4" ; -"objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_2" [label="2: Exit objc_blockDispatchEx::dispatch_group_example_4 \n " color=yellow style=filled] + "objc_blockDispatchEx.dispatch_group_example_4.28b9db5f095083187694e2c2e2d24a41_1" -> "objc_blockDispatchEx.dispatch_group_example_4.28b9db5f095083187694e2c2e2d24a41_4" ; +"objc_blockDispatchEx.dispatch_group_example_4.28b9db5f095083187694e2c2e2d24a41_2" [label="2: Exit objc_blockDispatchEx.dispatch_group_example_4 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_3" [label="3: BinaryOperatorStmt: Assign \n n$25=*&#GB$DispatchEx::dispatch_group_example.a:DispatchEx* [line 59, column 5]\n *n$25.x:int=10 [line 59, column 5]\n " shape="box"] +"objc_blockDispatchEx.dispatch_group_example_4.28b9db5f095083187694e2c2e2d24a41_3" [label="3: BinaryOperatorStmt: Assign \n n$25=*&#GB$DispatchEx.dispatch_group_example.a:DispatchEx* [line 59, column 5]\n *n$25.x:int=10 [line 59, column 5]\n " shape="box"] - "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_3" -> "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_2" ; -"objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_4" [label="4: BinaryOperatorStmt: Assign \n n$26=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 58, column 10]\n n$27=_fun_DispatchEx::init(n$26:DispatchEx*) virtual [line 58, column 9]\n *&#GB$DispatchEx::dispatch_group_example.a:DispatchEx*=n$27 [line 58, column 5]\n " shape="box"] + "objc_blockDispatchEx.dispatch_group_example_4.28b9db5f095083187694e2c2e2d24a41_3" -> "objc_blockDispatchEx.dispatch_group_example_4.28b9db5f095083187694e2c2e2d24a41_2" ; +"objc_blockDispatchEx.dispatch_group_example_4.28b9db5f095083187694e2c2e2d24a41_4" [label="4: BinaryOperatorStmt: Assign \n n$26=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 58, column 10]\n n$27=_fun_DispatchEx.init(n$26:DispatchEx*) virtual [line 58, column 9]\n *&#GB$DispatchEx.dispatch_group_example.a:DispatchEx*=n$27 [line 58, column 5]\n " shape="box"] - "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_4" -> "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_3" ; -"objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_1" [label="1: Start objc_blockDispatchEx::dispatch_group_notify_example_5\nFormals: \nLocals: \n " color=yellow style=filled] + "objc_blockDispatchEx.dispatch_group_example_4.28b9db5f095083187694e2c2e2d24a41_4" -> "objc_blockDispatchEx.dispatch_group_example_4.28b9db5f095083187694e2c2e2d24a41_3" ; +"objc_blockDispatchEx.dispatch_group_notify_example_5.e068062d7cf02a8916d13ec6733f8ac2_1" [label="1: Start objc_blockDispatchEx.dispatch_group_notify_example_5\nFormals: \nLocals: \n " color=yellow style=filled] - "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_1" -> "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_4" ; -"objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_2" [label="2: Exit objc_blockDispatchEx::dispatch_group_notify_example_5 \n " color=yellow style=filled] + "objc_blockDispatchEx.dispatch_group_notify_example_5.e068062d7cf02a8916d13ec6733f8ac2_1" -> "objc_blockDispatchEx.dispatch_group_notify_example_5.e068062d7cf02a8916d13ec6733f8ac2_4" ; +"objc_blockDispatchEx.dispatch_group_notify_example_5.e068062d7cf02a8916d13ec6733f8ac2_2" [label="2: Exit objc_blockDispatchEx.dispatch_group_notify_example_5 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_3" [label="3: BinaryOperatorStmt: Assign \n n$32=*&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx* [line 68, column 5]\n *n$32.x:int=10 [line 68, column 5]\n " shape="box"] +"objc_blockDispatchEx.dispatch_group_notify_example_5.e068062d7cf02a8916d13ec6733f8ac2_3" [label="3: BinaryOperatorStmt: Assign \n n$32=*&#GB$DispatchEx.dispatch_group_notify_example.a:DispatchEx* [line 68, column 5]\n *n$32.x:int=10 [line 68, column 5]\n " shape="box"] - "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_3" -> "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_2" ; -"objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_4" [label="4: BinaryOperatorStmt: Assign \n n$33=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 67, column 10]\n n$34=_fun_DispatchEx::init(n$33:DispatchEx*) virtual [line 67, column 9]\n *&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx*=n$34 [line 67, column 5]\n " shape="box"] + "objc_blockDispatchEx.dispatch_group_notify_example_5.e068062d7cf02a8916d13ec6733f8ac2_3" -> "objc_blockDispatchEx.dispatch_group_notify_example_5.e068062d7cf02a8916d13ec6733f8ac2_2" ; +"objc_blockDispatchEx.dispatch_group_notify_example_5.e068062d7cf02a8916d13ec6733f8ac2_4" [label="4: BinaryOperatorStmt: Assign \n n$33=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 67, column 10]\n n$34=_fun_DispatchEx.init(n$33:DispatchEx*) virtual [line 67, column 9]\n *&#GB$DispatchEx.dispatch_group_notify_example.a:DispatchEx*=n$34 [line 67, column 5]\n " shape="box"] - "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_4" -> "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_3" ; -"objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_1" [label="1: Start objc_blockDispatchEx::dispatch_once_example_1\nFormals: \nLocals: \n " color=yellow style=filled] + "objc_blockDispatchEx.dispatch_group_notify_example_5.e068062d7cf02a8916d13ec6733f8ac2_4" -> "objc_blockDispatchEx.dispatch_group_notify_example_5.e068062d7cf02a8916d13ec6733f8ac2_3" ; +"objc_blockDispatchEx.dispatch_once_example_1.0cf4a50b58aa83c7f4be61b77c8df122_1" [label="1: Start objc_blockDispatchEx.dispatch_once_example_1\nFormals: \nLocals: \n " color=yellow style=filled] - "objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_1" -> "objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_4" ; -"objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_2" [label="2: Exit objc_blockDispatchEx::dispatch_once_example_1 \n " color=yellow style=filled] + "objc_blockDispatchEx.dispatch_once_example_1.0cf4a50b58aa83c7f4be61b77c8df122_1" -> "objc_blockDispatchEx.dispatch_once_example_1.0cf4a50b58aa83c7f4be61b77c8df122_4" ; +"objc_blockDispatchEx.dispatch_once_example_1.0cf4a50b58aa83c7f4be61b77c8df122_2" [label="2: Exit objc_blockDispatchEx.dispatch_once_example_1 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_3" [label="3: BinaryOperatorStmt: Assign \n n$3=*&#GB$DispatchEx::dispatch_once_example.a:DispatchEx* [line 29, column 5]\n *n$3.x:int=10 [line 29, column 5]\n " shape="box"] +"objc_blockDispatchEx.dispatch_once_example_1.0cf4a50b58aa83c7f4be61b77c8df122_3" [label="3: BinaryOperatorStmt: Assign \n n$3=*&#GB$DispatchEx.dispatch_once_example.a:DispatchEx* [line 29, column 5]\n *n$3.x:int=10 [line 29, column 5]\n " shape="box"] - "objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_3" -> "objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_2" ; -"objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_4" [label="4: BinaryOperatorStmt: Assign \n n$4=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 28, column 10]\n n$5=_fun_DispatchEx::init(n$4:DispatchEx*) virtual [line 28, column 9]\n *&#GB$DispatchEx::dispatch_once_example.a:DispatchEx*=n$5 [line 28, column 5]\n " shape="box"] + "objc_blockDispatchEx.dispatch_once_example_1.0cf4a50b58aa83c7f4be61b77c8df122_3" -> "objc_blockDispatchEx.dispatch_once_example_1.0cf4a50b58aa83c7f4be61b77c8df122_2" ; +"objc_blockDispatchEx.dispatch_once_example_1.0cf4a50b58aa83c7f4be61b77c8df122_4" [label="4: BinaryOperatorStmt: Assign \n n$4=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 28, column 10]\n n$5=_fun_DispatchEx.init(n$4:DispatchEx*) virtual [line 28, column 9]\n *&#GB$DispatchEx.dispatch_once_example.a:DispatchEx*=n$5 [line 28, column 5]\n " shape="box"] - "objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_4" -> "objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_3" ; -"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_1" [label="1: Start DispatchEx::dispatch_after_example\nFormals: \nLocals: \n " color=yellow style=filled] + "objc_blockDispatchEx.dispatch_once_example_1.0cf4a50b58aa83c7f4be61b77c8df122_4" -> "objc_blockDispatchEx.dispatch_once_example_1.0cf4a50b58aa83c7f4be61b77c8df122_3" ; +"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_1" [label="1: Start DispatchEx.dispatch_after_example\nFormals: \nLocals: \n " color=yellow style=filled] "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_1" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_5" ; -"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_2" [label="2: Exit DispatchEx::dispatch_after_example \n " color=yellow style=filled] +"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_2" [label="2: Exit DispatchEx.dispatch_after_example \n " color=yellow style=filled] -"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" [label="3: Return Stmt \n n$14=*&#GB$DispatchEx::dispatch_after_example.a:DispatchEx* [line 52, column 10]\n n$15=*n$14.x:int [line 52, column 10]\n *&return:int=n$15 [line 52, column 3]\n " shape="box"] +"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" [label="3: Return Stmt \n n$14=*&#GB$DispatchEx.dispatch_after_example.a:DispatchEx* [line 52, column 10]\n n$15=*n$14.x:int [line 52, column 10]\n *&return:int=n$15 [line 52, column 3]\n " shape="box"] "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_2" ; -"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" [label="4: Call _fun_dispatch_after \n n$16=_fun_dispatch_time(0:unsigned long long,((unsigned long long)2 * 1000000000):long long) [line 46, column 18]\n n$17=_fun_dispatch_get_main_queue() [line 47, column 18]\n n$21=_fun_dispatch_after(n$16:unsigned long long,n$17:NSObject*,(_fun_objc_blockDispatchEx::dispatch_after_example_3):_fn_(*)) block_params [line 46, column 3]\n " shape="box"] +"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" [label="4: Call _fun_dispatch_after \n n$16=_fun_dispatch_time(0:unsigned long long,((unsigned long long)2 * 1000000000):long long) [line 46, column 18]\n n$17=_fun_dispatch_get_main_queue() [line 47, column 18]\n n$21=_fun_dispatch_after(n$16:unsigned long long,n$17:NSObject*,(_fun_objc_blockDispatchEx.dispatch_after_example_3):_fn_(*)) block_params [line 46, column 3]\n " shape="box"] "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" ; -"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx::dispatch_after_example.a:DispatchEx*); [line 45, column 3]\n *&#GB$DispatchEx::dispatch_after_example.a:DispatchEx*=null [line 45, column 3]\n " shape="box"] +"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx.dispatch_after_example.a:DispatchEx*); [line 45, column 3]\n *&#GB$DispatchEx.dispatch_after_example.a:DispatchEx*=null [line 45, column 3]\n " shape="box"] "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_5" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" ; -"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_1" [label="1: Start DispatchEx::dispatch_async_example\nFormals: \nLocals: \n " color=yellow style=filled] +"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_1" [label="1: Start DispatchEx.dispatch_async_example\nFormals: \nLocals: \n " color=yellow style=filled] "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_1" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_5" ; -"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_2" [label="2: Exit DispatchEx::dispatch_async_example \n " color=yellow style=filled] +"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_2" [label="2: Exit DispatchEx.dispatch_async_example \n " color=yellow style=filled] -"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_3" [label="3: Return Stmt \n n$7=*&#GB$DispatchEx::dispatch_async_example.a:DispatchEx* [line 41, column 10]\n n$8=*n$7.x:int [line 41, column 10]\n *&return:int=n$8 [line 41, column 3]\n " shape="box"] +"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_3" [label="3: Return Stmt \n n$7=*&#GB$DispatchEx.dispatch_async_example.a:DispatchEx* [line 41, column 10]\n n$8=*n$7.x:int [line 41, column 10]\n *&return:int=n$8 [line 41, column 3]\n " shape="box"] "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_3" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_2" ; -"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" [label="4: Call _fun_dispatch_async \n n$9=_fun_dispatch_get_global_queue(0:long,(unsigned long)0:unsigned long) [line 36, column 18]\n n$13=_fun_dispatch_async(n$9:NSObject*,(_fun_objc_blockDispatchEx::dispatch_async_example_2):_fn_(*)) block_params [line 36, column 3]\n " shape="box"] +"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" [label="4: Call _fun_dispatch_async \n n$9=_fun_dispatch_get_global_queue(0:long,(unsigned long)0:unsigned long) [line 36, column 18]\n n$13=_fun_dispatch_async(n$9:NSObject*,(_fun_objc_blockDispatchEx.dispatch_async_example_2):_fn_(*)) block_params [line 36, column 3]\n " shape="box"] "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_3" ; -"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx::dispatch_async_example.a:DispatchEx*); [line 35, column 3]\n *&#GB$DispatchEx::dispatch_async_example.a:DispatchEx*=null [line 35, column 3]\n " shape="box"] +"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx.dispatch_async_example.a:DispatchEx*); [line 35, column 3]\n *&#GB$DispatchEx.dispatch_async_example.a:DispatchEx*=null [line 35, column 3]\n " shape="box"] "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_5" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" ; -"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_1" [label="1: Start DispatchEx::dispatch_barrier_example\nFormals: \nLocals: \n " color=yellow style=filled] +"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_1" [label="1: Start DispatchEx.dispatch_barrier_example\nFormals: \nLocals: \n " color=yellow style=filled] "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_1" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_5" ; -"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_2" [label="2: Exit DispatchEx::dispatch_barrier_example \n " color=yellow style=filled] +"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_2" [label="2: Exit DispatchEx.dispatch_barrier_example \n " color=yellow style=filled] -"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" [label="3: Return Stmt \n n$36=*&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx* [line 79, column 10]\n n$37=*n$36.x:int [line 79, column 10]\n *&return:int=n$37 [line 79, column 3]\n " shape="box"] +"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" [label="3: Return Stmt \n n$36=*&#GB$DispatchEx.dispatch_barrier_example.a:DispatchEx* [line 79, column 10]\n n$37=*n$36.x:int [line 79, column 10]\n *&return:int=n$37 [line 79, column 3]\n " shape="box"] "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_2" ; -"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" [label="4: Call _fun_dispatch_barrier_async \n n$38=_fun_dispatch_get_main_queue() [line 75, column 26]\n n$42=_fun_dispatch_barrier_async(n$38:NSObject*,(_fun_objc_blockDispatchEx::dispatch_barrier_example_6):_fn_(*)) block_params [line 75, column 3]\n " shape="box"] +"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" [label="4: Call _fun_dispatch_barrier_async \n n$38=_fun_dispatch_get_main_queue() [line 75, column 26]\n n$42=_fun_dispatch_barrier_async(n$38:NSObject*,(_fun_objc_blockDispatchEx.dispatch_barrier_example_6):_fn_(*)) block_params [line 75, column 3]\n " shape="box"] "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" ; -"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx*); [line 74, column 3]\n *&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx*=null [line 74, column 3]\n " shape="box"] +"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx.dispatch_barrier_example.a:DispatchEx*); [line 74, column 3]\n *&#GB$DispatchEx.dispatch_barrier_example.a:DispatchEx*=null [line 74, column 3]\n " shape="box"] "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_5" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" ; -"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_1" [label="1: Start DispatchEx::dispatch_group_example\nFormals: \nLocals: \n " color=yellow style=filled] +"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_1" [label="1: Start DispatchEx.dispatch_group_example\nFormals: \nLocals: \n " color=yellow style=filled] "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_1" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_5" ; -"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_2" [label="2: Exit DispatchEx::dispatch_group_example \n " color=yellow style=filled] +"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_2" [label="2: Exit DispatchEx.dispatch_group_example \n " color=yellow style=filled] -"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_3" [label="3: Return Stmt \n n$22=*&#GB$DispatchEx::dispatch_group_example.a:DispatchEx* [line 61, column 10]\n n$23=*n$22.x:int [line 61, column 10]\n *&return:int=n$23 [line 61, column 3]\n " shape="box"] +"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_3" [label="3: Return Stmt \n n$22=*&#GB$DispatchEx.dispatch_group_example.a:DispatchEx* [line 61, column 10]\n n$23=*n$22.x:int [line 61, column 10]\n *&return:int=n$23 [line 61, column 3]\n " shape="box"] "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_3" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_2" ; -"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" [label="4: Call _fun_dispatch_group_async \n n$24=_fun_dispatch_get_main_queue() [line 57, column 30]\n n$28=_fun_dispatch_group_async(null:NSObject*,n$24:NSObject*,(_fun_objc_blockDispatchEx::dispatch_group_example_4):_fn_(*)) block_params [line 57, column 3]\n " shape="box"] +"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" [label="4: Call _fun_dispatch_group_async \n n$24=_fun_dispatch_get_main_queue() [line 57, column 30]\n n$28=_fun_dispatch_group_async(null:NSObject*,n$24:NSObject*,(_fun_objc_blockDispatchEx.dispatch_group_example_4):_fn_(*)) block_params [line 57, column 3]\n " shape="box"] "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_3" ; -"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx::dispatch_group_example.a:DispatchEx*); [line 56, column 3]\n *&#GB$DispatchEx::dispatch_group_example.a:DispatchEx*=null [line 56, column 3]\n " shape="box"] +"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx.dispatch_group_example.a:DispatchEx*); [line 56, column 3]\n *&#GB$DispatchEx.dispatch_group_example.a:DispatchEx*=null [line 56, column 3]\n " shape="box"] "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_5" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" ; -"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_1" [label="1: Start DispatchEx::dispatch_group_notify_example\nFormals: \nLocals: \n " color=yellow style=filled] +"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_1" [label="1: Start DispatchEx.dispatch_group_notify_example\nFormals: \nLocals: \n " color=yellow style=filled] "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_1" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_5" ; -"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_2" [label="2: Exit DispatchEx::dispatch_group_notify_example \n " color=yellow style=filled] +"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_2" [label="2: Exit DispatchEx.dispatch_group_notify_example \n " color=yellow style=filled] -"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_3" [label="3: Return Stmt \n n$29=*&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx* [line 70, column 10]\n n$30=*n$29.x:int [line 70, column 10]\n *&return:int=n$30 [line 70, column 3]\n " shape="box"] +"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_3" [label="3: Return Stmt \n n$29=*&#GB$DispatchEx.dispatch_group_notify_example.a:DispatchEx* [line 70, column 10]\n n$30=*n$29.x:int [line 70, column 10]\n *&return:int=n$30 [line 70, column 3]\n " shape="box"] "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_3" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_2" ; -"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" [label="4: Call _fun_dispatch_group_async \n n$31=_fun_dispatch_get_main_queue() [line 66, column 30]\n n$35=_fun_dispatch_group_async(null:NSObject*,n$31:NSObject*,(_fun_objc_blockDispatchEx::dispatch_group_notify_example_5):_fn_(*)) block_params [line 66, column 3]\n " shape="box"] +"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" [label="4: Call _fun_dispatch_group_async \n n$31=_fun_dispatch_get_main_queue() [line 66, column 30]\n n$35=_fun_dispatch_group_async(null:NSObject*,n$31:NSObject*,(_fun_objc_blockDispatchEx.dispatch_group_notify_example_5):_fn_(*)) block_params [line 66, column 3]\n " shape="box"] "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_3" ; -"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx*); [line 65, column 3]\n *&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx*=null [line 65, column 3]\n " shape="box"] +"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx.dispatch_group_notify_example.a:DispatchEx*); [line 65, column 3]\n *&#GB$DispatchEx.dispatch_group_notify_example.a:DispatchEx*=null [line 65, column 3]\n " shape="box"] "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_5" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" ; -"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_1" [label="1: Start DispatchEx::dispatch_once_example\nFormals: \nLocals: \n " color=yellow style=filled] +"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_1" [label="1: Start DispatchEx.dispatch_once_example\nFormals: \nLocals: \n " color=yellow style=filled] "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_1" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_5" ; -"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_2" [label="2: Exit DispatchEx::dispatch_once_example \n " color=yellow style=filled] +"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_2" [label="2: Exit DispatchEx.dispatch_once_example \n " color=yellow style=filled] -"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchEx::dispatch_once_example.a:DispatchEx* [line 31, column 10]\n n$2=*n$1.x:int [line 31, column 10]\n *&return:int=n$2 [line 31, column 3]\n " shape="box"] +"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchEx.dispatch_once_example.a:DispatchEx* [line 31, column 10]\n n$2=*n$1.x:int [line 31, column 10]\n *&return:int=n$2 [line 31, column 3]\n " shape="box"] "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_2" ; -"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" [label="4: Call _fun__dispatch_once \n n$6=_fun__dispatch_once(&#GB$DispatchEx::dispatch_once_example.onceToken:long*,(_fun_objc_blockDispatchEx::dispatch_once_example_1):_fn_(*)) block_params [line 27, column 3]\n " shape="box"] +"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" [label="4: Call _fun__dispatch_once \n n$6=_fun__dispatch_once(&#GB$DispatchEx.dispatch_once_example.onceToken:long*,(_fun_objc_blockDispatchEx.dispatch_once_example_1):_fn_(*)) block_params [line 27, column 3]\n " shape="box"] "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" ; -"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx::dispatch_once_example.a:DispatchEx*); [line 23, column 3]\n *&#GB$DispatchEx::dispatch_once_example.a:DispatchEx*=null [line 23, column 3]\n " shape="box"] +"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(#GB$DispatchEx.dispatch_once_example.a:DispatchEx*); [line 23, column 3]\n *&#GB$DispatchEx.dispatch_once_example.a:DispatchEx*=null [line 23, column 3]\n " shape="box"] "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_5" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" ; -"init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_1" [label="1: Start DispatchEx::init\nFormals: self:DispatchEx*\nLocals: \n " color=yellow style=filled] +"init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_1" [label="1: Start DispatchEx.init\nFormals: self:DispatchEx*\nLocals: \n " color=yellow style=filled] "init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_1" -> "init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_3" ; -"init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_2" [label="2: Exit DispatchEx::init \n " color=yellow style=filled] +"init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_2" [label="2: Exit DispatchEx.init \n " color=yellow style=filled] "init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_3" [label="3: Return Stmt \n n$0=*&self:DispatchEx* [line 19, column 10]\n *&return:objc_object*=n$0 [line 19, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot index 8f885f790..bcc5d8c5f 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot @@ -26,7 +26,7 @@ digraph cfg { "objc_blockDispatchInMacroTest_1.0a2ff27838c52acc175e58f653e6eaad_2" [label="2: Exit objc_blockDispatchInMacroTest_1 \n " color=yellow style=filled] -"objc_blockDispatchInMacroTest_1.0a2ff27838c52acc175e58f653e6eaad_3" [label="3: BinaryOperatorStmt: Assign \n n$1=_fun___objc_alloc_no_fail(sizeof(t=NSObject):unsigned long) [line 21, column 10]\n n$2=_fun_NSObject::init(n$1:NSObject*) virtual [line 21, column 10]\n *&#GB$DispatchInMacroTest.static_storage:NSObject*=n$2 [line 21, column 10]\n " shape="box"] +"objc_blockDispatchInMacroTest_1.0a2ff27838c52acc175e58f653e6eaad_3" [label="3: BinaryOperatorStmt: Assign \n n$1=_fun___objc_alloc_no_fail(sizeof(t=NSObject):unsigned long) [line 21, column 10]\n n$2=_fun_NSObject.init(n$1:NSObject*) virtual [line 21, column 10]\n *&#GB$DispatchInMacroTest.static_storage:NSObject*=n$2 [line 21, column 10]\n " shape="box"] "objc_blockDispatchInMacroTest_1.0a2ff27838c52acc175e58f653e6eaad_3" -> "objc_blockDispatchInMacroTest_1.0a2ff27838c52acc175e58f653e6eaad_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/category_procdesc/EOCPerson.m.dot b/infer/tests/codetoanalyze/objc/shared/category_procdesc/EOCPerson.m.dot index 906f5e466..9614db9e5 100644 --- a/infer/tests/codetoanalyze/objc/shared/category_procdesc/EOCPerson.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/category_procdesc/EOCPerson.m.dot @@ -1,24 +1,24 @@ /* @generated */ digraph cfg { -"performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_1" [label="1: Start EOCPerson::performDaysWork\nFormals: self:EOCPerson*\nLocals: \n " color=yellow style=filled] +"performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_1" [label="1: Start EOCPerson.performDaysWork\nFormals: self:EOCPerson*\nLocals: \n " color=yellow style=filled] "performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_1" -> "performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_3" ; -"performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_2" [label="2: Exit EOCPerson::performDaysWork \n " color=yellow style=filled] +"performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_2" [label="2: Exit EOCPerson.performDaysWork \n " color=yellow style=filled] -"performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString::stringWithUTF8String:(\"Performing days at work\":char* const ) [line 13, column 9]\n n$1=_fun_NSLog(n$0:objc_object*) [line 13, column 3]\n " shape="box"] +"performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString.stringWithUTF8String:(\"Performing days at work\":char* const ) [line 13, column 9]\n n$1=_fun_NSLog(n$0:objc_object*) [line 13, column 3]\n " shape="box"] "performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_3" -> "performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_2" ; -"takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_1" [label="1: Start EOCPerson::takeVacationFromWork\nFormals: self:EOCPerson*\nLocals: \n " color=yellow style=filled] +"takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_1" [label="1: Start EOCPerson.takeVacationFromWork\nFormals: self:EOCPerson*\nLocals: \n " color=yellow style=filled] "takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_1" -> "takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_3" ; -"takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_2" [label="2: Exit EOCPerson::takeVacationFromWork \n " color=yellow style=filled] +"takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_2" [label="2: Exit EOCPerson.takeVacationFromWork \n " color=yellow style=filled] -"takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString::stringWithUTF8String:(\"BTaking vacations\":char* const ) [line 17, column 9]\n n$3=_fun_NSLog(n$2:objc_object*) [line 17, column 3]\n " shape="box"] +"takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString.stringWithUTF8String:(\"BTaking vacations\":char* const ) [line 17, column 9]\n n$3=_fun_NSLog(n$2:objc_object*) [line 17, column 3]\n " shape="box"] "takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_3" -> "takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/category_procdesc/main.c.dot b/infer/tests/codetoanalyze/objc/shared/category_procdesc/main.c.dot index fab4fb1c9..950ee9af0 100644 --- a/infer/tests/codetoanalyze/objc/shared/category_procdesc/main.c.dot +++ b/infer/tests/codetoanalyze/objc/shared/category_procdesc/main.c.dot @@ -15,11 +15,11 @@ digraph cfg { "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_4" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_3" ; -"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" [label="5: Message Call: performDaysWork \n n$1=*&person:EOCPerson* [line 13, column 4]\n n$2=_fun_EOCPerson::performDaysWork(n$1:EOCPerson*) virtual [line 13, column 3]\n " shape="box"] +"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" [label="5: Message Call: performDaysWork \n n$1=*&person:EOCPerson* [line 13, column 4]\n n$2=_fun_EOCPerson.performDaysWork(n$1:EOCPerson*) virtual [line 13, column 3]\n " shape="box"] "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_4" ; -"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_6" [label="6: DeclStmt \n VARIABLE_DECLARED(person:EOCPerson*); [line 12, column 3]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=EOCPerson):unsigned long) [line 12, column 24]\n n$4=_fun_NSObject::init(n$3:EOCPerson*) virtual [line 12, column 23]\n *&person:EOCPerson*=n$4 [line 12, column 3]\n " shape="box"] +"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_6" [label="6: DeclStmt \n VARIABLE_DECLARED(person:EOCPerson*); [line 12, column 3]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=EOCPerson):unsigned long) [line 12, column 24]\n n$4=_fun_NSObject.init(n$3:EOCPerson*) virtual [line 12, column 23]\n *&person:EOCPerson*=n$4 [line 12, column 3]\n " shape="box"] "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_6" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" ; diff --git a/infer/tests/codetoanalyze/objc/shared/field_superclass/SuperExample.m.dot b/infer/tests/codetoanalyze/objc/shared/field_superclass/SuperExample.m.dot index 23abfb6dc..37de7fc13 100644 --- a/infer/tests/codetoanalyze/objc/shared/field_superclass/SuperExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/field_superclass/SuperExample.m.dot @@ -7,15 +7,15 @@ digraph cfg { "super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_2" [label="2: Exit super_example_main \n " color=yellow style=filled] -"super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:objc_object*); [line 40, column 5]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=ASuper):unsigned long) [line 40, column 21]\n n$1=_fun_NSObject::init(n$0:ASuper*) virtual [line 40, column 21]\n " shape="box"] +"super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:objc_object*); [line 40, column 5]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=ASuper):unsigned long) [line 40, column 21]\n n$1=_fun_NSObject.init(n$0:ASuper*) virtual [line 40, column 21]\n " shape="box"] "super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_3" -> "super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_2" ; -"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_1" [label="1: Start ASuper::init\nFormals: self:ASuper*\nLocals: \n " color=yellow style=filled] +"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_1" [label="1: Start ASuper.init\nFormals: self:ASuper*\nLocals: \n " color=yellow style=filled] "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_1" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_5" ; -"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_2" [label="2: Exit ASuper::init \n " color=yellow style=filled] +"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_2" [label="2: Exit ASuper.init \n " color=yellow style=filled] "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_3" [label="3: Return Stmt \n n$0=*&self:ASuper* [line 33, column 10]\n *&return:objc_object*=n$0 [line 33, column 3]\n " shape="box"] @@ -26,15 +26,15 @@ digraph cfg { "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_4" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_3" ; -"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&self:ASuper* [line 31, column 10]\n n$3=_fun_BSuper::init(n$2:ASuper*) [line 31, column 10]\n *&self:ASuper*=n$3 [line 31, column 3]\n " shape="box"] +"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&self:ASuper* [line 31, column 10]\n n$3=_fun_BSuper.init(n$2:ASuper*) [line 31, column 10]\n *&self:ASuper*=n$3 [line 31, column 3]\n " shape="box"] "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_5" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_4" ; -"init#BSuper#instance.6678b088cbd2579c21b766781beb8030_1" [label="1: Start BSuper::init\nFormals: self:BSuper*\nLocals: \n " color=yellow style=filled] +"init#BSuper#instance.6678b088cbd2579c21b766781beb8030_1" [label="1: Start BSuper.init\nFormals: self:BSuper*\nLocals: \n " color=yellow style=filled] "init#BSuper#instance.6678b088cbd2579c21b766781beb8030_1" -> "init#BSuper#instance.6678b088cbd2579c21b766781beb8030_3" ; -"init#BSuper#instance.6678b088cbd2579c21b766781beb8030_2" [label="2: Exit BSuper::init \n " color=yellow style=filled] +"init#BSuper#instance.6678b088cbd2579c21b766781beb8030_2" [label="2: Exit BSuper.init \n " color=yellow style=filled] "init#BSuper#instance.6678b088cbd2579c21b766781beb8030_3" [label="3: Return Stmt \n *&return:objc_object*=null [line 17, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/ArcExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/ArcExample.m.dot index 60f8309db..888104193 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/ArcExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/ArcExample.m.dot @@ -1,10 +1,10 @@ /* @generated */ digraph cfg { -"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_1" [label="1: Start ArcA::getS\nFormals: self:ArcA*\nLocals: s:NSString* \n " color=yellow style=filled] +"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_1" [label="1: Start ArcA.getS\nFormals: self:ArcA*\nLocals: s:NSString* \n " color=yellow style=filled] "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_1" -> "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_4" ; -"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_2" [label="2: Exit ArcA::getS \n " color=yellow style=filled] +"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_2" [label="2: Exit ArcA.getS \n " color=yellow style=filled] "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" [label="3: Return Stmt \n n$0=*&s:NSString* [line 22, column 10]\n *&return:NSString*=n$0 [line 22, column 3]\n " shape="box"] @@ -15,11 +15,11 @@ digraph cfg { "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_4" -> "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" ; -"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_1" [label="1: Start ArcA::newS\nFormals: self:ArcA*\nLocals: s:NSString* \n " color=yellow style=filled] +"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_1" [label="1: Start ArcA.newS\nFormals: self:ArcA*\nLocals: s:NSString* \n " color=yellow style=filled] "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_1" -> "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_4" ; -"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_2" [label="2: Exit ArcA::newS \n " color=yellow style=filled] +"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_2" [label="2: Exit ArcA.newS \n " color=yellow style=filled] "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_3" [label="3: Return Stmt \n n$2=*&s:NSString* [line 28, column 10]\n *&return:NSString*=n$2 [line 28, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/AutoreleaseExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/AutoreleaseExample.m.dot index f53042c1b..a896e5876 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/AutoreleaseExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/AutoreleaseExample.m.dot @@ -19,7 +19,7 @@ digraph cfg { "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_5" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_4" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_6" [label="6: Message Call: retain \n n$2=*&s1:Auto* [line 38, column 6]\n n$3=_fun_NSObject::retain(n$2:Auto*) virtual [line 38, column 5]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_6" [label="6: Message Call: retain \n n$2=*&s1:Auto* [line 38, column 6]\n n$3=_fun_NSObject.retain(n$2:Auto*) virtual [line 38, column 5]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_6" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_5" ; @@ -85,15 +85,15 @@ digraph cfg { "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_3" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_2" ; -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" [label="4: Message Call: release \n n$1=*&pool:NSAutoreleasePool* [line 61, column 4]\n n$2=_fun_NSObject::release(n$1:NSAutoreleasePool*) virtual [line 61, column 3]\n " shape="box"] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" [label="4: Message Call: release \n n$1=*&pool:NSAutoreleasePool* [line 61, column 4]\n n$2=_fun_NSObject.release(n$1:NSAutoreleasePool*) virtual [line 61, column 3]\n " shape="box"] "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_3" ; -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" [label="5: DeclStmt \n VARIABLE_DECLARED(string:NSString*); [line 59, column 3]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 59, column 23]\n n$4=_fun_NSObject::autorelease(n$3:NSString*) virtual [line 59, column 22]\n *&string:NSString*=n$4 [line 59, column 3]\n " shape="box"] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" [label="5: DeclStmt \n VARIABLE_DECLARED(string:NSString*); [line 59, column 3]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 59, column 23]\n n$4=_fun_NSObject.autorelease(n$3:NSString*) virtual [line 59, column 22]\n *&string:NSString*=n$4 [line 59, column 3]\n " shape="box"] "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" ; -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_6" [label="6: DeclStmt \n VARIABLE_DECLARED(pool:NSAutoreleasePool*); [line 58, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=NSAutoreleasePool):unsigned long) [line 58, column 30]\n n$6=_fun_NSObject::init(n$5:NSAutoreleasePool*) virtual [line 58, column 29]\n *&pool:NSAutoreleasePool*=n$6 [line 58, column 3]\n " shape="box"] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_6" [label="6: DeclStmt \n VARIABLE_DECLARED(pool:NSAutoreleasePool*); [line 58, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=NSAutoreleasePool):unsigned long) [line 58, column 30]\n n$6=_fun_NSObject.init(n$5:NSAutoreleasePool*) virtual [line 58, column 29]\n *&pool:NSAutoreleasePool*=n$6 [line 58, column 3]\n " shape="box"] "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_6" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" ; @@ -104,22 +104,22 @@ digraph cfg { "createA.48a5d7f480131d59bba69d521715b836_2" [label="2: Exit createA \n " color=yellow style=filled] -"createA.48a5d7f480131d59bba69d521715b836_3" [label="3: Return Stmt \n n$0=*&s1:Auto* [line 29, column 11]\n n$1=_fun_NSObject::autorelease(n$0:Auto*) virtual [line 29, column 10]\n *&return:Auto*=n$1 [line 29, column 3]\n " shape="box"] +"createA.48a5d7f480131d59bba69d521715b836_3" [label="3: Return Stmt \n n$0=*&s1:Auto* [line 29, column 11]\n n$1=_fun_NSObject.autorelease(n$0:Auto*) virtual [line 29, column 10]\n *&return:Auto*=n$1 [line 29, column 3]\n " shape="box"] "createA.48a5d7f480131d59bba69d521715b836_3" -> "createA.48a5d7f480131d59bba69d521715b836_2" ; -"createA.48a5d7f480131d59bba69d521715b836_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s1:Auto*); [line 28, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=Auto):unsigned long) [line 28, column 15]\n n$3=_fun_NSObject::init(n$2:Auto*) virtual [line 28, column 14]\n *&s1:Auto*=n$3 [line 28, column 3]\n " shape="box"] +"createA.48a5d7f480131d59bba69d521715b836_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s1:Auto*); [line 28, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=Auto):unsigned long) [line 28, column 15]\n n$3=_fun_NSObject.init(n$2:Auto*) virtual [line 28, column 14]\n *&s1:Auto*=n$3 [line 28, column 3]\n " shape="box"] "createA.48a5d7f480131d59bba69d521715b836_4" -> "createA.48a5d7f480131d59bba69d521715b836_3" ; -"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_1" [label="1: Start Auto::autorelease_main\nFormals: self:Auto*\nLocals: s:NSString* \n " color=yellow style=filled] +"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_1" [label="1: Start Auto.autorelease_main\nFormals: self:Auto*\nLocals: s:NSString* \n " color=yellow style=filled] "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_1" -> "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_4" ; -"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_2" [label="2: Exit Auto::autorelease_main \n " color=yellow style=filled] +"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_2" [label="2: Exit Auto.autorelease_main \n " color=yellow style=filled] -"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_3" [label="3: Return Stmt \n n$0=*&s:NSString* [line 22, column 11]\n n$1=_fun_NSObject::autorelease(n$0:NSString*) virtual [line 22, column 10]\n *&return:NSString*=n$1 [line 22, column 3]\n " shape="box"] +"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_3" [label="3: Return Stmt \n n$0=*&s:NSString* [line 22, column 11]\n n$1=_fun_NSObject.autorelease(n$0:NSString*) virtual [line 22, column 10]\n *&return:NSString*=n$1 [line 22, column 3]\n " shape="box"] "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_3" -> "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot index 9372b270d..4d0441622 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot @@ -1,40 +1,40 @@ /* @generated */ digraph cfg { -"objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_1" [label="1: Start objc_blockMemoryLeakExample::blockCapturedVarLeak_1\nFormals: x:int*\nLocals: \nCaptured: x:int* \n " color=yellow style=filled] +"objc_blockMemoryLeakExample.blockCapturedVarLeak_1.74cf15f2799999b1100e5a876dbb3ac4_1" [label="1: Start objc_blockMemoryLeakExample.blockCapturedVarLeak_1\nFormals: x:int*\nLocals: \nCaptured: x:int* \n " color=yellow style=filled] - "objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_1" -> "objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_3" ; -"objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_2" [label="2: Exit objc_blockMemoryLeakExample::blockCapturedVarLeak_1 \n " color=yellow style=filled] + "objc_blockMemoryLeakExample.blockCapturedVarLeak_1.74cf15f2799999b1100e5a876dbb3ac4_1" -> "objc_blockMemoryLeakExample.blockCapturedVarLeak_1.74cf15f2799999b1100e5a876dbb3ac4_3" ; +"objc_blockMemoryLeakExample.blockCapturedVarLeak_1.74cf15f2799999b1100e5a876dbb3ac4_2" [label="2: Exit objc_blockMemoryLeakExample.blockCapturedVarLeak_1 \n " color=yellow style=filled] -"objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_3" [label="3: Return Stmt \n n$52=*&x:int* [line 95, column 13]\n n$53=*n$52:int [line 95, column 12]\n *&return:int=n$53 [line 95, column 5]\n " shape="box"] +"objc_blockMemoryLeakExample.blockCapturedVarLeak_1.74cf15f2799999b1100e5a876dbb3ac4_3" [label="3: Return Stmt \n n$52=*&x:int* [line 95, column 13]\n n$53=*n$52:int [line 95, column 12]\n *&return:int=n$53 [line 95, column 5]\n " shape="box"] - "objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_3" -> "objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_2" ; -"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_1" [label="1: Start objc_blockMemoryLeakExample::blockFreeNoLeak_2\nFormals: x:int*\nLocals: i:int\nCaptured: x:int* \n " color=yellow style=filled] + "objc_blockMemoryLeakExample.blockCapturedVarLeak_1.74cf15f2799999b1100e5a876dbb3ac4_3" -> "objc_blockMemoryLeakExample.blockCapturedVarLeak_1.74cf15f2799999b1100e5a876dbb3ac4_2" ; +"objc_blockMemoryLeakExample.blockFreeNoLeak_2.c788da2c768efd587ffe2f3483f8b01b_1" [label="1: Start objc_blockMemoryLeakExample.blockFreeNoLeak_2\nFormals: x:int*\nLocals: i:int\nCaptured: x:int* \n " color=yellow style=filled] - "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_1" -> "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_5" ; -"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_2" [label="2: Exit objc_blockMemoryLeakExample::blockFreeNoLeak_2 \n " color=yellow style=filled] + "objc_blockMemoryLeakExample.blockFreeNoLeak_2.c788da2c768efd587ffe2f3483f8b01b_1" -> "objc_blockMemoryLeakExample.blockFreeNoLeak_2.c788da2c768efd587ffe2f3483f8b01b_5" ; +"objc_blockMemoryLeakExample.blockFreeNoLeak_2.c788da2c768efd587ffe2f3483f8b01b_2" [label="2: Exit objc_blockMemoryLeakExample.blockFreeNoLeak_2 \n " color=yellow style=filled] -"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_3" [label="3: Return Stmt \n n$59=*&i:int [line 106, column 12]\n *&return:int=n$59 [line 106, column 5]\n " shape="box"] +"objc_blockMemoryLeakExample.blockFreeNoLeak_2.c788da2c768efd587ffe2f3483f8b01b_3" [label="3: Return Stmt \n n$59=*&i:int [line 106, column 12]\n *&return:int=n$59 [line 106, column 5]\n " shape="box"] - "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_3" -> "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_2" ; -"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_4" [label="4: Call _fun_free \n n$60=*&x:int* [line 105, column 10]\n n$61=_fun_free(n$60:void*) [line 105, column 5]\n " shape="box"] + "objc_blockMemoryLeakExample.blockFreeNoLeak_2.c788da2c768efd587ffe2f3483f8b01b_3" -> "objc_blockMemoryLeakExample.blockFreeNoLeak_2.c788da2c768efd587ffe2f3483f8b01b_2" ; +"objc_blockMemoryLeakExample.blockFreeNoLeak_2.c788da2c768efd587ffe2f3483f8b01b_4" [label="4: Call _fun_free \n n$60=*&x:int* [line 105, column 10]\n n$61=_fun_free(n$60:void*) [line 105, column 5]\n " shape="box"] - "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_4" -> "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_3" ; -"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 104, column 5]\n n$62=*&x:int* [line 104, column 14]\n n$63=*n$62:int [line 104, column 13]\n *&i:int=n$63 [line 104, column 5]\n " shape="box"] + "objc_blockMemoryLeakExample.blockFreeNoLeak_2.c788da2c768efd587ffe2f3483f8b01b_4" -> "objc_blockMemoryLeakExample.blockFreeNoLeak_2.c788da2c768efd587ffe2f3483f8b01b_3" ; +"objc_blockMemoryLeakExample.blockFreeNoLeak_2.c788da2c768efd587ffe2f3483f8b01b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 104, column 5]\n n$62=*&x:int* [line 104, column 14]\n n$63=*n$62:int [line 104, column 13]\n *&i:int=n$63 [line 104, column 5]\n " shape="box"] - "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_5" -> "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_4" ; -"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_1" [label="1: Start MemoryLeakExample::createCloseCrossGlyph:\nFormals: rect:CGRect\nLocals: \n " color=yellow style=filled] + "objc_blockMemoryLeakExample.blockFreeNoLeak_2.c788da2c768efd587ffe2f3483f8b01b_5" -> "objc_blockMemoryLeakExample.blockFreeNoLeak_2.c788da2c768efd587ffe2f3483f8b01b_4" ; +"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_1" [label="1: Start MemoryLeakExample.createCloseCrossGlyph:\nFormals: rect:CGRect\nLocals: \n " color=yellow style=filled] "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_1" -> "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" ; -"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_2" [label="2: Exit MemoryLeakExample::createCloseCrossGlyph: \n " color=yellow style=filled] +"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_2" [label="2: Exit MemoryLeakExample.createCloseCrossGlyph: \n " color=yellow style=filled] "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" [label="3: Call _fun_CGPathCreateMutable \n n$26=_fun_CGPathCreateMutable() [line 53, column 3]\n " shape="box"] @@ -45,11 +45,11 @@ digraph cfg { "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" -> "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" ; -"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_1" [label="1: Start MemoryLeakExample::createCloseCrossGlyphNoLeak:\nFormals: rect:CGRect\nLocals: path1:CGPath* lineThickness:double \n " color=yellow style=filled] +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_1" [label="1: Start MemoryLeakExample.createCloseCrossGlyphNoLeak:\nFormals: rect:CGRect\nLocals: path1:CGPath* lineThickness:double \n " color=yellow style=filled] "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_1" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" ; -"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_2" [label="2: Exit MemoryLeakExample::createCloseCrossGlyphNoLeak: \n " color=yellow style=filled] +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_2" [label="2: Exit MemoryLeakExample.createCloseCrossGlyphNoLeak: \n " color=yellow style=filled] "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" [label="3: Call _fun_CFRelease \n n$29=*&path1:CGPath* [line 61, column 13]\n n$30=_fun_CFRelease(n$29:void const *) [line 61, column 3]\n " shape="box"] @@ -64,22 +64,22 @@ digraph cfg { "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" ; -"measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_1" [label="1: Start MemoryLeakExample::measureFrameSizeForText\nFormals: \nLocals: \n " color=yellow style=filled] +"measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_1" [label="1: Start MemoryLeakExample.measureFrameSizeForText\nFormals: \nLocals: \n " color=yellow style=filled] "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_1" -> "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" ; -"measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_2" [label="2: Exit MemoryLeakExample::measureFrameSizeForText \n " color=yellow style=filled] +"measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_2" [label="2: Exit MemoryLeakExample.measureFrameSizeForText \n " color=yellow style=filled] "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" [label="3: Call _fun_CFAttributedStringCreateMutable \n n$17=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 33, column 3]\n " shape="box"] "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" -> "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_2" ; -"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_1" [label="1: Start MemoryLeakExample::measureFrameSizeForTextNoLeak\nFormals: \nLocals: maString:__CFAttributedString* \n " color=yellow style=filled] +"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_1" [label="1: Start MemoryLeakExample.measureFrameSizeForTextNoLeak\nFormals: \nLocals: maString:__CFAttributedString* \n " color=yellow style=filled] "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_1" -> "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" ; -"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_2" [label="2: Exit MemoryLeakExample::measureFrameSizeForTextNoLeak \n " color=yellow style=filled] +"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_2" [label="2: Exit MemoryLeakExample.measureFrameSizeForTextNoLeak \n " color=yellow style=filled] "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" [label="3: Call _fun_CFRelease \n n$18=*&maString:__CFAttributedString* [line 39, column 13]\n n$19=_fun_CFRelease(n$18:void const *) [line 39, column 3]\n " shape="box"] @@ -90,22 +90,22 @@ digraph cfg { "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" -> "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" ; -"test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_1" [label="1: Start MemoryLeakExample::test1:\nFormals: str:__CFAttributedString const *\nLocals: \n " color=yellow style=filled] +"test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_1" [label="1: Start MemoryLeakExample.test1:\nFormals: str:__CFAttributedString const *\nLocals: \n " color=yellow style=filled] "test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_1" -> "test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_3" ; -"test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_2" [label="2: Exit MemoryLeakExample::test1: \n " color=yellow style=filled] +"test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_2" [label="2: Exit MemoryLeakExample.test1: \n " color=yellow style=filled] "test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_3" [label="3: Call _fun_CTFramesetterCreateWithAttributedString \n n$21=*&str:__CFAttributedString const * [line 43, column 43]\n n$22=_fun_CTFramesetterCreateWithAttributedString(n$21:__CFAttributedString const *) [line 43, column 3]\n " shape="box"] "test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_3" -> "test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_2" ; -"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_1" [label="1: Start MemoryLeakExample::test1NoLeak\nFormals: \nLocals: framesetter:__CTFramesetter const * \n " color=yellow style=filled] +"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_1" [label="1: Start MemoryLeakExample.test1NoLeak\nFormals: \nLocals: framesetter:__CTFramesetter const * \n " color=yellow style=filled] "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_1" -> "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" ; -"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_2" [label="2: Exit MemoryLeakExample::test1NoLeak \n " color=yellow style=filled] +"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_2" [label="2: Exit MemoryLeakExample.test1NoLeak \n " color=yellow style=filled] "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" [label="3: Call _fun_CFRelease \n n$23=*&framesetter:__CTFramesetter const * [line 48, column 13]\n n$24=_fun_CFRelease(n$23:void const *) [line 48, column 3]\n " shape="box"] @@ -116,22 +116,22 @@ digraph cfg { "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" -> "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" ; -"test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_1" [label="1: Start MemoryLeakExample::test2:\nFormals: trust:__SecTrust*\nLocals: \n " color=yellow style=filled] +"test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_1" [label="1: Start MemoryLeakExample.test2:\nFormals: trust:__SecTrust*\nLocals: \n " color=yellow style=filled] "test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_1" -> "test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_3" ; -"test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_2" [label="2: Exit MemoryLeakExample::test2: \n " color=yellow style=filled] +"test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_2" [label="2: Exit MemoryLeakExample.test2: \n " color=yellow style=filled] "test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_3" [label="3: Call _fun_SecTrustCopyPublicKey \n n$34=*&trust:__SecTrust* [line 65, column 25]\n n$35=_fun_SecTrustCopyPublicKey(n$34:__SecTrust*) [line 65, column 3]\n " shape="box"] "test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_3" -> "test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_2" ; -"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_1" [label="1: Start MemoryLeakExample::test2NoLeak\nFormals: \nLocals: allowedPublicKey:__SecKey* \n " color=yellow style=filled] +"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_1" [label="1: Start MemoryLeakExample.test2NoLeak\nFormals: \nLocals: allowedPublicKey:__SecKey* \n " color=yellow style=filled] "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_1" -> "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" ; -"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_2" [label="2: Exit MemoryLeakExample::test2NoLeak \n " color=yellow style=filled] +"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_2" [label="2: Exit MemoryLeakExample.test2NoLeak \n " color=yellow style=filled] "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" [label="3: Call _fun_CFRelease \n n$36=*&allowedPublicKey:__SecKey* [line 70, column 13]\n n$37=_fun_CFRelease(n$36:void const *) [line 70, column 3]\n " shape="box"] @@ -142,11 +142,11 @@ digraph cfg { "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" -> "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" ; -"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_1" [label="1: Start MemoryLeakExample::testImageRefRelease\nFormals: \nLocals: newImage:CGImage* \n " color=yellow style=filled] +"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_1" [label="1: Start MemoryLeakExample.testImageRefRelease\nFormals: \nLocals: newImage:CGImage* \n " color=yellow style=filled] "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_1" -> "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" ; -"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_2" [label="2: Exit MemoryLeakExample::testImageRefRelease \n " color=yellow style=filled] +"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_2" [label="2: Exit MemoryLeakExample.testImageRefRelease \n " color=yellow style=filled] "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" [label="3: Call _fun_CGImageRelease \n n$39=*&newImage:CGImage* [line 75, column 18]\n n$40=_fun_CGImageRelease(n$39:CGImage*) [line 75, column 3]\n " shape="box"] @@ -157,18 +157,18 @@ digraph cfg { "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" -> "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_1" [label="1: Start MemoryLeakExample::blockCapturedVarLeak\nFormals: self:MemoryLeakExample*\nLocals: blk:_fn_(*) x:int* \n " color=yellow style=filled] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_1" [label="1: Start MemoryLeakExample.blockCapturedVarLeak\nFormals: self:MemoryLeakExample*\nLocals: blk:_fn_(*) x:int* \n " color=yellow style=filled] "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_1" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_2" [label="2: Exit MemoryLeakExample::blockCapturedVarLeak \n " color=yellow style=filled] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_2" [label="2: Exit MemoryLeakExample.blockCapturedVarLeak \n " color=yellow style=filled] "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" [label="3: Return Stmt \n n$49=*&blk:_fn_(*) [line 97, column 10]\n n$50=n$49() objc_block [line 97, column 10]\n *&return:int=n$50 [line 97, column 3]\n " shape="box"] "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_2" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" [label="4: DeclStmt \n VARIABLE_DECLARED(blk:_fn_(*)); [line 94, column 3]\n n$51=*&x:int* [line 94, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample::blockCapturedVarLeak_1,(n$51 &x:int*)) [line 94, column 3]\n " shape="box"] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" [label="4: DeclStmt \n VARIABLE_DECLARED(blk:_fn_(*)); [line 94, column 3]\n n$51=*&x:int* [line 94, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample.blockCapturedVarLeak_1,(n$51 &x:int*)) [line 94, column 3]\n " shape="box"] "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" ; @@ -180,18 +180,18 @@ digraph cfg { "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_1" [label="1: Start MemoryLeakExample::blockFreeNoLeak\nFormals: self:MemoryLeakExample*\nLocals: blk:_fn_(*) x:int* \n " color=yellow style=filled] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_1" [label="1: Start MemoryLeakExample.blockFreeNoLeak\nFormals: self:MemoryLeakExample*\nLocals: blk:_fn_(*) x:int* \n " color=yellow style=filled] "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_1" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_2" [label="2: Exit MemoryLeakExample::blockFreeNoLeak \n " color=yellow style=filled] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_2" [label="2: Exit MemoryLeakExample.blockFreeNoLeak \n " color=yellow style=filled] "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" [label="3: Return Stmt \n n$56=*&blk:_fn_(*) [line 108, column 10]\n n$57=n$56() objc_block [line 108, column 10]\n *&return:int=n$57 [line 108, column 3]\n " shape="box"] "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_2" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" [label="4: DeclStmt \n VARIABLE_DECLARED(blk:_fn_(*)); [line 103, column 3]\n n$58=*&x:int* [line 103, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample::blockFreeNoLeak_2,(n$58 &x:int*)) [line 103, column 3]\n " shape="box"] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" [label="4: DeclStmt \n VARIABLE_DECLARED(blk:_fn_(*)); [line 103, column 3]\n n$58=*&x:int* [line 103, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample.blockFreeNoLeak_2,(n$58 &x:int*)) [line 103, column 3]\n " shape="box"] "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" ; @@ -203,14 +203,14 @@ digraph cfg { "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_1" [label="1: Start MemoryLeakExample::layoutSubviews\nFormals: self:MemoryLeakExample*\nLocals: shadowPath:CGPath const * attachmentContainerView:UIView* \n " color=yellow style=filled] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_1" [label="1: Start MemoryLeakExample.layoutSubviews\nFormals: self:MemoryLeakExample*\nLocals: shadowPath:CGPath const * attachmentContainerView:UIView* \n " color=yellow style=filled] "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_1" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_2" [label="2: Exit MemoryLeakExample::layoutSubviews \n " color=yellow style=filled] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_2" [label="2: Exit MemoryLeakExample.layoutSubviews \n " color=yellow style=filled] -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" [label="3: Message Call: release \n n$0=*&attachmentContainerView:UIView* [line 23, column 4]\n n$1=_fun_NSObject::release(n$0:UIView*) virtual [line 23, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" [label="3: Message Call: release \n n$0=*&attachmentContainerView:UIView* [line 23, column 4]\n n$1=_fun_NSObject.release(n$0:UIView*) virtual [line 23, column 3]\n " shape="box"] "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_2" ; @@ -218,7 +218,7 @@ digraph cfg { "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" [label="5: DeclStmt \n VARIABLE_DECLARED(shadowPath:CGPath const *); [line 19, column 3]\n n$4=*&attachmentContainerView:UIView* [line 20, column 28]\n n$5=_fun_UIView::bounds(n$4:UIView*) [line 20, column 52]\n n$6=_fun_CGPathCreateWithRect(n$5:CGRect,null:CGAffineTransform const *) [line 20, column 7]\n *&shadowPath:CGPath const *=n$6 [line 19, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" [label="5: DeclStmt \n VARIABLE_DECLARED(shadowPath:CGPath const *); [line 19, column 3]\n n$4=*&attachmentContainerView:UIView* [line 20, column 28]\n n$5=_fun_UIView.bounds(n$4:UIView*) [line 20, column 52]\n n$6=_fun_CGPathCreateWithRect(n$5:CGRect,null:CGAffineTransform const *) [line 20, column 7]\n *&shadowPath:CGPath const *=n$6 [line 19, column 3]\n " shape="box"] "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" ; @@ -226,11 +226,11 @@ digraph cfg { "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" ; -"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_1" [label="1: Start MemoryLeakExample::regularLeak\nFormals: self:MemoryLeakExample*\nLocals: x:int* \n " color=yellow style=filled] +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_1" [label="1: Start MemoryLeakExample.regularLeak\nFormals: self:MemoryLeakExample*\nLocals: x:int* \n " color=yellow style=filled] "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_1" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" ; -"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_2" [label="2: Exit MemoryLeakExample::regularLeak \n " color=yellow style=filled] +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_2" [label="2: Exit MemoryLeakExample.regularLeak \n " color=yellow style=filled] "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" [label="3: Return Stmt \n n$45=*&x:int* [line 88, column 11]\n n$46=*n$45:int [line 88, column 10]\n *&return:int=n$46 [line 88, column 3]\n " shape="box"] @@ -245,26 +245,26 @@ digraph cfg { "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" ; -"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_1" [label="1: Start MemoryLeakExample::test\nFormals: self:MemoryLeakExample*\nLocals: shadowPath:CGPath const * \n " color=yellow style=filled] +"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_1" [label="1: Start MemoryLeakExample.test\nFormals: self:MemoryLeakExample*\nLocals: shadowPath:CGPath const * \n " color=yellow style=filled] "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_1" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" ; -"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_2" [label="2: Exit MemoryLeakExample::test \n " color=yellow style=filled] +"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_2" [label="2: Exit MemoryLeakExample.test \n " color=yellow style=filled] -"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" [label="3: Message Call: setShadowPath: \n n$9=*&self:MemoryLeakExample* [line 29, column 3]\n n$10=_fun_MemoryLeakExample::backgroundCoveringView(n$9:MemoryLeakExample*) [line 29, column 8]\n n$11=_fun_UIView::layer(n$10:UIView*) [line 29, column 31]\n n$8=*&shadowPath:CGPath const * [line 29, column 50]\n n$12=_fun_CALayer::setShadowPath:(n$11:CALayer*,n$8:CGPath const *) [line 29, column 37]\n " shape="box"] +"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" [label="3: Message Call: setShadowPath: \n n$9=*&self:MemoryLeakExample* [line 29, column 3]\n n$10=_fun_MemoryLeakExample.backgroundCoveringView(n$9:MemoryLeakExample*) [line 29, column 8]\n n$11=_fun_UIView.layer(n$10:UIView*) [line 29, column 31]\n n$8=*&shadowPath:CGPath const * [line 29, column 50]\n n$12=_fun_CALayer.setShadowPath:(n$11:CALayer*,n$8:CGPath const *) [line 29, column 37]\n " shape="box"] "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_2" ; -"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" [label="4: DeclStmt \n VARIABLE_DECLARED(shadowPath:CGPath const *); [line 27, column 3]\n n$13=*&self:MemoryLeakExample* [line 28, column 28]\n n$14=_fun_MemoryLeakExample::backgroundCoveringView(n$13:MemoryLeakExample*) [line 28, column 33]\n n$15=_fun_UIView::bounds(n$14:UIView*) [line 28, column 56]\n n$16=_fun_CGPathCreateWithRect(n$15:CGRect,null:CGAffineTransform const *) [line 28, column 7]\n *&shadowPath:CGPath const *=n$16 [line 27, column 3]\n " shape="box"] +"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" [label="4: DeclStmt \n VARIABLE_DECLARED(shadowPath:CGPath const *); [line 27, column 3]\n n$13=*&self:MemoryLeakExample* [line 28, column 28]\n n$14=_fun_MemoryLeakExample.backgroundCoveringView(n$13:MemoryLeakExample*) [line 28, column 33]\n n$15=_fun_UIView.bounds(n$14:UIView*) [line 28, column 56]\n n$16=_fun_CGPathCreateWithRect(n$15:CGRect,null:CGAffineTransform const *) [line 28, column 7]\n *&shadowPath:CGPath const *=n$16 [line 27, column 3]\n " shape="box"] "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" ; -"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_1" [label="1: Start MemoryLeakExample::testFBColorCreateWithGray\nFormals: self:MemoryLeakExample*\nLocals: borderColor:CGColor* \n " color=yellow style=filled] +"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_1" [label="1: Start MemoryLeakExample.testFBColorCreateWithGray\nFormals: self:MemoryLeakExample*\nLocals: borderColor:CGColor* \n " color=yellow style=filled] "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_1" -> "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" ; -"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_2" [label="2: Exit MemoryLeakExample::testFBColorCreateWithGray \n " color=yellow style=filled] +"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_2" [label="2: Exit MemoryLeakExample.testFBColorCreateWithGray \n " color=yellow style=filled] "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" [label="3: Call _fun_CGColorRelease \n n$42=*&borderColor:CGColor* [line 82, column 18]\n n$43=_fun_CGColorRelease(n$42:CGColor*) [line 82, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample.m.dot index ab7bb781b..3ce054c6c 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample.m.dot @@ -7,23 +7,23 @@ digraph cfg { "retain_release_test.65a9467f2c991ef519f3b0d97687f937_2" [label="2: Exit retain_release_test \n " color=yellow style=filled] -"retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" [label="3: Message Call: release \n n$0=*&a:RRA* [line 25, column 4]\n n$1=_fun_NSObject::release(n$0:RRA*) virtual [line 25, column 3]\n " shape="box"] +"retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" [label="3: Message Call: release \n n$0=*&a:RRA* [line 25, column 4]\n n$1=_fun_NSObject.release(n$0:RRA*) virtual [line 25, column 3]\n " shape="box"] "retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" -> "retain_release_test.65a9467f2c991ef519f3b0d97687f937_2" ; -"retain_release_test.65a9467f2c991ef519f3b0d97687f937_4" [label="4: Message Call: retain \n n$2=*&a:RRA* [line 24, column 4]\n n$3=_fun_NSObject::retain(n$2:RRA*) virtual [line 24, column 3]\n " shape="box"] +"retain_release_test.65a9467f2c991ef519f3b0d97687f937_4" [label="4: Message Call: retain \n n$2=*&a:RRA* [line 24, column 4]\n n$3=_fun_NSObject.retain(n$2:RRA*) virtual [line 24, column 3]\n " shape="box"] "retain_release_test.65a9467f2c991ef519f3b0d97687f937_4" -> "retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" ; -"retain_release_test.65a9467f2c991ef519f3b0d97687f937_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:RRA*); [line 23, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=RRA):unsigned long) [line 23, column 13]\n n$5=_fun_RRA::init(n$4:RRA*) virtual [line 23, column 12]\n *&a:RRA*=n$5 [line 23, column 3]\n " shape="box"] +"retain_release_test.65a9467f2c991ef519f3b0d97687f937_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:RRA*); [line 23, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=RRA):unsigned long) [line 23, column 13]\n n$5=_fun_RRA.init(n$4:RRA*) virtual [line 23, column 12]\n *&a:RRA*=n$5 [line 23, column 3]\n " shape="box"] "retain_release_test.65a9467f2c991ef519f3b0d97687f937_5" -> "retain_release_test.65a9467f2c991ef519f3b0d97687f937_4" ; -"init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_1" [label="1: Start RRA::init\nFormals: self:RRA*\nLocals: \n " color=yellow style=filled] +"init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_1" [label="1: Start RRA.init\nFormals: self:RRA*\nLocals: \n " color=yellow style=filled] "init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_1" -> "init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_3" ; -"init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_2" [label="2: Exit RRA::init \n " color=yellow style=filled] +"init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_2" [label="2: Exit RRA.init \n " color=yellow style=filled] "init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_3" [label="3: Return Stmt \n n$0=*&self:RRA* [line 17, column 10]\n *&return:objc_object*=n$0 [line 17, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/TollBridgeExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/TollBridgeExample.m.dot index 693632f3a..ce9d3d45d 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/TollBridgeExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/TollBridgeExample.m.dot @@ -11,7 +11,7 @@ digraph cfg { "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_3" -> "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_2" ; -"bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(bufferAttributes:NSDictionary*); [line 43, column 3]\n n$2=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(null:objc_object*) [line 43, column 58]\n n$1=_fun_NSString::stringWithUTF8String:(\"key\":char* const ) [line 43, column 49]\n n$3=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(n$2:objc_object*,n$1:objc_object*,null:objc_object*) [line 43, column 36]\n *&bufferAttributes:NSDictionary*=n$3 [line 43, column 3]\n " shape="box"] +"bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(bufferAttributes:NSDictionary*); [line 43, column 3]\n n$2=_fun_NSDictionary.dictionaryWithObjects:forKeys:count:(null:objc_object*) [line 43, column 58]\n n$1=_fun_NSString.stringWithUTF8String:(\"key\":char* const ) [line 43, column 49]\n n$3=_fun_NSDictionary.dictionaryWithObjects:forKeys:count:(n$2:objc_object*,n$1:objc_object*,null:objc_object*) [line 43, column 36]\n *&bufferAttributes:NSDictionary*=n$3 [line 43, column 3]\n " shape="box"] "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_4" -> "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_3" ; @@ -26,11 +26,11 @@ digraph cfg { "cfautorelease_test.2ccea2233b65cd3828a2d5e2571ad69b_3" -> "cfautorelease_test.2ccea2233b65cd3828a2d5e2571ad69b_2" ; -"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_1" [label="1: Start TollBridgeExample::_readHTTPHeader\nFormals: self:TollBridgeExample*\nLocals: ref:__CFDictionary const * \n " color=yellow style=filled] +"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_1" [label="1: Start TollBridgeExample._readHTTPHeader\nFormals: self:TollBridgeExample*\nLocals: ref:__CFDictionary const * \n " color=yellow style=filled] "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_1" -> "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_4" ; -"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_2" [label="2: Exit TollBridgeExample::_readHTTPHeader \n " color=yellow style=filled] +"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_2" [label="2: Exit TollBridgeExample._readHTTPHeader \n " color=yellow style=filled] "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_3" [label="3: Call _fun_CFBridgingRelease \n n$6=*&ref:__CFDictionary const * [line 35, column 21]\n n$7=_fun_CFBridgingRelease(n$6:void const *) [line 35, column 3]\n " shape="box"] @@ -41,11 +41,11 @@ digraph cfg { "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_4" -> "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_3" ; -"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_1" [label="1: Start TollBridgeExample::brideRetained\nFormals: self:TollBridgeExample*\nLocals: a:__CFLocale const * observer:objc_object* \n " color=yellow style=filled] +"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_1" [label="1: Start TollBridgeExample.brideRetained\nFormals: self:TollBridgeExample*\nLocals: a:__CFLocale const * observer:objc_object* \n " color=yellow style=filled] "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_1" -> "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_4" ; -"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_2" [label="2: Exit TollBridgeExample::brideRetained \n " color=yellow style=filled] +"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_2" [label="2: Exit TollBridgeExample.brideRetained \n " color=yellow style=filled] "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:__CFLocale const *); [line 29, column 3]\n n$4=*&observer:objc_object* [line 29, column 50]\n *&a:__CFLocale const *=n$4 [line 29, column 3]\n " shape="box"] @@ -56,11 +56,11 @@ digraph cfg { "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_4" -> "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_3" ; -"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_1" [label="1: Start TollBridgeExample::bridge\nFormals: self:TollBridgeExample*\nLocals: a:NSLocale* nameRef:__CFLocale const * \n " color=yellow style=filled] +"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_1" [label="1: Start TollBridgeExample.bridge\nFormals: self:TollBridgeExample*\nLocals: a:NSLocale* nameRef:__CFLocale const * \n " color=yellow style=filled] "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_1" -> "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_4" ; -"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_2" [label="2: Exit TollBridgeExample::bridge \n " color=yellow style=filled] +"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_2" [label="2: Exit TollBridgeExample.bridge \n " color=yellow style=filled] "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:NSLocale*); [line 24, column 3]\n n$2=*&nameRef:__CFLocale const * [line 24, column 37]\n *&a:NSLocale*=n$2 [line 24, column 3]\n " shape="box"] @@ -71,11 +71,11 @@ digraph cfg { "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_4" -> "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_3" ; -"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_1" [label="1: Start TollBridgeExample::bridgeTransfer\nFormals: self:TollBridgeExample*\nLocals: a:NSLocale* nameRef:__CFLocale const * \n " color=yellow style=filled] +"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_1" [label="1: Start TollBridgeExample.bridgeTransfer\nFormals: self:TollBridgeExample*\nLocals: a:NSLocale* nameRef:__CFLocale const * \n " color=yellow style=filled] "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_1" -> "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_4" ; -"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_2" [label="2: Exit TollBridgeExample::bridgeTransfer \n " color=yellow style=filled] +"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_2" [label="2: Exit TollBridgeExample.bridgeTransfer \n " color=yellow style=filled] "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:NSLocale*); [line 19, column 3]\n n$0=*&nameRef:__CFLocale const * [line 19, column 46]\n *&a:NSLocale*=n$0 [line 19, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/arc_methods.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/arc_methods.m.dot index 0798cc475..1eebecf62 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/arc_methods.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/arc_methods.m.dot @@ -15,7 +15,7 @@ digraph cfg { "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_4" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_3" ; -"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a2:ArcMethodsA*); [line 42, column 3]\n n$1=_fun_ArcMethodsA::someA() [line 42, column 21]\n *&a2:ArcMethodsA*=n$1 [line 42, column 3]\n " shape="box"] +"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a2:ArcMethodsA*); [line 42, column 3]\n n$1=_fun_ArcMethodsA.someA() [line 42, column 21]\n *&a2:ArcMethodsA*=n$1 [line 42, column 3]\n " shape="box"] "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_5" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_4" ; @@ -23,37 +23,37 @@ digraph cfg { "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_6" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_5" ; -"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a1:ArcMethodsA*); [line 40, column 3]\n n$3=_fun_ArcMethodsA::newA() [line 40, column 21]\n *&a1:ArcMethodsA*=n$3 [line 40, column 3]\n " shape="box"] +"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a1:ArcMethodsA*); [line 40, column 3]\n n$3=_fun_ArcMethodsA.newA() [line 40, column 21]\n *&a1:ArcMethodsA*=n$3 [line 40, column 3]\n " shape="box"] "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_7" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_6" ; -"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_1" [label="1: Start ArcMethodsA::newA\nFormals: \nLocals: a:ArcMethodsA* \n " color=yellow style=filled] +"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_1" [label="1: Start ArcMethodsA.newA\nFormals: \nLocals: a:ArcMethodsA* \n " color=yellow style=filled] "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_1" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" ; -"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_2" [label="2: Exit ArcMethodsA::newA \n " color=yellow style=filled] +"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_2" [label="2: Exit ArcMethodsA.newA \n " color=yellow style=filled] "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" [label="3: Return Stmt \n n$0=*&a:ArcMethodsA* [line 22, column 10]\n *&return:ArcMethodsA*=n$0 [line 22, column 3]\n " shape="box"] "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_2" ; -"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:ArcMethodsA*); [line 21, column 3]\n n$1=_fun___objc_alloc_no_fail(sizeof(t=ArcMethodsA):unsigned long) [line 21, column 21]\n n$2=_fun_NSObject::init(n$1:ArcMethodsA*) virtual [line 21, column 20]\n *&a:ArcMethodsA*=n$2 [line 21, column 3]\n " shape="box"] +"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:ArcMethodsA*); [line 21, column 3]\n n$1=_fun___objc_alloc_no_fail(sizeof(t=ArcMethodsA):unsigned long) [line 21, column 21]\n n$2=_fun_NSObject.init(n$1:ArcMethodsA*) virtual [line 21, column 20]\n *&a:ArcMethodsA*=n$2 [line 21, column 3]\n " shape="box"] "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" ; -"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_1" [label="1: Start ArcMethodsA::someA\nFormals: \nLocals: a:ArcMethodsA* \n " color=yellow style=filled] +"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_1" [label="1: Start ArcMethodsA.someA\nFormals: \nLocals: a:ArcMethodsA* \n " color=yellow style=filled] "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_1" -> "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" ; -"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_2" [label="2: Exit ArcMethodsA::someA \n " color=yellow style=filled] +"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_2" [label="2: Exit ArcMethodsA.someA \n " color=yellow style=filled] "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_3" [label="3: Return Stmt \n n$3=*&a:ArcMethodsA* [line 28, column 10]\n *&return:ArcMethodsA*=n$3 [line 28, column 3]\n " shape="box"] "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_3" -> "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_2" ; -"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:ArcMethodsA*); [line 26, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=ArcMethodsA):unsigned long) [line 26, column 21]\n n$5=_fun_NSObject::init(n$4:ArcMethodsA*) virtual [line 26, column 20]\n *&a:ArcMethodsA*=n$5 [line 26, column 3]\n " shape="box"] +"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:ArcMethodsA*); [line 26, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=ArcMethodsA):unsigned long) [line 26, column 21]\n n$5=_fun_NSObject.init(n$4:ArcMethodsA*) virtual [line 26, column 20]\n *&a:ArcMethodsA*=n$5 [line 26, column 3]\n " shape="box"] "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" -> "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot b/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot index 14bdc3dbc..140741f6a 100644 --- a/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot @@ -1,10 +1,10 @@ /* @generated */ digraph cfg { -"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_1" [label="1: Start Available_expr::test_no_bug\nFormals: self:Available_expr*\nLocals: p:int* \n " color=yellow style=filled] +"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_1" [label="1: Start Available_expr.test_no_bug\nFormals: self:Available_expr*\nLocals: p:int* \n " color=yellow style=filled] "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_1" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_8" ; -"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_2" [label="2: Exit Available_expr::test_no_bug \n " color=yellow style=filled] +"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_2" [label="2: Exit Available_expr.test_no_bug \n " color=yellow style=filled] "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_3" [label="3: Return Stmt \n *&return:int=0 [line 20, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/shared/npe/Nonnull_attribute_example.m.dot b/infer/tests/codetoanalyze/objc/shared/npe/Nonnull_attribute_example.m.dot index a70fdff60..e9e61c570 100644 --- a/infer/tests/codetoanalyze/objc/shared/npe/Nonnull_attribute_example.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/npe/Nonnull_attribute_example.m.dot @@ -11,22 +11,22 @@ digraph cfg { "NonnullAtrributeTest.69a49728cf7d46ab0add381e5c93704c_3" -> "NonnullAtrributeTest.69a49728cf7d46ab0add381e5c93704c_2" ; -"getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_1" [label="1: Start NonnullA::getA\nFormals: self:NonnullA*\nLocals: \n " color=yellow style=filled] +"getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_1" [label="1: Start NonnullA.getA\nFormals: self:NonnullA*\nLocals: \n " color=yellow style=filled] "getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_1" -> "getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_3" ; -"getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_2" [label="2: Exit NonnullA::getA \n " color=yellow style=filled] +"getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_2" [label="2: Exit NonnullA.getA \n " color=yellow style=filled] -"getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_3" [label="3: Return Stmt \n n$0=_fun___objc_alloc_no_fail(sizeof(t=NonnullA):unsigned long) [line 24, column 10]\n n$1=_fun_NSObject::init(n$0:NonnullA*) virtual [line 24, column 10]\n *&return:NonnullA*=n$1 [line 24, column 3]\n " shape="box"] +"getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_3" [label="3: Return Stmt \n n$0=_fun___objc_alloc_no_fail(sizeof(t=NonnullA):unsigned long) [line 24, column 10]\n n$1=_fun_NSObject.init(n$0:NonnullA*) virtual [line 24, column 10]\n *&return:NonnullA*=n$1 [line 24, column 3]\n " shape="box"] "getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_3" -> "getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_2" ; -"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_1" [label="1: Start NonnullC::initWithCoder:and:\nFormals: self:NonnullC* aDecoder:NSString* a:NonnullA*\nLocals: y:int a1:NonnullA*\nAnnotation: <> NonnullC::initWithCoder:and:(<> <> <_Nonnull>) \n " color=yellow style=filled] +"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_1" [label="1: Start NonnullC.initWithCoder:and:\nFormals: self:NonnullC* aDecoder:NSString* a:NonnullA*\nLocals: y:int a1:NonnullA*\nAnnotation: <> NonnullC.initWithCoder:and:(<> <> <_Nonnull>) \n " color=yellow style=filled] "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_1" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" ; -"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_2" [label="2: Exit NonnullC::initWithCoder:and: \n " color=yellow style=filled] +"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_2" [label="2: Exit NonnullC.initWithCoder:and: \n " color=yellow style=filled] "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_3" [label="3: Return Stmt \n n$0=*&self:NonnullC* [line 39, column 10]\n *&return:objc_object*=n$0 [line 39, column 3]\n " shape="box"] @@ -37,7 +37,7 @@ digraph cfg { "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_4" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_3" ; -"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a1:NonnullA*); [line 37, column 3]\n n$3=*&a:NonnullA* [line 37, column 19]\n n$4=_fun_NonnullA::getA(n$3:NonnullA*) virtual [line 37, column 18]\n *&a1:NonnullA*=n$4 [line 37, column 3]\n " shape="box"] +"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a1:NonnullA*); [line 37, column 3]\n n$3=*&a:NonnullA* [line 37, column 19]\n n$4=_fun_NonnullA.getA(n$3:NonnullA*) virtual [line 37, column 18]\n *&a1:NonnullA*=n$4 [line 37, column 3]\n " shape="box"] "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_4" ; diff --git a/infer/tests/codetoanalyze/objc/shared/npe/npe_malloc.m.dot b/infer/tests/codetoanalyze/objc/shared/npe/npe_malloc.m.dot index 6a5549faa..b3f5c6d30 100644 --- a/infer/tests/codetoanalyze/objc/shared/npe/npe_malloc.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/npe/npe_malloc.m.dot @@ -1,10 +1,10 @@ /* @generated */ digraph cfg { -"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_1" [label="1: Start NpeMallocC::test\nFormals: self:NpeMallocC*\nLocals: person:Person* \n " color=yellow style=filled] +"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_1" [label="1: Start NpeMallocC.test\nFormals: self:NpeMallocC*\nLocals: person:Person* \n " color=yellow style=filled] "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_1" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_5" ; -"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_2" [label="2: Exit NpeMallocC::test \n " color=yellow style=filled] +"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_2" [label="2: Exit NpeMallocC.test \n " color=yellow style=filled] "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_3" [label="3: Return Stmt \n n$0=*&person:Person* [line 25, column 10]\n *&return:Person*=n$0 [line 25, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot b/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot index df21b54b6..b2dbc989c 100644 --- a/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot @@ -7,15 +7,15 @@ digraph cfg { "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_2" [label="2: Exit should_have_div0 \n " color=yellow style=filled] -"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" [label="3: Return Stmt \n n$0=*&a:GetterExample* [line 15, column 15]\n n$1=_fun_GetterExample::name(n$0:GetterExample*) [line 15, column 17]\n *&return:int=(1 / (n$1 - 5)) [line 15, column 3]\n " shape="box"] +"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" [label="3: Return Stmt \n n$0=*&a:GetterExample* [line 15, column 15]\n n$1=_fun_GetterExample.name(n$0:GetterExample*) [line 15, column 17]\n *&return:int=(1 / (n$1 - 5)) [line 15, column 3]\n " shape="box"] "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_2" ; -"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" [label="4: Message Call: setName: \n n$2=*&a:GetterExample* [line 14, column 3]\n n$3=_fun_GetterExample::setName:(n$2:GetterExample*,5:int) [line 14, column 5]\n " shape="box"] +"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" [label="4: Message Call: setName: \n n$2=*&a:GetterExample* [line 14, column 3]\n n$3=_fun_GetterExample.setName:(n$2:GetterExample*,5:int) [line 14, column 5]\n " shape="box"] "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" ; -"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:GetterExample*); [line 13, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=GetterExample):unsigned long) [line 13, column 23]\n n$5=_fun_NSObject::init(n$4:GetterExample*) virtual [line 13, column 22]\n *&a:GetterExample*=n$5 [line 13, column 3]\n " shape="box"] +"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:GetterExample*); [line 13, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=GetterExample):unsigned long) [line 13, column 23]\n n$5=_fun_NSObject.init(n$4:GetterExample*) virtual [line 13, column 22]\n *&a:GetterExample*=n$5 [line 13, column 3]\n " shape="box"] "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" ; diff --git a/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot b/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot index 325313934..c46df3a1c 100644 --- a/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot @@ -11,23 +11,23 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; -"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: Message Call: release \n n$0=*&a:PropertyA* [line 43, column 4]\n n$1=_fun_NSObject::release(n$0:PropertyA*) virtual [line 43, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: Message Call: release \n n$0=*&a:PropertyA* [line 43, column 4]\n n$1=_fun_NSObject.release(n$0:PropertyA*) virtual [line 43, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_4" -> "test.098f6bcd4621d373cade4e832627b4f6_3" ; -"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: Message Call: setLast_name: \n n$3=*&a:PropertyA* [line 42, column 3]\n n$2=*&a2:PropertyA* [line 42, column 17]\n n$4=_fun_PropertyA::setLast_name:(n$3:PropertyA*,n$2:PropertyA*) [line 42, column 5]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: Message Call: setLast_name: \n n$3=*&a:PropertyA* [line 42, column 3]\n n$2=*&a2:PropertyA* [line 42, column 17]\n n$4=_fun_PropertyA.setLast_name:(n$3:PropertyA*,n$2:PropertyA*) [line 42, column 5]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_5" -> "test.098f6bcd4621d373cade4e832627b4f6_4" ; -"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:PropertyA*); [line 41, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=PropertyA):unsigned long) [line 41, column 19]\n n$6=_fun_PropertyA::init(n$5:PropertyA*) virtual [line 41, column 18]\n *&a:PropertyA*=n$6 [line 41, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:PropertyA*); [line 41, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=PropertyA):unsigned long) [line 41, column 19]\n n$6=_fun_PropertyA.init(n$5:PropertyA*) virtual [line 41, column 18]\n *&a:PropertyA*=n$6 [line 41, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_6" -> "test.098f6bcd4621d373cade4e832627b4f6_5" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_1" [label="1: Start PropertyA::copy\nFormals: self:PropertyA*\nLocals: other:PropertyA* \n " color=yellow style=filled] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_1" [label="1: Start PropertyA.copy\nFormals: self:PropertyA*\nLocals: other:PropertyA* \n " color=yellow style=filled] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_1" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_2" [label="2: Exit PropertyA::copy \n " color=yellow style=filled] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_2" [label="2: Exit PropertyA.copy \n " color=yellow style=filled] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_3" [label="3: Return Stmt \n n$1=*&other:PropertyA* [line 35, column 10]\n *&return:PropertyA*=n$1 [line 35, column 3]\n " shape="box"] @@ -58,16 +58,16 @@ digraph cfg { "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_9" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_8" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" [label="10: DeclStmt \n VARIABLE_DECLARED(other:PropertyA*); [line 29, column 3]\n n$14=_fun___objc_alloc_no_fail(sizeof(t=PropertyA):unsigned long) [line 29, column 23]\n n$15=_fun_PropertyA::init(n$14:PropertyA*) virtual [line 29, column 22]\n *&other:PropertyA*=n$15 [line 29, column 3]\n " shape="box"] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" [label="10: DeclStmt \n VARIABLE_DECLARED(other:PropertyA*); [line 29, column 3]\n n$14=_fun___objc_alloc_no_fail(sizeof(t=PropertyA):unsigned long) [line 29, column 23]\n n$15=_fun_PropertyA.init(n$14:PropertyA*) virtual [line 29, column 22]\n *&other:PropertyA*=n$15 [line 29, column 3]\n " shape="box"] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" ; "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_6" ; -"init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_1" [label="1: Start PropertyA::init\nFormals: self:PropertyA*\nLocals: \n " color=yellow style=filled] +"init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_1" [label="1: Start PropertyA.init\nFormals: self:PropertyA*\nLocals: \n " color=yellow style=filled] "init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_1" -> "init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_3" ; -"init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_2" [label="2: Exit PropertyA::init \n " color=yellow style=filled] +"init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_2" [label="2: Exit PropertyA.init \n " color=yellow style=filled] "init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_3" [label="3: Return Stmt \n n$0=*&self:PropertyA* [line 25, column 10]\n *&return:objc_object*=n$0 [line 25, column 3]\n " shape="box"] diff --git a/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/Bicycle.m.dot b/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/Bicycle.m.dot index 1297554fe..da037e192 100644 --- a/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/Bicycle.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/Bicycle.m.dot @@ -1,68 +1,68 @@ /* @generated */ digraph cfg { -"lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_1" [label="1: Start Bicycle::lockToStructure:\nFormals: self:Bicycle* theStructure:objc_object*\nLocals: \n " color=yellow style=filled] +"lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_1" [label="1: Start Bicycle.lockToStructure:\nFormals: self:Bicycle* theStructure:objc_object*\nLocals: \n " color=yellow style=filled] "lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_1" -> "lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_3" ; -"lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_2" [label="2: Exit Bicycle::lockToStructure: \n " color=yellow style=filled] +"lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_2" [label="2: Exit Bicycle.lockToStructure: \n " color=yellow style=filled] -"lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_3" [label="3: Call _fun_NSLog \n n$10=_fun_NSString::stringWithUTF8String:(\"Locked to structure. Don't forget the combination!\":char* const ) [line 31, column 9]\n n$11=_fun_NSLog(n$10:objc_object*) [line 31, column 3]\n " shape="box"] +"lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_3" [label="3: Call _fun_NSLog \n n$10=_fun_NSString.stringWithUTF8String:(\"Locked to structure. Don't forget the combination!\":char* const ) [line 31, column 9]\n n$11=_fun_NSLog(n$10:objc_object*) [line 31, column 3]\n " shape="box"] "lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_3" -> "lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_2" ; -"removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_1" [label="1: Start Bicycle::removeFrontWheel\nFormals: self:Bicycle*\nLocals: \n " color=yellow style=filled] +"removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_1" [label="1: Start Bicycle.removeFrontWheel\nFormals: self:Bicycle*\nLocals: \n " color=yellow style=filled] "removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_1" -> "removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_3" ; -"removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_2" [label="2: Exit Bicycle::removeFrontWheel \n " color=yellow style=filled] +"removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_2" [label="2: Exit Bicycle.removeFrontWheel \n " color=yellow style=filled] -"removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_3" [label="3: Call _fun_NSLog \n n$8=_fun_NSString::stringWithUTF8String:(\"Front wheel is off.Should probably replace that before pedaling...\":char* const ) [line 27, column 7]\n n$9=_fun_NSLog(n$8:objc_object*) [line 26, column 3]\n " shape="box"] +"removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_3" [label="3: Call _fun_NSLog \n n$8=_fun_NSString.stringWithUTF8String:(\"Front wheel is off.Should probably replace that before pedaling...\":char* const ) [line 27, column 7]\n n$9=_fun_NSLog(n$8:objc_object*) [line 26, column 3]\n " shape="box"] "removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_3" -> "removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_2" ; -"signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_1" [label="1: Start Bicycle::signalLeftTurn\nFormals: self:Bicycle*\nLocals: \n " color=yellow style=filled] +"signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_1" [label="1: Start Bicycle.signalLeftTurn\nFormals: self:Bicycle*\nLocals: \n " color=yellow style=filled] "signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_1" -> "signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_3" ; -"signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_2" [label="2: Exit Bicycle::signalLeftTurn \n " color=yellow style=filled] +"signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_2" [label="2: Exit Bicycle.signalLeftTurn \n " color=yellow style=filled] -"signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString::stringWithUTF8String:(\"Extending left arm outwards\":char* const ) [line 17, column 9]\n n$3=_fun_NSLog(n$2:objc_object*) [line 17, column 3]\n " shape="box"] +"signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString.stringWithUTF8String:(\"Extending left arm outwards\":char* const ) [line 17, column 9]\n n$3=_fun_NSLog(n$2:objc_object*) [line 17, column 3]\n " shape="box"] "signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_3" -> "signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_2" ; -"signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_1" [label="1: Start Bicycle::signalRightTurn\nFormals: self:Bicycle*\nLocals: \n " color=yellow style=filled] +"signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_1" [label="1: Start Bicycle.signalRightTurn\nFormals: self:Bicycle*\nLocals: \n " color=yellow style=filled] "signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_1" -> "signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_3" ; -"signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_2" [label="2: Exit Bicycle::signalRightTurn \n " color=yellow style=filled] +"signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_2" [label="2: Exit Bicycle.signalRightTurn \n " color=yellow style=filled] -"signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_3" [label="3: Call _fun_NSLog \n n$4=_fun_NSString::stringWithUTF8String:(\"Bending left arm upwards\":char* const ) [line 20, column 9]\n n$5=_fun_NSLog(n$4:objc_object*) [line 20, column 3]\n " shape="box"] +"signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_3" [label="3: Call _fun_NSLog \n n$4=_fun_NSString.stringWithUTF8String:(\"Bending left arm upwards\":char* const ) [line 20, column 9]\n n$5=_fun_NSLog(n$4:objc_object*) [line 20, column 3]\n " shape="box"] "signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_3" -> "signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_2" ; -"signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_1" [label="1: Start Bicycle::signalStop\nFormals: self:Bicycle*\nLocals: \n " color=yellow style=filled] +"signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_1" [label="1: Start Bicycle.signalStop\nFormals: self:Bicycle*\nLocals: \n " color=yellow style=filled] "signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_1" -> "signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_3" ; -"signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_2" [label="2: Exit Bicycle::signalStop \n " color=yellow style=filled] +"signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_2" [label="2: Exit Bicycle.signalStop \n " color=yellow style=filled] -"signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString::stringWithUTF8String:(\"Bending left arm downwards\":char* const ) [line 14, column 9]\n n$1=_fun_NSLog(n$0:objc_object*) [line 14, column 3]\n " shape="box"] +"signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString.stringWithUTF8String:(\"Bending left arm downwards\":char* const ) [line 14, column 9]\n n$1=_fun_NSLog(n$0:objc_object*) [line 14, column 3]\n " shape="box"] "signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_3" -> "signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_2" ; -"startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_1" [label="1: Start Bicycle::startPedaling\nFormals: self:Bicycle*\nLocals: \n " color=yellow style=filled] +"startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_1" [label="1: Start Bicycle.startPedaling\nFormals: self:Bicycle*\nLocals: \n " color=yellow style=filled] "startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_1" -> "startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_3" ; -"startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_2" [label="2: Exit Bicycle::startPedaling \n " color=yellow style=filled] +"startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_2" [label="2: Exit Bicycle.startPedaling \n " color=yellow style=filled] -"startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_3" [label="3: Call _fun_NSLog \n n$6=_fun_NSString::stringWithUTF8String:(\"Here we go!\":char* const ) [line 23, column 9]\n n$7=_fun_NSLog(n$6:objc_object*) [line 23, column 3]\n " shape="box"] +"startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_3" [label="3: Call _fun_NSLog \n n$6=_fun_NSString.stringWithUTF8String:(\"Here we go!\":char* const ) [line 23, column 9]\n n$7=_fun_NSLog(n$6:objc_object*) [line 23, column 3]\n " shape="box"] "startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_3" -> "startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/main.c.dot b/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/main.c.dot index 42cd074ae..314af014f 100644 --- a/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/main.c.dot +++ b/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/main.c.dot @@ -11,7 +11,7 @@ digraph cfg { "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_3" -> "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_2" ; -"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_4" [label="4: Message Call: signalStop \n n$0=*&bike:Bicycle* [line 14, column 4]\n n$1=_fun_StreetVehicle::signalStop(n$0:Bicycle*) virtual [line 14, column 3]\n " shape="box"] +"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_4" [label="4: Message Call: signalStop \n n$0=*&bike:Bicycle* [line 14, column 4]\n n$1=_fun_StreetVehicle.signalStop(n$0:Bicycle*) virtual [line 14, column 3]\n " shape="box"] "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_4" -> "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_3" ; diff --git a/infer/tests/codetoanalyze/objc/uninit/issues.exp b/infer/tests/codetoanalyze/objc/uninit/issues.exp index df2f42744..e5955ca6d 100644 --- a/infer/tests/codetoanalyze/objc/uninit/issues.exp +++ b/infer/tests/codetoanalyze/objc/uninit/issues.exp @@ -2,4 +2,4 @@ codetoanalyze/objc/uninit/arrays.m, array_length_undef_bad, 2, UNINITIALIZED_VAL codetoanalyze/objc/uninit/arrays.m, bad1, 3, UNINITIALIZED_VALUE, no_bucket, ERROR, [] codetoanalyze/objc/uninit/arrays.m, bad2, 2, UNINITIALIZED_VALUE, no_bucket, ERROR, [] codetoanalyze/objc/uninit/uninit.m, FP_switch_ok, 11, UNINITIALIZED_VALUE, no_bucket, ERROR, [] -codetoanalyze/objc/uninit/uninit_blocks.m, A::bad1, 5, UNINITIALIZED_VALUE, no_bucket, ERROR, [] +codetoanalyze/objc/uninit/uninit_blocks.m, A.bad1, 5, UNINITIALIZED_VALUE, no_bucket, ERROR, [] diff --git a/infer/tests/codetoanalyze/objcpp/biabduction/issues.exp b/infer/tests/codetoanalyze/objcpp/biabduction/issues.exp index 242fb0b58..543c5a17a 100644 --- a/infer/tests/codetoanalyze/objcpp/biabduction/issues.exp +++ b/infer/tests/codetoanalyze/objcpp/biabduction/issues.exp @@ -1,5 +1,5 @@ -codetoanalyze/objcpp/biabduction/BlockLfield.mm, A::mOk, 1, PRECONDITION_NOT_FOUND, no_bucket, ERROR, [start of procedure mOk] +codetoanalyze/objcpp/biabduction/BlockLfield.mm, A.mOk, 1, PRECONDITION_NOT_FOUND, no_bucket, ERROR, [start of procedure mOk] codetoanalyze/objcpp/biabduction/BlockLfield.mm, CFunWithBlockOk, 2, PRECONDITION_NOT_MET, no_bucket, WARNING, [start of procedure CFunWithBlockOk()] -codetoanalyze/objcpp/biabduction/BlockLfield.mm, CFunWithBlockOk_objc_blockA::mOk_1, 2, PRECONDITION_NOT_MET, no_bucket, WARNING, [start of procedure CFunWithBlockOk()] -codetoanalyze/objcpp/biabduction/c_functions.mm, main, 4, NULL_DEREFERENCE, B5, ERROR, [start of procedure main(),start of procedure autoUpdating,return from a call to A::autoUpdating,start of procedure autoUpdating2,Skipping dispatch_once2(): method has no implementation,return from a call to A::autoUpdating2,Executing synthesized getter block,start of procedure block,return from a call to objc_blockobjc_blockA::autoUpdating_1_2,Message block with receiver nil returns nil.] -codetoanalyze/objcpp/biabduction/retain_cycles/RetainCycleWithStruct.mm, Animation::tracer, 2, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure tracer,start of procedure _State,return from a call to _State::_State,start of procedure initWithAnimation:,Taking true branch,return from a call to Tracer::initWithAnimation:] +codetoanalyze/objcpp/biabduction/BlockLfield.mm, CFunWithBlockOk_objc_blockA.mOk_1, 2, PRECONDITION_NOT_MET, no_bucket, WARNING, [start of procedure CFunWithBlockOk()] +codetoanalyze/objcpp/biabduction/c_functions.mm, main, 4, NULL_DEREFERENCE, B5, ERROR, [start of procedure main(),start of procedure autoUpdating,return from a call to A.autoUpdating,start of procedure autoUpdating2,Skipping dispatch_once2(): method has no implementation,return from a call to A.autoUpdating2,Executing synthesized getter block,start of procedure block,return from a call to objc_blockobjc_blockA.autoUpdating_1_2,Message block with receiver nil returns nil.] +codetoanalyze/objcpp/biabduction/retain_cycles/RetainCycleWithStruct.mm, Animation.tracer, 2, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure tracer,start of procedure _State,return from a call to _State::_State,start of procedure initWithAnimation:,Taking true branch,return from a call to Tracer.initWithAnimation:] diff --git a/infer/tests/codetoanalyze/objcpp/linters-for-test-only/issues.exp b/infer/tests/codetoanalyze/objcpp/linters-for-test-only/issues.exp index cb8dab464..880c9a8d3 100644 --- a/infer/tests/codetoanalyze/objcpp/linters-for-test-only/issues.exp +++ b/infer/tests/codetoanalyze/objcpp/linters-for-test-only/issues.exp @@ -1,16 +1,16 @@ codetoanalyze/objcpp/linters-for-test-only/BadRegexInPointNameForPerfLogging.mm, testRegexSafe, 17, TEST_PROPERTY_ON_NTH_PARAMETER, no_bucket, WARNING, [] -codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest::newWithAction, 25, TEST_REFERENCE, no_bucket, WARNING, [] -codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest::newWithAction, 42, TEST_REFERENCE, no_bucket, WARNING, [] -codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest::newWithActionRef, 22, TEST_REFERENCE, no_bucket, WARNING, [] -codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest::newWithActionRef, 38, TEST_REFERENCE, no_bucket, WARNING, [] -codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest::newWithConstAction, 19, TEST_REFERENCE, no_bucket, WARNING, [] -codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest::newWithConstAction, 34, TEST_REFERENCE, no_bucket, WARNING, [] -codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1::newImage, 17, NEW_COMPONENT_USING_MEM_MODEL, no_bucket, WARNING, [] -codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1::newImage, 32, NEW_COMPONENT_USING_MEM_MODEL, no_bucket, WARNING, [] -codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1::newMultiParams, 25, NEW_COMPONENT_USING_MEM_MODEL, no_bucket, WARNING, [] -codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1::newMultiParams, 49, NEW_COMPONENT_USING_MEM_MODEL, no_bucket, WARNING, [] -codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed2::newQuery, 57, NEW_COMPONENT_USING_MEM_MODEL, no_bucket, WARNING, [] -codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed2::newQuery, 63, NEW_COMPONENT_USING_MEM_MODEL, no_bucket, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest.newWithAction, 25, TEST_REFERENCE, no_bucket, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest.newWithAction, 42, TEST_REFERENCE, no_bucket, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest.newWithActionRef, 22, TEST_REFERENCE, no_bucket, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest.newWithActionRef, 38, TEST_REFERENCE, no_bucket, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest.newWithConstAction, 19, TEST_REFERENCE, no_bucket, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest.newWithConstAction, 34, TEST_REFERENCE, no_bucket, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1.newImage, 17, NEW_COMPONENT_USING_MEM_MODEL, no_bucket, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1.newImage, 32, NEW_COMPONENT_USING_MEM_MODEL, no_bucket, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1.newMultiParams, 25, NEW_COMPONENT_USING_MEM_MODEL, no_bucket, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1.newMultiParams, 49, NEW_COMPONENT_USING_MEM_MODEL, no_bucket, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed2.newQuery, 57, NEW_COMPONENT_USING_MEM_MODEL, no_bucket, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed2.newQuery, 63, NEW_COMPONENT_USING_MEM_MODEL, no_bucket, WARNING, [] codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 39, PARAMETER_TRANS_TYPE, no_bucket, WARNING, [] codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 39, TEST_PARAMETER_LABEL, no_bucket, WARNING, [] codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 39, TEST_PARAMETER_LABEL_REGEXP, no_bucket, WARNING, [] diff --git a/infer/tests/codetoanalyze/objcpp/linters/issues.exp b/infer/tests/codetoanalyze/objcpp/linters/issues.exp index 7c5025655..7fd2b57de 100644 --- a/infer/tests/codetoanalyze/objcpp/linters/issues.exp +++ b/infer/tests/codetoanalyze/objcpp/linters/issues.exp @@ -1,9 +1,9 @@ codetoanalyze/objcpp/linters/componentkit/FactoryFunctionTest.mm, ExampleFunctionAfterImpl, 33, COMPONENT_FACTORY_FUNCTION, no_bucket, ADVICE, [] codetoanalyze/objcpp/linters/componentkit/FactoryFunctionTest.mm, ExampleFunctionBeforeImpl, 19, COMPONENT_FACTORY_FUNCTION, no_bucket, ADVICE, [] codetoanalyze/objcpp/linters/componentkit/FactoryFunctionTest.mm, ExampleFunctionInsideImpl, 27, COMPONENT_FACTORY_FUNCTION, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent::newDerp, 17, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent::newDerp, 22, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent::newDerp, 27, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, no_bucket, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent.newDerp, 17, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, no_bucket, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent.newDerp, 22, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, no_bucket, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent.newDerp, 27, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, no_bucket, ADVICE, [] codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, objc_block, 35, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, no_bucket, ADVICE, [] codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, objc_block, 39, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, no_bucket, ADVICE, [] codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 18, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, no_bucket, ADVICE, [] @@ -12,22 +12,22 @@ codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_ codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 59, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, no_bucket, ADVICE, [] codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 60, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, no_bucket, ADVICE, [] codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 61, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent::new, 88, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent::new, 90, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent::new, 109, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent::new, 115, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent::no_mutable_local_variable_in_self_aliases, 131, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent::newWithString, 50, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent::newWithString, 55, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent::newWithString, 58, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent::newWithString, 58, POINTER_TO_CONST_OBJC_CLASS, no_bucket, WARNING, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent::newWithString, 59, POINTER_TO_CONST_OBJC_CLASS, no_bucket, WARNING, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent::newWithString, 62, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent::newWithString, 67, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, SomeClass::init, 38, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent.new, 88, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent.new, 90, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent.new, 109, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent.new, 115, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent.no_mutable_local_variable_in_self_aliases, 131, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent.newWithString, 50, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent.newWithString, 55, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent.newWithString, 58, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent.newWithString, 58, POINTER_TO_CONST_OBJC_CLASS, no_bucket, WARNING, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent.newWithString, 59, POINTER_TO_CONST_OBJC_CLASS, no_bucket, WARNING, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent.newWithString, 62, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent.newWithString, 67, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, SomeClass.init, 38, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, no_bucket, ADVICE, [] codetoanalyze/objcpp/linters/componentkit/UnconventionalSuperclassTest.h, Linters_dummy_method, 15, COMPONENT_WITH_UNCONVENTIONAL_SUPERCLASS, no_bucket, ADVICE, [] -codetoanalyze/objcpp/linters/cxx_reference_in_block/block.mm, A::foo, 18, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, no_bucket, ERROR, [] -codetoanalyze/objcpp/linters/cxx_reference_in_block/block.mm, A::foo3, 35, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, no_bucket, ERROR, [] +codetoanalyze/objcpp/linters/cxx_reference_in_block/block.mm, A.foo, 18, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, no_bucket, ERROR, [] +codetoanalyze/objcpp/linters/cxx_reference_in_block/block.mm, A.foo3, 35, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, no_bucket, ERROR, [] codetoanalyze/objcpp/linters/cxx_reference_in_block/block2.mm, both_safe_and_unsafe, 40, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, no_bucket, ERROR, [] codetoanalyze/objcpp/linters/cxx_reference_in_block/block2.mm, unsafe, 24, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, no_bucket, ERROR, [] codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 28, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, no_bucket, WARNING, [] diff --git a/infer/tests/codetoanalyze/objcpp/pulse/issues.exp b/infer/tests/codetoanalyze/objcpp/pulse/issues.exp index fdc7e32ae..f88e9244e 100644 --- a/infer/tests/codetoanalyze/objcpp/pulse/issues.exp +++ b/infer/tests/codetoanalyze/objcpp/pulse/issues.exp @@ -1,3 +1,3 @@ -codetoanalyze/objcpp/pulse/AllocPatternMemLeak.mm, A::create_no_release_leak_bad, 1, PULSE_MEMORY_LEAK, no_bucket, ERROR, [allocation part of the trace starts here,allocated by call to `ABFDataCreate` (modelled),allocation part of the trace ends here,memory becomes unreachable here] -codetoanalyze/objcpp/pulse/use_after_delete.mm, PulseTest::deref_deleted_in_objc_method_bad, 3, USE_AFTER_DELETE, no_bucket, ERROR, [invalidation part of the trace starts here,assigned,was invalidated by `delete`,use-after-lifetime part of the trace starts here,assigned,when calling `Simple::Simple` here,parameter `__param_0` of Simple::Simple,invalid access occurs here] +codetoanalyze/objcpp/pulse/AllocPatternMemLeak.mm, A.create_no_release_leak_bad, 1, PULSE_MEMORY_LEAK, no_bucket, ERROR, [allocation part of the trace starts here,allocated by call to `ABFDataCreate` (modelled),allocation part of the trace ends here,memory becomes unreachable here] +codetoanalyze/objcpp/pulse/use_after_delete.mm, PulseTest.deref_deleted_in_objc_method_bad, 3, USE_AFTER_DELETE, no_bucket, ERROR, [invalidation part of the trace starts here,assigned,was invalidated by `delete`,use-after-lifetime part of the trace starts here,assigned,when calling `Simple::Simple` here,parameter `__param_0` of Simple::Simple,invalid access occurs here] codetoanalyze/objcpp/pulse/use_after_delete.mm, deref_deleted_bad, 3, USE_AFTER_DELETE, no_bucket, ERROR, [invalidation part of the trace starts here,assigned,was invalidated by `delete`,use-after-lifetime part of the trace starts here,assigned,when calling `Simple::Simple` here,parameter `__param_0` of Simple::Simple,invalid access occurs here] diff --git a/infer/tests/codetoanalyze/objcpp/racerd/issues.exp b/infer/tests/codetoanalyze/objcpp/racerd/issues.exp index c791cd64d..54a57cbf5 100644 --- a/infer/tests/codetoanalyze/objcpp/racerd/issues.exp +++ b/infer/tests/codetoanalyze/objcpp/racerd/issues.exp @@ -1,2 +1,2 @@ -codetoanalyze/objcpp/racerd/Basic.mm, Basic::read_bad, 21, LOCK_CONSISTENCY_VIOLATION, no_bucket, WARNING, [,access to `self->_data`,,access to `self->_data`] -codetoanalyze/objcpp/racerd/Private.mm, Private::read_other_bad, 28, LOCK_CONSISTENCY_VIOLATION, no_bucket, WARNING, [,access to `self->_other_data`,,access to `self->_other_data`] +codetoanalyze/objcpp/racerd/Basic.mm, Basic.read_bad, 21, LOCK_CONSISTENCY_VIOLATION, no_bucket, WARNING, [,access to `self->_data`,,access to `self->_data`] +codetoanalyze/objcpp/racerd/Private.mm, Private.read_other_bad, 28, LOCK_CONSISTENCY_VIOLATION, no_bucket, WARNING, [,access to `self->_other_data`,,access to `self->_other_data`] diff --git a/infer/tests/codetoanalyze/objcpp/retain-cycles/issues.exp b/infer/tests/codetoanalyze/objcpp/retain-cycles/issues.exp index b5be37afb..5d8978c27 100644 --- a/infer/tests/codetoanalyze/objcpp/retain-cycles/issues.exp +++ b/infer/tests/codetoanalyze/objcpp/retain-cycles/issues.exp @@ -1 +1 @@ -codetoanalyze/objcpp/retain-cycles/ObjCPPStruct.mm, A::aFnBad, 2, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure aFnBad,start of procedure WeakHolder,return from a call to WeakHolder::WeakHolder] +codetoanalyze/objcpp/retain-cycles/ObjCPPStruct.mm, A.aFnBad, 2, RETAIN_CYCLE, no_bucket, ERROR, [start of procedure aFnBad,start of procedure WeakHolder,return from a call to WeakHolder::WeakHolder]