Basic flow analysis on if statements
[hiphop-php.git] / hphp / test / slow / array_exceptions.php
blob8cb636478a73d7d703640271524e9725201fbdd3
1 <?hh
3 function examine($a) {
4 try { print $a[0]."\n"; }
5 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
7 try { print $a[1]."\n"; }
8 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
10 try { print $a["abc"]."\n"; }
11 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
13 try { print $a["def"]."\n"; }
14 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
16 try { $a[0] = "a"; }
17 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
19 try { $a[1] = "a"; }
20 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
22 try { $a["abc"] = "a"; }
23 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
25 try { $a["def"] = "a"; }
26 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
28 try { $a[] = " a"; }
29 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
33 function examine_io(inout $a) {
34 try { print $a[0]."\n"; }
35 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
37 try { print $a[1]."\n"; }
38 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
40 try { print $a["abc"]."\n"; }
41 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
43 try { print $a["def"]."\n"; }
44 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
46 try { $a[0] = "a"; }
47 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
49 try { $a[1] = "a"; }
50 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
52 try { $a["abc"] = "a"; }
53 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
55 try { $a["def"] = "a"; }
56 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
58 try { $a[] = " a"; }
59 catch(Exception $e) { echo get_class($e).": ".$e->getMessage()."\n"; }
63 <<__EntryPoint>>
64 function main() {
65 print "vec:\n";
66 examine(vec["test"]);
67 $a = vec["test"];
68 examine_io(inout $a);
69 print "varray:\n";
70 examine(varray["test"]);
71 $a = varray["test"];
72 examine_io(inout $a);
73 print "dict:\n";
74 examine(dict[0 => "test"]);
75 $a = dict[0 => "test"];
76 examine_io(inout $a);
77 print "darray:\n";
78 examine(darray[0 => "test"]);
79 $a = darray[0 => "test"];
80 examine_io(inout $a);
81 print "keyset:\n";
82 examine(keyset[0]);
83 $a = keyset[0];
84 examine_io(inout $a);