mirror of
https://github.com/php/php-src.git
synced 2024-09-21 18:07:23 +00:00
Revert ReflectionType::__toString() behavior + deprecate
This commit is contained in:
parent
4c0804c07d
commit
bf907b9961
@ -7,7 +7,7 @@ $r = new ReflectionMethod($f, '__invoke');
|
||||
var_dump($r->getParameters()[0]->getName());
|
||||
var_dump($r->getParameters()[0]->getClass());
|
||||
echo $r->getParameters()[0], "\n";
|
||||
echo $r->getReturnType(),"\n";
|
||||
echo $r->getReturnType()->getName(), "\n";
|
||||
echo $r,"\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
|
@ -29,7 +29,7 @@ foreach ($callables as $callable) {
|
||||
foreach ($refl->getParameters() as $param) {
|
||||
if ($param->hasType()) {
|
||||
$type = $param->getType();
|
||||
echo $type->__toString() . "\n";
|
||||
echo $type->getName() . "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2158,7 +2158,7 @@ ZEND_API int zend_register_functions(zend_class_entry *scope, const zend_functio
|
||||
internal_function->prototype = NULL;
|
||||
if (ptr->flags) {
|
||||
if (!(ptr->flags & ZEND_ACC_PPP_MASK)) {
|
||||
if (ptr->flags != ZEND_ACC_DEPRECATED || scope) {
|
||||
if (ptr->flags != ZEND_ACC_DEPRECATED && scope) {
|
||||
zend_error(error_type, "Invalid access level for %s%s%s() - access must be exactly one of public, protected or private", scope ? ZSTR_VAL(scope->name) : "", scope ? "::" : "", ptr->fname);
|
||||
}
|
||||
internal_function->fn_flags = ZEND_ACC_PUBLIC | ptr->flags;
|
||||
|
@ -3022,23 +3022,13 @@ ZEND_METHOD(reflection_type, __toString)
|
||||
{
|
||||
reflection_object *intern;
|
||||
type_reference *param;
|
||||
zend_string *str;
|
||||
|
||||
if (zend_parse_parameters_none() == FAILURE) {
|
||||
return;
|
||||
}
|
||||
GET_REFLECTION_OBJECT_PTR(param);
|
||||
|
||||
str = reflection_type_name(param);
|
||||
|
||||
if (param->arg_info->allow_null) {
|
||||
size_t orig_len = ZSTR_LEN(str);
|
||||
str = zend_string_extend(str, orig_len + 1, 0);
|
||||
memmove(ZSTR_VAL(str) + 1, ZSTR_VAL(str), orig_len + 1);
|
||||
ZSTR_VAL(str)[0] = '?';
|
||||
}
|
||||
|
||||
RETURN_STR(str);
|
||||
RETURN_STR(reflection_type_name(param));
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
@ -6711,7 +6701,7 @@ static const zend_function_entry reflection_type_functions[] = {
|
||||
ZEND_ME(reflection, __clone, arginfo_reflection__void, ZEND_ACC_PRIVATE|ZEND_ACC_FINAL)
|
||||
ZEND_ME(reflection_type, allowsNull, arginfo_reflection__void, 0)
|
||||
ZEND_ME(reflection_type, isBuiltin, arginfo_reflection__void, 0)
|
||||
ZEND_ME(reflection_type, __toString, arginfo_reflection__void, 0)
|
||||
ZEND_ME(reflection_type, __toString, arginfo_reflection__void, ZEND_ACC_DEPRECATED)
|
||||
PHP_FE_END
|
||||
};
|
||||
|
||||
|
@ -32,10 +32,18 @@ var_dump((string) $return);
|
||||
?>
|
||||
--EXPECTF--
|
||||
string(11) "Traversable"
|
||||
string(12) "?Traversable"
|
||||
|
||||
Deprecated: Function ReflectionType::__toString() is deprecated in %s on line %d
|
||||
string(11) "Traversable"
|
||||
string(6) "string"
|
||||
|
||||
Deprecated: Function ReflectionType::__toString() is deprecated in %s on line %d
|
||||
string(6) "string"
|
||||
string(7) "?string"
|
||||
string(4) "Test"
|
||||
string(5) "?Test"
|
||||
|
||||
Deprecated: Function ReflectionType::__toString() is deprecated in %s on line %d
|
||||
string(4) "Test"
|
||||
string(4) "Test"
|
||||
|
||||
Deprecated: Function ReflectionType::__toString() is deprecated in %s on line %d
|
||||
string(4) "Test"
|
||||
string(5) "?Test"
|
||||
|
@ -28,7 +28,7 @@ foreach ([
|
||||
if ($ra) {
|
||||
var_dump($ra->allowsNull());
|
||||
var_dump($ra->isBuiltin());
|
||||
var_dump((string)$ra);
|
||||
var_dump($ra->getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -48,7 +48,7 @@ foreach ([
|
||||
if ($ra) {
|
||||
var_dump($ra->allowsNull());
|
||||
var_dump($ra->isBuiltin());
|
||||
var_dump((string)$ra);
|
||||
var_dump($ra->getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -70,7 +70,7 @@ foreach ([
|
||||
if ($ra) {
|
||||
var_dump($ra->allowsNull());
|
||||
var_dump($ra->isBuiltin());
|
||||
var_dump((string)$ra);
|
||||
var_dump($ra->getName());
|
||||
}
|
||||
}
|
||||
|
||||
@ -96,7 +96,7 @@ string(8) "callable"
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(false)
|
||||
string(9) "?stdClass"
|
||||
string(8) "stdClass"
|
||||
** Function 0 - Parameter 4
|
||||
bool(false)
|
||||
** Function 0 - Parameter 5
|
||||
|
@ -9,7 +9,7 @@ $rp = $rm->getParameters()[0];
|
||||
$rt = $rp->getType();
|
||||
$rrt = $rm->getReturnType();
|
||||
unset($rm, $rp);
|
||||
var_dump((string) $rt, (string) $rrt);
|
||||
var_dump($rt->getName(), $rrt->getName());
|
||||
|
||||
--EXPECT--
|
||||
string(4) "Test"
|
||||
|
@ -17,7 +17,7 @@ $functions = [
|
||||
foreach ($functions as $function) {
|
||||
$reflectionFunc = new ReflectionFunction($function);
|
||||
$returnType = $reflectionFunc->getReturnType();
|
||||
var_dump($returnType->__toString());
|
||||
var_dump($returnType->getName());
|
||||
}
|
||||
?>
|
||||
--EXPECTF--
|
||||
|
@ -6,5 +6,6 @@ function test(iterable $arg) { }
|
||||
|
||||
var_dump((string)(new ReflectionParameter("test", 0))->getType());
|
||||
?>
|
||||
--EXPECT--
|
||||
--EXPECTF--
|
||||
Deprecated: Function ReflectionType::__toString() is deprecated in %s on line %d
|
||||
string(8) "iterable"
|
||||
|
Loading…
Reference in New Issue
Block a user