Annotation of embedaddon/php/ext/reflection/tests/ReflectionMethod_getModifiers_basic.phpt, revision 1.1.1.2
1.1 misho 1: --TEST--
2: ReflectionMethod::getModifiers()
3: --FILE--
4: <?php
5:
6: function reflectMethodModifiers($class) {
7: $classInfo = new reflectionClass($class);
8: $methodArray = $classInfo->getMethods();
9:
10: foreach ($methodArray as $method) {
11: echo "Modifiers for method $method->class::$method->name():\n";
1.1.1.2 ! misho 12: printf("0x%08x\n", $method->getModifiers());
1.1 misho 13: echo "\n\n";
14: }
15: }
16:
17: class TestClass
18: {
19: public function foo() {
20: echo "Called foo()\n";
21: }
22:
23: static function stat() {
24: echo "Called stat()\n";
25: }
26:
27: private function priv() {
28: echo "Called priv()\n";
29: }
30:
31: protected function prot() {}
32:
33: public final function fin() {}
34:
35: public function __destruct() {}
36:
37: public function __call($a, $b) {}
38:
39: public function __clone() {}
40:
41: public function __get($a) {}
42:
43: public function __set($a, $b) {}
44:
45: public function __unset($a) {}
46:
47: public function __isset($a) {}
48:
49: public function __tostring() {}
50:
51: public function __sleep() {}
52:
53: public function __wakeup() {}
54:
55: public function __set_state() {}
56:
57: public function __autoload() {}
58: }
59:
60: class DerivedClass extends TestClass {}
61:
62: interface TestInterface {
63: public function int();
64: public function __clone();
65: }
66:
67: abstract class AbstractClass {
68: public abstract function foo();
69: }
70:
71:
72:
73: reflectMethodModifiers("TestClass");
74: reflectMethodModifiers("DerivedClass");
75: reflectMethodModifiers("TestInterface");
76: reflectMethodModifiers("AbstractClass");
77:
78: echo "Wrong number of params:\n";
79: $a = new ReflectionMethod('TestClass::foo');
80: $a->getModifiers(1);
81:
82: $a = new ReflectionMethod('ReflectionMethod::getModifiers');
83:
84: echo "\nReflectionMethod::getModifiers() modifiers:\n";
1.1.1.2 ! misho 85: printf("0x%08x\n", $a->getModifiers());
1.1 misho 86:
87: ?>
88: --EXPECTF--
89: Modifiers for method TestClass::foo():
1.1.1.2 ! misho 90: 0x08010100
1.1 misho 91:
92:
93: Modifiers for method TestClass::stat():
1.1.1.2 ! misho 94: 0x08000101
1.1 misho 95:
96:
97: Modifiers for method TestClass::priv():
1.1.1.2 ! misho 98: 0x08010400
1.1 misho 99:
100:
101: Modifiers for method TestClass::prot():
1.1.1.2 ! misho 102: 0x08010200
1.1 misho 103:
104:
105: Modifiers for method TestClass::fin():
1.1.1.2 ! misho 106: 0x08010104
1.1 misho 107:
108:
109: Modifiers for method TestClass::__destruct():
1.1.1.2 ! misho 110: 0x08004100
1.1 misho 111:
112:
113: Modifiers for method TestClass::__call():
1.1.1.2 ! misho 114: 0x08000100
1.1 misho 115:
116:
117: Modifiers for method TestClass::__clone():
1.1.1.2 ! misho 118: 0x08008100
1.1 misho 119:
120:
121: Modifiers for method TestClass::__get():
1.1.1.2 ! misho 122: 0x08000100
1.1 misho 123:
124:
125: Modifiers for method TestClass::__set():
1.1.1.2 ! misho 126: 0x08000100
1.1 misho 127:
128:
129: Modifiers for method TestClass::__unset():
1.1.1.2 ! misho 130: 0x08000100
1.1 misho 131:
132:
133: Modifiers for method TestClass::__isset():
1.1.1.2 ! misho 134: 0x08000100
1.1 misho 135:
136:
137: Modifiers for method TestClass::__tostring():
1.1.1.2 ! misho 138: 0x08000100
1.1 misho 139:
140:
141: Modifiers for method TestClass::__sleep():
1.1.1.2 ! misho 142: 0x08010100
1.1 misho 143:
144:
145: Modifiers for method TestClass::__wakeup():
1.1.1.2 ! misho 146: 0x08010100
1.1 misho 147:
148:
149: Modifiers for method TestClass::__set_state():
1.1.1.2 ! misho 150: 0x08010100
1.1 misho 151:
152:
153: Modifiers for method TestClass::__autoload():
1.1.1.2 ! misho 154: 0x08010100
1.1 misho 155:
156:
157: Modifiers for method TestClass::foo():
1.1.1.2 ! misho 158: 0x08010100
1.1 misho 159:
160:
161: Modifiers for method TestClass::stat():
1.1.1.2 ! misho 162: 0x08000101
1.1 misho 163:
164:
165: Modifiers for method TestClass::priv():
1.1.1.2 ! misho 166: 0x08010400
1.1 misho 167:
168:
169: Modifiers for method TestClass::prot():
1.1.1.2 ! misho 170: 0x08010200
1.1 misho 171:
172:
173: Modifiers for method TestClass::fin():
1.1.1.2 ! misho 174: 0x08010104
1.1 misho 175:
176:
177: Modifiers for method TestClass::__destruct():
1.1.1.2 ! misho 178: 0x08004100
1.1 misho 179:
180:
181: Modifiers for method TestClass::__call():
1.1.1.2 ! misho 182: 0x08000100
1.1 misho 183:
184:
185: Modifiers for method TestClass::__clone():
1.1.1.2 ! misho 186: 0x08008100
1.1 misho 187:
188:
189: Modifiers for method TestClass::__get():
1.1.1.2 ! misho 190: 0x08000100
1.1 misho 191:
192:
193: Modifiers for method TestClass::__set():
1.1.1.2 ! misho 194: 0x08000100
1.1 misho 195:
196:
197: Modifiers for method TestClass::__unset():
1.1.1.2 ! misho 198: 0x08000100
1.1 misho 199:
200:
201: Modifiers for method TestClass::__isset():
1.1.1.2 ! misho 202: 0x08000100
1.1 misho 203:
204:
205: Modifiers for method TestClass::__tostring():
1.1.1.2 ! misho 206: 0x08000100
1.1 misho 207:
208:
209: Modifiers for method TestClass::__sleep():
1.1.1.2 ! misho 210: 0x08010100
1.1 misho 211:
212:
213: Modifiers for method TestClass::__wakeup():
1.1.1.2 ! misho 214: 0x08010100
1.1 misho 215:
216:
217: Modifiers for method TestClass::__set_state():
1.1.1.2 ! misho 218: 0x08010100
1.1 misho 219:
220:
221: Modifiers for method TestClass::__autoload():
1.1.1.2 ! misho 222: 0x08010100
1.1 misho 223:
224:
225: Modifiers for method TestInterface::int():
1.1.1.2 ! misho 226: 0x08000102
1.1 misho 227:
228:
229: Modifiers for method TestInterface::__clone():
1.1.1.2 ! misho 230: 0x08000102
1.1 misho 231:
232:
233: Modifiers for method AbstractClass::foo():
1.1.1.2 ! misho 234: 0x08010102
1.1 misho 235:
236:
237: Wrong number of params:
238:
1.1.1.2 ! misho 239: Warning: ReflectionMethod::getModifiers() expects exactly 0 parameters, 1 given in %sReflectionMethod_getModifiers_basic.php on line %d
1.1 misho 240:
241: ReflectionMethod::getModifiers() modifiers:
1.1.1.2 ! misho 242: 0x00000100
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>