From: Marcus Boerger Date: Mon, 2 Aug 2004 23:10:29 +0000 (+0000) Subject: - Add methods to check parameter count X-Git-Tag: PRE_ZEND_VM_DISPATCH_PATCH~266 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=84b90d680357cee15bd43a5a4a5998f227eed7e9;p=php - Add methods to check parameter count --- diff --git a/Zend/zend_reflection_api.c b/Zend/zend_reflection_api.c index 219da845c7..fe8706ebcb 100644 --- a/Zend/zend_reflection_api.c +++ b/Zend/zend_reflection_api.c @@ -1366,6 +1366,34 @@ ZEND_METHOD(reflection_function, returnsReference) } /* }}} */ +/* {{{ proto public bool ReflectionFunction::getNumberOfParameters() + Gets the number of required parameters */ +ZEND_METHOD(reflection_function, getNumberOfParameters) +{ + reflection_object *intern; + zend_function *fptr; + + METHOD_NOTSTATIC; + GET_REFLECTION_OBJECT_PTR(fptr); + + RETURN_LONG(fptr->common.num_args); +} +/* }}} */ + +/* {{{ proto public bool ReflectionFunction::getNumberOfRequiredParameters() + Gets the number of required parameters */ +ZEND_METHOD(reflection_function, getNumberOfRequiredParameters) +{ + reflection_object *intern; + zend_function *fptr; + + METHOD_NOTSTATIC; + GET_REFLECTION_OBJECT_PTR(fptr); + + RETURN_LONG(fptr->common.required_num_args); +} +/* }}} */ + /* {{{ proto public ReflectionParameter[] Reflection_Function::getParameters() Returns an array of parameter objects for this function */ ZEND_METHOD(reflection_function, getParameters) @@ -3264,6 +3292,8 @@ static zend_function_entry reflection_function_functions[] = { ZEND_ME(reflection_function, invoke, NULL, 0) ZEND_ME(reflection_function, returnsReference, NULL, 0) ZEND_ME(reflection_function, getParameters, NULL, 0) + ZEND_ME(reflection_function, getNumberOfParameters, NULL, 0) + ZEND_ME(reflection_function, getNumberOfRequiredParameters, NULL, 0) {NULL, NULL, NULL} }; diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index 219da845c7..fe8706ebcb 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -1366,6 +1366,34 @@ ZEND_METHOD(reflection_function, returnsReference) } /* }}} */ +/* {{{ proto public bool ReflectionFunction::getNumberOfParameters() + Gets the number of required parameters */ +ZEND_METHOD(reflection_function, getNumberOfParameters) +{ + reflection_object *intern; + zend_function *fptr; + + METHOD_NOTSTATIC; + GET_REFLECTION_OBJECT_PTR(fptr); + + RETURN_LONG(fptr->common.num_args); +} +/* }}} */ + +/* {{{ proto public bool ReflectionFunction::getNumberOfRequiredParameters() + Gets the number of required parameters */ +ZEND_METHOD(reflection_function, getNumberOfRequiredParameters) +{ + reflection_object *intern; + zend_function *fptr; + + METHOD_NOTSTATIC; + GET_REFLECTION_OBJECT_PTR(fptr); + + RETURN_LONG(fptr->common.required_num_args); +} +/* }}} */ + /* {{{ proto public ReflectionParameter[] Reflection_Function::getParameters() Returns an array of parameter objects for this function */ ZEND_METHOD(reflection_function, getParameters) @@ -3264,6 +3292,8 @@ static zend_function_entry reflection_function_functions[] = { ZEND_ME(reflection_function, invoke, NULL, 0) ZEND_ME(reflection_function, returnsReference, NULL, 0) ZEND_ME(reflection_function, getParameters, NULL, 0) + ZEND_ME(reflection_function, getNumberOfParameters, NULL, 0) + ZEND_ME(reflection_function, getNumberOfRequiredParameters, NULL, 0) {NULL, NULL, NULL} };