1--TEST--
2ReflectionMethod::getStaticVariables()
3--FILE--
4<?php
5
6class TestClass {
7    public function foo() {
8        static $c;
9        static $a = 1;
10        static $b = "hello";
11        $d = 5;
12    }
13
14    private function bar() {
15        static $a = 1;
16    }
17
18    public function noStatics() {
19        $a = 54;
20    }
21}
22
23echo "Public method:\n";
24$methodInfo = new ReflectionMethod('TestClass', 'foo');
25var_dump($methodInfo->getStaticVariables());
26
27echo "\nPrivate method:\n";
28$methodInfo = new ReflectionMethod('TestClass', 'bar');
29var_dump($methodInfo->getStaticVariables());
30
31echo "\nMethod with no static variables:\n";
32$methodInfo = new ReflectionMethod('TestClass', 'noStatics');
33var_dump($methodInfo->getStaticVariables());
34
35echo "\nInternal Method:\n";
36$methodInfo = new ReflectionMethod('ReflectionClass', 'getName');
37var_dump($methodInfo->getStaticVariables());
38
39?>
40--EXPECT--
41Public method:
42array(3) {
43  ["c"]=>
44  NULL
45  ["a"]=>
46  int(1)
47  ["b"]=>
48  string(5) "hello"
49}
50
51Private method:
52array(1) {
53  ["a"]=>
54  int(1)
55}
56
57Method with no static variables:
58array(0) {
59}
60
61Internal Method:
62array(0) {
63}
64