mirror of
https://github.com/php/php-src.git
synced 2026-03-27 01:32:22 +01:00
Fixed bug #43483 (get_class_methods() does not list all visible methods)
This commit is contained in:
2
NEWS
2
NEWS
@@ -81,6 +81,8 @@ PHP NEWS
|
||||
is not available). (Ilia)
|
||||
- Fixed bug #43491 (Under certain conditions, file_exists() never returns).
|
||||
(Dmitry)
|
||||
- Fixed bug #43483 (get_class_methods() does not list all visible methods).
|
||||
(Dmitry)
|
||||
- Fixed bug #43482 (array_pad() does not warn on very small pad numbers).
|
||||
(Ilia)
|
||||
- Fixed bug #43457 (Prepared statement with incorrect parms doesn't throw
|
||||
|
||||
24
Zend/tests/bug43483.phpt
Normal file
24
Zend/tests/bug43483.phpt
Normal file
@@ -0,0 +1,24 @@
|
||||
--TEST--
|
||||
Bug #43483 (get_class_methods() does not list all visible methods)
|
||||
--FILE--
|
||||
<?php
|
||||
class C {
|
||||
public static function test() {
|
||||
D::prot();
|
||||
print_r(get_class_methods("D"));
|
||||
}
|
||||
}
|
||||
class D extends C {
|
||||
protected static function prot() {
|
||||
echo "Successfully called D::prot().\n";
|
||||
}
|
||||
}
|
||||
D::test();
|
||||
?>
|
||||
--EXPECT--
|
||||
Successfully called D::prot().
|
||||
Array
|
||||
(
|
||||
[0] => prot
|
||||
[1] => test
|
||||
)
|
||||
@@ -867,7 +867,7 @@ ZEND_FUNCTION(get_class_methods)
|
||||
if ((mptr->common.fn_flags & ZEND_ACC_PUBLIC)
|
||||
|| (EG(scope) &&
|
||||
(((mptr->common.fn_flags & ZEND_ACC_PROTECTED) &&
|
||||
instanceof_function(EG(scope), mptr->common.scope TSRMLS_CC))
|
||||
zend_check_protected(mptr->common.scope, EG(scope)))
|
||||
|| ((mptr->common.fn_flags & ZEND_ACC_PRIVATE) &&
|
||||
EG(scope) == mptr->common.scope)))) {
|
||||
char *key;
|
||||
|
||||
Reference in New Issue
Block a user