jani Fri, 22 Jan 2010 14:21:17 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=293850
Log:
- Fixed bug #50823 (ReflectionFunction::isDeprecated producing "cannot be
called statically" error)
# Partial MF53 of r273045 by Felipe :)
Bug: http://bugs.php.net/50823 (Open) ReflectionFunction::isDeprecated
producing "cannot be called statically" error
Changed paths:
U php/php-src/branches/PHP_5_2/NEWS
U php/php-src/branches/PHP_5_2/ext/reflection/php_reflection.c
Modified: php/php-src/branches/PHP_5_2/NEWS
===================================================================
--- php/php-src/branches/PHP_5_2/NEWS 2010-01-22 13:27:38 UTC (rev 293849)
+++ php/php-src/branches/PHP_5_2/NEWS 2010-01-22 14:21:17 UTC (rev 293850)
@@ -17,6 +17,8 @@
gdImageFilledPolygon (libgd #100). (Takeshi Abe)
- Fixed build of mysqli with MySQL 5.5.0-m2. (Andrey)
+- Fixed bug #50823 (ReflectionFunction::isDeprecated producing "cannot be called
+ statically" error). (Jani, Felipe)
- Fixed bug #50791 (Compile failure: Bad logic in defining fopencookie
emulation). (Jani)
- Fixed bug #50787 (stream_set_write_buffer() has no effect on socket
Modified: php/php-src/branches/PHP_5_2/ext/reflection/php_reflection.c
===================================================================
--- php/php-src/branches/PHP_5_2/ext/reflection/php_reflection.c 2010-01-22 13:27:38 UTC (rev 293849)
+++ php/php-src/branches/PHP_5_2/ext/reflection/php_reflection.c 2010-01-22 14:21:17 UTC (rev 293850)
@@ -82,8 +82,8 @@
return; \
} \
-#define METHOD_NOTSTATIC_NUMPARAMS(ce, c) METHOD_NOTSTATIC(ce) \
- if (ZEND_NUM_ARGS() > c) { \
+#define METHOD_NOPARAMS() \
+ if (ZEND_NUM_ARGS() > 0) { \
ZEND_WRONG_PARAM_COUNT(); \
} \
@@ -1018,7 +1018,7 @@
reflection_object *intern;
zend_function *mptr;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_method_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(mptr);
RETURN_BOOL(mptr->common.fn_flags & mask);
}
@@ -1420,7 +1420,7 @@
zend_function *fptr;
string str;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_function_abstract_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(fptr);
string_init(&str);
_function_string(&str, fptr, intern->ce, "" TSRMLS_CC);
@@ -1432,7 +1432,7 @@
Returns this function's name */
ZEND_METHOD(reflection, function_getName)
{
- METHOD_NOTSTATIC_NUMPARAMS(reflection_function_abstract_ptr, 0);
+ METHOD_NOPARAMS();
_default_get_entry(getThis(), "name", sizeof("name"), return_value TSRMLS_CC);
}
/* }}} */
@@ -1444,7 +1444,7 @@
reflection_object *intern;
zend_function *fptr;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_function_abstract_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(fptr);
RETURN_BOOL(fptr->type == ZEND_INTERNAL_FUNCTION);
}
@@ -1457,7 +1457,7 @@
reflection_object *intern;
zend_function *fptr;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_function_abstract_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(fptr);
RETURN_BOOL(fptr->type == ZEND_USER_FUNCTION);
}
@@ -1483,7 +1483,7 @@
reflection_object *intern;
zend_function *fptr;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_function_abstract_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(fptr);
if (fptr->type == ZEND_USER_FUNCTION) {
RETURN_STRING(fptr->op_array.filename, 1);
@@ -1499,7 +1499,7 @@
reflection_object *intern;
zend_function *fptr;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_function_abstract_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(fptr);
if (fptr->type == ZEND_USER_FUNCTION) {
RETURN_LONG(fptr->op_array.line_start);
@@ -1515,7 +1515,7 @@
reflection_object *intern;
zend_function *fptr;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_function_abstract_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(fptr);
if (fptr->type == ZEND_USER_FUNCTION) {
RETURN_LONG(fptr->op_array.line_end);
@@ -1531,7 +1531,7 @@
reflection_object *intern;
zend_function *fptr;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_function_abstract_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(fptr);
if (fptr->type == ZEND_USER_FUNCTION && fptr->op_array.doc_comment) {
RETURN_STRINGL(fptr->op_array.doc_comment, fptr->op_array.doc_comment_len, 1);
@@ -1548,7 +1548,7 @@
reflection_object *intern;
zend_function *fptr;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_function_abstract_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(fptr);
/* Return an empty array in case no static variables exist */
@@ -1940,7 +1940,7 @@
parameter_reference *param;
string str;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(param);
string_init(&str);
_parameter_string(&str, param->fptr, param->arg_info, param->offset, param->required, "" TSRMLS_CC);
@@ -1952,7 +1952,7 @@
Returns this parameters's name */
ZEND_METHOD(reflection_parameter, getName)
{
- METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0);
+ METHOD_NOPARAMS();
_default_get_entry(getThis(), "name", sizeof("name"), return_value TSRMLS_CC);
}
/* }}} */
@@ -1964,7 +1964,7 @@
reflection_object *intern;
parameter_reference *param;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(param);
if (!param->fptr->common.scope) {
@@ -1982,7 +1982,7 @@
reflection_object *intern;
parameter_reference *param;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(param);
if (param->fptr->common.scope) {
@@ -1999,7 +1999,7 @@
parameter_reference *param;
zend_class_entry **pce, *ce;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(param);
if (param->arg_info->class_name) {
@@ -2053,7 +2053,7 @@
reflection_object *intern;
parameter_reference *param;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(param);
RETVAL_BOOL(param->arg_info->array_type_hint);
@@ -2067,7 +2067,7 @@
reflection_object *intern;
parameter_reference *param;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(param);
RETVAL_BOOL(param->arg_info->allow_null);
@@ -2081,7 +2081,7 @@
reflection_object *intern;
parameter_reference *param;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(param);
RETVAL_BOOL(param->arg_info->pass_by_reference);
@@ -2095,7 +2095,7 @@
reflection_object *intern;
parameter_reference *param;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(param);
RETVAL_LONG(param->offset);
@@ -2109,7 +2109,7 @@
reflection_object *intern;
parameter_reference *param;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(param);
RETVAL_BOOL(param->offset >= param->required);
@@ -2124,7 +2124,7 @@
parameter_reference *param;
zend_op *precv;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(param);
if (param->fptr->type != ZEND_USER_FUNCTION)
@@ -2150,7 +2150,7 @@
parameter_reference *param;
zend_op *precv;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(param);
if (param->fptr->type != ZEND_USER_FUNCTION)
@@ -2283,7 +2283,7 @@
zend_function *mptr;
string str;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_method_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(mptr);
string_init(&str);
_function_string(&str, mptr, intern->ce, "" TSRMLS_CC);
@@ -2561,7 +2561,7 @@
reflection_object *intern;
zend_function *mptr;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_method_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(mptr);
/* we need to check if the ctor is the ctor of the class level we we
* looking at since we might be looking at an inherited old style ctor
@@ -2577,7 +2577,7 @@
reflection_object *intern;
zend_function *mptr;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_method_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(mptr);
RETURN_BOOL(mptr->common.fn_flags & ZEND_ACC_DTOR);
}
@@ -2590,7 +2590,7 @@
reflection_object *intern;
zend_function *mptr;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_method_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(mptr);
RETURN_LONG(mptr->common.fn_flags);
@@ -2709,7 +2709,7 @@
HashPosition pos;
zval **value;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
zend_update_class_constants(ce TSRMLS_CC);
@@ -2822,7 +2822,7 @@
int count, i;
HashTable *ht_list[3];
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
array_init(return_value);
@@ -2875,7 +2875,7 @@
zend_class_entry *ce;
string str;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
string_init(&str);
_class_string(&str, ce, intern->obj, "" TSRMLS_CC);
@@ -2887,7 +2887,7 @@
Returns the class' name */
ZEND_METHOD(reflection_class, getName)
{
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
_default_get_entry(getThis(), "name", sizeof("name"), return_value TSRMLS_CC);
}
/* }}} */
@@ -2899,7 +2899,7 @@
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
RETURN_BOOL(ce->type == ZEND_INTERNAL_CLASS);
}
@@ -2912,7 +2912,7 @@
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
RETURN_BOOL(ce->type == ZEND_USER_CLASS);
}
@@ -2925,7 +2925,7 @@
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
if (ce->type == ZEND_USER_CLASS) {
RETURN_STRING(ce->filename, 1);
@@ -2941,7 +2941,7 @@
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
if (ce->type == ZEND_USER_FUNCTION) {
RETURN_LONG(ce->line_start);
@@ -2957,7 +2957,7 @@
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
if (ce->type == ZEND_USER_CLASS) {
RETURN_LONG(ce->line_end);
@@ -2973,7 +2973,7 @@
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
if (ce->type == ZEND_USER_CLASS && ce->doc_comment) {
RETURN_STRINGL(ce->doc_comment, ce->doc_comment_len, 1);
@@ -2989,7 +2989,7 @@
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
if (ce->constructor) {
@@ -3310,7 +3310,7 @@
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
array_init(return_value);
zend_hash_apply_with_argument(&ce->constants_table, (apply_func_arg_t) zval_update_constant, (void*)1 TSRMLS_CC);
@@ -3350,7 +3350,7 @@
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
RETVAL_BOOL(ce->ce_flags & mask);
}
@@ -3363,7 +3363,7 @@
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_EXPLICIT_ABSTRACT_CLASS | ZEND_ACC_IMPLICIT_ABSTRACT_CLASS)) {
RETURN_FALSE;
@@ -3410,7 +3410,7 @@
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
RETURN_LONG(ce->ce_flags);
@@ -3586,7 +3586,7 @@
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
/* Return an empty array if this class implements no interfaces */
@@ -3613,7 +3613,7 @@
zend_class_entry *ce;
zend_uint i;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
/* Return an empty array if this class implements no interfaces */
@@ -3632,7 +3632,7 @@
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ce);
if (ce->parent) {
@@ -3919,7 +3919,7 @@
property_reference *ref;
string str;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_property_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ref);
string_init(&str);
_property_string(&str, &ref->prop, NULL, "" TSRMLS_CC);
@@ -3931,7 +3931,7 @@
Returns the class' name */
ZEND_METHOD(reflection_property, getName)
{
- METHOD_NOTSTATIC_NUMPARAMS(reflection_property_ptr, 0);
+ METHOD_NOPARAMS();
_default_get_entry(getThis(), "name", sizeof("name"), return_value TSRMLS_CC);
}
/* }}} */
@@ -3941,7 +3941,7 @@
reflection_object *intern;
property_reference *ref;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_property_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ref);
RETURN_BOOL(ref->prop.flags & mask);
}
@@ -3993,7 +3993,7 @@
reflection_object *intern;
property_reference *ref;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_property_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ref);
RETURN_LONG(ref->prop.flags);
@@ -4124,7 +4124,7 @@
char *prop_name, *class_name;
int prop_name_len;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_property_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ref);
if (zend_unmangle_property_name(ref->prop.name, ref->prop.name_length, &class_name, &prop_name) != SUCCESS) {
@@ -4157,7 +4157,7 @@
reflection_object *intern;
property_reference *ref;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_property_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(ref);
if (ref->prop.doc_comment) {
RETURN_STRINGL(ref->prop.doc_comment, ref->prop.doc_comment_len, 1);
@@ -4221,7 +4221,7 @@
zend_module_entry *module;
string str;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(module);
string_init(&str);
_extension_string(&str, module, "" TSRMLS_CC);
@@ -4233,7 +4233,7 @@
Returns this extension's name */
ZEND_METHOD(reflection_extension, getName)
{
- METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0);
+ METHOD_NOPARAMS();
_default_get_entry(getThis(), "name", sizeof("name"), return_value TSRMLS_CC);
}
/* }}} */
@@ -4245,7 +4245,7 @@
reflection_object *intern;
zend_module_entry *module;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(module);
/* An extension does not necessarily have a version number */
@@ -4264,7 +4264,7 @@
reflection_object *intern;
zend_module_entry *module;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(module);
array_init(return_value);
@@ -4313,7 +4313,7 @@
reflection_object *intern;
zend_module_entry *module;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(module);
array_init(return_value);
@@ -4345,7 +4345,7 @@
reflection_object *intern;
zend_module_entry *module;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(module);
array_init(return_value);
@@ -4381,7 +4381,7 @@
reflection_object *intern;
zend_module_entry *module;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(module);
array_init(return_value);
@@ -4396,7 +4396,7 @@
reflection_object *intern;
zend_module_entry *module;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(module);
array_init(return_value);
@@ -4412,7 +4412,7 @@
zend_module_entry *module;
zend_module_dep *dep;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(module);
array_init(return_value);
@@ -4463,7 +4463,7 @@
reflection_object *intern;
zend_module_entry *module;
- METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0);
+ METHOD_NOPARAMS();
GET_REFLECTION_OBJECT_PTR(module);
php_info_print_module(module TSRMLS_CC);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php