/* @generated */ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_1" [label="1: Start foo\nFormals: a:A*\nLocals: \n " color=yellow style=filled] "foo.acbd18db4cc2f85cedef654fccc4a4d8_1" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_5" ; "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 56, column 10]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" [label="4: Return Stmt \n *&return:A*=n$0 [line 56, column 3]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_5" [label="5: Message Call: capture \n n$1=*&a:A* [line 54, column 4]\n n$2=_fun_A.capture(n$1:A*) virtual [line 54, column 3]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_5" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" ; "main.fad58de7366495db4650cfefac2fcd61_1" [label="1: Start main\nFormals: argc:int argv:char const **\nLocals: a:A* \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 65, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; "main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&a:A* [line 63, column 11]\n n$1=_fun_foo(n$0:A*) [line 63, column 7]\n *&a:A*=n$1 [line 63, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; "main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:A*); [line 61, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 61, column 10]\n *&a:A*=n$2 [line 61, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; "objc_blockA.capture_1(class A,class D).8e9a52049a11f3e729d697583cda7110_1" [label="1: Start objc_blockA.capture_1\nFormals: self:A* d:D*\nLocals: \nCaptured: [by ref]self:A* \n " color=yellow style=filled] "objc_blockA.capture_1(class A,class D).8e9a52049a11f3e729d697583cda7110_1" -> "objc_blockA.capture_1(class A,class D).8e9a52049a11f3e729d697583cda7110_3" ; "objc_blockA.capture_1(class A,class D).8e9a52049a11f3e729d697583cda7110_2" [label="2: Exit objc_blockA.capture_1 \n " color=yellow style=filled] "objc_blockA.capture_1(class A,class D).8e9a52049a11f3e729d697583cda7110_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&self:A* [line 46, column 5]\n n$2=*&d:D* [line 46, column 13]\n *n$1._data:D*=n$2 [line 46, column 5]\n " shape="box"] "objc_blockA.capture_1(class A,class D).8e9a52049a11f3e729d697583cda7110_3" -> "objc_blockA.capture_1(class A,class D).8e9a52049a11f3e729d697583cda7110_2" ; "capture#A#instance.d411336575e4bf632a1828f5f5979726_1" [label="1: Start A.capture\nFormals: self:A*\nLocals: \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$3=*&self:A* [line 45, column 4]\n n$4=*n$3._b:B* [line 45, column 4]\n n$0=*&self:A* [line 45, column 16]\n n$5=_fun_B.sHandler:[objc_blockA.capture_1](n$0:A*,n$4:B*,(_fun_objc_blockA.capture_1,([by ref]n$0 &self:A*)):_fn_(*)) virtual [line 45, column 3]\n " shape="box"] "capture#A#instance.d411336575e4bf632a1828f5f5979726_3" -> "capture#A#instance.d411336575e4bf632a1828f5f5979726_2" ; "capture#A#instance.d411336575e4bf632a1828f5f5979726_4" [label="4: BinaryOperatorStmt: Assign \n n$6=*&self:A* [line 44, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=B):unsigned long) [line 44, column 8]\n *n$6._b:B*=n$7 [line 44, column 3]\n " shape="box"] "capture#A#instance.d411336575e4bf632a1828f5f5979726_4" -> "capture#A#instance.d411336575e4bf632a1828f5f5979726_3" ; "dealloc#A#instance.55ac864e91dcd5d484e8ab7d8eb94fcb_1" [label="1: Start A.dealloc\nFormals: self:A*\nLocals: \n " color=yellow style=filled] "dealloc#A#instance.55ac864e91dcd5d484e8ab7d8eb94fcb_1" -> "dealloc#A#instance.55ac864e91dcd5d484e8ab7d8eb94fcb_3" ; "dealloc#A#instance.55ac864e91dcd5d484e8ab7d8eb94fcb_2" [label="2: Exit A.dealloc \n " color=yellow style=filled] "dealloc#A#instance.55ac864e91dcd5d484e8ab7d8eb94fcb_3" [label="3: Call dealloc \n n$0=*&self:A* [line 50, column 1]\n n$1=*n$0._data:D* [line 50, column 1]\n n$2=_fun_D.dealloc(n$1:D*) [line 50, column 1]\n n$3=*&self:A* [line 50, column 1]\n n$4=*n$3._b:B* [line 50, column 1]\n n$5=_fun_B.dealloc(n$4:B*) [line 50, column 1]\n " shape="box"] "dealloc#A#instance.55ac864e91dcd5d484e8ab7d8eb94fcb_3" -> "dealloc#A#instance.55ac864e91dcd5d484e8ab7d8eb94fcb_2" ; "dealloc#B#instance.8757740e0d47129962d40fbccbdf4d3f_1" [label="1: Start B.dealloc\nFormals: self:B*\nLocals: \n " color=yellow style=filled] "dealloc#B#instance.8757740e0d47129962d40fbccbdf4d3f_1" -> "dealloc#B#instance.8757740e0d47129962d40fbccbdf4d3f_3" ; "dealloc#B#instance.8757740e0d47129962d40fbccbdf4d3f_2" [label="2: Exit B.dealloc \n " color=yellow style=filled] "dealloc#B#instance.8757740e0d47129962d40fbccbdf4d3f_3" [label="3: Call dealloc \n n$6=*&self:B* [line 31, column 1]\n n$7=*n$6._d:D* [line 31, column 1]\n n$8=_fun_D.dealloc(n$7:D*) [line 31, column 1]\n " shape="box"] "dealloc#B#instance.8757740e0d47129962d40fbccbdf4d3f_3" -> "dealloc#B#instance.8757740e0d47129962d40fbccbdf4d3f_2" ; "sHandler:#B#instance.590685250eb38eaab242405cd45c572b_1" [label="1: Start B.sHandler:\nFormals: self:B* h:_fn_(*)\nLocals: \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 28, column 3]\n n$1=*&h:_fn_(*) [line 28, column 14]\n *n$0._h:_fn_(*)=n$1 [line 28, column 3]\n " shape="box"] "sHandler:#B#instance.590685250eb38eaab242405cd45c572b_3" -> "sHandler:#B#instance.590685250eb38eaab242405cd45c572b_2" ; }