public function getTraitAliases()
{
$traitUsages = array_filter($this->node->stmts, function (Node $node) {
return $node instanceof TraitUse;
});
$resolvedAliases = [];
/* @var Node\Stmt\TraitUse[] $traitUsages */
foreach ($traitUsages as $traitUsage) {
$traitNames = $traitUsage->traits;
$adaptations = $traitUsage->adaptations;
foreach ($adaptations as $adaptation) {
$usedTrait = $adaptation->trait;
if (null === $usedTrait) {
$usedTrait = $traitNames[0];
}
if (empty($adaptation->newName)) {
continue;
}
$resolvedAliases[$adaptation->newName] = sprintf('%s::%s', ltrim($this->getFqsenFromNamedNode($usedTrait), '\\'), $adaptation->method);
}
}
return $resolvedAliases;
}