diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/JsonDescriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/JsonDescriptor.php
index 7b1a70e694134..fde8e9280f5f2 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/JsonDescriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/JsonDescriptor.php
@@ -113,11 +113,11 @@ protected function describeContainerServices(ContainerBuilder $builder, array $o
$service = $this->resolveServiceDefinition($builder, $serviceId);
if ($service instanceof Alias) {
- if ($showPrivate || $service->isPublic()) {
+ if ($showPrivate || ($service->isPublic() && !$service->isPrivate())) {
$data['aliases'][$serviceId] = $this->getContainerAliasData($service);
}
} elseif ($service instanceof Definition) {
- if (($showPrivate || $service->isPublic())) {
+ if (($showPrivate || ($service->isPublic() && !$service->isPrivate()))) {
$data['definitions'][$serviceId] = $this->getContainerDefinitionData($service, $omitTags, $showArguments);
}
} else {
@@ -217,7 +217,7 @@ private function getContainerDefinitionData(Definition $definition, $omitTags =
{
$data = array(
'class' => (string) $definition->getClass(),
- 'public' => $definition->isPublic(),
+ 'public' => $definition->isPublic() && !$definition->isPrivate(),
'synthetic' => $definition->isSynthetic(),
'lazy' => $definition->isLazy(),
'shared' => $definition->isShared(),
@@ -281,7 +281,7 @@ private function getContainerAliasData(Alias $alias)
{
return array(
'service' => (string) $alias,
- 'public' => $alias->isPublic(),
+ 'public' => $alias->isPublic() && !$alias->isPrivate(),
);
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/MarkdownDescriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/MarkdownDescriptor.php
index a110dc7eac372..9644a440df4f2 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/MarkdownDescriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/MarkdownDescriptor.php
@@ -139,11 +139,11 @@ protected function describeContainerServices(ContainerBuilder $builder, array $o
$service = $this->resolveServiceDefinition($builder, $serviceId);
if ($service instanceof Alias) {
- if ($showPrivate || $service->isPublic()) {
+ if ($showPrivate || ($service->isPublic() && !$service->isPrivate())) {
$services['aliases'][$serviceId] = $service;
}
} elseif ($service instanceof Definition) {
- if (($showPrivate || $service->isPublic())) {
+ if (($showPrivate || ($service->isPublic() && !$service->isPrivate()))) {
$services['definitions'][$serviceId] = $service;
}
} else {
@@ -182,7 +182,7 @@ protected function describeContainerServices(ContainerBuilder $builder, array $o
protected function describeContainerDefinition(Definition $definition, array $options = array())
{
$output = '- Class: `'.$definition->getClass().'`'
- ."\n".'- Public: '.($definition->isPublic() ? 'yes' : 'no')
+ ."\n".'- Public: '.($definition->isPublic() && !$definition->isPrivate() ? 'yes' : 'no')
."\n".'- Synthetic: '.($definition->isSynthetic() ? 'yes' : 'no')
."\n".'- Lazy: '.($definition->isLazy() ? 'yes' : 'no')
."\n".'- Shared: '.($definition->isShared() ? 'yes' : 'no')
@@ -246,7 +246,7 @@ protected function describeContainerDefinition(Definition $definition, array $op
protected function describeContainerAlias(Alias $alias, array $options = array(), ContainerBuilder $builder = null)
{
$output = '- Service: `'.$alias.'`'
- ."\n".'- Public: '.($alias->isPublic() ? 'yes' : 'no');
+ ."\n".'- Public: '.($alias->isPublic() && !$alias->isPrivate() ? 'yes' : 'no');
if (!isset($options['id'])) {
return $this->write($output);
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
index 3e14b5c2c18e7..ab04ff47f794e 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
@@ -194,7 +194,7 @@ protected function describeContainerServices(ContainerBuilder $builder, array $o
$definition = $this->resolveServiceDefinition($builder, $serviceId);
if ($definition instanceof Definition) {
// filter out private services unless shown explicitly
- if (!$showPrivate && !$definition->isPublic()) {
+ if (!$showPrivate && (!$definition->isPublic() || $definition->isPrivate())) {
unset($serviceIds[$key]);
continue;
}
@@ -212,7 +212,7 @@ protected function describeContainerServices(ContainerBuilder $builder, array $o
}
}
} elseif ($definition instanceof Alias) {
- if (!$showPrivate && !$definition->isPublic()) {
+ if (!$showPrivate && (!$definition->isPublic() || $definition->isPrivate())) {
unset($serviceIds[$key]);
continue;
}
@@ -302,7 +302,7 @@ protected function describeContainerDefinition(Definition $definition, array $op
$tableRows[] = array('Calls', implode(', ', $callInformation));
}
- $tableRows[] = array('Public', $definition->isPublic() ? 'yes' : 'no');
+ $tableRows[] = array('Public', $definition->isPublic() && !$definition->isPrivate() ? 'yes' : 'no');
$tableRows[] = array('Synthetic', $definition->isSynthetic() ? 'yes' : 'no');
$tableRows[] = array('Lazy', $definition->isLazy() ? 'yes' : 'no');
$tableRows[] = array('Shared', $definition->isShared() ? 'yes' : 'no');
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php
index da878b1ee6d53..cadd2ff6059ee 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php
@@ -318,7 +318,7 @@ private function getContainerServicesDocument(ContainerBuilder $builder, $tag =
foreach ($this->sortServiceIds($serviceIds) as $serviceId) {
$service = $this->resolveServiceDefinition($builder, $serviceId);
- if (($service instanceof Definition || $service instanceof Alias) && !($showPrivate || $service->isPublic())) {
+ if (($service instanceof Definition || $service instanceof Alias) && !($showPrivate || ($service->isPublic() && !$service->isPrivate()))) {
continue;
}
@@ -364,7 +364,7 @@ private function getContainerDefinitionDocument(Definition $definition, $id = nu
}
}
- $serviceXML->setAttribute('public', $definition->isPublic() ? 'true' : 'false');
+ $serviceXML->setAttribute('public', $definition->isPublic() && !$definition->isPrivate() ? 'true' : 'false');
$serviceXML->setAttribute('synthetic', $definition->isSynthetic() ? 'true' : 'false');
$serviceXML->setAttribute('lazy', $definition->isLazy() ? 'true' : 'false');
$serviceXML->setAttribute('shared', $definition->isShared() ? 'true' : 'false');
@@ -469,7 +469,7 @@ private function getContainerAliasDocument(Alias $alias, $id = null)
}
$aliasXML->setAttribute('service', (string) $alias);
- $aliasXML->setAttribute('public', $alias->isPublic() ? 'true' : 'false');
+ $aliasXML->setAttribute('public', $alias->isPublic() && !$alias->isPrivate() ? 'true' : 'false');
return $dom;
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_arguments.json b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_arguments.json
index e2ab628937760..df76274db6417 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_arguments.json
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_arguments.json
@@ -17,7 +17,7 @@
"%parameter%",
{
"class": "inline_service",
- "public": true,
+ "public": false,
"synthetic": false,
"lazy": false,
"shared": true,
@@ -39,7 +39,7 @@
},
{
"class": "inline_service",
- "public": true,
+ "public": false,
"synthetic": false,
"lazy": false,
"shared": true,
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_arguments.xml b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_arguments.xml
index b016ae382a908..59811b00d37b9 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_arguments.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_arguments.xml
@@ -6,7 +6,7 @@
%parameter%
-
+
arg1
arg2
@@ -15,7 +15,7 @@
foo
-
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_arguments_1.json b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_arguments_1.json
index 5074d4fba6170..2568b87dec458 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_arguments_1.json
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_arguments_1.json
@@ -15,7 +15,7 @@
"%parameter%",
{
"class": "inline_service",
- "public": true,
+ "public": false,
"synthetic": false,
"lazy": false,
"shared": true,
@@ -37,7 +37,7 @@
},
{
"class": "inline_service",
- "public": true,
+ "public": false,
"synthetic": false,
"lazy": false,
"shared": true,
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_arguments_1.xml b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_arguments_1.xml
index 732f99f7839a1..e250060d75581 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_arguments_1.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_arguments_1.xml
@@ -4,7 +4,7 @@
%parameter%
-
+
arg1
arg2
@@ -13,7 +13,7 @@
foo
-
+