diff options
author | Antony Dovgal <tony2001@php.net> | 2005-09-16 20:20:46 +0000 |
---|---|---|
committer | Antony Dovgal <tony2001@php.net> | 2005-09-16 20:20:46 +0000 |
commit | 1b1c0e3c78f576d098f31496f877e28301be74c3 (patch) | |
tree | f17da87a2eebcc3e82e94e0948ab566ebe8360a0 /Zend/zend_reflection_api.c | |
parent | cc20c524497fe3dcd38cd8ec4ad0459daeb583da (diff) | |
download | php-git-1b1c0e3c78f576d098f31496f877e28301be74c3.tar.gz |
check class_entry of this_ptr in Reflection API, so we won't get an alien this_ptr
when called statically in a function that is called statically too (without being
declared as static)
Diffstat (limited to 'Zend/zend_reflection_api.c')
-rw-r--r-- | Zend/zend_reflection_api.c | 173 |
1 files changed, 87 insertions, 86 deletions
diff --git a/Zend/zend_reflection_api.c b/Zend/zend_reflection_api.c index 1685997e49..dec1f9d7d6 100644 --- a/Zend/zend_reflection_api.c +++ b/Zend/zend_reflection_api.c @@ -41,13 +41,14 @@ zend_class_entry *reflection_property_ptr; zend_class_entry *reflection_extension_ptr; /* Method macros */ -#define METHOD_NOTSTATIC \ - if (!this_ptr) { \ - zend_error(E_ERROR, "%v() cannot be called statically", get_active_function_name(TSRMLS_C)); \ + +#define METHOD_NOTSTATIC(ce) \ + if (!this_ptr || !instanceof_function(Z_OBJCE_P(this_ptr), ce TSRMLS_CC)) { \ + zend_error(E_ERROR, "%s() cannot be called statically", get_active_function_name(TSRMLS_C)); \ return; \ } \ -#define METHOD_NOTSTATIC_NUMPARAMS(c) METHOD_NOTSTATIC \ +#define METHOD_NOTSTATIC_NUMPARAMS(ce, c) METHOD_NOTSTATIC(ce) \ if (ZEND_NUM_ARGS() > c) { \ ZEND_WRONG_PARAM_COUNT(); \ } \ @@ -872,7 +873,7 @@ static void _function_check_flag(INTERNAL_FUNCTION_PARAMETERS, int mask) reflection_object *intern; zend_function *mptr; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_method_ptr, 0); GET_REFLECTION_OBJECT_PTR(mptr); RETURN_BOOL(mptr->common.fn_flags & mask); } @@ -1272,7 +1273,7 @@ ZEND_METHOD(reflection_function, __toString) zend_function *fptr; string str; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_function_ptr, 0); GET_REFLECTION_OBJECT_PTR(fptr); string_init(&str); _function_string(&str, fptr, "" TSRMLS_CC); @@ -1284,7 +1285,7 @@ ZEND_METHOD(reflection_function, __toString) Returns this function's name */ ZEND_METHOD(reflection, function_getName) { - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_function_ptr, 0); _default_get_entry(getThis(), "name", sizeof("name"), return_value TSRMLS_CC); } /* }}} */ @@ -1296,7 +1297,7 @@ ZEND_METHOD(reflection, function_isInternal) reflection_object *intern; zend_function *fptr; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_function_ptr, 0); GET_REFLECTION_OBJECT_PTR(fptr); RETURN_BOOL(fptr->type == ZEND_INTERNAL_FUNCTION); } @@ -1309,7 +1310,7 @@ ZEND_METHOD(reflection_function, isUserDefined) reflection_object *intern; zend_function *fptr; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_function_ptr, 0); GET_REFLECTION_OBJECT_PTR(fptr); RETURN_BOOL(fptr->type == ZEND_USER_FUNCTION); } @@ -1322,7 +1323,7 @@ ZEND_METHOD(reflection_function, getFileName) reflection_object *intern; zend_function *fptr; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_function_ptr, 0); GET_REFLECTION_OBJECT_PTR(fptr); if (fptr->type == ZEND_USER_FUNCTION) { RETURN_STRING(fptr->op_array.filename, 1); @@ -1338,7 +1339,7 @@ ZEND_METHOD(reflection_function, getStartLine) reflection_object *intern; zend_function *fptr; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_function_ptr, 0); GET_REFLECTION_OBJECT_PTR(fptr); if (fptr->type == ZEND_USER_FUNCTION) { RETURN_LONG(fptr->op_array.line_start); @@ -1354,7 +1355,7 @@ ZEND_METHOD(reflection_function, getEndLine) reflection_object *intern; zend_function *fptr; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_function_ptr, 0); GET_REFLECTION_OBJECT_PTR(fptr); if (fptr->type == ZEND_USER_FUNCTION) { RETURN_LONG(fptr->op_array.line_end); @@ -1370,7 +1371,7 @@ ZEND_METHOD(reflection_function, getDocComment) reflection_object *intern; zend_function *fptr; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_function_ptr, 0); 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); @@ -1387,7 +1388,7 @@ ZEND_METHOD(reflection_function, getStaticVariables) reflection_object *intern; zend_function *fptr; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_function_ptr, 0); GET_REFLECTION_OBJECT_PTR(fptr); /* Return an empty array in case no static variables exist */ @@ -1412,7 +1413,7 @@ ZEND_METHOD(reflection_function, invoke) reflection_object *intern; zend_function *fptr; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_function_ptr); GET_REFLECTION_OBJECT_PTR(fptr); params = safe_emalloc(sizeof(zval **), argc, 0); @@ -1472,7 +1473,7 @@ ZEND_METHOD(reflection_function, invokeArgs) zend_function *fptr; zval *param_array; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_function_ptr); GET_REFLECTION_OBJECT_PTR(fptr); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a", ¶m_array) == FAILURE) { @@ -1523,7 +1524,7 @@ ZEND_METHOD(reflection_function, returnsReference) reflection_object *intern; zend_function *fptr; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_function_ptr); GET_REFLECTION_OBJECT_PTR(fptr); RETURN_BOOL(fptr->op_array.return_reference); @@ -1537,7 +1538,7 @@ ZEND_METHOD(reflection_function, getNumberOfParameters) reflection_object *intern; zend_function *fptr; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_function_ptr); GET_REFLECTION_OBJECT_PTR(fptr); RETURN_LONG(fptr->common.num_args); @@ -1551,7 +1552,7 @@ ZEND_METHOD(reflection_function, getNumberOfRequiredParameters) reflection_object *intern; zend_function *fptr; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_function_ptr); GET_REFLECTION_OBJECT_PTR(fptr); RETURN_LONG(fptr->common.required_num_args); @@ -1567,7 +1568,7 @@ ZEND_METHOD(reflection_function, getParameters) zend_uint i; struct _zend_arg_info *arg_info; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_function_ptr); GET_REFLECTION_OBJECT_PTR(fptr); arg_info= fptr->common.arg_info; @@ -1593,7 +1594,7 @@ ZEND_METHOD(reflection_function, getExtension) zend_function *fptr; zend_internal_function *internal; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_function_ptr); GET_REFLECTION_OBJECT_PTR(fptr); if (fptr->type != ZEND_INTERNAL_FUNCTION) { @@ -1617,7 +1618,7 @@ ZEND_METHOD(reflection_function, getExtensionName) zend_function *fptr; zend_internal_function *internal; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_function_ptr); GET_REFLECTION_OBJECT_PTR(fptr); if (fptr->type != ZEND_INTERNAL_FUNCTION) { @@ -1778,7 +1779,7 @@ ZEND_METHOD(reflection_parameter, __toString) parameter_reference *param; string str; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0); GET_REFLECTION_OBJECT_PTR(param); string_init(&str); _parameter_string(&str, param->fptr, param->arg_info, param->offset, param->required, "" TSRMLS_CC); @@ -1790,7 +1791,7 @@ ZEND_METHOD(reflection_parameter, __toString) Returns this parameters's name */ ZEND_METHOD(reflection_parameter, getName) { - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0); _default_get_entry(getThis(), "name", sizeof("name"), return_value TSRMLS_CC); } /* }}} */ @@ -1802,7 +1803,7 @@ ZEND_METHOD(reflection_parameter, getClass) reflection_object *intern; parameter_reference *param; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0); GET_REFLECTION_OBJECT_PTR(param); if (!param->arg_info->class_name) { @@ -1831,7 +1832,7 @@ ZEND_METHOD(reflection_parameter, isArray) reflection_object *intern; parameter_reference *param; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0); GET_REFLECTION_OBJECT_PTR(param); RETVAL_BOOL(param->arg_info->array_type_hint); @@ -1845,7 +1846,7 @@ ZEND_METHOD(reflection_parameter, allowsNull) reflection_object *intern; parameter_reference *param; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0); GET_REFLECTION_OBJECT_PTR(param); RETVAL_BOOL(param->arg_info->allow_null); @@ -1859,7 +1860,7 @@ ZEND_METHOD(reflection_parameter, isPassedByReference) reflection_object *intern; parameter_reference *param; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0); GET_REFLECTION_OBJECT_PTR(param); RETVAL_BOOL(param->arg_info->pass_by_reference); @@ -1873,7 +1874,7 @@ ZEND_METHOD(reflection_parameter, isOptional) reflection_object *intern; parameter_reference *param; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0); GET_REFLECTION_OBJECT_PTR(param); RETVAL_BOOL(param->offset >= param->required); @@ -1888,7 +1889,7 @@ ZEND_METHOD(reflection_parameter, isDefaultValueAvailable) parameter_reference *param; zend_op *precv; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0); GET_REFLECTION_OBJECT_PTR(param); if (param->fptr->type != ZEND_USER_FUNCTION) @@ -1915,7 +1916,7 @@ ZEND_METHOD(reflection_parameter, getDefaultValue) zend_op *precv; zval *zv, zv_copy; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0); GET_REFLECTION_OBJECT_PTR(param); if (param->fptr->type != ZEND_USER_FUNCTION) @@ -2027,7 +2028,7 @@ ZEND_METHOD(reflection_method, __toString) zend_function *mptr; string str; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_method_ptr, 0); GET_REFLECTION_OBJECT_PTR(mptr); string_init(&str); _function_string(&str, mptr, "" TSRMLS_CC); @@ -2050,7 +2051,7 @@ ZEND_METHOD(reflection_method, invoke) zend_fcall_info_cache fcc; zend_class_entry *obj_ce; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_method_ptr); if (argc < 1) { zend_error(E_WARNING, "Invoke() expects at least one parameter, none given"); @@ -2154,7 +2155,7 @@ ZEND_METHOD(reflection_method, invokeArgs) zend_class_entry *obj_ce; zval *param_array; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_method_ptr); GET_REFLECTION_OBJECT_PTR(mptr); @@ -2297,7 +2298,7 @@ ZEND_METHOD(reflection_method, isConstructor) reflection_object *intern; zend_function *mptr; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_method_ptr, 0); 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 @@ -2313,7 +2314,7 @@ ZEND_METHOD(reflection_method, isDestructor) reflection_object *intern; zend_function *mptr; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_method_ptr, 0); GET_REFLECTION_OBJECT_PTR(mptr); RETURN_BOOL(mptr->common.fn_flags & ZEND_ACC_DTOR); } @@ -2326,7 +2327,7 @@ ZEND_METHOD(reflection_method, getModifiers) reflection_object *intern; zend_function *mptr; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_method_ptr, 0); GET_REFLECTION_OBJECT_PTR(mptr); RETURN_LONG(mptr->common.fn_flags); @@ -2340,7 +2341,7 @@ ZEND_METHOD(reflection_method, getDeclaringClass) reflection_object *intern; zend_function *mptr; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_method_ptr); GET_REFLECTION_OBJECT_PTR(mptr); zend_reflection_class_factory(mptr->common.scope, return_value TSRMLS_CC); @@ -2424,7 +2425,7 @@ ZEND_METHOD(reflection_class, getStaticProperties) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); zend_update_class_constants(ce TSRMLS_CC); @@ -2512,7 +2513,7 @@ ZEND_METHOD(reflection_class, getDefaultProperties) zend_class_entry *ce; int count; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); array_init(return_value); @@ -2558,7 +2559,7 @@ ZEND_METHOD(reflection_class, __toString) zend_class_entry *ce; string str; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); string_init(&str); _class_string(&str, ce, intern->obj, "" TSRMLS_CC); @@ -2570,7 +2571,7 @@ ZEND_METHOD(reflection_class, __toString) Returns the class' name */ ZEND_METHOD(reflection_class, getName) { - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); _default_get_entry(getThis(), "name", sizeof("name"), return_value TSRMLS_CC); } /* }}} */ @@ -2582,7 +2583,7 @@ ZEND_METHOD(reflection_class, isInternal) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); RETURN_BOOL(ce->type == ZEND_INTERNAL_CLASS); } @@ -2595,7 +2596,7 @@ ZEND_METHOD(reflection_class, isUserDefined) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); RETURN_BOOL(ce->type == ZEND_USER_CLASS); } @@ -2608,7 +2609,7 @@ ZEND_METHOD(reflection_class, getFileName) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); if (ce->type == ZEND_USER_CLASS) { RETURN_STRING(ce->filename, 1); @@ -2624,7 +2625,7 @@ ZEND_METHOD(reflection_class, getStartLine) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); if (ce->type == ZEND_USER_FUNCTION) { RETURN_LONG(ce->line_start); @@ -2640,7 +2641,7 @@ ZEND_METHOD(reflection_class, getEndLine) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); if (ce->type == ZEND_USER_CLASS) { RETURN_LONG(ce->line_end); @@ -2656,7 +2657,7 @@ ZEND_METHOD(reflection_class, getDocComment) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); if (ce->type == ZEND_USER_CLASS && ce->doc_comment) { RETURN_STRINGL(ce->doc_comment, ce->doc_comment_len, 1); @@ -2672,7 +2673,7 @@ ZEND_METHOD(reflection_class, getConstructor) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); if (ce->constructor) { @@ -2694,7 +2695,7 @@ ZEND_METHOD(reflection_class, hasMethod) int name_len; zend_uchar type; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "t", &name, &name_len, &type) == FAILURE) { return; } @@ -2723,7 +2724,7 @@ ZEND_METHOD(reflection_class, getMethod) int name_len; zend_uchar type; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "t", &name, &name_len, &type) == FAILURE) { return; } @@ -2769,7 +2770,7 @@ ZEND_METHOD(reflection_class, getMethods) long filter = 0; int argc = ZEND_NUM_ARGS(); - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); if (argc) { if (zend_parse_parameters(argc TSRMLS_CC, "|l", &filter) == FAILURE) { return; @@ -2796,7 +2797,7 @@ ZEND_METHOD(reflection_class, hasProperty) int name_len; zval *property; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == FAILURE) { return; } @@ -2831,7 +2832,7 @@ ZEND_METHOD(reflection_class, getProperty) int name_len; zend_uchar name_type; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "t", &name, &name_len, &name_type) == FAILURE) { return; } @@ -2878,7 +2879,7 @@ ZEND_METHOD(reflection_class, getProperties) long filter = 0; int argc = ZEND_NUM_ARGS(); - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); if (argc) { if (zend_parse_parameters(argc TSRMLS_CC, "|l", &filter) == FAILURE) { return; @@ -2904,7 +2905,7 @@ ZEND_METHOD(reflection_class, hasConstant) char *name; int name_len; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == FAILURE) { return; } @@ -2926,7 +2927,7 @@ ZEND_METHOD(reflection_class, getConstants) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); 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); @@ -2944,7 +2945,7 @@ ZEND_METHOD(reflection_class, getConstant) char *name; int name_len; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &name, &name_len) == FAILURE) { return; } @@ -2965,7 +2966,7 @@ static void _class_check_flag(INTERNAL_FUNCTION_PARAMETERS, int mask) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); RETVAL_BOOL(ce->ce_flags & mask); } @@ -2978,7 +2979,7 @@ ZEND_METHOD(reflection_class, isInstantiable) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_EXPLICIT_ABSTRACT_CLASS | ZEND_ACC_IMPLICIT_ABSTRACT_CLASS)) { RETURN_FALSE; @@ -3025,7 +3026,7 @@ ZEND_METHOD(reflection_class, getModifiers) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); RETURN_LONG(ce->ce_flags); @@ -3040,7 +3041,7 @@ ZEND_METHOD(reflection_class, isInstance) zend_class_entry *ce; zval *object; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &object) == FAILURE) { return; } @@ -3058,7 +3059,7 @@ ZEND_METHOD(reflection_class, newInstance) zend_class_entry *ce; int argc = ZEND_NUM_ARGS(); - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); GET_REFLECTION_OBJECT_PTR(ce); object_init_ex(return_value, ce); @@ -3116,7 +3117,7 @@ ZEND_METHOD(reflection_class, getInterfaces) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); /* Return an empty array if this class implements no interfaces */ @@ -3142,7 +3143,7 @@ ZEND_METHOD(reflection_class, getParentClass) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_class_ptr, 0); GET_REFLECTION_OBJECT_PTR(ce); if (ce->parent) { @@ -3161,7 +3162,7 @@ ZEND_METHOD(reflection_class, isSubclassOf) zend_class_entry *ce, **pce, *class_ce; zval *class_name; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); GET_REFLECTION_OBJECT_PTR(ce); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &class_name) == FAILURE) { @@ -3208,7 +3209,7 @@ ZEND_METHOD(reflection_class, implementsInterface) zend_class_entry *ce, *interface_ce, **pce; zval *interface; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); GET_REFLECTION_OBJECT_PTR(ce); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &interface) == FAILURE) { @@ -3258,7 +3259,7 @@ ZEND_METHOD(reflection_class, isIterateable) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); GET_REFLECTION_OBJECT_PTR(ce); RETURN_BOOL(ce->get_iterator != NULL); @@ -3272,7 +3273,7 @@ ZEND_METHOD(reflection_class, getExtension) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); GET_REFLECTION_OBJECT_PTR(ce); if (ce->module) { @@ -3288,7 +3289,7 @@ ZEND_METHOD(reflection_class, getExtensionName) reflection_object *intern; zend_class_entry *ce; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_class_ptr); GET_REFLECTION_OBJECT_PTR(ce); if (ce->module) { @@ -3417,7 +3418,7 @@ ZEND_METHOD(reflection_property, __toString) property_reference *ref; string str; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_property_ptr, 0); GET_REFLECTION_OBJECT_PTR(ref); string_init(&str); _property_string(&str, ref->prop, NULL, "" TSRMLS_CC); @@ -3429,7 +3430,7 @@ ZEND_METHOD(reflection_property, __toString) Returns the class' name */ ZEND_METHOD(reflection_property, getName) { - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_property_ptr, 0); _default_get_entry(getThis(), "name", sizeof("name"), return_value TSRMLS_CC); } /* }}} */ @@ -3439,7 +3440,7 @@ static void _property_check_flag(INTERNAL_FUNCTION_PARAMETERS, int mask) reflection_object *intern; property_reference *ref; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_property_ptr, 0); GET_REFLECTION_OBJECT_PTR(ref); RETURN_BOOL(ref->prop->flags & mask); } @@ -3491,7 +3492,7 @@ ZEND_METHOD(reflection_property, getModifiers) reflection_object *intern; property_reference *ref; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_property_ptr, 0); GET_REFLECTION_OBJECT_PTR(ref); RETURN_LONG(ref->prop->flags); @@ -3508,7 +3509,7 @@ ZEND_METHOD(reflection_property, getValue) zval **member= NULL; zend_uchar utype = UG(unicode)?IS_UNICODE:IS_STRING; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_property_ptr); GET_REFLECTION_OBJECT_PTR(ref); if (!(ref->prop->flags & ZEND_ACC_PUBLIC)) { @@ -3552,7 +3553,7 @@ ZEND_METHOD(reflection_property, setValue) HashTable *prop_table; zend_uchar utype = UG(unicode)?IS_UNICODE:IS_STRING; - METHOD_NOTSTATIC; + METHOD_NOTSTATIC(reflection_property_ptr); GET_REFLECTION_OBJECT_PTR(ref); if (ref->prop->flags & ~(ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)) { @@ -3611,7 +3612,7 @@ ZEND_METHOD(reflection_property, getDeclaringClass) reflection_object *intern; property_reference *ref; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_property_ptr, 0); GET_REFLECTION_OBJECT_PTR(ref); zend_reflection_class_factory(ref->ce, return_value TSRMLS_CC); @@ -3624,7 +3625,7 @@ ZEND_METHOD(reflection_property, getDocComment) reflection_object *intern; property_reference *ref; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_property_ptr, 0); GET_REFLECTION_OBJECT_PTR(ref); if (ref->prop->doc_comment) { RETURN_STRINGL(ref->prop->doc_comment, ref->prop->doc_comment_len, 1); @@ -3687,7 +3688,7 @@ ZEND_METHOD(reflection_extension, __toString) zend_module_entry *module; string str; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0); GET_REFLECTION_OBJECT_PTR(module); string_init(&str); _extension_string(&str, module, "" TSRMLS_CC); @@ -3699,7 +3700,7 @@ ZEND_METHOD(reflection_extension, __toString) Returns this extension's name */ ZEND_METHOD(reflection_extension, getName) { - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0); _default_get_entry(getThis(), "name", sizeof("name"), return_value TSRMLS_CC); } /* }}} */ @@ -3711,7 +3712,7 @@ ZEND_METHOD(reflection_extension, getVersion) reflection_object *intern; zend_module_entry *module; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0); GET_REFLECTION_OBJECT_PTR(module); /* An extension does not necessarily have a version number */ @@ -3730,7 +3731,7 @@ ZEND_METHOD(reflection_extension, getFunctions) reflection_object *intern; zend_module_entry *module; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0); GET_REFLECTION_OBJECT_PTR(module); array_init(return_value); @@ -3778,7 +3779,7 @@ ZEND_METHOD(reflection_extension, getConstants) reflection_object *intern; zend_module_entry *module; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0); GET_REFLECTION_OBJECT_PTR(module); array_init(return_value); @@ -3810,7 +3811,7 @@ ZEND_METHOD(reflection_extension, getINIEntries) reflection_object *intern; zend_module_entry *module; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0); GET_REFLECTION_OBJECT_PTR(module); array_init(return_value); @@ -3846,7 +3847,7 @@ ZEND_METHOD(reflection_extension, getClasses) reflection_object *intern; zend_module_entry *module; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0); GET_REFLECTION_OBJECT_PTR(module); array_init(return_value); @@ -3861,7 +3862,7 @@ ZEND_METHOD(reflection_extension, getClassNames) reflection_object *intern; zend_module_entry *module; - METHOD_NOTSTATIC_NUMPARAMS(0); + METHOD_NOTSTATIC_NUMPARAMS(reflection_extension_ptr, 0); GET_REFLECTION_OBJECT_PTR(module); array_init(return_value); |