Skip to content

Commit

Permalink
Improve has method with annotation
Browse files Browse the repository at this point in the history
  • Loading branch information
VincentLanglet committed Nov 7, 2022
1 parent ec926b0 commit 30e70d2
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 16 deletions.
17 changes: 13 additions & 4 deletions src/Admin/AbstractAdmin.php
Expand Up @@ -1044,14 +1044,16 @@ final public function getParentFieldDescription(): FieldDescriptionInterface
static::class
));
}
\assert(null !== $this->parentFieldDescription);

return $this->parentFieldDescription;
}

/**
* @phpstan-assert-if-true !null $this->parentFieldDescription
*/
final public function hasParentFieldDescription(): bool
{
return $this->parentFieldDescription instanceof FieldDescriptionInterface;
return null !== $this->parentFieldDescription;
}

final public function setSubject(?object $subject): void
Expand All @@ -1076,11 +1078,13 @@ final public function getSubject(): object
static::class
));
}
\assert(null !== $this->subject);

return $this->subject;
}

/**
* @phpstan-assert-if-true !null $this->subject
*/
final public function hasSubject(): bool
{
if (null === $this->subject && $this->hasRequest() && !$this->hasParentFieldDescription()) {
Expand Down Expand Up @@ -1375,6 +1379,8 @@ final public function isChild(): bool

/**
* Returns true if the admin has children, false otherwise.
*
* @phpstan-assert-if-true non-empty-array $this->children
*/
final public function hasChildren(): bool
{
Expand Down Expand Up @@ -1471,13 +1477,16 @@ final public function setRequest(Request $request): void

final public function getRequest(): Request
{
if (null === $this->request) {
if (!$this->hasRequest()) {
throw new \LogicException('The Request object has not been set');
}

return $this->request;
}

/**
* @phpstan-assert-if-true !null $this->request
*/
final public function hasRequest(): bool
{
return null !== $this->request;
Expand Down
16 changes: 8 additions & 8 deletions src/DependencyInjection/Admin/AbstractTaggedAdmin.php
Expand Up @@ -177,11 +177,7 @@ final public function setCode(string $code): void

final public function getCode(): string
{
if (null === $this->code) {
return static::class;
}

return $this->code;
return $this->code ?? static::class;
}

/**
Expand Down Expand Up @@ -288,11 +284,13 @@ final public function getFilterPersister(): FilterPersisterInterface
if (!$this->hasFilterPersister()) {
throw new \LogicException(sprintf('Admin "%s" has no filter persister.', static::class));
}
\assert(null !== $this->filterPersister);

return $this->filterPersister;
}

/**
* @phpstan-assert-if-true !null $this->filterPersister
*/
final public function hasFilterPersister(): bool
{
return null !== $this->filterPersister;
Expand Down Expand Up @@ -499,14 +497,16 @@ final public function getLabelTranslatorStrategy(): LabelTranslatorStrategyInter

final public function getTemplateRegistry(): MutableTemplateRegistryInterface
{
if (false === $this->hasTemplateRegistry()) {
if (!$this->hasTemplateRegistry()) {
throw new \LogicException(sprintf('Unable to find the template registry for admin `%s`.', static::class));
}
\assert(null !== $this->templateRegistry);

return $this->templateRegistry;
}

/**
* @phpstan-assert-if-true !null $this->templateRegistry
*/
final public function hasTemplateRegistry(): bool
{
return null !== $this->templateRegistry;
Expand Down
15 changes: 12 additions & 3 deletions src/FieldDescription/BaseFieldDescription.php
Expand Up @@ -236,13 +236,16 @@ final public function setParent(AdminInterface $parent): void

final public function getParent(): AdminInterface
{
if (null === $this->parent) {
if (!$this->hasParent()) {
throw new \LogicException(sprintf('%s has no parent.', static::class));
}

return $this->parent;
}

/**
* @phpstan-assert-if-true !null $this->parent
*/
final public function hasParent(): bool
{
return null !== $this->parent;
Expand Down Expand Up @@ -271,13 +274,16 @@ final public function setAssociationAdmin(AdminInterface $associationAdmin): voi

final public function getAssociationAdmin(): AdminInterface
{
if (null === $this->associationAdmin) {
if (!$this->hasAssociationAdmin()) {
throw new \LogicException(sprintf('%s has no association admin.', static::class));
}

return $this->associationAdmin;
}

/**
* @phpstan-assert-if-true !null $this->associationAdmin
*/
final public function hasAssociationAdmin(): bool
{
return null !== $this->associationAdmin;
Expand All @@ -290,13 +296,16 @@ final public function setAdmin(AdminInterface $admin): void

final public function getAdmin(): AdminInterface
{
if (null === $this->admin) {
if (!$this->hasAdmin()) {
throw new \LogicException(sprintf('%s has no admin.', static::class));
}

return $this->admin;
}

/**
* @phpstan-assert-if-true !null $this->admin
*/
final public function hasAdmin(): bool
{
return null !== $this->admin;
Expand Down
4 changes: 3 additions & 1 deletion src/Filter/Filter.php
Expand Up @@ -217,11 +217,13 @@ final public function getPreviousFilter(): FilterInterface
if (!$this->hasPreviousFilter()) {
throw new \LogicException(sprintf('Filter "%s" has no previous filter.', $this->getName()));
}
\assert(null !== $this->previousFilter);

return $this->previousFilter;
}

/**
* @phpstan-assert-if-true !null $this->previousFilter
*/
final public function hasPreviousFilter(): bool
{
return null !== $this->previousFilter;
Expand Down

0 comments on commit 30e70d2

Please sign in to comment.