From 29c8370b346b3accca261e62f029a60fb8ba0f8e Mon Sep 17 00:00:00 2001 From: Sungkeun Cho Date: Fri, 22 Sep 2023 06:18:53 -0700 Subject: [PATCH] [test] Remove a frontend test file in objc Summary: ^^ Reviewed By: geralt-encore Differential Revision: D49421052 fbshipit-source-id: fab0378c78eeb87a4f9882ba1714b7cfba9c6b79 --- .../codetoanalyze/objc/biabduction/Makefile | 1 - .../codetoanalyze/objc/biabduction/issues.exp | 6 - .../objc/frontend/noarc/Makefile | 1 - .../objc/shared/block/dispatch_examples.m | 82 ------ .../objc/shared/block/dispatch_examples.m.dot | 270 ------------------ 5 files changed, 360 deletions(-) delete mode 100644 infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m delete mode 100644 infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot diff --git a/infer/tests/codetoanalyze/objc/biabduction/Makefile b/infer/tests/codetoanalyze/objc/biabduction/Makefile index dc3f320dbaf..1ca229b2fca 100644 --- a/infer/tests/codetoanalyze/objc/biabduction/Makefile +++ b/infer/tests/codetoanalyze/objc/biabduction/Makefile @@ -68,7 +68,6 @@ SOURCES_ARC = \ npe/npe_conditional.m \ npe/npe_self.m \ npe/nullable.m \ - shared/block/dispatch_examples.m \ specialized_methods_with_blocks/BlockAsReceiver.m \ variadic_methods/premature_nil_termination.m \ diff --git a/infer/tests/codetoanalyze/objc/biabduction/issues.exp b/infer/tests/codetoanalyze/objc/biabduction/issues.exp index 6eb7551e442..614da960988 100644 --- a/infer/tests/codetoanalyze/objc/biabduction/issues.exp +++ b/infer/tests/codetoanalyze/objc/biabduction/issues.exp @@ -70,12 +70,6 @@ codetoanalyze/objc/biabduction/retain_cycles/retain_cycle.m, strongcycle_bad, 6, codetoanalyze/objc/biabduction/retain_cycles/retain_cycle2.m, strongcycle2_bad, 4, BIABDUCTION_ANALYSIS_STOPS, no_bucket, WARNING, [start of procedure strongcycle2_bad(),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/retain_cycles/retain_cycle2.m, strongcycle2_bad, 4, BIABDUCTION_RETAIN_CYCLE, no_bucket, ERROR, [start of procedure strongcycle2_bad(),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/variadic_methods/premature_nil_termination.m, PrematureNilTermA.nilInArrayWithObjects, 5, PREMATURE_NIL_TERMINATION_ARGUMENT, B1, WARNING, [start of procedure nilInArrayWithObjects] -codetoanalyze/objc/shared/block/dispatch_examples.m, DispatchEx.dispatch_once_example, 9, NULL_DEREFERENCE, B1, ERROR, [start of procedure dispatch_once_example,macro expanded here,Skipping __function_pointer__(): unresolved function pointer] -codetoanalyze/objc/shared/block/dispatch_examples.m, DispatchEx.dispatch_async_example, 7, NULL_DEREFERENCE, B1, ERROR, [start of procedure dispatch_async_example,Skipping __function_pointer__(): unresolved function pointer] -codetoanalyze/objc/shared/block/dispatch_examples.m, DispatchEx.dispatch_after_example, 8, NULL_DEREFERENCE, B1, ERROR, [start of procedure dispatch_after_example,Skipping __function_pointer__(): unresolved function pointer] -codetoanalyze/objc/shared/block/dispatch_examples.m, DispatchEx.dispatch_group_example, 6, NULL_DEREFERENCE, B1, ERROR, [start of procedure dispatch_group_example,Skipping __function_pointer__(): unresolved function pointer] -codetoanalyze/objc/shared/block/dispatch_examples.m, DispatchEx.dispatch_group_notify_example, 6, NULL_DEREFERENCE, B1, ERROR, [start of procedure dispatch_group_notify_example,Skipping __function_pointer__(): unresolved function pointer] -codetoanalyze/objc/shared/block/dispatch_examples.m, DispatchEx.dispatch_barrier_example, 6, NULL_DEREFERENCE, B1, ERROR, [start of procedure dispatch_barrier_example,Skipping __function_pointer__(): unresolved function pointer] codetoanalyze/objc/biabduction/memory_leaks_benchmark/NSString_models_tests.m, StringInitA.hexStringValue, 11, BIABDUCTION_MEMORY_LEAK, no_bucket, ERROR, [start of procedure hexStringValue,Skipping CFStringCreateWithBytesNoCopy(): method has no implementation,Taking false branch] 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/Nsstring_nil_args.m, stringWithStringBad, 2, NULL_DEREFERENCE, B1, ERROR, [start of procedure stringWithStringBad(),start of procedure nullableMethod(),return from a call to nullableMethod] diff --git a/infer/tests/codetoanalyze/objc/frontend/noarc/Makefile b/infer/tests/codetoanalyze/objc/frontend/noarc/Makefile index 08deeefa2b2..155c81e3035 100644 --- a/infer/tests/codetoanalyze/objc/frontend/noarc/Makefile +++ b/infer/tests/codetoanalyze/objc/frontend/noarc/Makefile @@ -36,7 +36,6 @@ SOURCES = \ ../shared/block/block_no_args.m \ ../shared/block/block_release.m \ ../shared/block/dispatch.m \ - ../shared/block/dispatch_examples.m \ ../shared/block/dispatch_in_macro.m \ ../shared/field_superclass/SuperExample.m \ ../shared/memory_leaks_benchmark/AutoreleaseExample.m \ diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m b/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m deleted file mode 100644 index 7c3c48912ee..00000000000 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -#import - -@interface DispatchEx : NSObject { - int x; -} - -@end - -@implementation DispatchEx - -- init { - return self; -} - -+ (int)dispatch_once_example { - static DispatchEx* a = nil; - // dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, - // 0),^{ - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - a = [[DispatchEx alloc] init]; - a->x = 10; - }); - return a->x; -} - -+ (int)dispatch_async_example { - static DispatchEx* a = nil; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), - ^{ - a = [[DispatchEx alloc] init]; - a->x = 10; - }); - return a->x; -} - -+ (int)dispatch_after_example { - static DispatchEx* a = nil; - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), - dispatch_get_main_queue(), - ^{ - a = [[DispatchEx alloc] init]; - a->x = 10; - }); - return a->x; -} - -+ (int)dispatch_group_example { - static DispatchEx* a = nil; - dispatch_group_async(NULL, dispatch_get_main_queue(), ^{ - a = [[DispatchEx alloc] init]; - a->x = 10; - }); - return a->x; -} - -+ (int)dispatch_group_notify_example { - static DispatchEx* a = nil; - dispatch_group_async(NULL, dispatch_get_main_queue(), ^{ - a = [[DispatchEx alloc] init]; - a->x = 10; - }); - return a->x; -} - -+ (int)dispatch_barrier_example { - static DispatchEx* a = nil; - dispatch_barrier_async(dispatch_get_main_queue(), ^{ - a = [[DispatchEx alloc] init]; - a->x = 10; - }); - return a->x; -} - -@end diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot deleted file mode 100644 index 28036c5eb6b..00000000000 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot +++ /dev/null @@ -1,270 +0,0 @@ -/* @generated */ -digraph cfg { -"objc_block_DispatchEx.dispatch_af.8057a8a381f672b2_1" [label="1: Start objc_block_DispatchEx.dispatch_after_example_3\nFormals: \nLocals: \n " color=yellow style=filled] - - - "objc_block_DispatchEx.dispatch_af.8057a8a381f672b2_1" -> "objc_block_DispatchEx.dispatch_af.8057a8a381f672b2_4" ; -"objc_block_DispatchEx.dispatch_af.8057a8a381f672b2_2" [label="2: Exit objc_block_DispatchEx.dispatch_after_example_3 \n " color=yellow style=filled] - - -"objc_block_DispatchEx.dispatch_af.8057a8a381f672b2_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_block_DispatchEx.dispatch_af.8057a8a381f672b2_3" -> "objc_block_DispatchEx.dispatch_af.8057a8a381f672b2_2" ; -"objc_block_DispatchEx.dispatch_af.8057a8a381f672b2_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_block_DispatchEx.dispatch_af.8057a8a381f672b2_4" -> "objc_block_DispatchEx.dispatch_af.8057a8a381f672b2_3" ; -"objc_block_DispatchEx.dispatch_as.46a5d7f1544f3b87_1" [label="1: Start objc_block_DispatchEx.dispatch_async_example_2\nFormals: \nLocals: \n " color=yellow style=filled] - - - "objc_block_DispatchEx.dispatch_as.46a5d7f1544f3b87_1" -> "objc_block_DispatchEx.dispatch_as.46a5d7f1544f3b87_4" ; -"objc_block_DispatchEx.dispatch_as.46a5d7f1544f3b87_2" [label="2: Exit objc_block_DispatchEx.dispatch_async_example_2 \n " color=yellow style=filled] - - -"objc_block_DispatchEx.dispatch_as.46a5d7f1544f3b87_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_block_DispatchEx.dispatch_as.46a5d7f1544f3b87_3" -> "objc_block_DispatchEx.dispatch_as.46a5d7f1544f3b87_2" ; -"objc_block_DispatchEx.dispatch_as.46a5d7f1544f3b87_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_block_DispatchEx.dispatch_as.46a5d7f1544f3b87_4" -> "objc_block_DispatchEx.dispatch_as.46a5d7f1544f3b87_3" ; -"objc_block_DispatchEx.dispatch_ba.31842766ae07c8ec_1" [label="1: Start objc_block_DispatchEx.dispatch_barrier_example_6\nFormals: \nLocals: \n " color=yellow style=filled] - - - "objc_block_DispatchEx.dispatch_ba.31842766ae07c8ec_1" -> "objc_block_DispatchEx.dispatch_ba.31842766ae07c8ec_4" ; -"objc_block_DispatchEx.dispatch_ba.31842766ae07c8ec_2" [label="2: Exit objc_block_DispatchEx.dispatch_barrier_example_6 \n " color=yellow style=filled] - - -"objc_block_DispatchEx.dispatch_ba.31842766ae07c8ec_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_block_DispatchEx.dispatch_ba.31842766ae07c8ec_3" -> "objc_block_DispatchEx.dispatch_ba.31842766ae07c8ec_2" ; -"objc_block_DispatchEx.dispatch_ba.31842766ae07c8ec_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_block_DispatchEx.dispatch_ba.31842766ae07c8ec_4" -> "objc_block_DispatchEx.dispatch_ba.31842766ae07c8ec_3" ; -"objc_block_DispatchEx.dispatch_gr.9f0eec9d4647f887_1" [label="1: Start objc_block_DispatchEx.dispatch_group_example_4\nFormals: \nLocals: \n " color=yellow style=filled] - - - "objc_block_DispatchEx.dispatch_gr.9f0eec9d4647f887_1" -> "objc_block_DispatchEx.dispatch_gr.9f0eec9d4647f887_4" ; -"objc_block_DispatchEx.dispatch_gr.9f0eec9d4647f887_2" [label="2: Exit objc_block_DispatchEx.dispatch_group_example_4 \n " color=yellow style=filled] - - -"objc_block_DispatchEx.dispatch_gr.9f0eec9d4647f887_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_block_DispatchEx.dispatch_gr.9f0eec9d4647f887_3" -> "objc_block_DispatchEx.dispatch_gr.9f0eec9d4647f887_2" ; -"objc_block_DispatchEx.dispatch_gr.9f0eec9d4647f887_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_block_DispatchEx.dispatch_gr.9f0eec9d4647f887_4" -> "objc_block_DispatchEx.dispatch_gr.9f0eec9d4647f887_3" ; -"objc_block_DispatchEx.dispatch_gr.dd60d3dbc304fc4b_1" [label="1: Start objc_block_DispatchEx.dispatch_group_notify_example_5\nFormals: \nLocals: \n " color=yellow style=filled] - - - "objc_block_DispatchEx.dispatch_gr.dd60d3dbc304fc4b_1" -> "objc_block_DispatchEx.dispatch_gr.dd60d3dbc304fc4b_4" ; -"objc_block_DispatchEx.dispatch_gr.dd60d3dbc304fc4b_2" [label="2: Exit objc_block_DispatchEx.dispatch_group_notify_example_5 \n " color=yellow style=filled] - - -"objc_block_DispatchEx.dispatch_gr.dd60d3dbc304fc4b_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_block_DispatchEx.dispatch_gr.dd60d3dbc304fc4b_3" -> "objc_block_DispatchEx.dispatch_gr.dd60d3dbc304fc4b_2" ; -"objc_block_DispatchEx.dispatch_gr.dd60d3dbc304fc4b_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_block_DispatchEx.dispatch_gr.dd60d3dbc304fc4b_4" -> "objc_block_DispatchEx.dispatch_gr.dd60d3dbc304fc4b_3" ; -"objc_block_DispatchEx.dispatch_on.f54b91803d2a18d8_1" [label="1: Start objc_block_DispatchEx.dispatch_once_example_1\nFormals: \nLocals: \n " color=yellow style=filled] - - - "objc_block_DispatchEx.dispatch_on.f54b91803d2a18d8_1" -> "objc_block_DispatchEx.dispatch_on.f54b91803d2a18d8_4" ; -"objc_block_DispatchEx.dispatch_on.f54b91803d2a18d8_2" [label="2: Exit objc_block_DispatchEx.dispatch_once_example_1 \n " color=yellow style=filled] - - -"objc_block_DispatchEx.dispatch_on.f54b91803d2a18d8_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_block_DispatchEx.dispatch_on.f54b91803d2a18d8_3" -> "objc_block_DispatchEx.dispatch_on.f54b91803d2a18d8_2" ; -"objc_block_DispatchEx.dispatch_on.f54b91803d2a18d8_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_block_DispatchEx.dispatch_on.f54b91803d2a18d8_4" -> "objc_block_DispatchEx.dispatch_on.f54b91803d2a18d8_3" ; -"dispatch_after_example#DispatchEx.fb7cd86672a882e4_1" [label="1: Start DispatchEx.dispatch_after_example\nFormals: \nLocals: \n " color=yellow style=filled] - - - "dispatch_after_example#DispatchEx.fb7cd86672a882e4_1" -> "dispatch_after_example#DispatchEx.fb7cd86672a882e4_6" ; -"dispatch_after_example#DispatchEx.fb7cd86672a882e4_2" [label="2: Exit DispatchEx.dispatch_after_example \n " color=yellow style=filled] - - -"dispatch_after_example#DispatchEx.fb7cd86672a882e4_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 " shape="box"] - - - "dispatch_after_example#DispatchEx.fb7cd86672a882e4_3" -> "dispatch_after_example#DispatchEx.fb7cd86672a882e4_4" ; -"dispatch_after_example#DispatchEx.fb7cd86672a882e4_4" [label="4: Return Stmt \n *&return:int=n$15 [line 52, column 3]\n " shape="box"] - - - "dispatch_after_example#DispatchEx.fb7cd86672a882e4_4" -> "dispatch_after_example#DispatchEx.fb7cd86672a882e4_2" ; -"dispatch_after_example#DispatchEx.fb7cd86672a882e4_5" [label="5: 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:dispatch_queue_s*,(_fun_objc_block_DispatchEx.dispatch_after_example_3):_fn_(*)) [line 46, column 3]\n " shape="box"] - - - "dispatch_after_example#DispatchEx.fb7cd86672a882e4_5" -> "dispatch_after_example#DispatchEx.fb7cd86672a882e4_3" ; -"dispatch_after_example#DispatchEx.fb7cd86672a882e4_6" [label="6: 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.fb7cd86672a882e4_6" -> "dispatch_after_example#DispatchEx.fb7cd86672a882e4_5" ; -"dispatch_async_example#DispatchEx.9917260983b9f281_1" [label="1: Start DispatchEx.dispatch_async_example\nFormals: \nLocals: \n " color=yellow style=filled] - - - "dispatch_async_example#DispatchEx.9917260983b9f281_1" -> "dispatch_async_example#DispatchEx.9917260983b9f281_6" ; -"dispatch_async_example#DispatchEx.9917260983b9f281_2" [label="2: Exit DispatchEx.dispatch_async_example \n " color=yellow style=filled] - - -"dispatch_async_example#DispatchEx.9917260983b9f281_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 " shape="box"] - - - "dispatch_async_example#DispatchEx.9917260983b9f281_3" -> "dispatch_async_example#DispatchEx.9917260983b9f281_4" ; -"dispatch_async_example#DispatchEx.9917260983b9f281_4" [label="4: Return Stmt \n *&return:int=n$8 [line 41, column 3]\n " shape="box"] - - - "dispatch_async_example#DispatchEx.9917260983b9f281_4" -> "dispatch_async_example#DispatchEx.9917260983b9f281_2" ; -"dispatch_async_example#DispatchEx.9917260983b9f281_5" [label="5: 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:dispatch_queue_s*,(_fun_objc_block_DispatchEx.dispatch_async_example_2):_fn_(*)) [line 36, column 3]\n " shape="box"] - - - "dispatch_async_example#DispatchEx.9917260983b9f281_5" -> "dispatch_async_example#DispatchEx.9917260983b9f281_3" ; -"dispatch_async_example#DispatchEx.9917260983b9f281_6" [label="6: 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.9917260983b9f281_6" -> "dispatch_async_example#DispatchEx.9917260983b9f281_5" ; -"dispatch_barrier_example#Dispatch.70a4c3450a685f26_1" [label="1: Start DispatchEx.dispatch_barrier_example\nFormals: \nLocals: \n " color=yellow style=filled] - - - "dispatch_barrier_example#Dispatch.70a4c3450a685f26_1" -> "dispatch_barrier_example#Dispatch.70a4c3450a685f26_6" ; -"dispatch_barrier_example#Dispatch.70a4c3450a685f26_2" [label="2: Exit DispatchEx.dispatch_barrier_example \n " color=yellow style=filled] - - -"dispatch_barrier_example#Dispatch.70a4c3450a685f26_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 " shape="box"] - - - "dispatch_barrier_example#Dispatch.70a4c3450a685f26_3" -> "dispatch_barrier_example#Dispatch.70a4c3450a685f26_4" ; -"dispatch_barrier_example#Dispatch.70a4c3450a685f26_4" [label="4: Return Stmt \n *&return:int=n$37 [line 79, column 3]\n " shape="box"] - - - "dispatch_barrier_example#Dispatch.70a4c3450a685f26_4" -> "dispatch_barrier_example#Dispatch.70a4c3450a685f26_2" ; -"dispatch_barrier_example#Dispatch.70a4c3450a685f26_5" [label="5: 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:dispatch_queue_s*,(_fun_objc_block_DispatchEx.dispatch_barrier_example_6):_fn_(*)) [line 75, column 3]\n " shape="box"] - - - "dispatch_barrier_example#Dispatch.70a4c3450a685f26_5" -> "dispatch_barrier_example#Dispatch.70a4c3450a685f26_3" ; -"dispatch_barrier_example#Dispatch.70a4c3450a685f26_6" [label="6: 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#Dispatch.70a4c3450a685f26_6" -> "dispatch_barrier_example#Dispatch.70a4c3450a685f26_5" ; -"dispatch_group_example#DispatchEx.922f092a9c30c489_1" [label="1: Start DispatchEx.dispatch_group_example\nFormals: \nLocals: \n " color=yellow style=filled] - - - "dispatch_group_example#DispatchEx.922f092a9c30c489_1" -> "dispatch_group_example#DispatchEx.922f092a9c30c489_6" ; -"dispatch_group_example#DispatchEx.922f092a9c30c489_2" [label="2: Exit DispatchEx.dispatch_group_example \n " color=yellow style=filled] - - -"dispatch_group_example#DispatchEx.922f092a9c30c489_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 " shape="box"] - - - "dispatch_group_example#DispatchEx.922f092a9c30c489_3" -> "dispatch_group_example#DispatchEx.922f092a9c30c489_4" ; -"dispatch_group_example#DispatchEx.922f092a9c30c489_4" [label="4: Return Stmt \n *&return:int=n$23 [line 61, column 3]\n " shape="box"] - - - "dispatch_group_example#DispatchEx.922f092a9c30c489_4" -> "dispatch_group_example#DispatchEx.922f092a9c30c489_2" ; -"dispatch_group_example#DispatchEx.922f092a9c30c489_5" [label="5: 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:dispatch_group_s*,n$24:dispatch_queue_s*,(_fun_objc_block_DispatchEx.dispatch_group_example_4):_fn_(*)) [line 57, column 3]\n " shape="box"] - - - "dispatch_group_example#DispatchEx.922f092a9c30c489_5" -> "dispatch_group_example#DispatchEx.922f092a9c30c489_3" ; -"dispatch_group_example#DispatchEx.922f092a9c30c489_6" [label="6: 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.922f092a9c30c489_6" -> "dispatch_group_example#DispatchEx.922f092a9c30c489_5" ; -"dispatch_group_notify_example#Dis.f82ddbb0ae78df23_1" [label="1: Start DispatchEx.dispatch_group_notify_example\nFormals: \nLocals: \n " color=yellow style=filled] - - - "dispatch_group_notify_example#Dis.f82ddbb0ae78df23_1" -> "dispatch_group_notify_example#Dis.f82ddbb0ae78df23_6" ; -"dispatch_group_notify_example#Dis.f82ddbb0ae78df23_2" [label="2: Exit DispatchEx.dispatch_group_notify_example \n " color=yellow style=filled] - - -"dispatch_group_notify_example#Dis.f82ddbb0ae78df23_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 " shape="box"] - - - "dispatch_group_notify_example#Dis.f82ddbb0ae78df23_3" -> "dispatch_group_notify_example#Dis.f82ddbb0ae78df23_4" ; -"dispatch_group_notify_example#Dis.f82ddbb0ae78df23_4" [label="4: Return Stmt \n *&return:int=n$30 [line 70, column 3]\n " shape="box"] - - - "dispatch_group_notify_example#Dis.f82ddbb0ae78df23_4" -> "dispatch_group_notify_example#Dis.f82ddbb0ae78df23_2" ; -"dispatch_group_notify_example#Dis.f82ddbb0ae78df23_5" [label="5: 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:dispatch_group_s*,n$31:dispatch_queue_s*,(_fun_objc_block_DispatchEx.dispatch_group_notify_example_5):_fn_(*)) [line 66, column 3]\n " shape="box"] - - - "dispatch_group_notify_example#Dis.f82ddbb0ae78df23_5" -> "dispatch_group_notify_example#Dis.f82ddbb0ae78df23_3" ; -"dispatch_group_notify_example#Dis.f82ddbb0ae78df23_6" [label="6: 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#Dis.f82ddbb0ae78df23_6" -> "dispatch_group_notify_example#Dis.f82ddbb0ae78df23_5" ; -"dispatch_once_example#DispatchEx#.279f16052bafda21_1" [label="1: Start DispatchEx.dispatch_once_example\nFormals: \nLocals: \n " color=yellow style=filled] - - - "dispatch_once_example#DispatchEx#.279f16052bafda21_1" -> "dispatch_once_example#DispatchEx#.279f16052bafda21_6" ; -"dispatch_once_example#DispatchEx#.279f16052bafda21_2" [label="2: Exit DispatchEx.dispatch_once_example \n " color=yellow style=filled] - - -"dispatch_once_example#DispatchEx#.279f16052bafda21_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 " shape="box"] - - - "dispatch_once_example#DispatchEx#.279f16052bafda21_3" -> "dispatch_once_example#DispatchEx#.279f16052bafda21_4" ; -"dispatch_once_example#DispatchEx#.279f16052bafda21_4" [label="4: Return Stmt \n *&return:int=n$2 [line 31, column 3]\n " shape="box"] - - - "dispatch_once_example#DispatchEx#.279f16052bafda21_4" -> "dispatch_once_example#DispatchEx#.279f16052bafda21_2" ; -"dispatch_once_example#DispatchEx#.279f16052bafda21_5" [label="5: Call _fun__dispatch_once \n n$6=_fun__dispatch_once(&#GB$DispatchEx.dispatch_once_example.onceToken:long*,(_fun_objc_block_DispatchEx.dispatch_once_example_1):_fn_(*)) [line 27, column 3]\n " shape="box"] - - - "dispatch_once_example#DispatchEx#.279f16052bafda21_5" -> "dispatch_once_example#DispatchEx#.279f16052bafda21_3" ; -"dispatch_once_example#DispatchEx#.279f16052bafda21_6" [label="6: 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#.279f16052bafda21_6" -> "dispatch_once_example#DispatchEx#.279f16052bafda21_5" ; -"dealloc#DispatchEx#[instance].b1776cdfe3580558_1" [label="1: Start DispatchEx.dealloc\nFormals: self:DispatchEx*\nLocals: \n " color=yellow style=filled] - - - "dealloc#DispatchEx#[instance].b1776cdfe3580558_1" -> "dealloc#DispatchEx#[instance].b1776cdfe3580558_4" ; -"dealloc#DispatchEx#[instance].b1776cdfe3580558_2" [label="2: Exit DispatchEx.dealloc \n " color=yellow style=filled] - - -"dealloc#DispatchEx#[instance].b1776cdfe3580558_3" [label="3: Call dealloc \n " shape="box"] - - - "dealloc#DispatchEx#[instance].b1776cdfe3580558_3" -> "dealloc#DispatchEx#[instance].b1776cdfe3580558_2" ; -"dealloc#DispatchEx#[instance].b1776cdfe3580558_4" [label="4: Call dealloc \n n$0=*&self:DispatchEx* [line 16, column 1]\n n$1=_fun___objc_get_ref_count(n$0:DispatchEx*) [line 16, column 1]\n n$2=_fun___objc_set_ref_count(n$0:DispatchEx*,(n$1 - 1):unsigned int) [line 16, column 1]\n n$3=_fun___objc_get_ref_count(n$0:DispatchEx*) [line 16, column 1]\n " shape="box"] - - - "dealloc#DispatchEx#[instance].b1776cdfe3580558_4" -> "dealloc#DispatchEx#[instance].b1776cdfe3580558_5" ; - "dealloc#DispatchEx#[instance].b1776cdfe3580558_4" -> "dealloc#DispatchEx#[instance].b1776cdfe3580558_6" ; -"dealloc#DispatchEx#[instance].b1776cdfe3580558_5" [label="5: Prune (true branch, if (terminated)) \n PRUNE((n$3 == 0), true); [line 16, column 1]\n " shape="invhouse"] - - - "dealloc#DispatchEx#[instance].b1776cdfe3580558_5" -> "dealloc#DispatchEx#[instance].b1776cdfe3580558_3" ; -"dealloc#DispatchEx#[instance].b1776cdfe3580558_6" [label="6: Prune (false branch, if (terminated)) \n PRUNE((n$3 != 0), false); [line 16, column 1]\n " shape="invhouse"] - - - "dealloc#DispatchEx#[instance].b1776cdfe3580558_6" -> "dealloc#DispatchEx#[instance].b1776cdfe3580558_2" ; -"init#DispatchEx#[instance].3232c5f2c3d653c4_1" [label="1: Start DispatchEx.init\nFormals: self:DispatchEx*\nLocals: \n " color=yellow style=filled] - - - "init#DispatchEx#[instance].3232c5f2c3d653c4_1" -> "init#DispatchEx#[instance].3232c5f2c3d653c4_3" ; -"init#DispatchEx#[instance].3232c5f2c3d653c4_2" [label="2: Exit DispatchEx.init \n " color=yellow style=filled] - - -"init#DispatchEx#[instance].3232c5f2c3d653c4_3" [label="3: Return Stmt \n n$0=*&self:DispatchEx* [line 19, column 10]\n " shape="box"] - - - "init#DispatchEx#[instance].3232c5f2c3d653c4_3" -> "init#DispatchEx#[instance].3232c5f2c3d653c4_4" ; -"init#DispatchEx#[instance].3232c5f2c3d653c4_4" [label="4: Return Stmt \n *&return:objc_object*=n$0 [line 19, column 3]\n " shape="box"] - - - "init#DispatchEx#[instance].3232c5f2c3d653c4_4" -> "init#DispatchEx#[instance].3232c5f2c3d653c4_2" ; -}