global statement removal: hphp/test [7/x]
[hiphop-php.git] / hphp / test / quick / SetOpProp.php
blob2a16b5d8a88033390a16947d4090e92789505e1e
1 <?hh
3 print "Test begin\n";
5 class C {
6 public $p = 0;
9 class D {
10 private $container = array("a" => "D::a", "b" => 42);
11 public $p = 0;
12 public function __get($k) {
13 print "In D::__get($k)\n";
14 return isset($this->container[$k]) ? $this->container[$k] : null;
18 class E {
19 private $container = array("a" => "E::a", "b" => 42);
20 public $p = 0;
21 public function __get($k) {
22 print "In E::__get($k)\n";
23 return isset($this->container[$k]) ? $this->container[$k] : null;
25 public function __set($k, $v) {
26 print "In E::__set($k, $v)\n";
27 $this->container[$k] = $v;
31 $o = new C;
32 $o->a .= "<a>";
33 $o->b .= "<b>";
34 $o->b .= "<b>";
35 $o->p += 1;
36 $o->q += 1;
37 $o->r .= "hello";
38 print_r($o);
40 $o = new D;
41 $o->a .= "<a>";
42 $o->b .= "<b>";
43 $o->b .= "<b>";
44 $o->p += 1;
45 $o->q += 1;
46 $o->r .= "hello";
47 print_r($o);
49 $o = new E;
50 $o->a .= "<a>";
51 $o->b .= "<b>";
52 $o->b .= "<b>";
53 $o->p += 1;
54 $o->q += 1;
55 $o->r .= "hello";
56 print_r($o);
58 $o = null;
59 $o->a .= "<a>";
60 $o->b .= "<b>";
61 $o->b .= "<b>";
62 $o->p += 1;
63 $o->q += 1;
64 $o->r .= "hello";
65 print_r($o);
67 $o = 42;
68 $o->a .= "<a>";
69 $o->b .= "<b>";
70 print_r($o);
71 print "\n";
73 print "Test end\n";