mirror of
https://github.com/rectorphp/rector.git
synced 2025-04-21 16:02:23 +02:00
AbstractClassLikeTypeResolver: improve complexity
This commit is contained in:
parent
3c0beaab69
commit
4335efae33
@ -78,21 +78,15 @@ abstract class AbstractClassLikeTypeResolver
|
||||
*/
|
||||
protected function resolveUsedTraitTypes(ClassLike $classOrTraitNode): array
|
||||
{
|
||||
$usedTraits = [];
|
||||
|
||||
foreach ($classOrTraitNode->stmts as $stmt) {
|
||||
if (! $stmt instanceof TraitUse) {
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach ($stmt->traits as $trait) {
|
||||
if ($trait->hasAttribute(Attribute::RESOLVED_NAME)) {
|
||||
$usedTraits[] = (string) $trait->getAttribute(Attribute::RESOLVED_NAME);
|
||||
}
|
||||
}
|
||||
return $this->resolveTraitNamesFromTraitUse($stmt);
|
||||
}
|
||||
|
||||
return $usedTraits;
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
@ -108,4 +102,20 @@ abstract class AbstractClassLikeTypeResolver
|
||||
return $interface->toString();
|
||||
}, $classNode->implements);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
private function resolveTraitNamesFromTraitUse(TraitUse $traitUse): array
|
||||
{
|
||||
$usedTraits = [];
|
||||
|
||||
foreach ($traitUse->traits as $trait) {
|
||||
if ($trait->hasAttribute(Attribute::RESOLVED_NAME)) {
|
||||
$usedTraits[] = (string)$trait->getAttribute(Attribute::RESOLVED_NAME);
|
||||
}
|
||||
}
|
||||
|
||||
return $usedTraits;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user