bug60573_2.phpt 847 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. --TEST--
  2. Bug #60573 (type hinting with "self" keyword causes weird errors) -- variation 2
  3. --FILE--
  4. <?php
  5. class Foo1 {
  6. public function setSelf(self $s) { }
  7. }
  8. class Bar1 extends Foo1 {
  9. public function setSelf(parent $s) { }
  10. }
  11. class Foo2 {
  12. public function setSelf(Foo2 $s) { }
  13. }
  14. class Bar2 extends Foo2 {
  15. public function setSelf(parent $s) { }
  16. }
  17. class Base {
  18. }
  19. class Foo3 extends Base{
  20. public function setSelf(parent $s) { }
  21. }
  22. class Bar3 extends Foo3 {
  23. public function setSelf(Base $s) { }
  24. }
  25. class Foo4 {
  26. public function setSelf(self $s) { }
  27. }
  28. class Foo5 extends Base {
  29. public function setSelf(parent $s) { }
  30. }
  31. class Bar5 extends Foo5 {
  32. public function setSelf(parent $s) { }
  33. }
  34. ?>
  35. --EXPECTF--
  36. Fatal error: Declaration of Bar5::setSelf(Foo5 $s) must be compatible with Foo5::setSelf(Base $s) in %sbug60573_2.php on line %d