digraph iCFG { 55 [label="55: Return Stmt \n *&return:int =0 [line 98]\n APPLY_ABSTRACTION; [line 98]\n " shape="box"] 55 -> 49 ; 54 [label="54: Return Stmt \n *&return:int =1 [line 96]\n APPLY_ABSTRACTION; [line 96]\n " shape="box"] 54 -> 49 ; 53 [label="53: Prune (false branch) \n PRUNE(((sizeof(class A ) != n$15) == 0), false); [line 95]\n REMOVE_TEMPS(n$15); [line 95]\n " shape="invhouse"] 53 -> 55 ; 52 [label="52: Prune (true branch) \n PRUNE(((sizeof(class A ) != n$15) != 0), true); [line 95]\n REMOVE_TEMPS(n$15); [line 95]\n " shape="invhouse"] 52 -> 54 ; 51 [label="51: BinaryOperatorStmt: NE \n n$15=*&c:struct objc_class * [line 95]\n NULLIFY(&c,false); [line 95]\n " shape="box"] 51 -> 52 ; 51 -> 53 ; 50 [label="50: + \n NULLIFY(&c,false); [line 95]\n " ] 50 -> 49 ; 49 [label="49: Exit A_used_in_binary_op: \n " color=yellow style=filled] 48 [label="48: Start A_used_in_binary_op:\nFormals: c:struct objc_class *\nLocals: \n DECLARE_LOCALS(&return); [line 94]\n " color=yellow style=filled] 48 -> 51 ; 47 [label="47: Return Stmt \n n$14=_fun_NSStringFromClass(sizeof(class A ):unsigned long ) [line 91]\n *&return:class NSString *=n$14 [line 91]\n REMOVE_TEMPS(n$14); [line 91]\n APPLY_ABSTRACTION; [line 91]\n " shape="box"] 47 -> 46 ; 46 [label="46: Exit A_loggerName \n " color=yellow style=filled] 45 [label="45: Start A_loggerName\nFormals: self:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 90]\n NULLIFY(&self,false); [line 90]\n " color=yellow style=filled] 45 -> 47 ; 44 [label="44: Message Call: init \n n$11=*&self:class A * [line 87]\n n$12=_fun_NSObject_init(n$11:class A *) [line 87]\n REMOVE_TEMPS(n$11,n$12); [line 87]\n NULLIFY(&self,false); [line 87]\n APPLY_ABSTRACTION; [line 87]\n " shape="box"] 44 -> 43 ; 43 [label="43: Exit A_init \n " color=yellow style=filled] 42 [label="42: Start A_init\nFormals: self:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 86]\n " color=yellow style=filled] 42 -> 44 ; 41 [label="41: Message Call: test_class \n _fun_C_test_class() [line 83]\n APPLY_ABSTRACTION; [line 83]\n " shape="box"] 41 -> 40 ; 40 [label="40: Exit A_calling_super \n " color=yellow style=filled] 39 [label="39: Start A_calling_super\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 82]\n " color=yellow style=filled] 39 -> 41 ; 38 [label="38: 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 REMOVE_TEMPS(n$8,n$10); [line 79]\n NULLIFY(&object,false); [line 79]\n APPLY_ABSTRACTION; [line 79]\n " shape="box"] 38 -> 37 ; 37 [label="37: Exit A_use_class_in_other_ways: \n " color=yellow style=filled] 36 [label="36: Start A_use_class_in_other_ways:\nFormals: self:class A * object:class B *\nLocals: \n DECLARE_LOCALS(&return); [line 78]\n NULLIFY(&self,false); [line 78]\n " color=yellow style=filled] 36 -> 38 ; 35 [label="35: 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 REMOVE_TEMPS(n$6,n$7); [line 74]\n NULLIFY(&b,false); [line 74]\n " shape="box"] 35 -> 34 ; 34 [label="34: Message Call: b_m \n _fun_B_b_m() [line 75]\n APPLY_ABSTRACTION; [line 75]\n " shape="box"] 34 -> 33 ; 33 [label="33: Exit A_t \n " color=yellow style=filled] 32 [label="32: Start A_t\nFormals: self:class A *\nLocals: b:class B * \n DECLARE_LOCALS(&return,&b); [line 73]\n NULLIFY(&b,false); [line 73]\n NULLIFY(&self,false); [line 73]\n " color=yellow style=filled] 32 -> 35 ; 31 [label="31: Message Call: test_class \n _fun_A_test_class() [line 70]\n APPLY_ABSTRACTION; [line 70]\n " shape="box"] 31 -> 30 ; 30 [label="30: Exit A_call_class_instance_with_class_name \n " color=yellow style=filled] 29 [label="29: Start A_call_class_instance_with_class_name\nFormals: self:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 69]\n NULLIFY(&self,false); [line 69]\n " color=yellow style=filled] 29 -> 31 ; 28 [label="28: Message Call: test_class \n _fun_A_test_class() [line 66]\n APPLY_ABSTRACTION; [line 66]\n " shape="box"] 28 -> 27 ; 27 [label="27: Exit A_call_class_instance \n " color=yellow style=filled] 26 [label="26: Start A_call_class_instance\nFormals: self:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 65]\n NULLIFY(&self,false); [line 65]\n " color=yellow style=filled] 26 -> 28 ; 25 [label="25: Call alloc \n n$3=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 62]\n REMOVE_TEMPS(n$3); [line 62]\n APPLY_ABSTRACTION; [line 62]\n " shape="box"] 25 -> 24 ; 24 [label="24: Exit A_call_alloc_instance \n " color=yellow style=filled] 23 [label="23: Start A_call_alloc_instance\nFormals: self:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 61]\n NULLIFY(&self,false); [line 61]\n " color=yellow style=filled] 23 -> 25 ; 22 [label="22: Call alloc \n n$1=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 58]\n REMOVE_TEMPS(n$1); [line 58]\n APPLY_ABSTRACTION; [line 58]\n " shape="box"] 22 -> 21 ; 21 [label="21: Exit A_call_alloc_class \n " color=yellow style=filled] 20 [label="20: Start A_call_alloc_class\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 57]\n " color=yellow style=filled] 20 -> 22 ; 19 [label="19: Message Call: test_class \n _fun_A_test_class() [line 54]\n APPLY_ABSTRACTION; [line 54]\n " shape="box"] 19 -> 18 ; 18 [label="18: Exit A_call_test_class \n " color=yellow style=filled] 17 [label="17: Start A_call_test_class\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 53]\n " color=yellow style=filled] 17 -> 19 ; 16 [label="16: Exit A_test_class \n " color=yellow style=filled] 15 [label="15: Start A_test_class\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 50]\n " color=yellow style=filled] 15 -> 16 ; 14 [label="14: Message Call: test \n n$0=*&self:class A * [line 47]\n _fun_A_test(n$0:class A *) virtual [line 47]\n REMOVE_TEMPS(n$0); [line 47]\n NULLIFY(&self,false); [line 47]\n APPLY_ABSTRACTION; [line 47]\n " shape="box"] 14 -> 13 ; 13 [label="13: Exit A_call_test \n " color=yellow style=filled] 12 [label="12: Start A_call_test\nFormals: self:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 46]\n " color=yellow style=filled] 12 -> 14 ; 11 [label="11: Exit A_test \n " color=yellow style=filled] 10 [label="10: Start A_test\nFormals: self:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 43]\n NULLIFY(&self,false); [line 43]\n " color=yellow style=filled] 10 -> 11 ; 9 [label="9: Exit A_frontendChecks \n " color=yellow style=filled] 8 [label="8: Start A_frontendChecks\nFormals: \nLocals: \n " color=yellow style=filled] 8 -> 9 ; 7 [label="7: Return Stmt \n *&return:_Bool =1 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"] 7 -> 6 ; 6 [label="6: Exit B_isC: \n " color=yellow style=filled] 5 [label="5: Start B_isC:\nFormals: self:class B * aClass:struct objc_class *\nLocals: \n DECLARE_LOCALS(&return); [line 23]\n NULLIFY(&aClass,false); [line 23]\n NULLIFY(&self,false); [line 23]\n " color=yellow style=filled] 5 -> 7 ; 4 [label="4: Exit B_b_m \n " color=yellow style=filled] 3 [label="3: Start B_b_m\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 20]\n " color=yellow style=filled] 3 -> 4 ; 2 [label="2: Exit B_frontendChecks \n " color=yellow style=filled] 1 [label="1: Start B_frontendChecks\nFormals: \nLocals: \n " color=yellow style=filled] 1 -> 2 ; }