Annotation of embedaddon/php/Zend/tests/bug60573.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #60573 (type hinting with "self" keyword causes weird errors)
        !             3: --FILE--
        !             4: <?php
        !             5: class Foo1 {
        !             6: 
        !             7: public function setSelf(self $s) { }
        !             8: 
        !             9: }
        !            10: 
        !            11: class Bar1 extends Foo1 {
        !            12: 
        !            13: public function setSelf(parent $s) { }
        !            14: 
        !            15: }
        !            16: 
        !            17: class Foo2 {
        !            18: 
        !            19: public function setSelf(Foo2 $s) { }
        !            20: 
        !            21: }
        !            22: 
        !            23: class Bar2 extends Foo2 {
        !            24: 
        !            25: public function setSelf(parent $s) { }
        !            26: 
        !            27: }
        !            28: 
        !            29: class Base {
        !            30: }
        !            31: 
        !            32: class Foo3 extends Base{
        !            33: 
        !            34: public function setSelf(parent $s) { }
        !            35: 
        !            36: }
        !            37: 
        !            38: class Bar3 extends Foo3 {
        !            39: 
        !            40: public function setSelf(Base $s) { }
        !            41: 
        !            42: }
        !            43: 
        !            44: class Foo4 {
        !            45: 
        !            46: public function setSelf(self $s) { }
        !            47: 
        !            48: }
        !            49: 
        !            50: class Bar4 extends Foo4 {
        !            51: 
        !            52: public function setSelf(self $s) { }
        !            53: 
        !            54: }
        !            55: 
        !            56: class Foo5 extends Base {
        !            57: 
        !            58: public function setSelf(parent $s) { }
        !            59: 
        !            60: }
        !            61: 
        !            62: class Bar5 extends Foo5 {
        !            63: 
        !            64: public function setSelf(parent $s) { }
        !            65: 
        !            66: }
        !            67: 
        !            68: abstract class Foo6 extends Base {
        !            69: 
        !            70: abstract public function setSelf(parent $s);
        !            71: 
        !            72: }
        !            73: 
        !            74: class Bar6 extends Foo6 {
        !            75: 
        !            76: public function setSelf(Foo6 $s) { }
        !            77: 
        !            78: }
        !            79: --EXPECTF--
        !            80: Strict Standards: Declaration of Bar4::setSelf() should be compatible with Foo4::setSelf(Foo4 $s) in %sbug60573.php on line %d
        !            81: 
        !            82: Strict Standards: Declaration of Bar5::setSelf() should be compatible with Foo5::setSelf(Base $s) in %sbug60573.php on line %d
        !            83: 
        !            84: Fatal error: Declaration of Bar6::setSelf() must be compatible with Foo6::setSelf(Base $s) in %sbug60573.php on line %d

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>