Add types to constructors and private/final/internal methods (Batch III)

This commit is contained in:
Alexander M. Turek 2019-09-30 15:36:09 +02:00 committed by Nicolas Grekas
parent 001777ac07
commit 6493902287
50 changed files with 122 additions and 120 deletions

View File

@ -71,7 +71,7 @@ class DbalLogger implements SQLLogger
$this->logger->debug($message, $params);
}
private function normalizeParams(array $params)
private function normalizeParams(array $params): array
{
foreach ($params as $index => $param) {
// normalize recursively

View File

@ -12,6 +12,9 @@
namespace Symfony\Bridge\Doctrine\Security\User;
use Doctrine\Common\Persistence\ManagerRegistry;
use Doctrine\Common\Persistence\Mapping\ClassMetadata;
use Doctrine\Common\Persistence\ObjectManager;
use Doctrine\Common\Persistence\ObjectRepository;
use Symfony\Component\Security\Core\Exception\UnsupportedUserException;
use Symfony\Component\Security\Core\Exception\UsernameNotFoundException;
use Symfony\Component\Security\Core\User\PasswordUpgraderInterface;
@ -124,17 +127,17 @@ class EntityUserProvider implements UserProviderInterface, PasswordUpgraderInter
}
}
private function getObjectManager()
private function getObjectManager(): ObjectManager
{
return $this->registry->getManager($this->managerName);
}
private function getRepository()
private function getRepository(): ObjectRepository
{
return $this->getObjectManager()->getRepository($this->classOrAlias);
}
private function getClass()
private function getClass(): string
{
if (null === $this->class) {
$class = $this->classOrAlias;
@ -149,7 +152,7 @@ class EntityUserProvider implements UserProviderInterface, PasswordUpgraderInter
return $this->class;
}
private function getClassMetadata()
private function getClassMetadata(): ClassMetadata
{
return $this->getObjectManager()->getClassMetadata($this->classOrAlias);
}

View File

@ -40,7 +40,7 @@ final class TestRepositoryFactory implements RepositoryFactory
return $this->repositoryList[$repositoryHash] = $this->createRepository($entityManager, $entityName);
}
public function setRepository(EntityManagerInterface $entityManager, $entityName, ObjectRepository $repository)
public function setRepository(EntityManagerInterface $entityManager, string $entityName, ObjectRepository $repository)
{
$repositoryHash = $this->getRepositoryHash($entityManager, $entityName);
@ -56,7 +56,7 @@ final class TestRepositoryFactory implements RepositoryFactory
return new $repositoryClassName($entityManager, $metadata);
}
private function getRepositoryHash(EntityManagerInterface $entityManager, string $entityName)
private function getRepositoryHash(EntityManagerInterface $entityManager, string $entityName): string
{
return $entityManager->getClassMetadata($entityName)->getName().spl_object_hash($entityManager);
}

View File

