|
|
|
digraph iCFG {
|
|
|
|
11 [label="11: Call _fun_A_fun \n n$4=*&a_ptr:class A * [line 24]\n n$5=*n$4:class A [line 24]\n n$6=_fun_A_fun(n$4:class A *) [line 24]\n REMOVE_TEMPS(n$4,n$5,n$6); [line 24]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
11 -> 10 ;
|
|
|
|
10 [label="10: Call _fun_A::AIn_fun \n n$0=*&a_ptr:class A * [line 25]\n n$1=*n$0.in:class A::AIn * [line 25]\n n$2=*n$1:class A::AIn [line 25]\n n$3=_fun_A::AIn_fun(n$1:class A::AIn *) [line 25]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3); [line 25]\n NULLIFY(&a_ptr,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
10 -> 9 ;
|
|
|
|
9 [label="9: Exit test_call \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
8 [label="8: Start test_call\nFormals: \nLocals: a_ptr:class A * \n DECLARE_LOCALS(&return,&a_ptr); [line 22]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
8 -> 11 ;
|
|
|
|
7 [label="7: DeclStmt \n *&c:int =10 [line 17]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
7 -> 6 ;
|
|
|
|
6 [label="6: Return Stmt \n n$0=*&c:int [line 18]\n *&return:int =(n$0 + 1) [line 18]\n REMOVE_TEMPS(n$0); [line 18]\n NULLIFY(&c,false); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
6 -> 5 ;
|
|
|
|
5 [label="5: Exit A_fun \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
4 [label="4: Start A_fun\nFormals: this:class A *\nLocals: c:int \n DECLARE_LOCALS(&return,&c); [line 16]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
4 -> 7 ;
|
|
|
|
3 [label="3: Return Stmt \n *&return:int =1 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
3 -> 2 ;
|
|
|
|
2 [label="2: Exit A::AIn_fun \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
1 [label="1: Start A::AIn_fun\nFormals: this:class A::AIn *\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
1 -> 3 ;
|
|
|
|
}
|