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(); \
} \
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);
}
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);
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);
}
/* }}} */
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);
}
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);
}
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);
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);
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);
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);
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 */
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);
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) {
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);
reflection_object *intern;
zend_function *fptr;
- METHOD_NOTSTATIC;
+ METHOD_NOTSTATIC(reflection_function_ptr);
GET_REFLECTION_OBJECT_PTR(fptr);
RETURN_LONG(fptr->common.num_args);
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);
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;
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) {
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) {
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);
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);
}
/* }}} */
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) {
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);
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);
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);
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);
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)
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)
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);
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");
zend_class_entry *obj_ce;
zval *param_array;
- METHOD_NOTSTATIC;
+ METHOD_NOTSTATIC(reflection_method_ptr);
GET_REFLECTION_OBJECT_PTR(mptr);
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
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);
}
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);
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);
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);
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);
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);
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);
}
/* }}} */
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);
}
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);
}
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);
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);
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);
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);
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) {
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;
}
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;
}
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;
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;
}
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;
}
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;
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;
}
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);
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;
}
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);
}
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;
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);
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;
}
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);
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 */
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) {
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) {
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) {
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);
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC;
+ METHOD_NOTSTATIC(reflection_class_ptr);
GET_REFLECTION_OBJECT_PTR(ce);
if (ce->module) {
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC;
+ METHOD_NOTSTATIC(reflection_class_ptr);
GET_REFLECTION_OBJECT_PTR(ce);
if (ce->module) {
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);
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);
}
/* }}} */
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);
}
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);
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)) {
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)) {
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);
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);
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);
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);
}
/* }}} */
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 */
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);
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);
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);
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);
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);
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(); \
} \
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);
}
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);
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);
}
/* }}} */
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);
}
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);
}
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);
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);
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);
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);
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 */
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);
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) {
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);
reflection_object *intern;
zend_function *fptr;
- METHOD_NOTSTATIC;
+ METHOD_NOTSTATIC(reflection_function_ptr);
GET_REFLECTION_OBJECT_PTR(fptr);
RETURN_LONG(fptr->common.num_args);
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);
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;
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) {
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) {
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);
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);
}
/* }}} */
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) {
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);
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);
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);
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);
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)
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)
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);
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");
zend_class_entry *obj_ce;
zval *param_array;
- METHOD_NOTSTATIC;
+ METHOD_NOTSTATIC(reflection_method_ptr);
GET_REFLECTION_OBJECT_PTR(mptr);
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
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);
}
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);
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);
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);
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);
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);
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);
}
/* }}} */
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);
}
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);
}
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);
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);
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);
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);
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) {
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;
}
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;
}
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;
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;
}
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;
}
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;
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;
}
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);
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;
}
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);
}
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;
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);
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;
}
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);
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 */
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) {
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) {
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) {
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);
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC;
+ METHOD_NOTSTATIC(reflection_class_ptr);
GET_REFLECTION_OBJECT_PTR(ce);
if (ce->module) {
reflection_object *intern;
zend_class_entry *ce;
- METHOD_NOTSTATIC;
+ METHOD_NOTSTATIC(reflection_class_ptr);
GET_REFLECTION_OBJECT_PTR(ce);
if (ce->module) {
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);
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);
}
/* }}} */
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);
}
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);
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)) {
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)) {
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);
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);
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);
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);
}
/* }}} */
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 */
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);
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);
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);
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);
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);