@ -11,9 +11,11 @@
namespace Symfony\Bridge\Doctrine\Tests\Security\User;
use Doctrine\Common\Persistence\ObjectRepository;
use Doctrine\ORM\Tools\SchemaTool;
use PHPUnit\Framework\TestCase;
use Symfony\Bridge\Doctrine\Security\User\EntityUserProvider;
use Symfony\Bridge\Doctrine\Security\User\UserLoaderInterface;
use Symfony\Bridge\Doctrine\Test\DoctrineTestHelper;
use Symfony\Bridge\Doctrine\Tests\Fixtures\User;
use Symfony\Component\Security\Core\User\PasswordUpgraderInterface;
@ -59,9 +61,7 @@ class EntityUserProviderTest extends TestCase
{
$user = new User(1, 1, 'user1');
$repository = $this->getMockBuilder('Symfony\Bridge\Doctrine\Security\User\UserLoaderInterface')
->disableOriginalConstructor()
->getMock();
$repository = $this->createMock([ObjectRepository::class, UserLoaderInterface::class]);
$repository
->expects($this->once())
->method('loadUserByUsername')
@ -147,7 +147,7 @@ class EntityUserProviderTest extends TestCase
public function testLoadUserByUserNameShouldLoadUserWhenProperInterfaceProvided()
{
$repository = $this->getMockBuilder('\Symfony\Bridge\Doctrine\Security\User\UserLoaderInterface')->getMock();
$repository = $this->createMock([ObjectRepository::class, UserLoaderInterface::class]);
$repository->expects($this->once())
->method('loadUserByUsername')
->with('name')
@ -166,7 +166,7 @@ class EntityUserProviderTest extends TestCase
public function testLoadUserByUserNameShouldDeclineInvalidInterface()
{
$this->expectException('InvalidArgumentException');
$repository = $this->getMockBuilder('\Symfony\Component\Security\Core\User\AdvancedUserInterface')->getMock();
$repository = $this->createMock(ObjectRepository::class);
$provider = new EntityUserProvider(
$this->getManager($this->getObjectManager($repository)),
@ -180,7 +180,7 @@ class EntityUserProviderTest extends TestCase
{
$user = new User(1, 1, 'user1');
$repository = $this->getMockBuilder(PasswordUpgraderInterface::class)->getMock();
$repository = $this->createMock([ObjectRepository::class, PasswordUpgraderInterface::class]);
$repository->expects($this->once())
->method('upgradePassword')
->with($user, 'foobar');

View File

@ -133,7 +133,7 @@ class ConsoleFormatter implements FormatterInterface
/**
* @internal
*/
public function echoLine($line, $depth, $indentPad)
public function echoLine(string $line, int $depth, string $indentPad)
{
if (-1 !== $depth) {
fwrite($this->outputBuffer, $line);
@ -143,7 +143,7 @@ class ConsoleFormatter implements FormatterInterface
/**
* @internal
*/
public function castObject($v, array $a, Stub $s, $isNested)
public function castObject($v, array $a, Stub $s, bool $isNested): array
{
if ($this->options['multiline']) {
return $a;
@ -157,7 +157,7 @@ class ConsoleFormatter implements FormatterInterface
return $a;
}
private function replacePlaceHolder(array $record)
private function replacePlaceHolder(array $record): array
{
$message = $record['message'];

View File

@ -103,7 +103,7 @@ class ServerLogHandler extends AbstractHandler
return $socket;
}
private function formatRecord(array $record)
private function formatRecord(array $record): string
{
if ($this->processors) {
foreach ($this->processors as $processor) {

View File

@ -360,7 +360,7 @@ EOF
return null;
}
private function getPrettyMetadata(string $type, $entity, bool $decorated)
private function getPrettyMetadata(string $type, $entity, bool $decorated): ?string
{
if ('tests' === $type) {
return '';

View File

@ -119,7 +119,7 @@ EOF
return $template;
}
private function getFilesInfo(array $filenames)
private function getFilesInfo(array $filenames): array
{
$filesInfo = [];
foreach ($filenames as $filename) {

View File

@ -236,7 +236,7 @@ class CodeExtension extends AbstractExtension
/**
* @internal
*/
public function formatLogMessage($message, array $context)
public function formatLogMessage(string $message, array $context): string
{
if ($context && false !== strpos($message, '{')) {
$replacements = [];

View File

@ -111,7 +111,7 @@ class FormExtension extends AbstractExtension
*
* @see ChoiceView::isSelected()
*/
function twig_is_selected_choice(ChoiceView $choice, $selectedValue)
function twig_is_selected_choice(ChoiceView $choice, $selectedValue): bool
{
if (\is_array($selectedValue)) {
return \in_array($choice->value, $selectedValue, true);
@ -123,7 +123,7 @@ function twig_is_selected_choice(ChoiceView $choice, $selectedValue)
/**
* @internal
*/
function twig_is_root_form(FormView $formView)
function twig_is_root_form(FormView $formView): bool
{
return null === $formView->parent;
}

View File

@ -132,7 +132,7 @@ class TranslationDefaultDomainNodeVisitor extends AbstractNodeVisitor
return false;
}
private function getVarName()
private function getVarName(): string
{
return sprintf('__internal_%s', hash('sha256', uniqid(mt_rand(), true), false));
}

View File

@ -65,7 +65,7 @@ class UndefinedCallableHandler
'workflow' => 'enable "framework.workflows"',
];
public static function onUndefinedFilter($name)
public static function onUndefinedFilter(string $name): bool
{
if (!isset(self::$filterComponents[$name])) {
return false;
@ -76,7 +76,7 @@ class UndefinedCallableHandler
return true;
}
public static function onUndefinedFunction($name)
public static function onUndefinedFunction(string $name): bool
{
if (!isset(self::$functionComponents[$name])) {
return false;
@ -87,7 +87,7 @@ class UndefinedCallableHandler
return true;
}
private static function onUndefined($name, $type, $component)
private static function onUndefined(string $name, string $type, string $component)
{
if (class_exists(FullStack::class) && isset(self::$fullStackEnable[$component])) {
throw new SyntaxError(sprintf('Did you forget to %s? Unknown %s "%s".', self::$fullStackEnable[$component], $type, $name));

View File

@ -262,7 +262,7 @@ EOT
return self::METHOD_COPY;
}
private function getPublicDirectory(ContainerInterface $container)
private function getPublicDirectory(ContainerInterface $container): string
{
$defaultPublicDir = 'public';

View File

@ -236,7 +236,7 @@ EOF
return $this->containerBuilder = $container;
}
private function findProperServiceName(InputInterface $input, SymfonyStyle $io, ContainerBuilder $builder, string $name, bool $showHidden)
private function findProperServiceName(InputInterface $input, SymfonyStyle $io, ContainerBuilder $builder, string $name, bool $showHidden): string
{
$name = ltrim($name, '\\');
@ -256,7 +256,7 @@ EOF
return $io->choice('Select one of the following services to display its information', $matchingServices);
}
private function findServiceIdsContaining(ContainerBuilder $builder, string $name, bool $showHidden)
private function findServiceIdsContaining(ContainerBuilder $builder, string $name, bool $showHidden): array
{
$serviceIds = $builder->getServiceIds();
$foundServiceIds = $foundServiceIdsIgnoringBackslashes = [];
@ -278,7 +278,7 @@ EOF
/**
* @internal
*/
public function filterToServiceTypes($serviceId)
public function filterToServiceTypes(string $serviceId): bool
{
// filter out things that could not be valid class names
if (!preg_match('/(?(DEFINE)(?<V>[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*+))^(?&V)(?:\\\\(?&V))*+(?: \$(?&V))?$/', $serviceId)) {

View File

@ -47,7 +47,7 @@ abstract class AbstractController implements ServiceSubscriberInterface
* @internal
* @required
*/
public function setContainer(ContainerInterface $container)
public function setContainer(ContainerInterface $container): ?ContainerInterface
{
$previous = $this->container;
$this->container = $container;

View File

@ -13,6 +13,7 @@ namespace Symfony\Bundle\FrameworkBundle\Templating\Helper;
@trigger_error('The '.RequestHelper::class.' class is deprecated since version 4.3 and will be removed in 5.0; use Twig instead.', E_USER_DEPRECATED);
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\Templating\Helper\Helper;
@ -57,7 +58,7 @@ class RequestHelper extends Helper
return $this->getRequest()->getLocale();
}
private function getRequest()
private function getRequest(): Request
{
if (!$this->requestStack->getCurrentRequest()) {
throw new \LogicException('A Request must be available.');

View File

@ -14,6 +14,7 @@ namespace Symfony\Bundle\FrameworkBundle\Templating\Helper;
@trigger_error('The '.SessionHelper::class.' class is deprecated since version 4.3 and will be removed in 5.0; use Twig instead.', E_USER_DEPRECATED);
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Symfony\Component\Templating\Helper\Helper;
/**
@ -61,7 +62,7 @@ class SessionHelper extends Helper
return $this->getSession()->getFlashBag()->has($name);
}
private function getSession()
private function getSession(): SessionInterface
{
if (null === $this->session) {
if (!$this->requestStack->getMasterRequest()) {

View File

@ -93,7 +93,7 @@ class TestAbstractController extends AbstractController
return $this->$method(...$arguments);
}
public function setContainer(ContainerInterface $container)
public function setContainer(ContainerInterface $container): ?ContainerInterface
{
if (!$this->throwOnUnexpectedService) {
return parent::setContainer($container);

View File

@ -182,12 +182,12 @@ EOF
})->setHidden(true)->setMaxAttempts(20);
}
private function generateSalt()
private function generateSalt(): string
{
return base64_encode(random_bytes(30));
}
private function getUserClass(InputInterface $input, SymfonyStyle $io)
private function getUserClass(InputInterface $input, SymfonyStyle $io): string
{
if (null !== $userClass = $input->getArgument('user-class')) {
return $userClass;

View File

@ -60,7 +60,7 @@ final class WrappedListener implements ListenerInterface
/**
* Proxies all method calls to the original listener.
*/
public function __call($method, $arguments)
public function __call(string $method, array $arguments)
{
return $this->listener->{$method}(...$arguments);
}

View File

@ -89,7 +89,7 @@ abstract class AbstractFactory implements SecurityFactoryInterface
}
}
final public function addOption($name, $default = null)
final public function addOption(string $name, $default = null)
{
$this->options[$name] = $default;
}

View File

@ -92,7 +92,7 @@ class GuardAuthenticationFactory implements SecurityFactoryInterface
return [$providerId, $listenerId, $entryPointId];
}
private function determineEntryPoint(?string $defaultEntryPointId, array $config)
private function determineEntryPoint(?string $defaultEntryPointId, array $config): string
{
if ($defaultEntryPointId) {
// explode if they've configured the entry_point, but there is already one

View File

@ -598,7 +598,7 @@ class SecurityExtension extends Extension implements PrependExtensionInterface
}
// Parses user providers and returns an array of their ids
private function createUserProviders(array $config, ContainerBuilder $container)
private function createUserProviders(array $config, ContainerBuilder $container): array
{
$providerIds = [];
foreach ($config['providers'] as $name => $provider) {
@ -610,7 +610,7 @@ class SecurityExtension extends Extension implements PrependExtensionInterface
}
// Parses a <provider> tag and returns the id for the related user provider service
private function createUserDaoProvider(string $name, array $provider, ContainerBuilder $container)
private function createUserDaoProvider(string $name, array $provider, ContainerBuilder $container): string
{
$name = $this->getUserProviderId($name);
@ -649,12 +649,12 @@ class SecurityExtension extends Extension implements PrependExtensionInterface
throw new InvalidConfigurationException(sprintf('Unable to create definition for "%s" user provider', $name));
}
private function getUserProviderId(string $name)
private function getUserProviderId(string $name): string
{
return 'security.user.provider.concrete.'.strtolower($name);
}
private function createExceptionListener(ContainerBuilder $container, array $config, string $id, ?string $defaultEntryPoint, bool $stateless)
private function createExceptionListener(ContainerBuilder $container, array $config, string $id, ?string $defaultEntryPoint, bool $stateless): string
{
$exceptionListenerId = 'security.exception_listener.'.$id;
$listener = $container->setDefinition($exceptionListenerId, new ChildDefinition('security.exception_listener'));
@ -672,7 +672,7 @@ class SecurityExtension extends Extension implements PrependExtensionInterface
return $exceptionListenerId;
}
private function createSwitchUserListener(ContainerBuilder $container, string $id, array $config, string $defaultProvider, bool $stateless)
private function createSwitchUserListener(ContainerBuilder $container, string $id, array $config, string $defaultProvider, bool $stateless): string
{
$userProvider = isset($config['provider']) ? $this->getUserProviderId($config['provider']) : $defaultProvider;
@ -692,7 +692,7 @@ class SecurityExtension extends Extension implements PrependExtensionInterface
return $switchUserListenerId;
}
private function createExpression(ContainerBuilder $container, string $expression)
private function createExpression(ContainerBuilder $container, string $expression): Reference
{
if (isset($this->expressions[$id = '.security.expression.'.ContainerBuilder::hash($expression)])) {
return $this->expressions[$id];
@ -711,7 +711,7 @@ class SecurityExtension extends Extension implements PrependExtensionInterface
return $this->expressions[$id] = new Reference($id);
}
private function createRequestMatcher(ContainerBuilder $container, string $path = null, string $host = null, int $port = null, array $methods = [], array $ips = null, array $attributes = [])
private function createRequestMatcher(ContainerBuilder $container, string $path = null, string $host = null, int $port = null, array $methods = [], array $ips = null, array $attributes = []): Reference
{
if ($methods) {
$methods = array_map('strtoupper', (array) $methods);

View File

@ -42,7 +42,7 @@ EOF
;
}
protected function findFiles($filename)
protected function findFiles($filename): iterable
{
if (0 === strpos($filename, '@')) {
$dir = $this->getApplication()->getKernel()->locateResource($filename);

View File

@ -172,7 +172,7 @@ class TwigExtension extends Extension
}
}
private function getBundleTemplatePaths(ContainerBuilder $container, array $config)
private function getBundleTemplatePaths(ContainerBuilder $container, array $config): array
{
$bundleHierarchy = [];
foreach ($container->getParameter('kernel.bundles_metadata') as $name => $bundle) {
@ -199,7 +199,7 @@ class TwigExtension extends Extension
return $bundleHierarchy;
}
private function normalizeBundleName(string $name)
private function normalizeBundleName(string $name): string
{
if ('Bundle' === substr($name, -6)) {
$name = substr($name, 0, -6);

View File

@ -379,7 +379,7 @@ class ProfilerController
$this->profiler->disable();
}
private function renderWithCspNonces(Request $request, string $template, array $variables, int $code = 200, array $headers = ['Content-Type' => 'text/html'])
private function renderWithCspNonces(Request $request, string $template, array $variables, int $code = 200, array $headers = ['Content-Type' => 'text/html']): Response
{
$response = new Response('', $code, $headers);

View File

@ -20,7 +20,7 @@ namespace Symfony\Bundle\WebProfilerBundle\Csp;
*/
class NonceGenerator
{
public function generate()
public function generate(): string
{
return bin2hex(random_bytes(16));
}

View File

@ -125,7 +125,7 @@ EOF
}
}
private function getLogs($socket)
private function getLogs($socket): iterable
{
$sockets = [(int) $socket => $socket];
$write = [];
@ -148,7 +148,7 @@ EOF
}
}
private function displayLog(InputInterface $input, OutputInterface $output, $clientId, array $record)
private function displayLog(InputInterface $input, OutputInterface $output, int $clientId, array $record)
{
if (isset($record['log_id'])) {
$clientId = unpack('H*', $record['log_id'])[1];

View File

@ -46,7 +46,7 @@ class WebServerExtension extends Extension
@trigger_error('Using the WebserverBundle is deprecated since Symfony 4.4, the new symfony local server has more feature, you should use it instead.', E_USER_DEPRECATED);
}
private function getPublicDirectory(ContainerBuilder $container)
private function getPublicDirectory(ContainerBuilder $container): string
{
$kernelProjectDir = $container->getParameter('kernel.project_dir');
$publicDir = 'public';

View File

@ -174,7 +174,7 @@ class WebServer
return $process;
}
private function getDefaultPidFile()
private function getDefaultPidFile(): string
{
return ($this->pidFileDirectory ?? getcwd()).'/.web-server-pid';
}

View File

@ -91,7 +91,7 @@ abstract class AbstractComparisonValidator extends ConstraintValidator
}
}
private function getPropertyAccessor()
private function getPropertyAccessor(): PropertyAccessorInterface
{
if (null === $this->propertyAccessor) {
$this->propertyAccessor = PropertyAccess::createPropertyAccessor();

View File

@ -63,7 +63,7 @@ class ExpressionValidator extends ConstraintValidator
}
}
private function getExpressionLanguage()
private function getExpressionLanguage(): ExpressionLanguage
{
if (null === $this->expressionLanguage) {
if (!class_exists('Symfony\Component\ExpressionLanguage\ExpressionLanguage')) {

View File

@ -208,7 +208,7 @@ class FileValidator extends ConstraintValidator
* Convert the limit to the smallest possible number
* (i.e. try "MB", then "kB", then "bytes").
*/
private function factorizeSizes(int $size, int $limit, bool $binaryFormat)
private function factorizeSizes(int $size, int $limit, bool $binaryFormat): array
{
if ($binaryFormat) {
$coef = self::MIB_BYTES;

View File

@ -225,7 +225,7 @@ class IbanValidator extends ConstraintValidator
}
}
private static function toBigInt($string)
private static function toBigInt(string $string): string
{
$chars = str_split($string);
$bigInt = '';
@ -245,7 +245,7 @@ class IbanValidator extends ConstraintValidator
return $bigInt;
}
private static function bigModulo97($bigInt)
private static function bigModulo97(string $bigInt): int
{
$parts = str_split($bigInt, 7);
$rest = 0;

View File

@ -15,6 +15,7 @@ use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterfa
use Symfony\Component\Validator\Constraint;
use Symfony\Component\Validator\ConstraintViolation;
use Symfony\Component\Validator\ConstraintViolationList;
use Symfony\Component\Validator\ConstraintViolationListInterface;
use Symfony\Component\Validator\Mapping\ClassMetadataInterface;
use Symfony\Component\Validator\Mapping\MemberMetadata;
use Symfony\Component\Validator\Mapping\MetadataInterface;
@ -22,6 +23,7 @@ use Symfony\Component\Validator\Mapping\PropertyMetadataInterface;
use Symfony\Component\Validator\Util\PropertyPath;
use Symfony\Component\Validator\Validator\ValidatorInterface;
use Symfony\Component\Validator\Violation\ConstraintViolationBuilder;
use Symfony\Component\Validator\Violation\ConstraintViolationBuilderInterface;
use Symfony\Contracts\Translation\TranslatorInterface;
/**
@ -200,7 +202,7 @@ class ExecutionContext implements ExecutionContextInterface
/**
* {@inheritdoc}
*/
public function buildViolation($message, array $parameters = [])
public function buildViolation($message, array $parameters = []): ConstraintViolationBuilderInterface
{
return new ConstraintViolationBuilder(
$this->violations,
@ -218,7 +220,7 @@ class ExecutionContext implements ExecutionContextInterface
/**
* {@inheritdoc}
*/
public function getViolations()
public function getViolations(): ConstraintViolationListInterface
{
return $this->violations;
}
@ -226,7 +228,7 @@ class ExecutionContext implements ExecutionContextInterface
/**
* {@inheritdoc}
*/
public function getValidator()
public function getValidator(): ValidatorInterface
{
return $this->validator;
}
@ -258,7 +260,7 @@ class ExecutionContext implements ExecutionContextInterface
/**
* {@inheritdoc}
*/
public function getMetadata()
public function getMetadata(): ?MetadataInterface
{
return $this->metadata;
}
@ -266,12 +268,12 @@ class ExecutionContext implements ExecutionContextInterface
/**
* {@inheritdoc}
*/
public function getGroup()
public function getGroup(): ?string
{
return $this->group;
}
public function getConstraint()
public function getConstraint(): ?Constraint
{
return $this->constraint;
}
@ -279,7 +281,7 @@ class ExecutionContext implements ExecutionContextInterface
/**
* {@inheritdoc}
*/
public function getClassName()
public function getClassName(): ?string
{
return $this->metadata instanceof MemberMetadata || $this->metadata instanceof ClassMetadataInterface ? $this->metadata->getClassName() : null;
}
@ -287,7 +289,7 @@ class ExecutionContext implements ExecutionContextInterface
/**
* {@inheritdoc}
*/
public function getPropertyName()
public function getPropertyName(): ?string
{
return $this->metadata instanceof PropertyMetadataInterface ? $this->metadata->getPropertyName() : null;
}
@ -295,7 +297,7 @@ class ExecutionContext implements ExecutionContextInterface
/**
* {@inheritdoc}
*/
public function getPropertyPath($subPath = '')
public function getPropertyPath($subPath = ''): string
{
return PropertyPath::append($this->propertyPath, $subPath);
}
@ -315,7 +317,7 @@ class ExecutionContext implements ExecutionContextInterface
/**
* {@inheritdoc}
*/
public function isGroupValidated($cacheKey, $groupHash)
public function isGroupValidated($cacheKey, $groupHash): bool
{
return isset($this->validatedObjects[$cacheKey][$groupHash]);
}
@ -331,7 +333,7 @@ class ExecutionContext implements ExecutionContextInterface
/**
* {@inheritdoc}
*/
public function isConstraintValidated($cacheKey, $constraintHash)
public function isConstraintValidated($cacheKey, $constraintHash): bool
{
return isset($this->validatedConstraints[$cacheKey.':'.$constraintHash]);
}
@ -347,7 +349,7 @@ class ExecutionContext implements ExecutionContextInterface
/**
* {@inheritdoc}
*/
public function isObjectInitialized($cacheKey)
public function isObjectInitialized($cacheKey): bool
{
return isset($this->initializedObjects[$cacheKey]);
}

View File

@ -40,7 +40,7 @@ final class DoctrineCache implements CacheInterface
/**
* {@inheritdoc}
*/
public function has($class)
public function has($class): bool
{
return $this->cache->contains($class);
}

View File

@ -236,7 +236,7 @@ class ConstraintViolationAssertion
private $constraint;
private $cause;
public function __construct(ExecutionContextInterface $context, $message, Constraint $constraint = null, array $assertions = [])
public function __construct(ExecutionContextInterface $context, string $message, Constraint $constraint = null, array $assertions = [])
{
$this->context = $context;
$this->message = $message;
@ -244,14 +244,14 @@ class ConstraintViolationAssertion
$this->assertions = $assertions;
}
public function atPath($path)
public function atPath(string $path)
{
$this->propertyPath = $path;
return $this;
}
public function setParameter($key, $value)
public function setParameter(string $key, $value)
{
$this->parameters[$key] = $value;
@ -279,14 +279,14 @@ class ConstraintViolationAssertion
return $this;
}
public function setPlural($number)
public function setPlural(int $number)
{
$this->plural = $number;
return $this;
}
public function setCode($code)
public function setCode(string $code)
{
$this->code = $code;
@ -300,7 +300,7 @@ class ConstraintViolationAssertion
return $this;
}
public function buildNextViolation($message)
public function buildNextViolation(string $message): self
{
$assertions = $this->assertions;
$assertions[] = $this;
@ -328,7 +328,7 @@ class ConstraintViolationAssertion
}
}
private function getViolation()
private function getViolation(): ConstraintViolation
{
return new ConstraintViolation(
$this->message,

View File

@ -57,7 +57,7 @@ class LegacyTranslatorProxy implements LegacyTranslatorInterface, TranslatorInte
/**
* {@inheritdoc}
*/
public function getLocale()
public function getLocale(): string
{
return $this->translator->getLocale();
}
@ -65,7 +65,7 @@ class LegacyTranslatorProxy implements LegacyTranslatorInterface, TranslatorInte
/**
* {@inheritdoc}
*/
public function trans($id, array $parameters = [], $domain = null, $locale = null)
public function trans($id, array $parameters = [], $domain = null, $locale = null): string
{
return $this->translator->trans($id, $parameters, $domain, $locale);
}
@ -73,7 +73,7 @@ class LegacyTranslatorProxy implements LegacyTranslatorInterface, TranslatorInte
/**
* {@inheritdoc}
*/
public function transChoice($id, $number, array $parameters = [], $domain = null, $locale = null)
public function transChoice($id, $number, array $parameters = [], $domain = null, $locale = null): string
{
return $this->translator->trans($id, ['%count%' => $number] + $parameters, $domain, $locale);
}

View File

@ -25,8 +25,6 @@ final class Validation
*
* If you want to configure the validator, use
* {@link createValidatorBuilder()} instead.
*
* @return ValidatorInterface The new validator
*/
public static function createValidator(): ValidatorInterface
{
@ -35,8 +33,6 @@ final class Validation
/**
* Creates a configurable builder for validator objects.
*
* @return ValidatorBuilderInterface The new builder
*/
public static function createValidatorBuilder(): ValidatorBuilder
{

View File

@ -41,12 +41,11 @@ class Caster
* Casts objects to arrays and adds the dynamic property prefix.
*
* @param object $obj The object to cast
* @param string $class The class of the object
* @param bool $hasDebugInfo Whether the __debugInfo method exists on $obj or not
*
* @return array The array-cast of the object, with prefixed dynamic properties
*/
public static function castObject($obj, $class, $hasDebugInfo = false): array
public static function castObject($obj, string $class, bool $hasDebugInfo = false): array
{
$a = $obj instanceof \Closure ? [] : (array) $obj;
@ -110,7 +109,7 @@ class Caster
*
* @return array The filtered array
*/
public static function filter(array $a, $filter, array $listedProperties = [], &$count = 0): array
public static function filter(array $a, int $filter, array $listedProperties = [], ?int &$count = 0): array
{
$count = 0;
@ -151,7 +150,7 @@ class Caster
return $a;
}
public static function castPhpIncompleteClass(\__PHP_Incomplete_Class $c, array $a, Stub $stub, $isNested)
public static function castPhpIncompleteClass(\__PHP_Incomplete_Class $c, array $a, Stub $stub, bool $isNested): array
{
if (isset($a['__PHP_Incomplete_Class_Name'])) {
$stub->class .= '('.$a['__PHP_Incomplete_Class_Name'].')';

View File

@ -52,7 +52,7 @@ class DateCaster
return $filter & Caster::EXCLUDE_VERBOSE ? $i : $i + $a;
}
private static function formatInterval(\DateInterval $i)
private static function formatInterval(\DateInterval $i): string
{
$format = '%R ';

View File

@ -33,7 +33,7 @@ class MemcachedCaster
return $a;
}
private static function getNonDefaultOptions(\Memcached $c)
private static function getNonDefaultOptions(\Memcached $c): array
{
self::$defaultOptions = self::$defaultOptions ?? self::discoverDefaultOptions();
self::$optionConstants = self::$optionConstants ?? self::getOptionConstants();
@ -48,7 +48,7 @@ class MemcachedCaster
return $nonDefaultOptions;
}
private static function discoverDefaultOptions()
private static function discoverDefaultOptions(): array
{
$defaultMemcached = new \Memcached();
$defaultMemcached->addServer('127.0.0.1', 11211);
@ -63,7 +63,7 @@ class MemcachedCaster
return $defaultOptions;
}
private static function getOptionConstants()
private static function getOptionConstants(): array
{
$reflectedMemcached = new \ReflectionClass(\Memcached::class);

View File

@ -361,7 +361,7 @@ class ReflectionCaster
return $signature;
}
private static function addExtra(&$a, \Reflector $c)
private static function addExtra(array &$a, \Reflector $c)
{
$x = isset($a[Caster::PREFIX_VIRTUAL.'extra']) ? $a[Caster::PREFIX_VIRTUAL.'extra']->value : [];
@ -377,7 +377,7 @@ class ReflectionCaster
}
}
private static function addMap(&$a, \Reflector $c, $map, $prefix = Caster::PREFIX_VIRTUAL)
private static function addMap(array &$a, \Reflector $c, array $map, string $prefix = Caster::PREFIX_VIRTUAL)
{
foreach ($map as $k => $m) {
if (method_exists($c, $m) && false !== ($m = $c->$m()) && null !== $m) {

View File

@ -195,7 +195,7 @@ class SplCaster
return $a;
}
private static function castSplArray($c, array $a, Stub $stub, $isNested)
private static function castSplArray($c, array $a, Stub $stub, bool $isNested): array
{
$prefix = Caster::PREFIX_VIRTUAL;
$class = $stub->class;

View File

@ -76,7 +76,7 @@ trait VarDumperTestTrait
return rtrim($dumper->dump($data, true));
}
private function prepareExpectation($expected, int $filter)
private function prepareExpectation($expected, int $filter): string
{
if (!\is_string($expected)) {
$expected = $this->getDump($expected, null, $filter);

View File

@ -61,7 +61,7 @@ class GraphvizDumper implements DumperInterface
/**
* @internal
*/
protected function findPlaces(Definition $definition, Marking $marking = null)
protected function findPlaces(Definition $definition, Marking $marking = null): array
{
$workflowMetadata = $definition->getMetadataStore();
@ -96,7 +96,7 @@ class GraphvizDumper implements DumperInterface
/**
* @internal
*/
protected function findTransitions(Definition $definition)
protected function findTransitions(Definition $definition): array
{
$workflowMetadata = $definition->getMetadataStore();
@ -124,7 +124,7 @@ class GraphvizDumper implements DumperInterface
/**
* @internal
*/
protected function addPlaces(array $places)
protected function addPlaces(array $places): string
{
$code = '';
@ -145,7 +145,7 @@ class GraphvizDumper implements DumperInterface
/**
* @internal
*/
protected function addTransitions(array $transitions)
protected function addTransitions(array $transitions): string
{
$code = '';
@ -159,7 +159,7 @@ class GraphvizDumper implements DumperInterface
/**
* @internal
*/
protected function findEdges(Definition $definition)
protected function findEdges(Definition $definition): array
{
$workflowMetadata = $definition->getMetadataStore();
@ -192,7 +192,7 @@ class GraphvizDumper implements DumperInterface
/**
* @internal
*/
protected function addEdges(array $edges)
protected function addEdges(array $edges): string
{
$code = '';
@ -216,7 +216,7 @@ class GraphvizDumper implements DumperInterface
/**
* @internal
*/
protected function startDot(array $options)
protected function startDot(array $options): string
{
return sprintf("digraph workflow {\n %s\n node [%s];\n edge [%s];\n\n",
$this->addOptions($options['graph']),
@ -228,7 +228,7 @@ class GraphvizDumper implements DumperInterface
/**
* @internal
*/
protected function endDot()
protected function endDot(): string
{
return "}\n";
}
@ -236,7 +236,7 @@ class GraphvizDumper implements DumperInterface
/**
* @internal
*/
protected function dotize($id)
protected function dotize(string $id): string
{
return hash('sha1', $id);
}

View File

@ -44,7 +44,7 @@ class StateMachineGraphvizDumper extends GraphvizDumper
/**
* @internal
*/
protected function findEdges(Definition $definition)
protected function findEdges(Definition $definition): array
{
$workflowMetadata = $definition->getMetadataStore();
@ -82,7 +82,7 @@ class StateMachineGraphvizDumper extends GraphvizDumper
/**
* @internal
*/
protected function addEdges(array $edges)
protected function addEdges(array $edges): string
{
$code = '';

View File

@ -250,7 +250,7 @@ class Workflow implements WorkflowInterface
return $this->definition->getMetadataStore();
}
private function buildTransitionBlockerListForTransition($subject, Marking $marking, Transition $transition)
private function buildTransitionBlockerListForTransition($subject, Marking $marking, Transition $transition): TransitionBlockerList
{
foreach ($transition->getFroms() as $place) {
if (!$marking->has($place)) {

View File

@ -137,7 +137,7 @@ EOF
return ['file' => $file, 'valid' => true];
}
private function display(SymfonyStyle $io, array $files)
private function display(SymfonyStyle $io, array $files): int
{
switch ($this->format) {
case 'txt':
@ -149,7 +149,7 @@ EOF
}
}
private function displayTxt(SymfonyStyle $io, array $filesInfo)
private function displayTxt(SymfonyStyle $io, array $filesInfo): int
{
$countFiles = \count($filesInfo);
$erroredFiles = 0;
@ -178,7 +178,7 @@ EOF
return min($erroredFiles, 1);
}
private function displayJson(SymfonyStyle $io, array $filesInfo)
private function displayJson(SymfonyStyle $io, array $filesInfo): int
{
$errors = 0;
@ -198,7 +198,7 @@ EOF
return min($errors, 1);
}
private function getFiles(string $fileOrDirectory)
private function getFiles(string $fileOrDirectory): iterable
{
if (is_file($fileOrDirectory)) {
yield new \SplFileInfo($fileOrDirectory);
@ -225,7 +225,7 @@ EOF
return $yaml;
}
private function getParser()
private function getParser(): Parser
{
if (!$this->parser) {
$this->parser = new Parser();
@ -234,7 +234,7 @@ EOF
return $this->parser;
}
private function getDirectoryIterator(string $directory)
private function getDirectoryIterator(string $directory): iterable
{
$default = function ($directory) {
return new \RecursiveIteratorIterator(
@ -250,7 +250,7 @@ EOF
return $default($directory);
}
private function isReadable(string $fileOrDirectory)
private function isReadable(string $fileOrDirectory): bool
{
$default = function ($fileOrDirectory) {
return is_readable($fileOrDirectory);

View File

@ -1134,7 +1134,7 @@ class Parser
throw new ParseException(sprintf('Tags support is not enabled. You must use the flag "Yaml::PARSE_CUSTOM_TAGS" to use "%s".', $matches['tag']), $this->getRealCurrentLineNb() + 1, $value, $this->filename);
}
private function parseQuotedString($yaml)
private function parseQuotedString(string $yaml): ?string
{
if ('' === $yaml || ('"' !== $yaml[0] && "'" !== $yaml[0])) {
throw new \InvalidArgumentException(sprintf('"%s" is not a quoted string.', $yaml));
@ -1223,7 +1223,7 @@ class Parser
return implode("\n", $lines);
}
private function lexInlineSequence($yaml)
private function lexInlineSequence(string $yaml): string
{
if ('' === $yaml || '[' !== $yaml[0]) {
throw new \InvalidArgumentException(sprintf('"%s" is not a sequence.', $yaml));