/* @generated */
digraph iCFG {
"foo.acbd18db4cc2f85cedef654fccc4a4d8_1" [label="1: Start foo\nFormals:  a:A*\nLocals:  \n   DECLARE_LOCALS(&return); [line 54]\n " color=yellow style=filled]
	

	 "foo.acbd18db4cc2f85cedef654fccc4a4d8_1" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" ;
"foo.acbd18db4cc2f85cedef654fccc4a4d8_2" [label="2: Exit foo \n  " color=yellow style=filled]
	

"foo.acbd18db4cc2f85cedef654fccc4a4d8_3" [label="3:  Return Stmt \n   n$0=*&a:A* [line 58]\n  *&return:A*=n$0 [line 58]\n " shape="box"]
	

	 "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" ;
"foo.acbd18db4cc2f85cedef654fccc4a4d8_4" [label="4:  Message Call: capture \n   n$1=*&a:A* [line 56]\n  _fun_A_capture(n$1:A*) virtual [line 56]\n " shape="box"]
	

	 "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" ;
"main.fad58de7366495db4650cfefac2fcd61_1" [label="1: Start main\nFormals:  argc:int argv:char const **\nLocals:  a:A* \n   DECLARE_LOCALS(&return,&a); [line 61]\n " color=yellow style=filled]
	

	 "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_5" ;
"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n  " color=yellow style=filled]
	

"main.fad58de7366495db4650cfefac2fcd61_3" [label="3:  Return Stmt \n   *&return:int=0 [line 67]\n " shape="box"]
	

	 "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ;
"main.fad58de7366495db4650cfefac2fcd61_4" [label="4:  BinaryOperatorStmt: Assign \n   n$0=*&a:A* [line 65]\n  n$1=_fun_foo(n$0:A*) [line 65]\n  *&a:A*=n$1 [line 65]\n " shape="box"]
	

	 "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ;
"main.fad58de7366495db4650cfefac2fcd61_5" [label="5:  DeclStmt \n   n$2=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 63]\n  *&a:A*=n$2 [line 63]\n " shape="box"]
	

	 "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ;
"capture#A#instance.d411336575e4bf632a1828f5f5979726_1" [label="1: Start A_capture\nFormals:  self:A*\nLocals:  \n   DECLARE_LOCALS(&return); [line 45]\n " color=yellow style=filled]
	

	 "capture#A#instance.d411336575e4bf632a1828f5f5979726_1" -> "capture#A#instance.d411336575e4bf632a1828f5f5979726_4" ;
"capture#A#instance.d411336575e4bf632a1828f5f5979726_2" [label="2: Exit A_capture \n  " color=yellow style=filled]
	

"capture#A#instance.d411336575e4bf632a1828f5f5979726_3" [label="3:  Message Call: sHandler: \n   n$0=*&self:A* [line 47]\n  n$1=*n$0._b:B* [line 47]\n  DECLARE_LOCALS(&__objc_anonymous_block_A_capture______1); [line 47]\n  n$5=_fun___objc_alloc_no_fail(sizeof(t=__objc_anonymous_block_A_capture______1):unsigned long) [line 47]\n  *&__objc_anonymous_block_A_capture______1:__objc_anonymous_block_A_capture______1=n$5 [line 47]\n  n$6=*&self:A* [line 47]\n  *n$5.self:A*=n$6 [line 47]\n  n$2=*&self:A* [line 47]\n  n$7=*&__objc_anonymous_block_A_capture______1:_fn_(*) [line 47]\n  _fun_B_sHandler:(n$1:B*,n$7:_fn_(*),n$2:_fn_(*)) virtual [line 47]\n " shape="box"]
	

	 "capture#A#instance.d411336575e4bf632a1828f5f5979726_3" -> "capture#A#instance.d411336575e4bf632a1828f5f5979726_2" ;
"capture#A#instance.d411336575e4bf632a1828f5f5979726_4" [label="4:  BinaryOperatorStmt: Assign \n   n$8=*&self:A* [line 46]\n  n$9=_fun___objc_alloc_no_fail(sizeof(t=B):unsigned long) [line 46]\n  *n$8._b:B*=n$9 [line 46]\n " shape="box"]
	

	 "capture#A#instance.d411336575e4bf632a1828f5f5979726_4" -> "capture#A#instance.d411336575e4bf632a1828f5f5979726_3" ;
"sHandler:#B#instance.590685250eb38eaab242405cd45c572b_1" [label="1: Start B_sHandler:\nFormals:  self:B* h:_fn_(*)\nLocals:  \n   DECLARE_LOCALS(&return); [line 28]\n " color=yellow style=filled]
	

	 "sHandler:#B#instance.590685250eb38eaab242405cd45c572b_1" -> "sHandler:#B#instance.590685250eb38eaab242405cd45c572b_3" ;
"sHandler:#B#instance.590685250eb38eaab242405cd45c572b_2" [label="2: Exit B_sHandler: \n  " color=yellow style=filled]
	

"sHandler:#B#instance.590685250eb38eaab242405cd45c572b_3" [label="3:  BinaryOperatorStmt: Assign \n   n$0=*&self:B* [line 30]\n  n$1=*&h:_fn_(*) [line 30]\n  *n$0._h:_fn_(*)=n$1 [line 30]\n " shape="box"]
	

	 "sHandler:#B#instance.590685250eb38eaab242405cd45c572b_3" -> "sHandler:#B#instance.590685250eb38eaab242405cd45c572b_2" ;
"__objc_anonymous_block_A_capture______1.d90c81461d9f2b21a67db8a7dea413da_1" [label="1: Start __objc_anonymous_block_A_capture______1\nFormals:  self:A* d:D*\nLocals: \nCaptured:  self:A* \n   DECLARE_LOCALS(&return); [line 47]\n " color=yellow style=filled]
	

	 "__objc_anonymous_block_A_capture______1.d90c81461d9f2b21a67db8a7dea413da_1" -> "__objc_anonymous_block_A_capture______1.d90c81461d9f2b21a67db8a7dea413da_3" ;
"__objc_anonymous_block_A_capture______1.d90c81461d9f2b21a67db8a7dea413da_2" [label="2: Exit __objc_anonymous_block_A_capture______1 \n  " color=yellow style=filled]
	

"__objc_anonymous_block_A_capture______1.d90c81461d9f2b21a67db8a7dea413da_3" [label="3:  BinaryOperatorStmt: Assign \n   n$3=*&self:A* [line 48]\n  n$4=*&d:D* [line 48]\n  *n$3._data:D*=n$4 [line 48]\n " shape="box"]
	

	 "__objc_anonymous_block_A_capture______1.d90c81461d9f2b21a67db8a7dea413da_3" -> "__objc_anonymous_block_A_capture______1.d90c81461d9f2b21a67db8a7dea413da_2" ;
}
