global statement removal: hphp/test [7/x]
[hiphop-php.git] / hphp / test / quick / cuf04.php
blob86635baca8798fdb6e2ca1511fcafdaa42db42e3
1 <?hh
2 class C {
3 public function foo() { echo "C::foo\n"; var_dump(static::class); }
4 public static function bar() { echo "C::bar\n"; var_dump(static::class); }
6 class D extends C {
7 public function foo() { echo "D::foo\n"; var_dump(static::class); }
8 public static function bar() { echo "D::bar\n"; var_dump(static::class); }
10 class E {
11 public function foo() { echo "E::foo\n"; var_dump(static::class); }
12 public static function bar() { echo "E::bar\n"; var_dump(static::class); }
16 function main() {
17 call_user_func(array('C', 'foo'));
18 call_user_func(array('C', 'C::foo'));
19 call_user_func(array('C', 'D::foo')); // warns and bails returning null
20 call_user_func(array('C', 'E::foo')); // warns and bails returning null
22 call_user_func(array('C', 'bar'));
23 call_user_func(array('C', 'C::bar'));
24 call_user_func(array('C', 'D::bar')); // warns and bails returning null
25 call_user_func(array('C', 'E::bar')); // warns and bails returning null
27 call_user_func(array('D', 'foo'));
28 call_user_func(array('D', 'C::foo'));
29 call_user_func(array('D', 'D::foo'));
30 call_user_func(array('D', 'E::foo')); // warns and bails returning null
32 call_user_func(array('D', 'bar'));
33 call_user_func(array('D', 'C::bar'));
34 call_user_func(array('D', 'D::bar'));
35 call_user_func(array('D', 'E::bar')); // warns and bails returning null
37 call_user_func(array('E', 'foo'));
38 call_user_func(array('E', 'C::foo'));
39 call_user_func(array('E', 'D::foo'));
40 call_user_func(array('E', 'E::foo')); // warns and bails returning null
42 call_user_func(array('E', 'bar'));
43 call_user_func(array('E', 'C::bar'));
44 call_user_func(array('E', 'D::bar'));
45 call_user_func(array('E', 'E::bar')); // warns and bails returning null
47 main();