|
|
|
/* @generated */
|
|
|
|
digraph cfg {
|
|
|
|
"main.fad58de7366495db4650cfefac2fcd61_1" [label="1: Start main\nFormals: argc:int argv:char const **\nLocals: \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_3" ;
|
|
|
|
"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 58, column 42]\n APPLY_ABSTRACTION; [line 58, column 42]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"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.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.fb3c77086d19ce0276bcab02dc4db00b_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:objc_object*); [line 39, column 5]\n n$8=*&#GB<codetoanalyze/objc/frontend/block/static.m>$A::test2.sharedInstance:objc_object* [line 39, column 12]\n *&p:objc_object*=n$8 [line 39, column 5]\n NULLIFY(&p); [line 39, column 5]\n EXIT_SCOPE(n$8,p); [line 39, column 5]\n APPLY_ABSTRACTION; [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::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.8f7c09c3ce64c2617cc0a9977490e152_3" [label="3: UnaryOperator \n n$13=*&#GB<codetoanalyze/objc/frontend/block/static.m>$A::test3.i:int [line 50, column 5]\n *&#GB<codetoanalyze/objc/frontend/block/static.m>$A::test3.i:int=(n$13 + 1) [line 50, column 5]\n EXIT_SCOPE(n$13); [line 50, column 5]\n APPLY_ABSTRACTION; [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::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.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_NSBundleResourceRequest::init(n$1:A*) virtual [line 19, column 22]\n *&#GB<codetoanalyze/objc/frontend/block/static.m>$A::test.sharedInstance:objc_object*=n$2 [line 19, column 5]\n EXIT_SCOPE(n$1,n$2); [line 19, column 5]\n APPLY_ABSTRACTION; [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_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.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_NSBundleResourceRequest::init(n$4:A*) virtual [line 29, column 22]\n *&#GB<codetoanalyze/objc/frontend/block/static.m>$A::test_leak.sharedInstance:objc_object*=n$5 [line 29, column 5]\n EXIT_SCOPE(n$4,n$5); [line 29, column 5]\n APPLY_ABSTRACTION; [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]
|
|
|
|
|
|
|
|
|
|
|
|
"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_3" [label="3: Return Stmt \n n$0=*&#GB<codetoanalyze/objc/frontend/block/static.m>$A::test.sharedInstance:objc_object* [line 23, column 10]\n *&return:objc_object*=n$0 [line 23, column 3]\n EXIT_SCOPE(n$0); [line 23, column 3]\n APPLY_ABSTRACTION; [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 EXIT_SCOPE(n$3); [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" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" ;
|
|
|
|
"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<codetoanalyze/objc/frontend/block/static.m>$A::test2.sharedInstance:objc_object* [line 42, column 10]\n *&return:objc_object*=n$7 [line 42, column 3]\n EXIT_SCOPE(n$7); [line 42, column 3]\n APPLY_ABSTRACTION; [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 EXIT_SCOPE(n$9); [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_NSBundleResourceRequest::init(n$10:A*) virtual [line 36, column 20]\n *&#GB<codetoanalyze/objc/frontend/block/static.m>$A::test2.sharedInstance:objc_object*=n$11 [line 36, column 3]\n EXIT_SCOPE(n$10,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" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" ;
|
|
|
|
"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<codetoanalyze/objc/frontend/block/static.m>$A::test3.i:int [line 53, column 10]\n *&return:int=n$12 [line 53, column 3]\n EXIT_SCOPE(n$12); [line 53, column 3]\n APPLY_ABSTRACTION; [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 EXIT_SCOPE(n$14); [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" -> "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_3" [label="3: Call (_fun_objc_blockA::test_leak_2) \n n$6=(_fun_objc_blockA::test_leak_2)() [line 28, column 3]\n EXIT_SCOPE(n$6); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"test_leak#A#class.8240788aa53244827857be0e92d27671_3" -> "test_leak#A#class.8240788aa53244827857be0e92d27671_2" ;
|
|
|
|
}
|