summaryrefslogtreecommitdiff
path: root/ext/reflection/php_reflection.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/reflection/php_reflection.c')
-rw-r--r--ext/reflection/php_reflection.c345
1 files changed, 185 insertions, 160 deletions
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index 278cd3fb76..cc72cf233f 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -356,6 +356,9 @@ static void _function_string(string *str, zend_function *fptr, char* indent TSRM
string_printf(str, fptr->common.scope ? "%sMethod [ " : "%sFunction [ ", indent);
string_printf(str, (fptr->type == ZEND_USER_FUNCTION) ? "<user> " : "<internal> ");
+ if (fptr->common.fn_flags & ZEND_ACC_ALIAS) {
+ string_printf(str, "<alias> ");
+ }
if (fptr->common.fn_flags & ZEND_ACC_CTOR) {
string_printf(str, "<ctor> ");
}
@@ -469,9 +472,19 @@ static void _extension_string(string *str, zend_module_entry *module, char *inde
}
}
+static void _function_check_flag(INTERNAL_FUNCTION_PARAMETERS, int mask)
+{
+ reflection_object *intern;
+ zend_function *mptr;
+
+ METHOD_NOTSTATIC_NUMPARAMS(0);
+ GET_REFLECTION_OBJECT_PTR(mptr);
+ RETURN_BOOL(mptr->common.fn_flags & mask);
+}
+
/* {{{ proto public string Reflector::toString()
Returns a string representation */
-ZEND_FUNCTION(reflector_tostring)
+ZEND_METHOD(reflector, tostring)
{
/* FIXME(?): I guess this is needed due to the fact that internal methods
* are not subject to any modifier checks...
@@ -481,7 +494,7 @@ ZEND_FUNCTION(reflector_tostring)
/* {{{ proto public static mixed Reflection::export(Reflector r [, bool return])
Exports a reflection object. Returns the output if TRUE is specified for return, printing it otherwise. */
-ZEND_FUNCTION(reflection_export)
+ZEND_METHOD(reflection, export)
{
zval *object, *fname, *retval_ptr;
int result;
@@ -525,9 +538,9 @@ ZEND_FUNCTION(reflection_export)
}
}
-/* {{{ proto public static array Reflection::getModifierNames()
+/* {{{ proto public static array Reflection::getModifierNames(int modifiers)
Returns an array of modifier names */
-ZEND_FUNCTION(reflection_getmodifiernames)
+ZEND_METHOD(reflection, getmodifiernames)
{
long modifiers;
@@ -565,7 +578,7 @@ ZEND_FUNCTION(reflection_getmodifiernames)
/* {{{ proto public Reflection_Function::__construct(string name)
Constructor. Throws an Exception in case the given function does not exist */
-ZEND_FUNCTION(reflection_function)
+ZEND_METHOD(reflection_function, __construct)
{
zval *name;
zval *object;
@@ -598,7 +611,7 @@ ZEND_FUNCTION(reflection_function)
/* {{{ proto public string Reflection_Function::toString()
Returns a string representation */
-ZEND_FUNCTION(reflection_function_tostring)
+ZEND_METHOD(reflection_function, tostring)
{
reflection_object *intern;
zend_function *fptr;
@@ -614,7 +627,7 @@ ZEND_FUNCTION(reflection_function_tostring)
/* {{{ proto public string Reflection_Function::getName()
Returns this function's name */
-ZEND_FUNCTION(reflection_function_getname)
+ZEND_METHOD(reflection, function_getname)
{
METHOD_NOTSTATIC_NUMPARAMS(0);
_default_get_entry(getThis(), "name", sizeof("name"), return_value TSRMLS_CC);
@@ -623,7 +636,7 @@ ZEND_FUNCTION(reflection_function_getname)
/* {{{ proto public bool Reflection_Function::isInternal()
Returns whether this is an internal function */
-ZEND_FUNCTION(reflection_function_isinternal)
+ZEND_METHOD(reflection, function_isinternal)
{
reflection_object *intern;
zend_function *fptr;
@@ -636,7 +649,7 @@ ZEND_FUNCTION(reflection_function_isinternal)
/* {{{ proto public bool Reflection_Function::isUserDefined()
Returns whether this is an user-defined function */
-ZEND_FUNCTION(reflection_function_isuserdefined)
+ZEND_METHOD(reflection_function, isuserdefined)
{
reflection_object *intern;
zend_function *fptr;
@@ -647,9 +660,17 @@ ZEND_FUNCTION(reflection_function_isuserdefined)
}
/* }}} */
+/* {{{ proto public bool Reflection_Function::isAlias()
+ Returns whether this method is static */
+ZEND_METHOD(reflection_function, isalias)
+{
+ _function_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_ALIAS);
+}
+/* }}} */
+
/* {{{ proto public string Reflection_Function::getFileName()
Returns the filename of the file this function was declared in */
-ZEND_FUNCTION(reflection_function_getfilename)
+ZEND_METHOD(reflection_function, getfilename)
{
reflection_object *intern;
zend_function *fptr;
@@ -665,7 +686,7 @@ ZEND_FUNCTION(reflection_function_getfilename)
/* {{{ proto public int Reflection_Function::getStartLine()
Returns the line this function's declaration starts at */
-ZEND_FUNCTION(reflection_function_getstartline)
+ZEND_METHOD(reflection_function, getstartline)
{
reflection_object *intern;
zend_function *fptr;
@@ -681,7 +702,7 @@ ZEND_FUNCTION(reflection_function_getstartline)
/* {{{ proto public int Reflection_Function::getEndLine()
Returns the line this function's declaration ends at */
-ZEND_FUNCTION(reflection_function_getendline)
+ZEND_METHOD(reflection_function, getendline)
{
reflection_object *intern;
zend_function *fptr;
@@ -697,7 +718,7 @@ ZEND_FUNCTION(reflection_function_getendline)
/* {{{ proto public string Reflection_Function::getDocComment()
Returns the doc comment for this function */
-ZEND_FUNCTION(reflection_function_getdoccomment)
+ZEND_METHOD(reflection_function, getdoccomment)
{
reflection_object *intern;
zend_function *fptr;
@@ -713,7 +734,7 @@ ZEND_FUNCTION(reflection_function_getdoccomment)
/* {{{ proto public array Reflection_Function::getStaticVariables()
Returns an associative array containing this function's static variables and their values */
-ZEND_FUNCTION(reflection_function_getstaticvariables)
+ZEND_METHOD(reflection_function, getstaticvariables)
{
zval *tmp_copy;
reflection_object *intern;
@@ -732,7 +753,7 @@ ZEND_FUNCTION(reflection_function_getstaticvariables)
/* {{{ proto public mixed Reflection_Function::invoke(mixed* args)
Invokes the function */
-ZEND_FUNCTION(reflection_function_invoke)
+ZEND_METHOD(reflection_function, invoke)
{
zval *retval_ptr;
zval ***params;
@@ -785,7 +806,7 @@ ZEND_FUNCTION(reflection_function_invoke)
/* {{{ proto public bool Reflection_Function::returnsReference()
Gets whether this function returns a reference */
-ZEND_FUNCTION(reflection_function_returnsreference)
+ZEND_METHOD(reflection_function, returnsreference)
{
reflection_object *intern;
zend_function *fptr;
@@ -876,7 +897,7 @@ void reflection_property_factory(zend_class_entry *ce, zend_property_info *prop,
/* {{{ proto public Reflection_Method::__construct(mixed class, string name)
Constructor. Throws an Exception in case the given method does not exist */
-ZEND_FUNCTION(reflection_method)
+ZEND_METHOD(reflection_method, __construct)
{
zval *name, *class;
zval *classname;
@@ -942,7 +963,7 @@ ZEND_FUNCTION(reflection_method)
/* {{{ proto public string Reflection_Method::toString()
Returns a string representation */
-ZEND_FUNCTION(reflection_method_tostring)
+ZEND_METHOD(reflection_method, tostring)
{
reflection_object *intern;
zend_function *mptr;
@@ -958,7 +979,7 @@ ZEND_FUNCTION(reflection_method_tostring)
/* {{{ proto public mixed Reflection_Method::invoke(mixed object, mixed* args)
Invokes the function. Pass a */
-ZEND_FUNCTION(reflection_method_invoke)
+ZEND_METHOD(reflection_method, invoke)
{
zval *retval_ptr;
zval ***params;
@@ -1046,67 +1067,57 @@ ZEND_FUNCTION(reflection_method_invoke)
}
/* }}} */
-static void _method_check_flag(INTERNAL_FUNCTION_PARAMETERS, int mask)
-{
- reflection_object *intern;
- zend_function *mptr;
-
- METHOD_NOTSTATIC_NUMPARAMS(0);
- GET_REFLECTION_OBJECT_PTR(mptr);
- RETURN_BOOL(mptr->common.fn_flags & mask);
-}
-
/* {{{ proto public bool Reflection_Method::isFinal()
Returns whether this method is final */
-ZEND_FUNCTION(reflection_method_isfinal)
+ZEND_METHOD(reflection_method, isfinal)
{
- _method_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_FINAL);
+ _function_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_FINAL);
}
/* }}} */
/* {{{ proto public bool Reflection_Method::isAbstract()
Returns whether this method is abstract */
-ZEND_FUNCTION(reflection_method_isabstract)
+ZEND_METHOD(reflection_method, isabstract)
{
- _method_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_ABSTRACT);
+ _function_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_ABSTRACT);
}
/* }}} */
/* {{{ proto public bool Reflection_Method::isPublic()
Returns whether this method is public */
-ZEND_FUNCTION(reflection_method_ispublic)
+ZEND_METHOD(reflection_method, ispublic)
{
- _method_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_PUBLIC);
+ _function_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_PUBLIC);
}
/* }}} */
/* {{{ proto public bool Reflection_Method::isPrivate()
Returns whether this method is private */
-ZEND_FUNCTION(reflection_method_isprivate)
+ZEND_METHOD(reflection_method, isprivate)
{
- _method_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_PRIVATE);
+ _function_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_PRIVATE);
}
/* }}} */
/* {{{ proto public bool Reflection_Method::isProtected()
Returns whether this method is protected */
-ZEND_FUNCTION(reflection_method_isprotected)
+ZEND_METHOD(reflection_method, isprotected)
{
- _method_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_PROTECTED);
+ _function_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_PROTECTED);
}
/* }}} */
/* {{{ proto public bool Reflection_Method::isStatic()
Returns whether this method is static */
-ZEND_FUNCTION(reflection_method_isstatic)
+ZEND_METHOD(reflection_method, isstatic)
{
- _method_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_STATIC);
+ _function_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_STATIC);
}
/* }}} */
/* {{{ proto public bool Reflection_Method::isConstructor()
Returns whether this method is the constructor */
-ZEND_FUNCTION(reflection_method_isconstructor)
+ZEND_METHOD(reflection_method, isconstructor)
{
reflection_object *intern;
zend_function *mptr;
@@ -1117,9 +1128,22 @@ ZEND_FUNCTION(reflection_method_isconstructor)
}
/* }}} */
+/* {{{ proto public bool Reflection_Method::isDestructor()
+ Returns whether this method is static */
+ZEND_METHOD(reflection_method, isdestructor)
+{
+ reflection_object *intern;
+ zend_function *mptr;
+
+ METHOD_NOTSTATIC_NUMPARAMS(0);
+ GET_REFLECTION_OBJECT_PTR(mptr);
+ RETURN_BOOL(mptr->common.scope->destructor == mptr);
+}
+/* }}} */
+
/* {{{ proto public int Reflection_Method::getModifiers()
Returns a bitfield of the access modifiers for this method */
-ZEND_FUNCTION(reflection_method_getmodifiers)
+ZEND_METHOD(reflection_method, getmodifiers)
{
reflection_object *intern;
zend_function *mptr;
@@ -1133,7 +1157,7 @@ ZEND_FUNCTION(reflection_method_getmodifiers)
/* {{{ proto public Reflection_Class Reflection_Method::getDeclaringClass()
Get the declaring class */
-ZEND_FUNCTION(reflection_method_getdeclaringclass)
+ZEND_METHOD(reflection_method, getdeclaringclass)
{
reflection_object *intern;
zend_function *mptr;
@@ -1146,7 +1170,7 @@ ZEND_FUNCTION(reflection_method_getdeclaringclass)
/* {{{ proto public Reflection_Class::__construct(mixed argument) throws Exception
Constructor. Takes a string or an instance as an argument */
-ZEND_FUNCTION(reflection_class)
+ZEND_METHOD(reflection_class, __construct)
{
zval *argument;
zval *object;
@@ -1189,7 +1213,7 @@ ZEND_FUNCTION(reflection_class)
/* {{{ proto public string Reflection_Class::toString()
Returns a string representation */
-ZEND_FUNCTION(reflection_class_tostring)
+ZEND_METHOD(reflection_class, tostring)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1205,7 +1229,7 @@ ZEND_FUNCTION(reflection_class_tostring)
/* {{{ proto public string Reflection_Class::getName()
Returns the class' name */
-ZEND_FUNCTION(reflection_class_getname)
+ZEND_METHOD(reflection_class, getname)
{
METHOD_NOTSTATIC_NUMPARAMS(0);
_default_get_entry(getThis(), "name", sizeof("name"), return_value TSRMLS_CC);
@@ -1214,7 +1238,7 @@ ZEND_FUNCTION(reflection_class_getname)
/* {{{ proto public bool Reflection_Class::isInternal()
Returns whether this class is an internal class */
-ZEND_FUNCTION(reflection_class_isinternal)
+ZEND_METHOD(reflection_class, isinternal)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1227,7 +1251,7 @@ ZEND_FUNCTION(reflection_class_isinternal)
/* {{{ proto public bool Reflection_Class::isUserDefined()
Returns whether this class is user-defined */
-ZEND_FUNCTION(reflection_class_isuserdefined)
+ZEND_METHOD(reflection_class, isuserdefined)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1240,7 +1264,7 @@ ZEND_FUNCTION(reflection_class_isuserdefined)
/* {{{ proto public string Reflection_Class::getFileName()
Returns the filename of the file this class was declared in */
-ZEND_FUNCTION(reflection_class_getfilename)
+ZEND_METHOD(reflection_class, getfilename)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1256,7 +1280,7 @@ ZEND_FUNCTION(reflection_class_getfilename)
/* {{{ proto public int Reflection_Class::getStartLine()
Returns the line this class' declaration starts at */
-ZEND_FUNCTION(reflection_class_getstartline)
+ZEND_METHOD(reflection_class, getstartline)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1272,7 +1296,7 @@ ZEND_FUNCTION(reflection_class_getstartline)
/* {{{ proto public int Reflection_Class::getEndLine()
Returns the line this class' declaration ends at */
-ZEND_FUNCTION(reflection_class_getendline)
+ZEND_METHOD(reflection_class, getendline)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1288,7 +1312,7 @@ ZEND_FUNCTION(reflection_class_getendline)
/* {{{ proto public string Reflection_Class::getDocComment()
Returns the doc comment for this class */
-ZEND_FUNCTION(reflection_class_getdoccomment)
+ZEND_METHOD(reflection_class, getdoccomment)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1304,7 +1328,7 @@ ZEND_FUNCTION(reflection_class_getdoccomment)
/* {{{ proto public Reflection_Method Reflection_Class::getConstructor()
Returns the class' constructor if there is one, NULL otherwise */
-ZEND_FUNCTION(reflection_class_getconstructor)
+ZEND_METHOD(reflection_class, getconstructor)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1322,7 +1346,7 @@ ZEND_FUNCTION(reflection_class_getconstructor)
/* {{{ proto public Reflection_Method Reflection_Class::getMethod(string name)
Returns the class' method specified by it's name */
-ZEND_FUNCTION(reflection_class_getmethod)
+ZEND_METHOD(reflection_class, getmethod)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1363,7 +1387,7 @@ static int _addmethod(zend_function *mptr, int num_args, va_list args, zend_hash
/* {{{ proto public Reflection_Method[] Reflection_Class::getMethods()
Returns an array of this class' methods */
-ZEND_FUNCTION(reflection_class_getmethods)
+ZEND_METHOD(reflection_class, getmethods)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1389,7 +1413,7 @@ ZEND_FUNCTION(reflection_class_getmethods)
/* {{{ proto public Reflection_Property Reflection_Class::getProperty(string name)
Returns the class' property specified by it's name */
-ZEND_FUNCTION(reflection_class_getproperty)
+ZEND_METHOD(reflection_class, getproperty)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1429,7 +1453,7 @@ static int _addproperty(zend_property_info *pptr, int num_args, va_list args, ze
/* {{{ proto public Reflection_Property[] Reflection_Class::getProperties()
Returns an array of this class' properties */
-ZEND_FUNCTION(reflection_class_getproperties)
+ZEND_METHOD(reflection_class, getproperties)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1455,7 +1479,7 @@ ZEND_FUNCTION(reflection_class_getproperties)
/* {{{ proto public array Reflection_Class::getConstants()
Returns an associative array containing this class' constants and their values */
-ZEND_FUNCTION(reflection_class_getconstants)
+ZEND_METHOD(reflection_class, getconstants)
{
zval *tmp_copy;
reflection_object *intern;
@@ -1470,7 +1494,7 @@ ZEND_FUNCTION(reflection_class_getconstants)
/* {{{ proto public mixed Reflection_Class::getConstant(string name)
Returns the class' constant specified by its name */
-ZEND_FUNCTION(reflection_class_getconstant)
+ZEND_METHOD(reflection_class, getconstant)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1504,7 +1528,7 @@ static void _class_check_flag(INTERNAL_FUNCTION_PARAMETERS, int mask)
/* {{{ proto public bool Reflection_Class::isInstantiable()
Returns whether this class is instantiable */
-ZEND_FUNCTION(reflection_class_isinstantiable)
+ZEND_METHOD(reflection_class, isinstantiable)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1528,7 +1552,7 @@ ZEND_FUNCTION(reflection_class_isinstantiable)
/* {{{ proto public bool Reflection_Class::isInterface()
Returns whether this is an interface or a class */
-ZEND_FUNCTION(reflection_class_isinterface)
+ZEND_METHOD(reflection_class, isinterface)
{
_class_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_INTERFACE);
}
@@ -1536,7 +1560,7 @@ ZEND_FUNCTION(reflection_class_isinterface)
/* {{{ proto public bool Reflection_Class::isFinal()
Returns whether this class is final */
-ZEND_FUNCTION(reflection_class_isfinal)
+ZEND_METHOD(reflection_class, isfinal)
{
_class_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_FINAL_CLASS);
}
@@ -1544,7 +1568,7 @@ ZEND_FUNCTION(reflection_class_isfinal)
/* {{{ proto public bool Reflection_Class::isAbstract()
Returns whether this class is abstract */
-ZEND_FUNCTION(reflection_class_isabstract)
+ZEND_METHOD(reflection_class, isabstract)
{
_class_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_ABSTRACT_CLASS);
}
@@ -1552,7 +1576,7 @@ ZEND_FUNCTION(reflection_class_isabstract)
/* {{{ proto public int Reflection_Class::getModifiers()
Returns a bitfield of the access modifiers for this class */
-ZEND_FUNCTION(reflection_class_getmodifiers)
+ZEND_METHOD(reflection_class, getmodifiers)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1566,7 +1590,7 @@ ZEND_FUNCTION(reflection_class_getmodifiers)
/* {{{ proto public bool Reflection_Class::isInstance(stdclass object)
Returns whether the given object is an instance of this class */
-ZEND_FUNCTION(reflection_class_isinstance)
+ZEND_METHOD(reflection_class, isinstance)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1583,7 +1607,7 @@ ZEND_FUNCTION(reflection_class_isinstance)
/* {{{ proto public stdclass Reflection_Class::newInstance(mixed* args)
Returns an instance of this class */
-ZEND_FUNCTION(reflection_class_newinstance)
+ZEND_METHOD(reflection_class, newinstance)
{
zval *retval_ptr;
reflection_object *intern;
@@ -1643,7 +1667,7 @@ ZEND_FUNCTION(reflection_class_newinstance)
/* {{{ proto public Reflection_Class[] Reflection_Class::getInterfaces()
Returns an array of interfaces this class implements */
-ZEND_FUNCTION(reflection_class_getinterfaces)
+ZEND_METHOD(reflection_class, getinterfaces)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1669,7 +1693,7 @@ ZEND_FUNCTION(reflection_class_getinterfaces)
/* {{{ proto public Reflection_Class Reflection_Class::getParentClass()
Returns the class' parent class, or, if none exists, FALSE */
-ZEND_FUNCTION(reflection_class_getparentclass)
+ZEND_METHOD(reflection_class, getparentclass)
{
reflection_object *intern;
zend_class_entry *ce;
@@ -1687,7 +1711,7 @@ ZEND_FUNCTION(reflection_class_getparentclass)
/* {{{ proto public bool Reflection_Class::isSubclassOf(Reflection_Class class)
Returns whether this class is a subclass of another class */
-ZEND_FUNCTION(reflection_class_issubclassof)
+ZEND_METHOD(reflection_class, issubclassof)
{
reflection_object *intern, *argument;
zend_class_entry *ce;
@@ -1716,7 +1740,7 @@ ZEND_FUNCTION(reflection_class_issubclassof)
/* {{{ proto public Reflection_Property::__construct(mixed class, string name)
Constructor. Throws an Exception in case the given property does not exist */
-ZEND_FUNCTION(reflection_property)
+ZEND_METHOD(reflection_property, __construct)
{
zval *name, *class;
zval *classname;
@@ -1787,7 +1811,7 @@ ZEND_FUNCTION(reflection_property)
/* {{{ proto public string Reflection_Property::toString()
Returns a string representation */
-ZEND_FUNCTION(reflection_property_tostring)
+ZEND_METHOD(reflection_property, tostring)
{
reflection_object *intern;
property_reference *ref;
@@ -1803,7 +1827,7 @@ ZEND_FUNCTION(reflection_property_tostring)
/* {{{ proto public string Reflection_Property::getName()
Returns the class' name */
-ZEND_FUNCTION(reflection_property_getname)
+ZEND_METHOD(reflection_property, getname)
{
METHOD_NOTSTATIC_NUMPARAMS(0);
_default_get_entry(getThis(), "name", sizeof("name"), return_value TSRMLS_CC);
@@ -1822,7 +1846,7 @@ static void _property_check_flag(INTERNAL_FUNCTION_PARAMETERS, int mask)
/* {{{ proto public bool Reflection_Property::isPublic()
Returns whether this property is public */
-ZEND_FUNCTION(reflection_property_ispublic)
+ZEND_METHOD(reflection_property, ispublic)
{
_property_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_PUBLIC);
}
@@ -1830,7 +1854,7 @@ ZEND_FUNCTION(reflection_property_ispublic)
/* {{{ proto public bool Reflection_Property::isPrivate()
Returns whether this property is private */
-ZEND_FUNCTION(reflection_property_isprivate)
+ZEND_METHOD(reflection_property, isprivate)
{
_property_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_PRIVATE);
}
@@ -1838,7 +1862,7 @@ ZEND_FUNCTION(reflection_property_isprivate)
/* {{{ proto public bool Reflection_Property::isProtected()
Returns whether this property is protected */
-ZEND_FUNCTION(reflection_property_isprotected)
+ZEND_METHOD(reflection_property, isprotected)
{
_property_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_PROTECTED);
}
@@ -1846,7 +1870,7 @@ ZEND_FUNCTION(reflection_property_isprotected)
/* {{{ proto public bool Reflection_Property::isStatic()
Returns whether this property is static */
-ZEND_FUNCTION(reflection_property_isstatic)
+ZEND_METHOD(reflection_property, isstatic)
{
_property_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ZEND_ACC_STATIC);
}
@@ -1854,7 +1878,7 @@ ZEND_FUNCTION(reflection_property_isstatic)
/* {{{ proto public bool Reflection_Property::isDefault()
Returns whether this property is default (declared at compilation time). */
-ZEND_FUNCTION(reflection_property_isdefault)
+ZEND_METHOD(reflection_property, isdefault)
{
_property_check_flag(INTERNAL_FUNCTION_PARAM_PASSTHRU, ~ZEND_ACC_IMPLICIT_PUBLIC);
}
@@ -1862,7 +1886,7 @@ ZEND_FUNCTION(reflection_property_isdefault)
/* {{{ proto public int Reflection_Property::getModifiers()
Returns a bitfield of the access modifiers for this property */
-ZEND_FUNCTION(reflection_property_getmodifiers)
+ZEND_METHOD(reflection_property, getmodifiers)
{
reflection_object *intern;
property_reference *ref;
@@ -1878,7 +1902,7 @@ ZEND_FUNCTION(reflection_property_getmodifiers)
/* {{{ proto public mixed Reflection_Property::getValue(stdclass object)
Returns this property's value */
-ZEND_FUNCTION(reflection_property_getvalue)
+ZEND_METHOD(reflection_property, getvalue)
{
reflection_object *intern;
property_reference *ref;
@@ -1909,7 +1933,7 @@ ZEND_FUNCTION(reflection_property_getvalue)
/* {{{ proto public void Reflection_Property::setValue(stdclass object, mixed value)
Sets this property's value */
-ZEND_FUNCTION(reflection_property_setvalue)
+ZEND_METHOD(reflection_property, setvalue)
{
reflection_object *intern;
property_reference *ref;
@@ -1963,7 +1987,7 @@ ZEND_FUNCTION(reflection_property_setvalue)
/* {{{ proto public Reflection_Class Reflection_Property::getDeclaringClass()
Get the declaring class */
-ZEND_FUNCTION(reflection_property_getdeclaringclass)
+ZEND_METHOD(reflection_property, getdeclaringclass)
{
reflection_object *intern;
property_reference *ref;
@@ -1976,7 +2000,7 @@ ZEND_FUNCTION(reflection_property_getdeclaringclass)
/* {{{ proto public Reflection_Extension::__construct(string name)
Constructor. Throws an Exception in case the given extension does not exist */
-ZEND_FUNCTION(reflection_extension)
+ZEND_METHOD(reflection_extension, __construct)
{
zval *name;
zval *object;
@@ -2010,7 +2034,7 @@ ZEND_FUNCTION(reflection_extension)
/* {{{ proto public string Reflection_Extension::toString()
Returns a string representation */
-ZEND_FUNCTION(reflection_extension_tostring)
+ZEND_METHOD(reflection_extension, tostring)
{
reflection_object *intern;
zend_module_entry *module;
@@ -2026,7 +2050,7 @@ ZEND_FUNCTION(reflection_extension_tostring)
/* {{{ proto public string Reflection_Extension::getName()
Returns this extension's name */
-ZEND_FUNCTION(reflection_extension_getname)
+ZEND_METHOD(reflection_extension, getname)
{
METHOD_NOTSTATIC_NUMPARAMS(0);
_default_get_entry(getThis(), "name", sizeof("name"), return_value TSRMLS_CC);
@@ -2035,7 +2059,7 @@ ZEND_FUNCTION(reflection_extension_getname)
/* {{{ proto public string Reflection_Extension::getVersion()
Returns this extension's version */
-ZEND_FUNCTION(reflection_extension_getversion)
+ZEND_METHOD(reflection_extension, getversion)
{
reflection_object *intern;
zend_module_entry *module;
@@ -2054,7 +2078,7 @@ ZEND_FUNCTION(reflection_extension_getversion)
/* {{{ proto public Reflection_Function[] Reflection_Extension::getFunctions()
Returns an array of this extension's fuctions */
-ZEND_FUNCTION(reflection_extension_getfunctions)
+ZEND_METHOD(reflection_extension, getfunctions)
{
reflection_object *intern;
zend_module_entry *module;
@@ -2102,7 +2126,7 @@ static int _addconstant(zend_constant *constant, int num_args, va_list args, zen
/* {{{ proto public array Reflection_Extension::getConstants()
Returns an associative array containing this extension's constants and their values */
-ZEND_FUNCTION(reflection_extension_getconstants)
+ZEND_METHOD(reflection_extension, getconstants)
{
reflection_object *intern;
zend_module_entry *module;
@@ -2132,7 +2156,7 @@ static int _addinientry(zend_ini_entry *ini_entry, int num_args, va_list args, z
/* {{{ proto public array Reflection_Extension::getINIEntries()
Returns an associative array containing this extension's INI entries and their values */
-ZEND_FUNCTION(reflection_extension_getinientries)
+ZEND_METHOD(reflection_extension, getinientries)
{
reflection_object *intern;
zend_module_entry *module;
@@ -2145,8 +2169,8 @@ ZEND_FUNCTION(reflection_extension_getinientries)
}
static zend_function_entry reflection_functions[] = {
- ZEND_NAMED_FE(getmodifiernames, ZEND_FN(reflection_getmodifiernames), NULL)
- ZEND_NAMED_FE(export, ZEND_FN(reflection_export), NULL)
+ ZEND_ME(reflection, getmodifiernames, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
+ ZEND_ME(reflection, export, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
{NULL, NULL, NULL}
};
@@ -2156,91 +2180,92 @@ static zend_function_entry reflector_functions[] = {
};
static zend_function_entry reflection_function_functions[] = {
- ZEND_FE(reflection_function, NULL)
- ZEND_NAMED_FE(tostring, ZEND_FN(reflection_function_tostring), NULL)
- ZEND_NAMED_FE(isinternal, ZEND_FN(reflection_function_isinternal), NULL)
- ZEND_NAMED_FE(isuserdefined, ZEND_FN(reflection_function_isuserdefined), NULL)
- ZEND_NAMED_FE(getname, ZEND_FN(reflection_function_getname), NULL)
- ZEND_NAMED_FE(getfilename, ZEND_FN(reflection_function_getfilename), NULL)
- ZEND_NAMED_FE(getstartline, ZEND_FN(reflection_function_getstartline), NULL)
- ZEND_NAMED_FE(getendline, ZEND_FN(reflection_function_getendline), NULL)
- ZEND_NAMED_FE(getdoccomment, ZEND_FN(reflection_function_getdoccomment), NULL)
- ZEND_NAMED_FE(getstaticvariables, ZEND_FN(reflection_function_getstaticvariables), NULL)
- ZEND_NAMED_FE(invoke, ZEND_FN(reflection_function_invoke), NULL)
- ZEND_NAMED_FE(returnsreference, ZEND_FN(reflection_function_returnsreference), NULL)
+ ZEND_ME(reflection_function, __construct, NULL, 0)
+ ZEND_ME(reflection_function, tostring, NULL, 0)
+ ZEND_ME(reflection_function, isinternal, NULL, 0)
+ ZEND_ME(reflection_function, isuserdefined, NULL, 0)
+ ZEND_ME(reflection_function, getname, NULL, 0)
+ ZEND_ME(reflection_function, getfilename, NULL, 0)
+ ZEND_ME(reflection_function, getstartline, NULL, 0)
+ ZEND_ME(reflection_function, getendline, NULL, 0)
+ ZEND_ME(reflection_function, getdoccomment, NULL, 0)
+ ZEND_ME(reflection_function, getstaticvariables, NULL, 0)
+ ZEND_ME(reflection_function, invoke, NULL, 0)
+ ZEND_ME(reflection_function, returnsreference, NULL, 0)
{NULL, NULL, NULL}
};
static zend_function_entry reflection_method_functions[] = {
- ZEND_FE(reflection_method, NULL)
- ZEND_NAMED_FE(tostring, ZEND_FN(reflection_method_tostring), NULL)
- ZEND_NAMED_FE(ispublic, ZEND_FN(reflection_method_ispublic), NULL)
- ZEND_NAMED_FE(isprivate, ZEND_FN(reflection_method_isprivate), NULL)
- ZEND_NAMED_FE(isprotected, ZEND_FN(reflection_method_isprotected), NULL)
- ZEND_NAMED_FE(isabstract, ZEND_FN(reflection_method_isabstract), NULL)
- ZEND_NAMED_FE(isfinal, ZEND_FN(reflection_method_isfinal), NULL)
- ZEND_NAMED_FE(isstatic, ZEND_FN(reflection_method_isstatic), NULL)
- ZEND_NAMED_FE(getmodifiers, ZEND_FN(reflection_method_getmodifiers), NULL)
- ZEND_NAMED_FE(isconstructor, ZEND_FN(reflection_method_isconstructor), NULL)
- ZEND_NAMED_FE(invoke, ZEND_FN(reflection_method_invoke), NULL)
- ZEND_NAMED_FE(getdeclaringclass, ZEND_FN(reflection_method_getdeclaringclass), NULL)
+ ZEND_ME(reflection_method, __construct, NULL, 0)
+ ZEND_ME(reflection_method, tostring, NULL, 0)
+ ZEND_ME(reflection_method, ispublic, NULL, 0)
+ ZEND_ME(reflection_method, isprivate, NULL, 0)
+ ZEND_ME(reflection_method, isprotected, NULL, 0)
+ ZEND_ME(reflection_method, isabstract, NULL, 0)
+ ZEND_ME(reflection_method, isfinal, NULL, 0)
+ ZEND_ME(reflection_method, isstatic, NULL, 0)
+ ZEND_ME(reflection_method, isconstructor, NULL, 0)
+ ZEND_ME(reflection_method, isdestructor, NULL, 0)
+ ZEND_ME(reflection_method, getmodifiers, NULL, 0)
+ ZEND_ME(reflection_method, invoke, NULL, 0)
+ ZEND_ME(reflection_method, getdeclaringclass, NULL, 0)
{NULL, NULL, NULL}
};
static zend_function_entry reflection_class_functions[] = {
- ZEND_FE(reflection_class, NULL)
- ZEND_NAMED_FE(tostring, ZEND_FN(reflection_class_tostring), NULL)
- ZEND_NAMED_FE(getname, ZEND_FN(reflection_class_getname), NULL)
- ZEND_NAMED_FE(isinternal, ZEND_FN(reflection_class_isinternal), NULL)
- ZEND_NAMED_FE(isuserdefined, ZEND_FN(reflection_class_isuserdefined), NULL)
- ZEND_NAMED_FE(isinstantiable, ZEND_FN(reflection_class_isinstantiable), NULL)
- ZEND_NAMED_FE(getfilename, ZEND_FN(reflection_class_getfilename), NULL)
- ZEND_NAMED_FE(getstartline, ZEND_FN(reflection_class_getstartline), NULL)
- ZEND_NAMED_FE(getendline, ZEND_FN(reflection_class_getendline), NULL)
- ZEND_NAMED_FE(getdoccomment, ZEND_FN(reflection_class_getdoccomment), NULL)
- ZEND_NAMED_FE(getconstructor, ZEND_FN(reflection_class_getconstructor), NULL)
- ZEND_NAMED_FE(getmethod, ZEND_FN(reflection_class_getmethod), NULL)
- ZEND_NAMED_FE(getmethods, ZEND_FN(reflection_class_getmethods), NULL)
- ZEND_NAMED_FE(getproperty, ZEND_FN(reflection_class_getproperty), NULL)
- ZEND_NAMED_FE(getproperties, ZEND_FN(reflection_class_getproperties), NULL)
- ZEND_NAMED_FE(getconstants, ZEND_FN(reflection_class_getconstants), NULL)
- ZEND_NAMED_FE(getconstant, ZEND_FN(reflection_class_getconstant), NULL)
- ZEND_NAMED_FE(getinterfaces, ZEND_FN(reflection_class_getinterfaces), NULL)
- ZEND_NAMED_FE(isinterface, ZEND_FN(reflection_class_isinterface), NULL)
- ZEND_NAMED_FE(isabstract, ZEND_FN(reflection_class_isabstract), NULL)
- ZEND_NAMED_FE(isfinal, ZEND_FN(reflection_class_isfinal), NULL)
- ZEND_NAMED_FE(getmodifiers, ZEND_FN(reflection_class_getmodifiers), NULL)
- ZEND_NAMED_FE(isinstance, ZEND_FN(reflection_class_isinstance), NULL)
- ZEND_NAMED_FE(newinstance, ZEND_FN(reflection_class_newinstance), NULL)
- ZEND_NAMED_FE(getparentclass, ZEND_FN(reflection_class_getparentclass), NULL)
- ZEND_NAMED_FE(issubclassof, ZEND_FN(reflection_class_issubclassof), NULL)
+ ZEND_ME(reflection_class, __construct, NULL, 0)
+ ZEND_ME(reflection_class, tostring, NULL, 0)
+ ZEND_ME(reflection_class, getname, NULL, 0)
+ ZEND_ME(reflection_class, isinternal, NULL, 0)
+ ZEND_ME(reflection_class, isuserdefined, NULL, 0)
+ ZEND_ME(reflection_class, isinstantiable, NULL, 0)
+ ZEND_ME(reflection_class, getfilename, NULL, 0)
+ ZEND_ME(reflection_class, getstartline, NULL, 0)
+ ZEND_ME(reflection_class, getendline, NULL, 0)
+ ZEND_ME(reflection_class, getdoccomment, NULL, 0)
+ ZEND_ME(reflection_class, getconstructor, NULL, 0)
+ ZEND_ME(reflection_class, getmethod, NULL, 0)
+ ZEND_ME(reflection_class, getmethods, NULL, 0)
+ ZEND_ME(reflection_class, getproperty, NULL, 0)
+ ZEND_ME(reflection_class, getproperties, NULL, 0)
+ ZEND_ME(reflection_class, getconstants, NULL, 0)
+ ZEND_ME(reflection_class, getconstant, NULL, 0)
+ ZEND_ME(reflection_class, getinterfaces, NULL, 0)
+ ZEND_ME(reflection_class, isinterface, NULL, 0)
+ ZEND_ME(reflection_class, isabstract, NULL, 0)
+ ZEND_ME(reflection_class, isfinal, NULL, 0)
+ ZEND_ME(reflection_class, getmodifiers, NULL, 0)
+ ZEND_ME(reflection_class, isinstance, NULL, 0)
+ ZEND_ME(reflection_class, newinstance, NULL, 0)
+ ZEND_ME(reflection_class, getparentclass, NULL, 0)
+ ZEND_ME(reflection_class, issubclassof, NULL, 0)
{NULL, NULL, NULL}
};
static zend_function_entry reflection_property_functions[] = {
- ZEND_FE(reflection_property, NULL)
- ZEND_NAMED_FE(tostring, ZEND_FN(reflection_property_tostring), NULL)
- ZEND_NAMED_FE(getname, ZEND_FN(reflection_property_getname), NULL)
- ZEND_NAMED_FE(getvalue, ZEND_FN(reflection_property_getvalue), NULL)
- ZEND_NAMED_FE(setvalue, ZEND_FN(reflection_property_setvalue), NULL)
- ZEND_NAMED_FE(ispublic, ZEND_FN(reflection_property_ispublic), NULL)
- ZEND_NAMED_FE(isprivate, ZEND_FN(reflection_property_isprivate), NULL)
- ZEND_NAMED_FE(isprotected, ZEND_FN(reflection_property_isprotected), NULL)
- ZEND_NAMED_FE(isstatic, ZEND_FN(reflection_property_isstatic), NULL)
- ZEND_NAMED_FE(isdefault, ZEND_FN(reflection_property_isdefault), NULL)
- ZEND_NAMED_FE(getmodifiers, ZEND_FN(reflection_property_getmodifiers), NULL)
- ZEND_NAMED_FE(getdeclaringclass, ZEND_FN(reflection_property_getdeclaringclass), NULL)
+ ZEND_ME(reflection_property, __construct, NULL, 0)
+ ZEND_ME(reflection_property, tostring, NULL, 0)
+ ZEND_ME(reflection_property, getname, NULL, 0)
+ ZEND_ME(reflection_property, getvalue, NULL, 0)
+ ZEND_ME(reflection_property, setvalue, NULL, 0)
+ ZEND_ME(reflection_property, ispublic, NULL, 0)
+ ZEND_ME(reflection_property, isprivate, NULL, 0)
+ ZEND_ME(reflection_property, isprotected, NULL, 0)
+ ZEND_ME(reflection_property, isstatic, NULL, 0)
+ ZEND_ME(reflection_property, isdefault, NULL, 0)
+ ZEND_ME(reflection_property, getmodifiers, NULL, 0)
+ ZEND_ME(reflection_property, getdeclaringclass, NULL, 0)
{NULL, NULL, NULL}
};
static zend_function_entry reflection_extension_functions[] = {
- ZEND_FE(reflection_extension, NULL)
- ZEND_NAMED_FE(tostring, ZEND_FN(reflection_extension_tostring), NULL)
- ZEND_NAMED_FE(getname, ZEND_FN(reflection_extension_getname), NULL)
- ZEND_NAMED_FE(getversion, ZEND_FN(reflection_extension_getversion), NULL)
- ZEND_NAMED_FE(getfunctions, ZEND_FN(reflection_extension_getfunctions), NULL)
- ZEND_NAMED_FE(getconstants, ZEND_FN(reflection_extension_getconstants), NULL)
- ZEND_NAMED_FE(getinientries, ZEND_FN(reflection_extension_getinientries), NULL)
+ ZEND_ME(reflection_extension, __construct, NULL, 0)
+ ZEND_ME(reflection_extension, tostring, NULL, 0)
+ ZEND_ME(reflection_extension, getname, NULL, 0)
+ ZEND_ME(reflection_extension, getversion, NULL, 0)
+ ZEND_ME(reflection_extension, getfunctions, NULL, 0)
+ ZEND_ME(reflection_extension, getconstants, NULL, 0)
+ ZEND_ME(reflection_extension, getinientries, NULL, 0)
{NULL, NULL, NULL}
};