// only validate classes that has a getDecorated method
if (!
$this->
hasDecorationPattern($class,
$scope)) { return [];
} // validate the abstract definition
if ($class->
isAbstract()) { return $this->
validateAbstractClass($node,
$class);
} if (!
$this->
isBaseImplementation($node)) { return [];
} $parent =
$class->
getParentClass();
// only validate classes that extend from abstract Shopware classes
if (!
$parent || !\
str_starts_with($parent->
getName(), 'Shopware\\'
) || !
$parent->
isAbstract()) { return [];
} // validate if the parent class has a decorator pattern or if it is deprecated