From: Felipe Pena Date: Mon, 27 Apr 2009 19:46:03 +0000 (+0000) Subject: - Fixed bug #47254 (Wrong Reflection for extends class) X-Git-Tag: php-5.4.0alpha1~191^2~3822 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cab1fb7ce1dd4ff848af5a166b4a5fa43915009f;p=php - Fixed bug #47254 (Wrong Reflection for extends class) --- diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index 25ec6568d9..9cd11f0c8c 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -1239,7 +1239,8 @@ static void reflection_method_factory(zend_class_entry *ce, zend_function *metho MAKE_STD_ZVAL(name); MAKE_STD_ZVAL(classname); ZVAL_TEXT(name, method->common.function_name, 1); - ZVAL_TEXTL(classname, ce->name, ce->name_length, 1); + ZVAL_UNICODEL(classname, method->common.scope->name.u, method->common.scope->name_length, 1); + reflection_instantiate(reflection_method_ptr, object TSRMLS_CC); intern = (reflection_object *) zend_object_store_get_object(object TSRMLS_CC); intern->ptr = method; @@ -1283,7 +1284,7 @@ static void reflection_property_factory(zend_class_entry *ce, zend_property_info MAKE_STD_ZVAL(name); MAKE_STD_ZVAL(classname); ZVAL_TEXT(name, prop_name, 1); - ZVAL_TEXTL(classname, ce->name, ce->name_length, 1); + ZVAL_UNICODEL(classname, prop->ce->name.u, prop->ce->name_length, 1); reflection_instantiate(reflection_property_ptr, object TSRMLS_CC); intern = (reflection_object *) zend_object_store_get_object(object TSRMLS_CC); @@ -2542,11 +2543,6 @@ ZEND_METHOD(reflection_method, __construct) zval_dtor(&ztmp); } - MAKE_STD_ZVAL(classname); - ZVAL_TEXTL(classname, ce->name, ce->name_length, 1); - - zend_ascii_hash_update(Z_OBJPROP_P(object), "class", sizeof("class"), (void **) &classname, sizeof(zval *), NULL); - lcname = zend_u_str_case_fold(type, name_str, name_len, 1, &lcname_len); if (ce == zend_ce_closure && orig_obj && (lcname_len == sizeof(ZEND_INVOKE_FUNC_NAME)-1) @@ -2589,18 +2585,25 @@ ZEND_METHOD(reflection_method, __construct) return; } } - + + MAKE_STD_ZVAL(classname); MAKE_STD_ZVAL(name); + if (intern->obj) { - ZVAL_ZSTRL(name, type, name_str, name_len, 1); + ZVAL_UNICODEL(classname, ce->name.u, ce->name_length, 1); + ZVAL_ZSTRL(name, type, name_str, name_len, 1); } else { + ZVAL_UNICODEL(classname, mptr->common.scope->name.u, mptr->common.scope->name_length, 1); ZVAL_TEXT(name, mptr->common.function_name, 1); } efree(lcname.v); if (free_name_str) { efree(name_str.v); } + + zend_ascii_hash_update(Z_OBJPROP_P(object), "class", sizeof("class"), (void **) &classname, sizeof(zval *), NULL); zend_ascii_hash_update(Z_OBJPROP_P(object), "name", sizeof("name"), (void **) &name, sizeof(zval *), NULL); + intern->ptr = mptr; intern->ref_type = REF_TYPE_FUNCTION; intern->ce = ce; @@ -4525,17 +4528,17 @@ ZEND_METHOD(reflection_property, __construct) } MAKE_STD_ZVAL(classname); - ZVAL_TEXTL(classname, ce->name, ce->name_length, 1); - zend_ascii_hash_update(Z_OBJPROP_P(object), "class", sizeof("class"), (void **) &classname, sizeof(zval *), NULL); - - MAKE_STD_ZVAL(propname); + if (dynam_prop == 0) { zend_u_unmangle_property_name(IS_UNICODE, property_info->name, property_info->name_length, &class_name, &prop_name); + ZVAL_UNICODEL(classname, property_info->ce->name.u, property_info->ce->name_length, 1); ZVAL_TEXT(propname, prop_name, 1); } else { + ZVAL_UNICODEL(classname, ce->name.u, ce->name_length, 1); ZVAL_TEXTL(propname, name_str, name_len, 1); } + zend_ascii_hash_update(Z_OBJPROP_P(object), "class", sizeof("class"), (void **) &classname, sizeof(zval *), NULL); zend_ascii_hash_update(Z_OBJPROP_P(object), "name", sizeof("name"), (void **) &propname, sizeof(zval *), NULL); reference = (property_reference*) emalloc(sizeof(property_reference)); diff --git a/ext/reflection/tests/002.phpt b/ext/reflection/tests/002.phpt index f974a99c69..833fed4aa5 100755 --- a/ext/reflection/tests/002.phpt +++ b/ext/reflection/tests/002.phpt @@ -50,14 +50,14 @@ var_dump($r->bar); ===DONE=== --EXPECTF-- ReflectionMethodEx::__construct -unicode(18) "ReflectionMethodEx" -unicode(7) "getName" -unicode(3) "xyz" +%unicode|string%(26) "ReflectionFunctionAbstract" +%unicode|string%(7) "getName" +%unicode|string%(3) "xyz" NULL Cannot set read-only property ReflectionMethodEx::$class Cannot set read-only property ReflectionMethodEx::$name -unicode(18) "ReflectionMethodEx" -unicode(7) "getName" -unicode(3) "bar" -unicode(3) "baz" +%unicode|string%(26) "ReflectionFunctionAbstract" +%unicode|string%(7) "getName" +%unicode|string%(3) "bar" +%unicode|string%(3) "baz" ===DONE=== diff --git a/ext/reflection/tests/008.phpt b/ext/reflection/tests/008.phpt index 4869a967e6..c0fe5442e8 100755 --- a/ext/reflection/tests/008.phpt +++ b/ext/reflection/tests/008.phpt @@ -65,7 +65,7 @@ derived::dPro = dPro derived::xPro = nPub derived::dPri = dPri derived::xPri = nPri -derived::rPub = rPub -derived::rPro = rPro -derived::stat = rStat +root::rPub = rPub +root::rPro = rPro +root::stat = rStat ===DONE=== diff --git a/ext/reflection/tests/ReflectionClass_getMethod_001.phpt b/ext/reflection/tests/ReflectionClass_getMethod_001.phpt index 9f75ace846..2f2d790f68 100644 --- a/ext/reflection/tests/ReflectionClass_getMethod_001.phpt +++ b/ext/reflection/tests/ReflectionClass_getMethod_001.phpt @@ -48,121 +48,121 @@ foreach($classes as $class) { --EXPECTF-- Reflecting on class pubf: --> Check for f(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(4) "pubf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } --> Check for s(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(4) "pubf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } --> Check for F(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(4) "pubf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } --> Check for doesntExist(): Method doesntExist does not exist Reflecting on class subpubf: --> Check for f(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(7) "subpubf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } --> Check for s(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(7) "subpubf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } --> Check for F(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(7) "subpubf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } --> Check for doesntExist(): Method doesntExist does not exist Reflecting on class protf: --> Check for f(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(5) "protf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } --> Check for s(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(5) "protf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } --> Check for F(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(5) "protf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } --> Check for doesntExist(): Method doesntExist does not exist Reflecting on class subprotf: --> Check for f(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(8) "subprotf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } --> Check for s(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(8) "subprotf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } --> Check for F(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(8) "subprotf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } --> Check for doesntExist(): Method doesntExist does not exist Reflecting on class privf: --> Check for f(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(5) "privf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } --> Check for s(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(5) "privf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } --> Check for F(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(5) "privf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } --> Check for doesntExist(): Method doesntExist does not exist Reflecting on class subprivf: --> Check for f(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(8) "subprivf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } --> Check for s(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(8) "subprivf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } --> Check for F(): object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(8) "subprivf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } - --> Check for doesntExist(): Method doesntExist does not exist \ No newline at end of file + --> Check for doesntExist(): Method doesntExist does not exist diff --git a/ext/reflection/tests/ReflectionClass_getMethods_001.phpt b/ext/reflection/tests/ReflectionClass_getMethods_001.phpt index 8074b61cc3..ce5c980c60 100644 --- a/ext/reflection/tests/ReflectionClass_getMethods_001.phpt +++ b/ext/reflection/tests/ReflectionClass_getMethods_001.phpt @@ -40,101 +40,101 @@ Reflecting on class pubf: array(2) { [0]=> &object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(4) "pubf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } [1]=> &object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(4) "pubf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } } Reflecting on class subpubf: array(2) { [0]=> &object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(7) "subpubf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } [1]=> &object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(7) "subpubf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } } Reflecting on class protf: array(2) { [0]=> &object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(5) "protf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } [1]=> &object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(5) "protf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } } Reflecting on class subprotf: array(2) { [0]=> &object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(8) "subprotf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } [1]=> &object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(8) "subprotf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } } Reflecting on class privf: array(2) { [0]=> &object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(5) "privf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } [1]=> &object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(5) "privf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } } Reflecting on class subprivf: array(2) { [0]=> &object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "f" - [u"class"]=> - unicode(8) "subprivf" + [%u|b%"name"]=> + %unicode|string%(1) "f" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } [1]=> &object(ReflectionMethod)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(8) "subprivf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } -} \ No newline at end of file +} diff --git a/ext/reflection/tests/ReflectionClass_getProperties_001.phpt b/ext/reflection/tests/ReflectionClass_getProperties_001.phpt index 21ebe92295..b4f99ca68f 100644 --- a/ext/reflection/tests/ReflectionClass_getProperties_001.phpt +++ b/ext/reflection/tests/ReflectionClass_getProperties_001.phpt @@ -40,87 +40,87 @@ Reflecting on class pubf: array(2) { [0]=> &object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "a" - [u"class"]=> - unicode(4) "pubf" + [%u|b%"name"]=> + %unicode|string%(1) "a" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } [1]=> &object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(4) "pubf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } } Reflecting on class subpubf: array(2) { [0]=> &object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "a" - [u"class"]=> - unicode(7) "subpubf" + [%u|b%"name"]=> + %unicode|string%(1) "a" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } [1]=> &object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(7) "subpubf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } } Reflecting on class protf: array(2) { [0]=> &object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "a" - [u"class"]=> - unicode(5) "protf" + [%u|b%"name"]=> + %unicode|string%(1) "a" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } [1]=> &object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(5) "protf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } } Reflecting on class subprotf: array(2) { [0]=> &object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "a" - [u"class"]=> - unicode(8) "subprotf" + [%u|b%"name"]=> + %unicode|string%(1) "a" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } [1]=> &object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(8) "subprotf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } } Reflecting on class privf: array(2) { [0]=> &object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "a" - [u"class"]=> - unicode(5) "privf" + [%u|b%"name"]=> + %unicode|string%(1) "a" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } [1]=> &object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(5) "privf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } } Reflecting on class subprivf: array(0) { -} \ No newline at end of file +} diff --git a/ext/reflection/tests/ReflectionClass_getProperty_001.phpt b/ext/reflection/tests/ReflectionClass_getProperty_001.phpt index a5beb9da6f..9e174b749e 100644 --- a/ext/reflection/tests/ReflectionClass_getProperty_001.phpt +++ b/ext/reflection/tests/ReflectionClass_getProperty_001.phpt @@ -61,86 +61,86 @@ foreach($classes as $class) { --EXPECTF-- Reflecting on class pubf: --> Check for s: object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(4) "pubf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } --> Check for a: object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "a" - [u"class"]=> - unicode(4) "pubf" + [%u|b%"name"]=> + %unicode|string%(1) "a" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } --> Check for A: Property A does not exist --> Check for doesntExist: Property doesntExist does not exist Reflecting on class subpubf: --> Check for s: object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(7) "subpubf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } --> Check for a: object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "a" - [u"class"]=> - unicode(7) "subpubf" + [%u|b%"name"]=> + %unicode|string%(1) "a" + [%u|b%"class"]=> + %unicode|string%(4) "pubf" } --> Check for A: Property A does not exist --> Check for doesntExist: Property doesntExist does not exist Reflecting on class protf: --> Check for s: object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(5) "protf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } --> Check for a: object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "a" - [u"class"]=> - unicode(5) "protf" + [%u|b%"name"]=> + %unicode|string%(1) "a" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } --> Check for A: Property A does not exist --> Check for doesntExist: Property doesntExist does not exist Reflecting on class subprotf: --> Check for s: object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(8) "subprotf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } --> Check for a: object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "a" - [u"class"]=> - unicode(8) "subprotf" + [%u|b%"name"]=> + %unicode|string%(1) "a" + [%u|b%"class"]=> + %unicode|string%(5) "protf" } --> Check for A: Property A does not exist --> Check for doesntExist: Property doesntExist does not exist Reflecting on class privf: --> Check for s: object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(5) "privf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } --> Check for a: object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "a" - [u"class"]=> - unicode(5) "privf" + [%u|b%"name"]=> + %unicode|string%(1) "a" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } --> Check for A: Property A does not exist --> Check for doesntExist: Property doesntExist does not exist Reflecting on class subprivf: --> Check for s: object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(1) "s" - [u"class"]=> - unicode(8) "subprivf" + [%u|b%"name"]=> + %unicode|string%(1) "s" + [%u|b%"class"]=> + %unicode|string%(5) "privf" } --> Check for a: Property a does not exist --> Check for A: Property A does not exist - --> Check for doesntExist: Property doesntExist does not exist \ No newline at end of file + --> Check for doesntExist: Property doesntExist does not exist diff --git a/ext/reflection/tests/ReflectionClass_getProperty_003.phpt b/ext/reflection/tests/ReflectionClass_getProperty_003.phpt index 658c192b3a..515d9860ba 100644 --- a/ext/reflection/tests/ReflectionClass_getProperty_003.phpt +++ b/ext/reflection/tests/ReflectionClass_getProperty_003.phpt @@ -97,146 +97,146 @@ showInfo("doesntexist::doesntExist"); --EXPECTF-- --- (Reflecting on pubA) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(4) "pubA" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(4) "pubA" + [%u|b%"class"]=> + %unicode|string%(1) "A" } -unicode(9) "pubA in A" +%unicode|string%(9) "pubA in A" --- (Reflecting on protA) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "protA" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(5) "protA" + [%u|b%"class"]=> + %unicode|string%(1) "A" } Cannot access non-public member C::protA --- (Reflecting on privA) --- Property privA does not exist --- (Reflecting on pubB) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(4) "pubB" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(4) "pubB" + [%u|b%"class"]=> + %unicode|string%(1) "B" } -unicode(9) "pubB in B" +%unicode|string%(9) "pubB in B" --- (Reflecting on protB) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "protB" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(5) "protB" + [%u|b%"class"]=> + %unicode|string%(1) "B" } Cannot access non-public member C::protB --- (Reflecting on privB) --- Property privB does not exist --- (Reflecting on pubC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(4) "pubC" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(4) "pubC" + [%u|b%"class"]=> + %unicode|string%(1) "C" } -unicode(9) "pubC in C" +%unicode|string%(9) "pubC in C" --- (Reflecting on protC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "protC" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(5) "protC" + [%u|b%"class"]=> + %unicode|string%(1) "C" } Cannot access non-public member C::protC --- (Reflecting on privC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "privC" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(5) "privC" + [%u|b%"class"]=> + %unicode|string%(1) "C" } Cannot access non-public member C::privC --- (Reflecting on doesntExist) --- Property doesntExist does not exist --- (Reflecting on A::pubC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(4) "pubC" - [u"class"]=> - unicode(1) "A" + [%u|b%"name"]=> + %unicode|string%(4) "pubC" + [%u|b%"class"]=> + %unicode|string%(1) "A" } -unicode(9) "pubC in A" +%unicode|string%(9) "pubC in A" --- (Reflecting on A::protC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "protC" - [u"class"]=> - unicode(1) "A" + [%u|b%"name"]=> + %unicode|string%(5) "protC" + [%u|b%"class"]=> + %unicode|string%(1) "A" } Cannot access non-public member A::protC --- (Reflecting on A::privC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "privC" - [u"class"]=> - unicode(1) "A" + [%u|b%"name"]=> + %unicode|string%(5) "privC" + [%u|b%"class"]=> + %unicode|string%(1) "A" } Cannot access non-public member A::privC --- (Reflecting on B::pubC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(4) "pubC" - [u"class"]=> - unicode(1) "B" + [%u|b%"name"]=> + %unicode|string%(4) "pubC" + [%u|b%"class"]=> + %unicode|string%(1) "B" } -unicode(9) "pubC in B" +%unicode|string%(9) "pubC in B" --- (Reflecting on B::protC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "protC" - [u"class"]=> - unicode(1) "B" + [%u|b%"name"]=> + %unicode|string%(5) "protC" + [%u|b%"class"]=> + %unicode|string%(1) "B" } Cannot access non-public member B::protC --- (Reflecting on B::privC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "privC" - [u"class"]=> - unicode(1) "B" + [%u|b%"name"]=> + %unicode|string%(5) "privC" + [%u|b%"class"]=> + %unicode|string%(1) "B" } Cannot access non-public member B::privC --- (Reflecting on c::pubC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(4) "pubC" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(4) "pubC" + [%u|b%"class"]=> + %unicode|string%(1) "C" } -unicode(9) "pubC in C" +%unicode|string%(9) "pubC in C" --- (Reflecting on c::PUBC) --- Property PUBC does not exist --- (Reflecting on C::pubC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(4) "pubC" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(4) "pubC" + [%u|b%"class"]=> + %unicode|string%(1) "C" } -unicode(9) "pubC in C" +%unicode|string%(9) "pubC in C" --- (Reflecting on C::protC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "protC" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(5) "protC" + [%u|b%"class"]=> + %unicode|string%(1) "C" } Cannot access non-public member C::protC --- (Reflecting on C::privC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "privC" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(5) "privC" + [%u|b%"class"]=> + %unicode|string%(1) "C" } Cannot access non-public member C::privC --- (Reflecting on X::pubC) --- @@ -248,4 +248,4 @@ Fully qualified property name X::privC does not specify a base class of C --- (Reflecting on X::doesntExist) --- Fully qualified property name X::doesntExist does not specify a base class of C --- (Reflecting on doesntexist::doesntExist) --- -Class doesntexist does not exist \ No newline at end of file +Class doesntexist does not exist diff --git a/ext/reflection/tests/ReflectionClass_getProperty_004.phpt b/ext/reflection/tests/ReflectionClass_getProperty_004.phpt index 23cc62404a..1070d57ce4 100644 --- a/ext/reflection/tests/ReflectionClass_getProperty_004.phpt +++ b/ext/reflection/tests/ReflectionClass_getProperty_004.phpt @@ -97,146 +97,146 @@ showInfo("doesntexist::doesntExist"); --EXPECTF-- --- (Reflecting on pubA) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(4) "pubA" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(4) "pubA" + [%u|b%"class"]=> + %unicode|string%(1) "A" } -unicode(9) "pubA in A" +%unicode|string%(9) "pubA in A" --- (Reflecting on protA) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "protA" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(5) "protA" + [%u|b%"class"]=> + %unicode|string%(1) "A" } Cannot access non-public member C::protA --- (Reflecting on privA) --- Property privA does not exist --- (Reflecting on pubB) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(4) "pubB" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(4) "pubB" + [%u|b%"class"]=> + %unicode|string%(1) "B" } -unicode(9) "pubB in B" +%unicode|string%(9) "pubB in B" --- (Reflecting on protB) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "protB" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(5) "protB" + [%u|b%"class"]=> + %unicode|string%(1) "B" } Cannot access non-public member C::protB --- (Reflecting on privB) --- Property privB does not exist --- (Reflecting on pubC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(4) "pubC" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(4) "pubC" + [%u|b%"class"]=> + %unicode|string%(1) "C" } -unicode(9) "pubC in C" +%unicode|string%(9) "pubC in C" --- (Reflecting on protC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "protC" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(5) "protC" + [%u|b%"class"]=> + %unicode|string%(1) "C" } Cannot access non-public member C::protC --- (Reflecting on privC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "privC" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(5) "privC" + [%u|b%"class"]=> + %unicode|string%(1) "C" } Cannot access non-public member C::privC --- (Reflecting on doesntExist) --- Property doesntExist does not exist --- (Reflecting on A::pubC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(4) "pubC" - [u"class"]=> - unicode(1) "A" + [%u|b%"name"]=> + %unicode|string%(4) "pubC" + [%u|b%"class"]=> + %unicode|string%(1) "A" } -unicode(9) "pubC in C" +%unicode|string%(9) "pubC in C" --- (Reflecting on A::protC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "protC" - [u"class"]=> - unicode(1) "A" + [%u|b%"name"]=> + %unicode|string%(5) "protC" + [%u|b%"class"]=> + %unicode|string%(1) "A" } Cannot access non-public member A::protC --- (Reflecting on A::privC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "privC" - [u"class"]=> - unicode(1) "A" + [%u|b%"name"]=> + %unicode|string%(5) "privC" + [%u|b%"class"]=> + %unicode|string%(1) "A" } Cannot access non-public member A::privC --- (Reflecting on B::pubC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(4) "pubC" - [u"class"]=> - unicode(1) "B" + [%u|b%"name"]=> + %unicode|string%(4) "pubC" + [%u|b%"class"]=> + %unicode|string%(1) "B" } -unicode(9) "pubC in C" +%unicode|string%(9) "pubC in C" --- (Reflecting on B::protC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "protC" - [u"class"]=> - unicode(1) "B" + [%u|b%"name"]=> + %unicode|string%(5) "protC" + [%u|b%"class"]=> + %unicode|string%(1) "B" } Cannot access non-public member B::protC --- (Reflecting on B::privC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "privC" - [u"class"]=> - unicode(1) "B" + [%u|b%"name"]=> + %unicode|string%(5) "privC" + [%u|b%"class"]=> + %unicode|string%(1) "B" } Cannot access non-public member B::privC --- (Reflecting on c::pubC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(4) "pubC" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(4) "pubC" + [%u|b%"class"]=> + %unicode|string%(1) "C" } -unicode(9) "pubC in C" +%unicode|string%(9) "pubC in C" --- (Reflecting on c::PUBC) --- Property PUBC does not exist --- (Reflecting on C::pubC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(4) "pubC" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(4) "pubC" + [%u|b%"class"]=> + %unicode|string%(1) "C" } -unicode(9) "pubC in C" +%unicode|string%(9) "pubC in C" --- (Reflecting on C::protC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "protC" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(5) "protC" + [%u|b%"class"]=> + %unicode|string%(1) "C" } Cannot access non-public member C::protC --- (Reflecting on C::privC) --- object(ReflectionProperty)#%d (2) { - [u"name"]=> - unicode(5) "privC" - [u"class"]=> - unicode(1) "C" + [%u|b%"name"]=> + %unicode|string%(5) "privC" + [%u|b%"class"]=> + %unicode|string%(1) "C" } Cannot access non-public member C::privC --- (Reflecting on X::pubC) --- @@ -248,4 +248,4 @@ Fully qualified property name X::privC does not specify a base class of C --- (Reflecting on X::doesntExist) --- Fully qualified property name X::doesntExist does not specify a base class of C --- (Reflecting on doesntexist::doesntExist) --- -Class doesntexist does not exist \ No newline at end of file +Class doesntexist does not exist diff --git a/ext/reflection/tests/ReflectionMethod_getModifiers_basic.phpt b/ext/reflection/tests/ReflectionMethod_getModifiers_basic.phpt index 790444384d..02c7b9fa3e 100644 --- a/ext/reflection/tests/ReflectionMethod_getModifiers_basic.phpt +++ b/ext/reflection/tests/ReflectionMethod_getModifiers_basic.phpt @@ -154,71 +154,71 @@ Modifiers for method TestClass::__autoload(): int(65792) -Modifiers for method DerivedClass::foo(): +Modifiers for method TestClass::foo(): int(65792) -Modifiers for method DerivedClass::stat(): +Modifiers for method TestClass::stat(): int(257) -Modifiers for method DerivedClass::priv(): +Modifiers for method TestClass::priv(): int(66560) -Modifiers for method DerivedClass::prot(): +Modifiers for method TestClass::prot(): int(66048) -Modifiers for method DerivedClass::fin(): +Modifiers for method TestClass::fin(): int(65796) -Modifiers for method DerivedClass::__destruct(): +Modifiers for method TestClass::__destruct(): int(16640) -Modifiers for method DerivedClass::__call(): +Modifiers for method TestClass::__call(): int(256) -Modifiers for method DerivedClass::__clone(): +Modifiers for method TestClass::__clone(): int(33024) -Modifiers for method DerivedClass::__get(): +Modifiers for method TestClass::__get(): int(256) -Modifiers for method DerivedClass::__set(): +Modifiers for method TestClass::__set(): int(256) -Modifiers for method DerivedClass::__unset(): +Modifiers for method TestClass::__unset(): int(256) -Modifiers for method DerivedClass::__isset(): +Modifiers for method TestClass::__isset(): int(256) -Modifiers for method DerivedClass::__tostring(): +Modifiers for method TestClass::__tostring(): int(256) -Modifiers for method DerivedClass::__sleep(): +Modifiers for method TestClass::__sleep(): int(65792) -Modifiers for method DerivedClass::__wakeup(): +Modifiers for method TestClass::__wakeup(): int(65792) -Modifiers for method DerivedClass::__set_state(): +Modifiers for method TestClass::__set_state(): int(65792) -Modifiers for method DerivedClass::__autoload(): +Modifiers for method TestClass::__autoload(): int(65792)