private function showAdvisorsList(SymfonyStyle $io)
{
$io->writeln('List of registered advisors in the container');
$aspectContainer = $this->aspectKernel->getContainer();
$advisors = $this->loadAdvisorsList($aspectContainer);
$tableRows = [];
foreach ($advisors as $id => $advisor) {
list(, $id) = explode('.', $id, 2);
$advice = $advisor->getAdvice();
$expression = '';
try {
$pointcutExpression = new \ReflectionProperty($advice, 'pointcutExpression');
$pointcutExpression->setAccessible('true');
$expression = $pointcutExpression->getValue($advice);
} catch (\ReflectionException $e) {
// nothing here, just ignore
}
$tableRows[] = [$id, $expression];
}
$io->table(['Id', 'Expression'], $tableRows);
$io->writeln(['If you want to query an information about concrete advisor, then just query it', 'by adding <info>--advisor="Advisor\\Name"</info> to the command']);
}