1--TEST-- 2ReflectionClass::__toString() - verify 'inherits', 'overwrites' and 'prototype' parts of method representation 3--CREDITS-- 4Robin Fernandes <robinf@php.net> 5Steve Seear <stevseea@php.net> 6--FILE-- 7<?php 8Class A { 9 function f() {} 10} 11Class B extends A { 12 function f() {} 13} 14Class C extends B { 15 16} 17Class D extends C { 18 function f() {} 19} 20foreach (array('A', 'B', 'C', 'D') as $class) { 21 echo "\n\n----( Reflection class $class: )----\n"; 22 $rc = new ReflectionClass($class); 23 echo $rc; 24} 25 26?> 27--EXPECTF-- 28----( Reflection class A: )---- 29Class [ <user> class A ] { 30 @@ %s 2-4 31 32 - Constants [0] { 33 } 34 35 - Static properties [0] { 36 } 37 38 - Static methods [0] { 39 } 40 41 - Properties [0] { 42 } 43 44 - Methods [1] { 45 Method [ <user> public method f ] { 46 @@ %s 3 - 3 47 } 48 } 49} 50 51 52----( Reflection class B: )---- 53Class [ <user> class B extends A ] { 54 @@ %s 5-7 55 56 - Constants [0] { 57 } 58 59 - Static properties [0] { 60 } 61 62 - Static methods [0] { 63 } 64 65 - Properties [0] { 66 } 67 68 - Methods [1] { 69 Method [ <user, overwrites A, prototype A> public method f ] { 70 @@ %s 6 - 6 71 } 72 } 73} 74 75 76----( Reflection class C: )---- 77Class [ <user> class C extends B ] { 78 @@ %s 8-10 79 80 - Constants [0] { 81 } 82 83 - Static properties [0] { 84 } 85 86 - Static methods [0] { 87 } 88 89 - Properties [0] { 90 } 91 92 - Methods [1] { 93 Method [ <user, inherits B, prototype A> public method f ] { 94 @@ %s 6 - 6 95 } 96 } 97} 98 99 100----( Reflection class D: )---- 101Class [ <user> class D extends C ] { 102 @@ %s 11-13 103 104 - Constants [0] { 105 } 106 107 - Static properties [0] { 108 } 109 110 - Static methods [0] { 111 } 112 113 - Properties [0] { 114 } 115 116 - Methods [1] { 117 Method [ <user, overwrites B, prototype A> public method f ] { 118 @@ %s 12 - 12 119 } 120 } 121} 122