Annotation of embedaddon/php/ext/reflection/tests/ReflectionMethod_getModifiers_basic.phpt, revision 1.1.1.1

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";
                     12:         var_dump($method->getModifiers());
                     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";
                     85: var_dump($a->getModifiers());
                     86: 
                     87: ?>
                     88: --EXPECTF--
                     89: Modifiers for method TestClass::foo():
                     90: int(65792)
                     91: 
                     92: 
                     93: Modifiers for method TestClass::stat():
                     94: int(257)
                     95: 
                     96: 
                     97: Modifiers for method TestClass::priv():
                     98: int(66560)
                     99: 
                    100: 
                    101: Modifiers for method TestClass::prot():
                    102: int(66048)
                    103: 
                    104: 
                    105: Modifiers for method TestClass::fin():
                    106: int(65796)
                    107: 
                    108: 
                    109: Modifiers for method TestClass::__destruct():
                    110: int(16640)
                    111: 
                    112: 
                    113: Modifiers for method TestClass::__call():
                    114: int(256)
                    115: 
                    116: 
                    117: Modifiers for method TestClass::__clone():
                    118: int(33024)
                    119: 
                    120: 
                    121: Modifiers for method TestClass::__get():
                    122: int(256)
                    123: 
                    124: 
                    125: Modifiers for method TestClass::__set():
                    126: int(256)
                    127: 
                    128: 
                    129: Modifiers for method TestClass::__unset():
                    130: int(256)
                    131: 
                    132: 
                    133: Modifiers for method TestClass::__isset():
                    134: int(256)
                    135: 
                    136: 
                    137: Modifiers for method TestClass::__tostring():
                    138: int(256)
                    139: 
                    140: 
                    141: Modifiers for method TestClass::__sleep():
                    142: int(65792)
                    143: 
                    144: 
                    145: Modifiers for method TestClass::__wakeup():
                    146: int(65792)
                    147: 
                    148: 
                    149: Modifiers for method TestClass::__set_state():
                    150: int(65792)
                    151: 
                    152: 
                    153: Modifiers for method TestClass::__autoload():
                    154: int(65792)
                    155: 
                    156: 
                    157: Modifiers for method TestClass::foo():
                    158: int(65792)
                    159: 
                    160: 
                    161: Modifiers for method TestClass::stat():
                    162: int(257)
                    163: 
                    164: 
                    165: Modifiers for method TestClass::priv():
                    166: int(66560)
                    167: 
                    168: 
                    169: Modifiers for method TestClass::prot():
                    170: int(66048)
                    171: 
                    172: 
                    173: Modifiers for method TestClass::fin():
                    174: int(65796)
                    175: 
                    176: 
                    177: Modifiers for method TestClass::__destruct():
                    178: int(16640)
                    179: 
                    180: 
                    181: Modifiers for method TestClass::__call():
                    182: int(256)
                    183: 
                    184: 
                    185: Modifiers for method TestClass::__clone():
                    186: int(33024)
                    187: 
                    188: 
                    189: Modifiers for method TestClass::__get():
                    190: int(256)
                    191: 
                    192: 
                    193: Modifiers for method TestClass::__set():
                    194: int(256)
                    195: 
                    196: 
                    197: Modifiers for method TestClass::__unset():
                    198: int(256)
                    199: 
                    200: 
                    201: Modifiers for method TestClass::__isset():
                    202: int(256)
                    203: 
                    204: 
                    205: Modifiers for method TestClass::__tostring():
                    206: int(256)
                    207: 
                    208: 
                    209: Modifiers for method TestClass::__sleep():
                    210: int(65792)
                    211: 
                    212: 
                    213: Modifiers for method TestClass::__wakeup():
                    214: int(65792)
                    215: 
                    216: 
                    217: Modifiers for method TestClass::__set_state():
                    218: int(65792)
                    219: 
                    220: 
                    221: Modifiers for method TestClass::__autoload():
                    222: int(65792)
                    223: 
                    224: 
                    225: Modifiers for method TestInterface::int():
                    226: int(258)
                    227: 
                    228: 
                    229: Modifiers for method TestInterface::__clone():
                    230: int(258)
                    231: 
                    232: 
                    233: Modifiers for method AbstractClass::foo():
                    234: int(65794)
                    235: 
                    236: 
                    237: Wrong number of params:
                    238: 
                    239: Warning: ReflectionMethod::getModifiers() expects exactly 0 parameters, 1 given in %s on line %d
                    240: 
                    241: ReflectionMethod::getModifiers() modifiers:
                    242: int(256)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>