reflection_object *intern;
parameter_reference *param;
- if (zend_parse_parameters_none() == FAILURE) {
- return NULL;
- }
-
GET_REFLECTION_OBJECT_PTR(param);
if (param->fptr->type != ZEND_USER_FUNCTION)
/* }}} */
/* {{{ _reflection_param_get_default_precv */
-static zend_op *_reflection_param_get_default_precv(INTERNAL_FUNCTION_PARAMETERS)
+static zend_op *_reflection_param_get_default_precv(INTERNAL_FUNCTION_PARAMETERS, parameter_reference *param)
{
zend_op *precv;
- parameter_reference *param = _reflection_param_get_default_param(INTERNAL_FUNCTION_PARAM_PASSTHRU);
-
- if (zend_parse_parameters_none() == FAILURE) {
- return NULL;
- }
- if(!param) {
+ param = param ? param : _reflection_param_get_default_param(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+ if (!param) {
return NULL;
}
ZEND_METHOD(reflection_parameter, getDefaultValue)
{
parameter_reference *param = _reflection_param_get_default_param(INTERNAL_FUNCTION_PARAM_PASSTHRU);
- zend_op *precv = _reflection_param_get_default_precv(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+ zend_op *precv = _reflection_param_get_default_precv(INTERNAL_FUNCTION_PARAM_PASSTHRU, param);
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
- if(!(param && precv)) {
+ if (!(param && precv)) {
return;
}
Returns whether the default value of this parameter is constant */
ZEND_METHOD(reflection_parameter, isDefaultValueConstant)
{
- zend_op *precv = _reflection_param_get_default_precv(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+ zend_op *precv = _reflection_param_get_default_precv(INTERNAL_FUNCTION_PARAM_PASSTHRU, NULL);
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
if (precv && (Z_TYPE_P(precv->op2.zv) & IS_CONSTANT_TYPE_MASK) == IS_CONSTANT) {
RETURN_TRUE;
Returns the default value's constant name if default value is constant or false */
ZEND_METHOD(reflection_parameter, getDefaultValueConstantName)
{
- zend_op *precv = _reflection_param_get_default_precv(INTERNAL_FUNCTION_PARAM_PASSTHRU);
+ zend_op *precv = _reflection_param_get_default_precv(INTERNAL_FUNCTION_PARAM_PASSTHRU, NULL);
+
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
if (precv && (Z_TYPE_P(precv->op2.zv) & IS_CONSTANT_TYPE_MASK) == IS_CONSTANT) {
RETURN_STRING(Z_STRVAL_P(precv->op2.zv), 1);