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>