Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 5 additions & 7 deletions src/Reflection/Adapter/ReflectionClass.php
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@
}

/**
* @return array<trait-string, CoreReflectionClass>

Check failure on line 379 in src/Reflection/Adapter/ReflectionClass.php

View workflow job for this annotation

GitHub Actions / Static Analysis by Psalm (locked, 8.4, ubuntu-latest)

InvalidReturnType

src/Reflection/Adapter/ReflectionClass.php:379:16: InvalidReturnType: The declared return type 'array<trait-string, ReflectionClass>' for Roave\BetterReflection\Reflection\Adapter\ReflectionClass::getTraits is incorrect, got 'array<class-string|trait-string, Roave\BetterReflection\Reflection\Adapter\ReflectionClass>' (see https://psalm.dev/011)
*
* @psalm-mutation-free
*/
Expand All @@ -384,14 +384,12 @@
{
$traits = $this->betterReflectionClass->getTraits();

/** @var list<trait-string> $traitNames */
$traitNames = array_map(static fn (BetterReflectionClass $trait): string => $trait->getName(), $traits);
$result = [];
foreach ($traits as $trait) {
$result[$trait->getName()] = new self($trait);
}

/** @psalm-suppress ImpureFunctionCall */
return array_combine(
$traitNames,
array_map(static fn (BetterReflectionClass $trait): self => new self($trait), $traits),
);
return $result;

Check failure on line 392 in src/Reflection/Adapter/ReflectionClass.php

View workflow job for this annotation

GitHub Actions / Static Analysis by Psalm (locked, 8.4, ubuntu-latest)

InvalidReturnStatement

src/Reflection/Adapter/ReflectionClass.php:392:16: InvalidReturnStatement: The inferred type 'array<class-string|trait-string, Roave\BetterReflection\Reflection\Adapter\ReflectionClass>' does not match the declared return type 'array<trait-string, ReflectionClass>' for Roave\BetterReflection\Reflection\Adapter\ReflectionClass::getTraits (see https://psalm.dev/128)
}

/**
Expand Down
11 changes: 6 additions & 5 deletions src/Reflection/Adapter/ReflectionMethod.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
use Roave\BetterReflection\Reflection\Exception\NoObjectProvided;
use Roave\BetterReflection\Reflection\ReflectionAttribute as BetterReflectionAttribute;
use Roave\BetterReflection\Reflection\ReflectionMethod as BetterReflectionMethod;
use Roave\BetterReflection\Reflection\ReflectionParameter as BetterReflectionParameter;
use Roave\BetterReflection\Reflector\Exception\IdentifierNotFound;
use Roave\BetterReflection\Util\FileHelper;
use Throwable;
Expand Down Expand Up @@ -198,10 +197,12 @@ public function getNumberOfRequiredParameters(): int
*/
public function getParameters(): array
{
return array_map(
static fn (BetterReflectionParameter $parameter): ReflectionParameter => new ReflectionParameter($parameter),
$this->betterReflectionMethod->getParameters(),
);
$parameters = [];
foreach ($this->betterReflectionMethod->getParameters() as $parameter) {
$parameters[] = new ReflectionParameter($parameter);
}

return $parameters;
}

/** @psalm-mutation-free */
Expand Down
7 changes: 6 additions & 1 deletion src/Reflection/ReflectionClass.php
Original file line number Diff line number Diff line change
Expand Up @@ -1154,7 +1154,12 @@ public function getParentClass(): ReflectionClass|null
*/
public function getParentClassNames(): array
{
return array_map(static fn (self $parentClass): string => $parentClass->getName(), $this->getParentClasses());
$classNames = [];
foreach ($this->getParentClasses() as $parentClass) {
$classNames[] = $parentClass->getName();
}

return $classNames;
}

/** @return list<ReflectionClass> */
Expand Down
Loading