global statement removal: hphp/test [7/x]
[hiphop-php.git] / hphp / test / quick / recursive-isset.php
blob6104a8b2c1dfa596191d904147e5750cc1fb463b
1 <?hh
3 error_reporting(-1);
5 //////////////////////////////////////////////////////////////////////
7 class Foo {
8 public function __isset($name) {
9 var_dump($name);
10 if ($name != 'bar')
11 return isset($this->bar);
12 else
13 return true;
17 function main1() {
18 $f = new Foo;
19 var_dump(isset($f->foo));
22 //////////////////////////////////////////////////////////////////////
24 class Foo2 {
25 public function __isset($name) {
26 var_dump($name);
27 return isset($this->foo);
31 function main2() {
32 $f = new Foo2;
33 var_dump(isset($f->bar));
36 //////////////////////////////////////////////////////////////////////
38 class CaseFoo {
39 public function __isset($name) {
40 var_dump($name);
41 if ($name === 'bar') return isset($this->Bar);
42 if ($name === 'Bar') return isset($this->foo);
43 if ($name === 'foo') return isset($this->bar);
44 var_dump("shouldn't get here");
48 function main3() {
49 $f = new CaseFoo;
50 var_dump(isset($f->bar));
53 //////////////////////////////////////////////////////////////////////
55 main1();
56 echo "--\n";
57 main2();
58 echo "--\n";
59 main3();
60 echo "--\n";