|
|
|
digraph iCFG {
|
|
|
|
8 [label="8: Return Stmt \n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
8 -> 2 ;
|
|
|
|
7 [label="7: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 25]\n REMOVE_TEMPS(n$0,n$1); [line 25]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
7 -> 3 ;
|
|
|
|
6 [label="6: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 25]\n REMOVE_TEMPS(n$0,n$1); [line 25]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
6 -> 8 ;
|
|
|
|
5 [label="5: Message Call: conformsToProtocol: \n n$0=*&self:class Bla * [line 25]\n n$1=_fun_Bla_conformsToProtocol:(n$0:class Bla *,\"Foo\":class Protocol *) virtual [line 25]\n NULLIFY(&self); [line 25]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
5 -> 6 ;
|
|
|
|
5 -> 7 ;
|
|
|
|
4 [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
4 -> 2 ;
|
|
|
|
3 [label="3: + \n " ]
|
|
|
|
|
|
|
|
|
|
|
|
3 -> 4 ;
|
|
|
|
2 [label="2: Exit Bla_fooMethod \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
1 [label="1: Start Bla_fooMethod\nFormals: self:class Bla *\nLocals: \n DECLARE_LOCALS(&return); [line 24]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
1 -> 5 ;
|
|
|
|
}
|