global statement removal: hphp/test [7/x]
[hiphop-php.git] / hphp / test / quick / recursive-unset.php
blob7ddbe77ba7acc218c295fe35929e5510d1a096d2
1 <?hh
3 error_reporting(-1);
5 //////////////////////////////////////////////////////////////////////
7 class Foo {
8 public function __unset($name) {
9 var_dump($name);
10 if ($name != 'bar') unset($this->bar);
14 function main1() {
15 $f = new Foo;
16 unset($f->foo);
19 //////////////////////////////////////////////////////////////////////
21 class Foo2 {
22 public function __unset($name) {
23 var_dump($name);
24 unset($this->foo);
28 function main2() {
29 $f = new Foo2;
30 unset($f->bar);
33 //////////////////////////////////////////////////////////////////////
35 class CaseFoo {
36 public function __unset($name) {
37 var_dump($name);
38 if ($name === 'bar') { unset($this->Bar); return; }
39 if ($name === 'Bar') { unset($this->foo); return; }
40 if ($name === 'foo') { unset($this->bar); return; }
41 var_dump("shouldn't get here");
45 function main3() {
46 $f = new CaseFoo;
47 unset($f->bar);
50 //////////////////////////////////////////////////////////////////////
52 main1();
53 echo "--\n";
54 main2();
55 echo "--\n";
56 main3();
57 echo "--\n";