bug69802.phpt 737 B

1234567891011121314151617181920212223242526272829
  1. --TEST--
  2. Bug #69802 (Reflection on Closure::__invoke borks type hint class name)
  3. --FILE--
  4. <?php
  5. $f = function(stdClass $x): stdClass {};
  6. $r = new ReflectionMethod($f, '__invoke');
  7. var_dump($r->getParameters()[0]->getName());
  8. var_dump($r->getParameters()[0]->getClass());
  9. echo $r->getParameters()[0], "\n";
  10. echo $r->getReturnType()->getName(), "\n";
  11. echo $r,"\n";
  12. ?>
  13. --EXPECTF--
  14. string(1) "x"
  15. Deprecated: Method ReflectionParameter::getClass() is deprecated in %s on line %d
  16. object(ReflectionClass)#4 (1) {
  17. ["name"]=>
  18. string(8) "stdClass"
  19. }
  20. Parameter #0 [ <required> stdClass $x ]
  21. stdClass
  22. Method [ <internal> public method __invoke ] {
  23. - Parameters [1] {
  24. Parameter #0 [ <required> stdClass $x ]
  25. }
  26. - Return [ stdClass ]
  27. }