You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

359 lines
18 KiB

/* @generated */
digraph iCFG {
"TranslateAsPtr<int>_operator*2" [label="2: Exit TranslateAsPtr<int>_operator* \n " color=yellow style=filled]
"TranslateAsPtr<int>_operator*1" [label="1: Start TranslateAsPtr<int>_operator*\nFormals: this:int **\nLocals: \n DECLARE_LOCALS(&return); [line 81]\n " color=yellow style=filled]
"TranslateAsPtr<int>_operator*1" -> "TranslateAsPtr<int>_operator*2" ;
"TranslateAsPtr<int>_setPtr3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:int ** [line 86]\n n$1=*&v:int * [line 86]\n *n$0:void *=n$1 [line 86]\n " shape="box"]
"TranslateAsPtr<int>_setPtr3" -> "TranslateAsPtr<int>_setPtr2" ;
"TranslateAsPtr<int>_setPtr2" [label="2: Exit TranslateAsPtr<int>_setPtr \n " color=yellow style=filled]
"TranslateAsPtr<int>_setPtr1" [label="1: Start TranslateAsPtr<int>_setPtr\nFormals: this:int ** v:int *\nLocals: \n DECLARE_LOCALS(&return); [line 86]\n " color=yellow style=filled]
"TranslateAsPtr<int>_setPtr1" -> "TranslateAsPtr<int>_setPtr3" ;
"getPtr_null_deref25" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 96]\n n$4=*&t:int * [line 96]\n " shape="box"]
"getPtr_null_deref25" -> "getPtr_null_deref24" ;
"getPtr_null_deref24" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 97]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 97]\n " shape="box"]
"getPtr_null_deref24" -> "getPtr_null_deref23" ;
"getPtr_null_deref23" [label="3: Return Stmt \n _=*&t:int * [line 98]\n n$1=*&t:int *& [line 98]\n n$2=*n$1:int [line 98]\n *&return:int =n$2 [line 98]\n " shape="box"]
"getPtr_null_deref23" -> "getPtr_null_deref22" ;
"getPtr_null_deref22" [label="2: Exit getPtr_null_deref2 \n " color=yellow style=filled]
"getPtr_null_deref21" [label="1: Start getPtr_null_deref2\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 95]\n " color=yellow style=filled]
"getPtr_null_deref21" -> "getPtr_null_deref25" ;
"getRef_null_deref25" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 134]\n n$4=*&t:int * [line 134]\n " shape="box"]
"getRef_null_deref25" -> "getRef_null_deref24" ;
"getRef_null_deref24" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 135]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 135]\n " shape="box"]
"getRef_null_deref24" -> "getRef_null_deref23" ;
"getRef_null_deref23" [label="3: Return Stmt \n _=*&t:int * [line 136]\n n$1=*&t:int *& [line 136]\n n$2=*n$1:int * [line 136]\n *&return:int =n$2 [line 136]\n " shape="box"]
"getRef_null_deref23" -> "getRef_null_deref22" ;
"getRef_null_deref22" [label="2: Exit getRef_null_deref2 \n " color=yellow style=filled]
"getRef_null_deref21" [label="1: Start getRef_null_deref2\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 133]\n " color=yellow style=filled]
"getRef_null_deref21" -> "getRef_null_deref25" ;
"operator_star_ok_deref5" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 122]\n n$4=*&t:int * [line 122]\n " shape="box"]
"operator_star_ok_deref5" -> "operator_star_ok_deref4" ;
"operator_star_ok_deref4" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 123]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,&a:int *) [line 123]\n " shape="box"]
"operator_star_ok_deref4" -> "operator_star_ok_deref3" ;
"operator_star_ok_deref3" [label="3: Return Stmt \n _=*&t:int * [line 124]\n n$1=*&t:int *& [line 124]\n n$2=*n$1:int * [line 124]\n *&return:int =n$2 [line 124]\n " shape="box"]
"operator_star_ok_deref3" -> "operator_star_ok_deref2" ;
"operator_star_ok_deref2" [label="2: Exit operator_star_ok_deref \n " color=yellow style=filled]
"operator_star_ok_deref1" [label="1: Start operator_star_ok_deref\nFormals: \nLocals: t:int * a:int \n DECLARE_LOCALS(&return,&t,&a); [line 120]\n " color=yellow style=filled]
"operator_star_ok_deref1" -> "operator_star_ok_deref5" ;
"derefFirstArg23" [label="3: Return Stmt \n n$0=*&b:int * [line 26]\n n$1=*n$0:int [line 26]\n *&return:int =n$1 [line 26]\n " shape="box"]
"derefFirstArg23" -> "derefFirstArg22" ;
"derefFirstArg22" [label="2: Exit derefFirstArg2 \n " color=yellow style=filled]
"derefFirstArg21" [label="1: Start derefFirstArg2\nFormals: a:int * b:int *\nLocals: \n DECLARE_LOCALS(&return); [line 22]\n " color=yellow style=filled]
"derefFirstArg21" -> "derefFirstArg23" ;
"TranslateAsPtr<int>_getRef2" [label="2: Exit TranslateAsPtr<int>_getRef \n " color=yellow style=filled]
"TranslateAsPtr<int>_getRef1" [label="1: Start TranslateAsPtr<int>_getRef\nFormals: this:int ** a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 83]\n " color=yellow style=filled]
"TranslateAsPtr<int>_getRef1" -> "TranslateAsPtr<int>_getRef2" ;
"TranslateAsPtr<int>_TranslateAsPtr3" [label="3: Call _fun_TranslateAsPtr<int>_setPtr \n n$0=*&this:int ** [line 76]\n _=*n$0:int * [line 76]\n n$2=*&t:int * [line 76]\n _fun_TranslateAsPtr<int>_setPtr(n$0:int **,n$2:int *) [line 76]\n " shape="box"]
"TranslateAsPtr<int>_TranslateAsPtr3" -> "TranslateAsPtr<int>_TranslateAsPtr2" ;
"TranslateAsPtr<int>_TranslateAsPtr2" [label="2: Exit TranslateAsPtr<int>_TranslateAsPtr \n " color=yellow style=filled]
"TranslateAsPtr<int>_TranslateAsPtr1" [label="1: Start TranslateAsPtr<int>_TranslateAsPtr\nFormals: this:int ** t:int *\nLocals: \n DECLARE_LOCALS(&return); [line 76]\n " color=yellow style=filled]
"TranslateAsPtr<int>_TranslateAsPtr1" -> "TranslateAsPtr<int>_TranslateAsPtr3" ;
"derefFirstArg33" [label="3: Return Stmt \n n$0=*&b:int * [line 33]\n n$1=*n$0:int [line 33]\n *&return:int =n$1 [line 33]\n " shape="box"]
"derefFirstArg33" -> "derefFirstArg32" ;
"derefFirstArg32" [label="2: Exit derefFirstArg3 \n " color=yellow style=filled]
"derefFirstArg31" [label="1: Start derefFirstArg3\nFormals: a:int * b:int *\nLocals: \n DECLARE_LOCALS(&return); [line 31]\n " color=yellow style=filled]
"derefFirstArg31" -> "derefFirstArg33" ;
"operator_star_null_deref25" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 115]\n n$4=*&t:int * [line 115]\n " shape="box"]
"operator_star_null_deref25" -> "operator_star_null_deref24" ;
"operator_star_null_deref24" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 116]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 116]\n " shape="box"]
"operator_star_null_deref24" -> "operator_star_null_deref23" ;
"operator_star_null_deref23" [label="3: Return Stmt \n _=*&t:int * [line 117]\n n$1=*&t:int *& [line 117]\n n$2=*n$1:int * [line 117]\n *&return:int =n$2 [line 117]\n " shape="box"]
"operator_star_null_deref23" -> "operator_star_null_deref22" ;
"operator_star_null_deref22" [label="2: Exit operator_star_null_deref2 \n " color=yellow style=filled]
"operator_star_null_deref21" [label="1: Start operator_star_null_deref2\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 114]\n " color=yellow style=filled]
"operator_star_null_deref21" -> "operator_star_null_deref25" ;
"TranslateAsPtr<int>_getPtr2" [label="2: Exit TranslateAsPtr<int>_getPtr \n " color=yellow style=filled]
"TranslateAsPtr<int>_getPtr1" [label="1: Start TranslateAsPtr<int>_getPtr\nFormals: this:int **\nLocals: \n DECLARE_LOCALS(&return); [line 78]\n " color=yellow style=filled]
"TranslateAsPtr<int>_getPtr1" -> "TranslateAsPtr<int>_getPtr2" ;
"derefFirstArg3_null_deref4" [label="4: DeclStmt \n *&a:int =0 [line 63]\n " shape="box"]
"derefFirstArg3_null_deref4" -> "derefFirstArg3_null_deref3" ;
"derefFirstArg3_null_deref3" [label="3: Return Stmt \n n$0=_fun_derefFirstArg3(&a:int *,null:int *) [line 64]\n *&return:int =n$0 [line 64]\n " shape="box"]
"derefFirstArg3_null_deref3" -> "derefFirstArg3_null_deref2" ;
"derefFirstArg3_null_deref2" [label="2: Exit derefFirstArg3_null_deref \n " color=yellow style=filled]
"derefFirstArg3_null_deref1" [label="1: Start derefFirstArg3_null_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 62]\n " color=yellow style=filled]
"derefFirstArg3_null_deref1" -> "derefFirstArg3_null_deref4" ;
"getRef_null_deref15" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 128]\n n$4=*&t:int * [line 128]\n " shape="box"]
"getRef_null_deref15" -> "getRef_null_deref14" ;
"getRef_null_deref14" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 129]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 129]\n " shape="box"]
"getRef_null_deref14" -> "getRef_null_deref13" ;
"getRef_null_deref13" [label="3: Return Stmt \n _=*&t:int * [line 130]\n n$1=*&t:int *& [line 130]\n n$2=*n$1:int * [line 130]\n *&return:int =n$2 [line 130]\n " shape="box"]
"getRef_null_deref13" -> "getRef_null_deref12" ;
"getRef_null_deref12" [label="2: Exit getRef_null_deref1 \n " color=yellow style=filled]
"getRef_null_deref11" [label="1: Start getRef_null_deref1\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 127]\n " color=yellow style=filled]
"getRef_null_deref11" -> "getRef_null_deref15" ;
"derefFirstArg_null_deref4" [label="4: DeclStmt \n *&a:int =0 [line 38]\n " shape="box"]
"derefFirstArg_null_deref4" -> "derefFirstArg_null_deref3" ;
"derefFirstArg_null_deref3" [label="3: Return Stmt \n n$0=*null:int * [line 39]\n *&return:int =n$0 [line 39]\n " shape="box"]
"derefFirstArg_null_deref3" -> "derefFirstArg_null_deref2" ;
"derefFirstArg_null_deref2" [label="2: Exit derefFirstArg_null_deref \n " color=yellow style=filled]
"derefFirstArg_null_deref1" [label="1: Start derefFirstArg_null_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 37]\n " color=yellow style=filled]
"derefFirstArg_null_deref1" -> "derefFirstArg_null_deref4" ;
"operator_star_null_deref15" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 109]\n n$3=*&t:int * [line 109]\n " shape="box"]
"operator_star_null_deref15" -> "operator_star_null_deref14" ;
"operator_star_null_deref14" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 110]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 110]\n " shape="box"]
"operator_star_null_deref14" -> "operator_star_null_deref13" ;
"operator_star_null_deref13" [label="3: Return Stmt \n n$0=*&t:int *& [line 111]\n n$1=*n$0:int * [line 111]\n *&return:int =n$1 [line 111]\n " shape="box"]
"operator_star_null_deref13" -> "operator_star_null_deref12" ;
"operator_star_null_deref12" [label="2: Exit operator_star_null_deref1 \n " color=yellow style=filled]
"operator_star_null_deref11" [label="1: Start operator_star_null_deref1\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 108]\n " color=yellow style=filled]
"operator_star_null_deref11" -> "operator_star_null_deref15" ;
"TranslateAsPtr<int>_getRef2" [label="2: Exit TranslateAsPtr<int>_getRef \n " color=yellow style=filled]
"TranslateAsPtr<int>_getRef1" [label="1: Start TranslateAsPtr<int>_getRef\nFormals: this:int **\nLocals: \n DECLARE_LOCALS(&return); [line 82]\n " color=yellow style=filled]
"TranslateAsPtr<int>_getRef1" -> "TranslateAsPtr<int>_getRef2" ;
"derefFirstArg2_null_deref4" [label="4: DeclStmt \n *&a:int =0 [line 48]\n " shape="box"]
"derefFirstArg2_null_deref4" -> "derefFirstArg2_null_deref3" ;
"derefFirstArg2_null_deref3" [label="3: Return Stmt \n n$0=*null:int * [line 49]\n *&return:int =n$0 [line 49]\n " shape="box"]
"derefFirstArg2_null_deref3" -> "derefFirstArg2_null_deref2" ;
"derefFirstArg2_null_deref2" [label="2: Exit derefFirstArg2_null_deref \n " color=yellow style=filled]
"derefFirstArg2_null_deref1" [label="1: Start derefFirstArg2_null_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 47]\n " color=yellow style=filled]
"derefFirstArg2_null_deref1" -> "derefFirstArg2_null_deref4" ;
"getRef_ok_deref6" [label="6: DeclStmt \n *&a:int =0 [line 140]\n " shape="box"]
"getRef_ok_deref6" -> "getRef_ok_deref5" ;
"getRef_ok_deref5" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 141]\n n$4=*&t:int * [line 141]\n " shape="box"]
"getRef_ok_deref5" -> "getRef_ok_deref4" ;
"getRef_ok_deref4" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 142]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,&a:int *) [line 142]\n " shape="box"]
"getRef_ok_deref4" -> "getRef_ok_deref3" ;
"getRef_ok_deref3" [label="3: Return Stmt \n _=*&t:int * [line 143]\n n$1=*&t:int *& [line 143]\n n$2=*n$1:int * [line 143]\n *&return:int =n$2 [line 143]\n " shape="box"]
"getRef_ok_deref3" -> "getRef_ok_deref2" ;
"getRef_ok_deref2" [label="2: Exit getRef_ok_deref \n " color=yellow style=filled]
"getRef_ok_deref1" [label="1: Start getRef_ok_deref\nFormals: \nLocals: t:int * a:int \n DECLARE_LOCALS(&return,&t,&a); [line 139]\n " color=yellow style=filled]
"getRef_ok_deref1" -> "getRef_ok_deref6" ;
"derefFirstArg_ok_deref4" [label="4: DeclStmt \n *&a:int =0 [line 43]\n " shape="box"]
"derefFirstArg_ok_deref4" -> "derefFirstArg_ok_deref3" ;
"derefFirstArg_ok_deref3" [label="3: Return Stmt \n n$0=*&a:int * [line 44]\n *&return:int =n$0 [line 44]\n " shape="box"]
"derefFirstArg_ok_deref3" -> "derefFirstArg_ok_deref2" ;
"derefFirstArg_ok_deref2" [label="2: Exit derefFirstArg_ok_deref \n " color=yellow style=filled]
"derefFirstArg_ok_deref1" [label="1: Start derefFirstArg_ok_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 42]\n " color=yellow style=filled]
"derefFirstArg_ok_deref1" -> "derefFirstArg_ok_deref4" ;
"getPtr_null_deref15" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 90]\n n$4=*&t:int * [line 90]\n " shape="box"]
"getPtr_null_deref15" -> "getPtr_null_deref14" ;
"getPtr_null_deref14" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 91]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 91]\n " shape="box"]
"getPtr_null_deref14" -> "getPtr_null_deref13" ;
"getPtr_null_deref13" [label="3: Return Stmt \n _=*&t:int * [line 92]\n n$1=*&t:int *& [line 92]\n n$2=*n$1:int [line 92]\n *&return:int =n$2 [line 92]\n " shape="box"]
"getPtr_null_deref13" -> "getPtr_null_deref12" ;
"getPtr_null_deref12" [label="2: Exit getPtr_null_deref1 \n " color=yellow style=filled]
"getPtr_null_deref11" [label="1: Start getPtr_null_deref1\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 89]\n " color=yellow style=filled]
"getPtr_null_deref11" -> "getPtr_null_deref15" ;
"derefFirstArg2_ok_deref4" [label="4: DeclStmt \n *&a:int =0 [line 53]\n " shape="box"]
"derefFirstArg2_ok_deref4" -> "derefFirstArg2_ok_deref3" ;
"derefFirstArg2_ok_deref3" [label="3: Return Stmt \n n$0=*&a:int * [line 54]\n *&return:int =n$0 [line 54]\n " shape="box"]
"derefFirstArg2_ok_deref3" -> "derefFirstArg2_ok_deref2" ;
"derefFirstArg2_ok_deref2" [label="2: Exit derefFirstArg2_ok_deref \n " color=yellow style=filled]
"derefFirstArg2_ok_deref1" [label="1: Start derefFirstArg2_ok_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 52]\n " color=yellow style=filled]
"derefFirstArg2_ok_deref1" -> "derefFirstArg2_ok_deref4" ;
"getPtr_ok_deref6" [label="6: DeclStmt \n *&a:int =0 [line 102]\n " shape="box"]
"getPtr_ok_deref6" -> "getPtr_ok_deref5" ;
"getPtr_ok_deref5" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 103]\n n$4=*&t:int * [line 103]\n " shape="box"]
"getPtr_ok_deref5" -> "getPtr_ok_deref4" ;
"getPtr_ok_deref4" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 104]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,&a:int *) [line 104]\n " shape="box"]
"getPtr_ok_deref4" -> "getPtr_ok_deref3" ;
"getPtr_ok_deref3" [label="3: Return Stmt \n _=*&t:int * [line 105]\n n$1=*&t:int *& [line 105]\n n$2=*n$1:int [line 105]\n *&return:int =n$2 [line 105]\n " shape="box"]
"getPtr_ok_deref3" -> "getPtr_ok_deref2" ;
"getPtr_ok_deref2" [label="2: Exit getPtr_ok_deref \n " color=yellow style=filled]
"getPtr_ok_deref1" [label="1: Start getPtr_ok_deref\nFormals: \nLocals: t:int * a:int \n DECLARE_LOCALS(&return,&t,&a); [line 101]\n " color=yellow style=filled]
"getPtr_ok_deref1" -> "getPtr_ok_deref6" ;
"TranslateAsPtr<int>_getPtr2" [label="2: Exit TranslateAsPtr<int>_getPtr \n " color=yellow style=filled]
"TranslateAsPtr<int>_getPtr1" [label="1: Start TranslateAsPtr<int>_getPtr\nFormals: this:int ** a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 79]\n " color=yellow style=filled]
"TranslateAsPtr<int>_getPtr1" -> "TranslateAsPtr<int>_getPtr2" ;
"derefFirstArg3_ok_deref4" [label="4: DeclStmt \n *&a:int =0 [line 58]\n " shape="box"]
"derefFirstArg3_ok_deref4" -> "derefFirstArg3_ok_deref3" ;
"derefFirstArg3_ok_deref3" [label="3: Return Stmt \n n$0=_fun_derefFirstArg3(null:int *,&a:int *) [line 59]\n *&return:int =n$0 [line 59]\n " shape="box"]
"derefFirstArg3_ok_deref3" -> "derefFirstArg3_ok_deref2" ;
"derefFirstArg3_ok_deref2" [label="2: Exit derefFirstArg3_ok_deref \n " color=yellow style=filled]
"derefFirstArg3_ok_deref1" [label="1: Start derefFirstArg3_ok_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 57]\n " color=yellow style=filled]
"derefFirstArg3_ok_deref1" -> "derefFirstArg3_ok_deref4" ;
"derefFirstArg2" [label="2: Exit derefFirstArg \n " color=yellow style=filled]
"derefFirstArg1" [label="1: Start derefFirstArg\nFormals: a:int * b:int *\nLocals: \n DECLARE_LOCALS(&return); [line 19]\n " color=yellow style=filled]
"derefFirstArg1" -> "derefFirstArg2" ;
}