|
|
|
/* @generated */
|
|
|
|
digraph iCFG {
|
|
|
|
"B_b_mclass.c3449641bf98c64c953a9b66ea8c8546_1" [label="1: Start B_b_m\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 20]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"B_b_mclass.c3449641bf98c64c953a9b66ea8c8546_1" -> "B_b_mclass.c3449641bf98c64c953a9b66ea8c8546_2" ;
|
|
|
|
"B_b_mclass.c3449641bf98c64c953a9b66ea8c8546_2" [label="2: Exit B_b_m \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_test_classclass.da15cfbbe4272c36c44523c2463d809f_1" [label="1: Start A_test_class\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 50]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_test_classclass.da15cfbbe4272c36c44523c2463d809f_1" -> "A_test_classclass.da15cfbbe4272c36c44523c2463d809f_2" ;
|
|
|
|
"A_test_classclass.da15cfbbe4272c36c44523c2463d809f_2" [label="2: Exit A_test_class \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_test_classclass.8e4305845f9142896eb41f5b6c9dcf7c_1" [label="1: Start A_call_test_class\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 53]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_test_classclass.8e4305845f9142896eb41f5b6c9dcf7c_1" -> "A_call_test_classclass.8e4305845f9142896eb41f5b6c9dcf7c_3" ;
|
|
|
|
"A_call_test_classclass.8e4305845f9142896eb41f5b6c9dcf7c_2" [label="2: Exit A_call_test_class \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_test_classclass.8e4305845f9142896eb41f5b6c9dcf7c_3" [label="3: Message Call: test_class \n _fun_A_test_class() [line 54]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_test_classclass.8e4305845f9142896eb41f5b6c9dcf7c_3" -> "A_call_test_classclass.8e4305845f9142896eb41f5b6c9dcf7c_2" ;
|
|
|
|
"A_call_alloc_classclass.fa1b4b0eb0e3f1a75227443a6e9df2de_1" [label="1: Start A_call_alloc_class\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 57]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_alloc_classclass.fa1b4b0eb0e3f1a75227443a6e9df2de_1" -> "A_call_alloc_classclass.fa1b4b0eb0e3f1a75227443a6e9df2de_3" ;
|
|
|
|
"A_call_alloc_classclass.fa1b4b0eb0e3f1a75227443a6e9df2de_2" [label="2: Exit A_call_alloc_class \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_alloc_classclass.fa1b4b0eb0e3f1a75227443a6e9df2de_3" [label="3: Call alloc \n n$1=_fun___objc_alloc_no_fail(sizeof(class A):unsigned long) [line 58]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_alloc_classclass.fa1b4b0eb0e3f1a75227443a6e9df2de_3" -> "A_call_alloc_classclass.fa1b4b0eb0e3f1a75227443a6e9df2de_2" ;
|
|
|
|
"A_calling_superclass.e618d5cc8fee243f21e2b36705e481da_1" [label="1: Start A_calling_super\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 82]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_calling_superclass.e618d5cc8fee243f21e2b36705e481da_1" -> "A_calling_superclass.e618d5cc8fee243f21e2b36705e481da_3" ;
|
|
|
|
"A_calling_superclass.e618d5cc8fee243f21e2b36705e481da_2" [label="2: Exit A_calling_super \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_calling_superclass.e618d5cc8fee243f21e2b36705e481da_3" [label="3: Message Call: test_class \n _fun_C_test_class() [line 83]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_calling_superclass.e618d5cc8fee243f21e2b36705e481da_3" -> "A_calling_superclass.e618d5cc8fee243f21e2b36705e481da_2" ;
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_1" [label="1: Start A_used_in_binary_op:\nFormals: c:struct objc_class*\nLocals: \n DECLARE_LOCALS(&return); [line 94]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_1" -> "A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_5" ;
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_2" [label="2: Exit A_used_in_binary_op: \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_3" [label="3: + \n " ]
|
|
|
|
|
|
|
|
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_3" -> "A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_4" ;
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_4" [label="4: between_join_and_exit \n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_4" -> "A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_2" ;
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_5" [label="5: BinaryOperatorStmt: NE \n n$15=*&c:struct objc_class* [line 95]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_5" -> "A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_6" ;
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_5" -> "A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_7" ;
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_6" [label="6: Prune (true branch) \n PRUNE(((sizeof(class A) != n$15) != 0), true); [line 95]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_6" -> "A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_8" ;
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_7" [label="7: Prune (false branch) \n PRUNE(((sizeof(class A) != n$15) == 0), false); [line 95]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_7" -> "A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_9" ;
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_8" [label="8: Return Stmt \n *&return:int=1 [line 96]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_8" -> "A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_2" ;
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_9" [label="9: Return Stmt \n *&return:int=0 [line 98]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_9" -> "A_used_in_binary_op:class.70964bf8a81ca7d128fea2df97c0c9f9_2" ;
|
|
|
|
"A_testinstance.9c07ab3564e397c493a761ff7a89496e_1" [label="1: Start A_test\nFormals: self:class A*\nLocals: \n DECLARE_LOCALS(&return); [line 43]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_testinstance.9c07ab3564e397c493a761ff7a89496e_1" -> "A_testinstance.9c07ab3564e397c493a761ff7a89496e_2" ;
|
|
|
|
"A_testinstance.9c07ab3564e397c493a761ff7a89496e_2" [label="2: Exit A_test \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_testinstance.2d429081f525fd635756831117de1a90_1" [label="1: Start A_call_test\nFormals: self:class A*\nLocals: \n DECLARE_LOCALS(&return); [line 46]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_testinstance.2d429081f525fd635756831117de1a90_1" -> "A_call_testinstance.2d429081f525fd635756831117de1a90_3" ;
|
|
|
|
"A_call_testinstance.2d429081f525fd635756831117de1a90_2" [label="2: Exit A_call_test \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_testinstance.2d429081f525fd635756831117de1a90_3" [label="3: Message Call: test \n n$0=*&self:class A* [line 47]\n _fun_A_test(n$0:class A*) virtual [line 47]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_testinstance.2d429081f525fd635756831117de1a90_3" -> "A_call_testinstance.2d429081f525fd635756831117de1a90_2" ;
|
|
|
|
"A_call_alloc_instanceinstance.2e2b9c41e6b23b874e5935dc39466ba6_1" [label="1: Start A_call_alloc_instance\nFormals: self:class A*\nLocals: \n DECLARE_LOCALS(&return); [line 61]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_alloc_instanceinstance.2e2b9c41e6b23b874e5935dc39466ba6_1" -> "A_call_alloc_instanceinstance.2e2b9c41e6b23b874e5935dc39466ba6_3" ;
|
|
|
|
"A_call_alloc_instanceinstance.2e2b9c41e6b23b874e5935dc39466ba6_2" [label="2: Exit A_call_alloc_instance \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_alloc_instanceinstance.2e2b9c41e6b23b874e5935dc39466ba6_3" [label="3: Call alloc \n n$3=_fun___objc_alloc_no_fail(sizeof(class A):unsigned long) [line 62]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_alloc_instanceinstance.2e2b9c41e6b23b874e5935dc39466ba6_3" -> "A_call_alloc_instanceinstance.2e2b9c41e6b23b874e5935dc39466ba6_2" ;
|
|
|
|
"A_call_class_instanceinstance.11c6fd868283486d619926be2c4ed116_1" [label="1: Start A_call_class_instance\nFormals: self:class A*\nLocals: \n DECLARE_LOCALS(&return); [line 65]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_class_instanceinstance.11c6fd868283486d619926be2c4ed116_1" -> "A_call_class_instanceinstance.11c6fd868283486d619926be2c4ed116_3" ;
|
|
|
|
"A_call_class_instanceinstance.11c6fd868283486d619926be2c4ed116_2" [label="2: Exit A_call_class_instance \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_class_instanceinstance.11c6fd868283486d619926be2c4ed116_3" [label="3: Message Call: test_class \n _fun_A_test_class() [line 66]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_class_instanceinstance.11c6fd868283486d619926be2c4ed116_3" -> "A_call_class_instanceinstance.11c6fd868283486d619926be2c4ed116_2" ;
|
|
|
|
"A_call_class_instance_with_class_nameinstance.14f29f885d58f795beb4b1aaa7906d07_1" [label="1: Start A_call_class_instance_with_class_name\nFormals: self:class A*\nLocals: \n DECLARE_LOCALS(&return); [line 69]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_class_instance_with_class_nameinstance.14f29f885d58f795beb4b1aaa7906d07_1" -> "A_call_class_instance_with_class_nameinstance.14f29f885d58f795beb4b1aaa7906d07_3" ;
|
|
|
|
"A_call_class_instance_with_class_nameinstance.14f29f885d58f795beb4b1aaa7906d07_2" [label="2: Exit A_call_class_instance_with_class_name \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_class_instance_with_class_nameinstance.14f29f885d58f795beb4b1aaa7906d07_3" [label="3: Message Call: test_class \n _fun_A_test_class() [line 70]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_call_class_instance_with_class_nameinstance.14f29f885d58f795beb4b1aaa7906d07_3" -> "A_call_class_instance_with_class_nameinstance.14f29f885d58f795beb4b1aaa7906d07_2" ;
|
|
|
|
"A_tinstance.e26e083185bf06fd235c1ceac935f1fa_1" [label="1: Start A_t\nFormals: self:class A*\nLocals: b:class B* \n DECLARE_LOCALS(&return,&b); [line 73]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_tinstance.e26e083185bf06fd235c1ceac935f1fa_1" -> "A_tinstance.e26e083185bf06fd235c1ceac935f1fa_4" ;
|
|
|
|
"A_tinstance.e26e083185bf06fd235c1ceac935f1fa_2" [label="2: Exit A_t \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_tinstance.e26e083185bf06fd235c1ceac935f1fa_3" [label="3: Message Call: b_m \n _fun_B_b_m() [line 75]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_tinstance.e26e083185bf06fd235c1ceac935f1fa_3" -> "A_tinstance.e26e083185bf06fd235c1ceac935f1fa_2" ;
|
|
|
|
"A_tinstance.e26e083185bf06fd235c1ceac935f1fa_4" [label="4: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class B):unsigned long) [line 74]\n n$7=_fun_NSObject_init(n$6:class B*) virtual [line 74]\n *&b:class B*=n$7 [line 74]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_tinstance.e26e083185bf06fd235c1ceac935f1fa_4" -> "A_tinstance.e26e083185bf06fd235c1ceac935f1fa_3" ;
|
|
|
|
"A_initinstance.0eaafe8d41de0b5cab8d4476439af05d_1" [label="1: Start A_init\nFormals: self:class A*\nLocals: \n DECLARE_LOCALS(&return); [line 86]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_initinstance.0eaafe8d41de0b5cab8d4476439af05d_1" -> "A_initinstance.0eaafe8d41de0b5cab8d4476439af05d_3" ;
|
|
|
|
"A_initinstance.0eaafe8d41de0b5cab8d4476439af05d_2" [label="2: Exit A_init \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_initinstance.0eaafe8d41de0b5cab8d4476439af05d_3" [label="3: Message Call: init \n n$11=*&self:class A* [line 87]\n n$12=_fun_NSObject_init(n$11:class A*) [line 87]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_initinstance.0eaafe8d41de0b5cab8d4476439af05d_3" -> "A_initinstance.0eaafe8d41de0b5cab8d4476439af05d_2" ;
|
|
|
|
"A_loggerNameinstance.dbe7038f327a3dcb1f8c0f718498ccc9_1" [label="1: Start A_loggerName\nFormals: self:class A*\nLocals: \n DECLARE_LOCALS(&return); [line 90]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_loggerNameinstance.dbe7038f327a3dcb1f8c0f718498ccc9_1" -> "A_loggerNameinstance.dbe7038f327a3dcb1f8c0f718498ccc9_3" ;
|
|
|
|
"A_loggerNameinstance.dbe7038f327a3dcb1f8c0f718498ccc9_2" [label="2: Exit A_loggerName \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_loggerNameinstance.dbe7038f327a3dcb1f8c0f718498ccc9_3" [label="3: Return Stmt \n n$14=_fun_NSStringFromClass(sizeof(class A):unsigned long) [line 91]\n *&return:class NSString*=n$14 [line 91]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_loggerNameinstance.dbe7038f327a3dcb1f8c0f718498ccc9_3" -> "A_loggerNameinstance.dbe7038f327a3dcb1f8c0f718498ccc9_2" ;
|
|
|
|
"A_use_class_in_other_ways:instance.fddf6dc4997c3780ef4f234353d8e4e5_1" [label="1: Start A_use_class_in_other_ways:\nFormals: self:class A* object:class B*\nLocals: \n DECLARE_LOCALS(&return); [line 78]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_use_class_in_other_ways:instance.fddf6dc4997c3780ef4f234353d8e4e5_1" -> "A_use_class_in_other_ways:instance.fddf6dc4997c3780ef4f234353d8e4e5_3" ;
|
|
|
|
"A_use_class_in_other_ways:instance.fddf6dc4997c3780ef4f234353d8e4e5_2" [label="2: Exit A_use_class_in_other_ways: \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"A_use_class_in_other_ways:instance.fddf6dc4997c3780ef4f234353d8e4e5_3" [label="3: Return Stmt \n n$8=*&object:class B* [line 79]\n n$10=_fun_B_isC:(n$8:class B*,sizeof(class A):unsigned long) virtual [line 79]\n *&return:_Bool=n$10 [line 79]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"A_use_class_in_other_ways:instance.fddf6dc4997c3780ef4f234353d8e4e5_3" -> "A_use_class_in_other_ways:instance.fddf6dc4997c3780ef4f234353d8e4e5_2" ;
|
|
|
|
"B_isC:instance.f4a43e72d7f1cf69316b3a3975cceb26_1" [label="1: Start B_isC:\nFormals: self:class B* aClass:struct objc_class*\nLocals: \n DECLARE_LOCALS(&return); [line 23]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"B_isC:instance.f4a43e72d7f1cf69316b3a3975cceb26_1" -> "B_isC:instance.f4a43e72d7f1cf69316b3a3975cceb26_3" ;
|
|
|
|
"B_isC:instance.f4a43e72d7f1cf69316b3a3975cceb26_2" [label="2: Exit B_isC: \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
"B_isC:instance.f4a43e72d7f1cf69316b3a3975cceb26_3" [label="3: Return Stmt \n *&return:_Bool=1 [line 24]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
"B_isC:instance.f4a43e72d7f1cf69316b3a3975cceb26_3" -> "B_isC:instance.f4a43e72d7f1cf69316b3a3975cceb26_2" ;
|
|
|
|
}
|