Skip to content

Commit ef5478b

Browse files
committed
Reorder param parsing and reflection object retrieval
1 parent 251cb46 commit ef5478b

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

ext/reflection/php_reflection.c

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1988,12 +1988,12 @@ ZEND_METHOD(ReflectionFunction, invokeArgs)
19881988
zend_function *fptr;
19891989
HashTable *params;
19901990

1991-
GET_REFLECTION_OBJECT_PTR(fptr);
1992-
19931991
if (zend_parse_parameters(ZEND_NUM_ARGS(), "h", &params) == FAILURE) {
19941992
RETURN_THROWS();
19951993
}
19961994

1995+
GET_REFLECTION_OBJECT_PTR(fptr);
1996+
19971997
fci.size = sizeof(fci);
19981998
ZVAL_UNDEF(&fci.function_name);
19991999
fci.object = NULL;
@@ -2034,12 +2034,12 @@ ZEND_METHOD(ReflectionFunctionAbstract, returnsReference)
20342034
reflection_object *intern;
20352035
zend_function *fptr;
20362036

2037-
GET_REFLECTION_OBJECT_PTR(fptr);
2038-
20392037
if (zend_parse_parameters_none() == FAILURE) {
20402038
RETURN_THROWS();
20412039
}
20422040

2041+
GET_REFLECTION_OBJECT_PTR(fptr);
2042+
20432043
RETURN_BOOL((fptr->op_array.fn_flags & ZEND_ACC_RETURN_REFERENCE) != 0);
20442044
}
20452045
/* }}} */
@@ -2051,12 +2051,12 @@ ZEND_METHOD(ReflectionFunctionAbstract, getNumberOfParameters)
20512051
zend_function *fptr;
20522052
uint32_t num_args;
20532053

2054-
GET_REFLECTION_OBJECT_PTR(fptr);
2055-
20562054
if (zend_parse_parameters_none() == FAILURE) {
20572055
RETURN_THROWS();
20582056
}
20592057

2058+
GET_REFLECTION_OBJECT_PTR(fptr);
2059+
20602060
num_args = fptr->common.num_args;
20612061
if (fptr->common.fn_flags & ZEND_ACC_VARIADIC) {
20622062
num_args++;
@@ -2072,12 +2072,12 @@ ZEND_METHOD(ReflectionFunctionAbstract, getNumberOfRequiredParameters)
20722072
reflection_object *intern;
20732073
zend_function *fptr;
20742074

2075-
GET_REFLECTION_OBJECT_PTR(fptr);
2076-
20772075
if (zend_parse_parameters_none() == FAILURE) {
20782076
RETURN_THROWS();
20792077
}
20802078

2079+
GET_REFLECTION_OBJECT_PTR(fptr);
2080+
20812081
RETURN_LONG(fptr->common.required_num_args);
20822082
}
20832083
/* }}} */
@@ -2090,12 +2090,12 @@ ZEND_METHOD(ReflectionFunctionAbstract, getParameters)
20902090
uint32_t i, num_args;
20912091
struct _zend_arg_info *arg_info;
20922092

2093-
GET_REFLECTION_OBJECT_PTR(fptr);
2094-
20952093
if (zend_parse_parameters_none() == FAILURE) {
20962094
RETURN_THROWS();
20972095
}
20982096

2097+
GET_REFLECTION_OBJECT_PTR(fptr);
2098+
20992099
arg_info= fptr->common.arg_info;
21002100
num_args = fptr->common.num_args;
21012101
if (fptr->common.fn_flags & ZEND_ACC_VARIADIC) {
@@ -2132,12 +2132,12 @@ ZEND_METHOD(ReflectionFunctionAbstract, getExtension)
21322132
zend_function *fptr;
21332133
zend_internal_function *internal;
21342134

2135-
GET_REFLECTION_OBJECT_PTR(fptr);
2136-
21372135
if (zend_parse_parameters_none() == FAILURE) {
21382136
RETURN_THROWS();
21392137
}
21402138

2139+
GET_REFLECTION_OBJECT_PTR(fptr);
2140+
21412141
if (fptr->type != ZEND_INTERNAL_FUNCTION) {
21422142
RETURN_NULL();
21432143
}
@@ -2158,12 +2158,12 @@ ZEND_METHOD(ReflectionFunctionAbstract, getExtensionName)
21582158
zend_function *fptr;
21592159
zend_internal_function *internal;
21602160

2161-
GET_REFLECTION_OBJECT_PTR(fptr);
2162-
21632161
if (zend_parse_parameters_none() == FAILURE) {
21642162
RETURN_THROWS();
21652163
}
21662164

2165+
GET_REFLECTION_OBJECT_PTR(fptr);
2166+
21672167
if (fptr->type != ZEND_INTERNAL_FUNCTION) {
21682168
RETURN_FALSE;
21692169
}
@@ -3644,12 +3644,12 @@ ZEND_METHOD(ReflectionMethod, getDeclaringClass)
36443644
reflection_object *intern;
36453645
zend_function *mptr;
36463646

3647-
GET_REFLECTION_OBJECT_PTR(mptr);
3648-
36493647
if (zend_parse_parameters_none() == FAILURE) {
36503648
RETURN_THROWS();
36513649
}
36523650

3651+
GET_REFLECTION_OBJECT_PTR(mptr);
3652+
36533653
zend_reflection_class_factory(mptr->common.scope, return_value);
36543654
}
36553655
/* }}} */
@@ -3660,12 +3660,12 @@ ZEND_METHOD(ReflectionMethod, getPrototype)
36603660
reflection_object *intern;
36613661
zend_function *mptr;
36623662

3663-
GET_REFLECTION_OBJECT_PTR(mptr);
3664-
36653663
if (zend_parse_parameters_none() == FAILURE) {
36663664
RETURN_THROWS();
36673665
}
36683666

3667+
GET_REFLECTION_OBJECT_PTR(mptr);
3668+
36693669
if (!mptr->common.prototype) {
36703670
zend_throw_exception_ex(reflection_exception_ptr, 0,
36713671
"Method %s::%s does not have a prototype", ZSTR_VAL(intern->ce->name), ZSTR_VAL(mptr->common.function_name));

0 commit comments

Comments
 (0)