compile('ctor_override_valid.php'); } public function testFinalParentConstructorCannotBeOverridden(): void { $this->exec( 'Cannot override final method `A::__construct()`', 'ctor_override_final.php', ); } public function testFinalPrivateParentConstructorCannotBeOverridden(): void { $this->exec( 'Cannot override final method `A::__construct()`', 'ctor_override_final_private.php', ); } public function testAbstractParentConstructorSignatureIsEnforced(): void { $this->exec( 'Declaration of `B::__construct()` must be compatible with `A::__construct()`', 'ctor_override_abstract_incompatible.php', ); } }