Annotation of embedaddon/php/ext/reflection/tests/bug39067.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #39067 (getDeclaringClass() and private properties)
! 3: --FILE--
! 4: <?php
! 5:
! 6: class A {
! 7: private $x;
! 8: }
! 9:
! 10: class B extends A {
! 11: private $x;
! 12: }
! 13:
! 14: class C extends B {
! 15: private $x;
! 16: }
! 17:
! 18: $rc = new ReflectionClass('C');
! 19: var_dump($rc->getProperty('x')->getDeclaringClass()->getName());
! 20:
! 21: $rc = new ReflectionClass('B');
! 22: var_dump($rc->getProperty('x')->getDeclaringClass()->getName());
! 23:
! 24: $rc = new ReflectionClass('A');
! 25: var_dump($rc->getProperty('x')->getDeclaringClass()->getName());
! 26:
! 27: class Test {
! 28: private $x;
! 29: }
! 30:
! 31: class Test2 extends Test {
! 32: public $x;
! 33: }
! 34:
! 35: $rc = new ReflectionClass('Test2');
! 36: var_dump($rc->getProperty('x')->getDeclaringClass()->getName());
! 37:
! 38: echo "Done\n";
! 39: ?>
! 40: --EXPECTF--
! 41: string(1) "C"
! 42: string(1) "B"
! 43: string(1) "A"
! 44: string(5) "Test2"
! 45: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>