diff --git a/src/Rules/Classes/RequireParentConstructCallRule.php b/src/Rules/Classes/RequireParentConstructCallRule.php index 31b2faf..7759581 100644 --- a/src/Rules/Classes/RequireParentConstructCallRule.php +++ b/src/Rules/Classes/RequireParentConstructCallRule.php @@ -113,6 +113,7 @@ private function getParentConstructorClass($classReflection) && $constructor->getDeclaringClass()->getName() === $classReflection->getParentClass()->getName() && !$constructor->isAbstract() && !$constructor->isPrivate() + && !$constructor->isDeprecated() ) || ( $constructorWithClassName !== null && $constructorWithClassName->getDeclaringClass()->getName() === $classReflection->getParentClass()->getName() diff --git a/tests/Rules/Classes/data/call-to-parent-constructor.php b/tests/Rules/Classes/data/call-to-parent-constructor.php index 48975e9..12ddab7 100644 --- a/tests/Rules/Classes/data/call-to-parent-constructor.php +++ b/tests/Rules/Classes/data/call-to-parent-constructor.php @@ -181,3 +181,22 @@ public function __construct() } } + +class DeprecatedConstructor +{ + /** @deprecated */ + public function __construct() + { + + } + +} + +class ExtendsDeprecatedConstructor extends DeprecatedConstructor +{ + public function __construct() + { + // should not call deprecated parent + } + +}