diff --git a/src/Symfony/Bundle/FrameworkBundle/Test/TestContainer.php b/src/Symfony/Bundle/FrameworkBundle/Test/TestContainer.php index ee97ad0a695ca..3494d090d653a 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Test/TestContainer.php +++ b/src/Symfony/Bundle/FrameworkBundle/Test/TestContainer.php @@ -11,6 +11,7 @@ namespace Symfony\Bundle\FrameworkBundle\Test; +use Psr\Container\ContainerInterface; use Symfony\Component\DependencyInjection\Container; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; use Symfony\Component\HttpKernel\KernelInterface; @@ -137,7 +138,7 @@ public function getRemovedIds(): array return $this->getPublicContainer()->getRemovedIds(); } - private function getPublicContainer() + private function getPublicContainer(): Container { if (null === $container = $this->kernel->getContainer()) { throw new \LogicException('Cannot access the container on a non-booted kernel. Did you forget to boot it?'); @@ -146,7 +147,7 @@ private function getPublicContainer() return $container; } - private function getPrivateContainer() + private function getPrivateContainer(): ContainerInterface { return $this->getPublicContainer()->get($this->privateServicesLocatorId); } diff --git a/src/Symfony/Component/DependencyInjection/Compiler/AbstractRecursivePass.php b/src/Symfony/Component/DependencyInjection/Compiler/AbstractRecursivePass.php index eab5a6ec87b9f..f1206a7a109b4 100644 --- a/src/Symfony/Component/DependencyInjection/Compiler/AbstractRecursivePass.php +++ b/src/Symfony/Component/DependencyInjection/Compiler/AbstractRecursivePass.php @@ -192,7 +192,7 @@ protected function getReflectionMethod(Definition $definition, $method) return $r; } - private function getExpressionLanguage() + private function getExpressionLanguage(): ExpressionLanguage { if (null === $this->expressionLanguage) { if (!class_exists(ExpressionLanguage::class)) { @@ -200,7 +200,7 @@ private function getExpressionLanguage() } $providers = $this->container->getExpressionLanguageProviders(); - $this->expressionLanguage = new ExpressionLanguage(null, $providers, function ($arg) { + $this->expressionLanguage = new ExpressionLanguage(null, $providers, function (string $arg): string { if ('""' === substr_replace($arg, '', 1, -1)) { $id = stripcslashes(substr($arg, 1, -1)); $this->inExpression = true; diff --git a/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php b/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php index 4aed93b3608c9..8d46fd6311035 100644 --- a/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php +++ b/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php @@ -81,6 +81,9 @@ protected function processValue($value, $isRoot = false) } } + /** + * @return mixed + */ private function doProcessValue($value, bool $isRoot = false) { if ($value instanceof TypedReference) { @@ -371,7 +374,7 @@ private function set(string $type, string $id) $this->ambiguousServiceTypes[$type][] = $id; } - private function createTypeNotFoundMessageCallback(TypedReference $reference, string $label) + private function createTypeNotFoundMessageCallback(TypedReference $reference, string $label): callable { if (null === $this->typesClone->container) { $this->typesClone->container = new ContainerBuilder($this->container->getParameterBag()); @@ -386,7 +389,7 @@ private function createTypeNotFoundMessageCallback(TypedReference $reference, st })->bindTo($this->typesClone); } - private function createTypeNotFoundMessage(TypedReference $reference, string $label, string $currentId) + private function createTypeNotFoundMessage(TypedReference $reference, string $label, string $currentId): string { if (!$r = $this->container->getReflectionClass($type = $reference->getType(), false)) { // either $type does not exist or a parent class does not exist @@ -420,7 +423,7 @@ private function createTypeNotFoundMessage(TypedReference $reference, string $la return $message; } - private function createTypeAlternatives(ContainerBuilder $container, TypedReference $reference) + private function createTypeAlternatives(ContainerBuilder $container, TypedReference $reference): string { // try suggesting available aliases first if ($message = $this->getAliasesSuggestionForType($container, $type = $reference->getType())) { @@ -444,7 +447,7 @@ private function createTypeAlternatives(ContainerBuilder $container, TypedRefere return sprintf(' You should maybe alias this %s to %s.', class_exists($type, false) ? 'class' : 'interface', $message); } - private function getAliasesSuggestionForType(ContainerBuilder $container, string $type) + private function getAliasesSuggestionForType(ContainerBuilder $container, string $type): ?string { $aliases = []; foreach (class_parents($type) + class_implements($type) as $parent) { diff --git a/src/Symfony/Component/DependencyInjection/Compiler/RegisterEnvVarProcessorsPass.php b/src/Symfony/Component/DependencyInjection/Compiler/RegisterEnvVarProcessorsPass.php index 852e7ca44aae3..a9a133be2a737 100644 --- a/src/Symfony/Component/DependencyInjection/Compiler/RegisterEnvVarProcessorsPass.php +++ b/src/Symfony/Component/DependencyInjection/Compiler/RegisterEnvVarProcessorsPass.php @@ -60,7 +60,7 @@ public function process(ContainerBuilder $container) } } - private static function validateProvidedTypes($types, $class) + private static function validateProvidedTypes(string $types, string $class): array { $types = explode('|', $types); diff --git a/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php b/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php index 23fe4cababb6b..58581a7e91879 100644 --- a/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php +++ b/src/Symfony/Component/DependencyInjection/Compiler/ResolveBindingsPass.php @@ -205,6 +205,9 @@ protected function processValue($value, $isRoot = false) return parent::processValue($value, $isRoot); } + /** + * @return mixed + */ private function getBindingValue(BoundArgument $binding) { list($bindingValue, $bindingId) = $binding->getValues(); diff --git a/src/Symfony/Component/DependencyInjection/Compiler/ResolveHotPathPass.php b/src/Symfony/Component/DependencyInjection/Compiler/ResolveHotPathPass.php index 5def580589f0f..bfdd91c417f97 100644 --- a/src/Symfony/Component/DependencyInjection/Compiler/ResolveHotPathPass.php +++ b/src/Symfony/Component/DependencyInjection/Compiler/ResolveHotPathPass.php @@ -26,7 +26,7 @@ class ResolveHotPathPass extends AbstractRecursivePass private $tagName; private $resolvedIds = []; - public function __construct($tagName = 'container.hot_path') + public function __construct(string $tagName = 'container.hot_path') { $this->tagName = $tagName; } diff --git a/src/Symfony/Component/DependencyInjection/Compiler/ResolveInstanceofConditionalsPass.php b/src/Symfony/Component/DependencyInjection/Compiler/ResolveInstanceofConditionalsPass.php index f165c9e03fafc..be8f8e7fd4d86 100644 --- a/src/Symfony/Component/DependencyInjection/Compiler/ResolveInstanceofConditionalsPass.php +++ b/src/Symfony/Component/DependencyInjection/Compiler/ResolveInstanceofConditionalsPass.php @@ -44,7 +44,7 @@ public function process(ContainerBuilder $container) } } - private function processDefinition(ContainerBuilder $container, string $id, Definition $definition) + private function processDefinition(ContainerBuilder $container, string $id, Definition $definition): Definition { $instanceofConditionals = $definition->getInstanceofConditionals(); $autoconfiguredInstanceof = $definition->isAutoconfigured() ? $container->getAutoconfiguredInstanceof() : []; @@ -144,7 +144,7 @@ private function processDefinition(ContainerBuilder $container, string $id, Defi return $definition; } - private function mergeConditionals(array $autoconfiguredInstanceof, array $instanceofConditionals, ContainerBuilder $container) + private function mergeConditionals(array $autoconfiguredInstanceof, array $instanceofConditionals, ContainerBuilder $container): array { // make each value an array of ChildDefinition $conditionals = array_map(function ($childDef) { return [$childDef]; }, $autoconfiguredInstanceof); diff --git a/src/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php b/src/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php index d7ebe69eb8858..a0686554e1fd3 100644 --- a/src/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php +++ b/src/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php @@ -51,6 +51,8 @@ public function process(ContainerBuilder $container) /** * Processes arguments to determine invalid references. * + * @return mixed + * * @throws RuntimeException When an invalid reference is found */ private function processValue($value, int $rootLevel = 0, int $level = 0) diff --git a/src/Symfony/Component/DependencyInjection/Compiler/ServiceLocatorTagPass.php b/src/Symfony/Component/DependencyInjection/Compiler/ServiceLocatorTagPass.php index dea70174b8841..a4b740b9e0e0d 100644 --- a/src/Symfony/Component/DependencyInjection/Compiler/ServiceLocatorTagPass.php +++ b/src/Symfony/Component/DependencyInjection/Compiler/ServiceLocatorTagPass.php @@ -88,9 +88,8 @@ protected function processValue($value, $isRoot = false) /** * @param Reference[] $refMap - * @param string|null $callerId */ - public static function register(ContainerBuilder $container, array $refMap, $callerId = null): Reference + public static function register(ContainerBuilder $container, array $refMap, string $callerId = null): Reference { foreach ($refMap as $id => $ref) { if (!$ref instanceof Reference) { diff --git a/src/Symfony/Component/DependencyInjection/Container.php b/src/Symfony/Component/DependencyInjection/Container.php index d48ac026cf385..00bacd2ac6ded 100644 --- a/src/Symfony/Component/DependencyInjection/Container.php +++ b/src/Symfony/Component/DependencyInjection/Container.php @@ -422,9 +422,14 @@ protected function getEnv($name) } /** + * @param string|false $registry + * @param string|bool $load + * + * @return mixed + * * @internal */ - final protected function getService($registry, $id, $method, $load) + final protected function getService($registry, string $id, ?string $method, $load) { if ('service_container' === $id) { return $this; diff --git a/src/Symfony/Component/DependencyInjection/ContainerBuilder.php b/src/Symfony/Component/DependencyInjection/ContainerBuilder.php index 4de09c315bee0..19f41d99653cc 100644 --- a/src/Symfony/Component/DependencyInjection/ContainerBuilder.php +++ b/src/Symfony/Component/DependencyInjection/ContainerBuilder.php @@ -1236,7 +1236,7 @@ private function doResolveServices($value, array &$inlineServices = [], bool $is yield $k => $this->resolveServices($v); } - }, function () use ($value) { + }, function () use ($value): int { $count = 0; foreach ($value->getValues() as $v) { foreach (self::getServiceConditionals($v) as $s) { @@ -1641,7 +1641,7 @@ private function shareService(Definition $definition, $service, ?string $id, arr } } - private function getExpressionLanguage() + private function getExpressionLanguage(): ExpressionLanguage { if (null === $this->expressionLanguage) { if (!class_exists('Symfony\Component\ExpressionLanguage\ExpressionLanguage')) { @@ -1653,7 +1653,7 @@ private function getExpressionLanguage() return $this->expressionLanguage; } - private function inVendors(string $path) + private function inVendors(string $path): bool { if (null === $this->vendors) { $resource = new ComposerResource(); diff --git a/src/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php b/src/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php index 08c3e306fb12d..c21dd91c5159e 100644 --- a/src/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php +++ b/src/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php @@ -183,7 +183,7 @@ private function findNodes(): array return $nodes; } - private function cloneContainer() + private function cloneContainer(): ContainerBuilder { $parameterBag = new ParameterBag($this->container->getParameterBag()->all()); diff --git a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php index 22c5a7ef19b21..26b1842063b97 100644 --- a/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php +++ b/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php @@ -684,7 +684,7 @@ private function addServiceMethodCalls(Definition $definition, string $variableN return $calls; } - private function addServiceProperties(Definition $definition, string $variableName = 'instance') + private function addServiceProperties(Definition $definition, string $variableName = 'instance'): string { $code = ''; foreach ($definition->getProperties() as $name => $value) { @@ -967,7 +967,7 @@ private function addServices(array &$services = null): string return $publicServices.$privateServices; } - private function generateServiceFiles(array $services) + private function generateServiceFiles(array $services): iterable { $definitions = $this->container->getDefinitions(); ksort($definitions); @@ -993,7 +993,7 @@ private function generateServiceFiles(array $services) } } - private function addNewInstance(Definition $definition, string $return = '', string $id = null) + private function addNewInstance(Definition $definition, string $return = '', string $id = null): string { $tail = $return ? ";\n" : ''; @@ -1914,7 +1914,7 @@ private function getNextVariableName(): string } } - private function getExpressionLanguage() + private function getExpressionLanguage(): ExpressionLanguage { if (null === $this->expressionLanguage) { if (!class_exists('Symfony\Component\ExpressionLanguage\ExpressionLanguage')) { @@ -1941,7 +1941,7 @@ private function getExpressionLanguage() return $this->expressionLanguage; } - private function isHotPath(Definition $definition) + private function isHotPath(Definition $definition): bool { return $this->hotPathTag && $definition->hasTag($this->hotPathTag) && !$definition->isDeprecated(); } @@ -1965,6 +1965,9 @@ private function isSingleUsePrivateNode(ServiceReferenceGraphNode $node): bool return 1 === \count($ids); } + /** + * @return mixed + */ private function export($value) { if (null !== $this->targetDirRegex && \is_string($value) && preg_match($this->targetDirRegex, $value, $matches, PREG_OFFSET_CAPTURE)) { @@ -1988,6 +1991,9 @@ private function export($value) return $this->doExport($value, true); } + /** + * @return mixed + */ private function doExport($value, bool $resolveEnv = false) { $shouldCacheValue = $resolveEnv && \is_string($value); diff --git a/src/Symfony/Component/DependencyInjection/Dumper/XmlDumper.php b/src/Symfony/Component/DependencyInjection/Dumper/XmlDumper.php index e78173dffad22..43a22f65ee933 100644 --- a/src/Symfony/Component/DependencyInjection/Dumper/XmlDumper.php +++ b/src/Symfony/Component/DependencyInjection/Dumper/XmlDumper.php @@ -338,11 +338,9 @@ private function escape(array $arguments): array * * @param mixed $value Value to convert * - * @return string - * * @throws RuntimeException When trying to dump object or resource */ - public static function phpToXml($value) + public static function phpToXml($value): string { switch (true) { case null === $value: diff --git a/src/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php b/src/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php index 41fd762747673..24f55969b5047 100644 --- a/src/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php +++ b/src/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php @@ -201,6 +201,8 @@ private function addParameters(): string * Dumps callable to YAML format. * * @param mixed $callable + * + * @return mixed */ private function dumpCallable($callable) { @@ -299,7 +301,7 @@ private function getParameterCall(string $id): string return sprintf('%%%s%%', $id); } - private function getExpressionCall(string $expression) + private function getExpressionCall(string $expression): string { return sprintf('@=%s', $expression); } diff --git a/src/Symfony/Component/DependencyInjection/Extension/Extension.php b/src/Symfony/Component/DependencyInjection/Extension/Extension.php index 925775aa567c3..23b154b1a6877 100644 --- a/src/Symfony/Component/DependencyInjection/Extension/Extension.php +++ b/src/Symfony/Component/DependencyInjection/Extension/Extension.php @@ -111,7 +111,7 @@ final protected function processConfiguration(ConfigurationInterface $configurat /** * @internal */ - final public function getProcessedConfigs() + final public function getProcessedConfigs(): array { try { return $this->processedConfigs; diff --git a/src/Symfony/Component/DependencyInjection/Loader/Configurator/PrototypeConfigurator.php b/src/Symfony/Component/DependencyInjection/Loader/Configurator/PrototypeConfigurator.php index 119f2f252e177..3cd56e0f19a48 100644 --- a/src/Symfony/Component/DependencyInjection/Loader/Configurator/PrototypeConfigurator.php +++ b/src/Symfony/Component/DependencyInjection/Loader/Configurator/PrototypeConfigurator.php @@ -75,7 +75,7 @@ public function __destruct() * * @return $this */ - final public function exclude($excludes) + final public function exclude($excludes): self { $this->excludes = (array) $excludes; diff --git a/src/Symfony/Component/DependencyInjection/Loader/FileLoader.php b/src/Symfony/Component/DependencyInjection/Loader/FileLoader.php index cb204164857c3..307e71d1e6835 100644 --- a/src/Symfony/Component/DependencyInjection/Loader/FileLoader.php +++ b/src/Symfony/Component/DependencyInjection/Loader/FileLoader.php @@ -102,7 +102,7 @@ protected function setDefinition($id, Definition $definition) } } - private function findClasses(string $namespace, string $pattern, array $excludePatterns) + private function findClasses(string $namespace, string $pattern, array $excludePatterns): array { $parameterBag = $this->container->getParameterBag(); diff --git a/src/Symfony/Component/DependencyInjection/Loader/IniFileLoader.php b/src/Symfony/Component/DependencyInjection/Loader/IniFileLoader.php index bb9f12a7d9ec8..40137b18fd7a3 100644 --- a/src/Symfony/Component/DependencyInjection/Loader/IniFileLoader.php +++ b/src/Symfony/Component/DependencyInjection/Loader/IniFileLoader.php @@ -66,6 +66,8 @@ public function supports($resource, $type = null) * Note that the following features are not supported: * * strings with escaped quotes are not supported "foo\"bar"; * * string concatenation ("foo" "bar"). + * + * @return mixed */ private function phpize(string $value) { diff --git a/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php b/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php index 50b90a81aabad..3fc723b686793 100644 --- a/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php +++ b/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php @@ -435,7 +435,7 @@ private function processAnonymousServices(\DOMDocument $xml, string $file) } } - private function getArgumentsAsPhp(\DOMElement $node, string $name, string $file, bool $isChildDefinition = false) + private function getArgumentsAsPhp(\DOMElement $node, string $name, string $file, bool $isChildDefinition = false): array { $arguments = []; foreach ($this->getChildren($node, $name) as $arg) { diff --git a/src/Symfony/Component/DependencyInjection/ServiceLocator.php b/src/Symfony/Component/DependencyInjection/ServiceLocator.php index d7bbecfa276d1..e379f3b607cbb 100644 --- a/src/Symfony/Component/DependencyInjection/ServiceLocator.php +++ b/src/Symfony/Component/DependencyInjection/ServiceLocator.php @@ -64,8 +64,10 @@ public function __invoke($id) /** * @internal + * + * @return static */ - public function withContext($externalId, Container $container) + public function withContext(string $externalId, Container $container) { $locator = clone $this; $locator->externalId = $externalId; @@ -127,7 +129,7 @@ private function createCircularReferenceException(string $id, array $path): Cont return new ServiceCircularReferenceException($id, $path); } - private function formatAlternatives(array $alternatives = null, string $separator = 'and') + private function formatAlternatives(array $alternatives = null, string $separator = 'and'): string { $format = '"%s"%s'; if (null === $alternatives) { diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php index a81634d9d9e7f..b5f02de9405e2 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php @@ -71,7 +71,7 @@ public function testBindingsShouldBeResolved() $this->assertSame($this->container->getParameterBag()->resolveValue('%env(BAZ)%'), $boundValue); } - private function createContainerBuilder() + private function createContainerBuilder(): ContainerBuilder { $containerBuilder = new ContainerBuilder(); diff --git a/src/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php b/src/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php index 56512e89c1481..9b1ff3245f118 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php @@ -110,7 +110,7 @@ public function testTaggedArguments() $this->assertStringEqualsFile(self::$fixturesPath.'/yaml/services_with_tagged_argument.yml', $dumper->dump()); } - private function assertEqualYamlStructure($expected, $yaml, $message = '') + private function assertEqualYamlStructure(string $expected, string $yaml, string $message = '') { $parser = new Parser();