Basic flow analysis on if statements
[hiphop-php.git] / hphp / test / slow / finally / finally_break_006.php
blob5dc26be9f5d94ecac1bddcb6b9766c600fd989aa
1 <?hh
3 function blah() {
4 $xs = varray[11, 22, 33, 44, 55];
5 $ys = varray['a', 'b', 'c', 'd', 'e', 'f'];
7 try {
8 echo "try\n";
9 } finally {
10 echo "begin final finally\n";
11 foreach ($ys as $y) {
12 echo "begin outer loop $y\n";
13 try {
14 try {
15 foreach ($xs as $x) {
16 echo "begin inner loop $x\n";
17 if ($x == 22) {
18 echo "continue\n";
19 continue;
21 echo "end inner loop $x\n";
23 } finally {
24 echo "inner finally\n";
26 } finally {
27 echo "outer finally\n";
29 echo "middle outer loop\n";
30 try {
31 try {
32 $continue_after_loop = false;
33 foreach ($xs as $x) {
34 echo "begin inner loop $x\n";
35 if ($x == 22 && $y == 'b') {
36 echo "continue 2\n";
37 $continue_after_loop = true;
38 break;
40 if ($x == 33) {
41 echo "break\n";
42 break;
44 echo "end inner loop $x\n";
46 if ($continue_after_loop) continue;
47 } finally {
48 echo "inner finally 2\n";
50 } finally {
51 echo "outer finally 2\n";
53 echo "end outer loop\n";
55 echo "final finally\n";
61 <<__EntryPoint>>
62 function main_finally_break_006() {
63 blah();