[DI] Removes number of elements information in debug mode

This commit is contained in:
Jan Schädlich 2019-05-03 10:56:32 +02:00 committed by Nicolas Grekas
parent 15e9eec225
commit 0da4b83197
3 changed files with 8 additions and 1 deletions

View File

@ -137,6 +137,7 @@ EOF
$options['show_arguments'] = $input->getOption('show-arguments'); $options['show_arguments'] = $input->getOption('show-arguments');
$options['raw_text'] = $input->getOption('raw'); $options['raw_text'] = $input->getOption('raw');
$options['output'] = $io; $options['output'] = $io;
$options['is_debug'] = $this->getApplication()->getKernel()->isDebug();
$helper->describe($io, $object, $options); $helper->describe($io, $object, $options);
if (!$input->getArgument('name') && !$input->getOption('tag') && !$input->getOption('parameter') && $input->isInteractive()) { if (!$input->getArgument('name') && !$input->getOption('tag') && !$input->getOption('parameter') && $input->isInteractive()) {

View File

@ -17,6 +17,7 @@ use Symfony\Component\Console\Style\SymfonyStyle;
use Symfony\Component\DependencyInjection\Alias; use Symfony\Component\DependencyInjection\Alias;
use Symfony\Component\DependencyInjection\Argument\IteratorArgument; use Symfony\Component\DependencyInjection\Argument\IteratorArgument;
use Symfony\Component\DependencyInjection\Argument\ServiceClosureArgument; use Symfony\Component\DependencyInjection\Argument\ServiceClosureArgument;
use Symfony\Component\DependencyInjection\Argument\TaggedIteratorArgument;
use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
@ -339,7 +340,11 @@ class TextDescriptor extends Descriptor
if ($argument instanceof Reference) { if ($argument instanceof Reference) {
$argumentsInformation[] = sprintf('Service(%s)', (string) $argument); $argumentsInformation[] = sprintf('Service(%s)', (string) $argument);
} elseif ($argument instanceof IteratorArgument) { } elseif ($argument instanceof IteratorArgument) {
$argumentsInformation[] = sprintf('Iterator (%d element(s))', \count($argument->getValues())); if ($argument instanceof TaggedIteratorArgument) {
$argumentsInformation[] = sprintf('Tagged Iterator for "%s"%s', $argument->getTag(), $options['is_debug'] ? '' : sprintf(' (%d element(s))', \count($argument->getValues())));
} else {
$argumentsInformation[] = sprintf('Iterator (%d element(s))', \count($argument->getValues()));
}
} elseif ($argument instanceof Definition) { } elseif ($argument instanceof Definition) {
$argumentsInformation[] = 'Inlined Service'; $argumentsInformation[] = 'Inlined Service';
} else { } else {

View File

@ -182,6 +182,7 @@ abstract class AbstractDescriptorTest extends TestCase
private function assertDescription($expectedDescription, $describedObject, array $options = []) private function assertDescription($expectedDescription, $describedObject, array $options = [])
{ {
$options['is_debug'] = false;
$options['raw_output'] = true; $options['raw_output'] = true;
$options['raw_text'] = true; $options['raw_text'] = true;
$output = new BufferedOutput(BufferedOutput::VERBOSITY_NORMAL, true); $output = new BufferedOutput(BufferedOutput::VERBOSITY_NORMAL, true);