summaryrefslogtreecommitdiff
path: root/ext/reflection/tests/bug69802.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/reflection/tests/bug69802.phpt')
-rw-r--r--ext/reflection/tests/bug69802.phpt27
1 files changed, 27 insertions, 0 deletions
diff --git a/ext/reflection/tests/bug69802.phpt b/ext/reflection/tests/bug69802.phpt
new file mode 100644
index 0000000000..e71ac1aa71
--- /dev/null
+++ b/ext/reflection/tests/bug69802.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Bug #69802 (Reflection on Closure::__invoke borks type hint class name)
+--FILE--
+<?php
+$f = function(stdClass $x): stdClass {};
+$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,"\n";
+?>
+--EXPECT--
+string(1) "x"
+object(ReflectionClass)#4 (1) {
+ ["name"]=>
+ string(8) "stdClass"
+}
+Parameter #0 [ <required> stdClass $x ]
+stdClass
+Method [ <internal> public method __invoke ] {
+
+ - Parameters [1] {
+ Parameter #0 [ <required> stdClass $x ]
+ }
+ - Return [ stdClass ]
+}