diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f76ec4b98..8600f7e3f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -60,7 +60,7 @@ code_style: - bin - tests/app/vendor/ -sa_tests: +phpstan_tests: stage: Tests image: registry.gitlab.com/chill-projet/chill-app/php-base-image:7.4 script: @@ -71,6 +71,17 @@ sa_tests: - bin - tests/app/vendor/ +psalm_tests: + stage: Tests + image: registry.gitlab.com/chill-projet/chill-app/php-base-image:7.4 + script: + - bin/grumphp run --tasks=psalm + artifacts: + expire_in: 30 min + paths: + - bin + - tests/app/vendor/ + unit_tests: stage: Tests image: registry.gitlab.com/chill-projet/chill-app/php-base-image:7.4 diff --git a/composer.json b/composer.json index 6e18ea69a..4d0d58f1f 100644 --- a/composer.json +++ b/composer.json @@ -64,10 +64,12 @@ "symfony/phpunit-bridge": "^5.2", "symfony/stopwatch": "^5.1", "symfony/var-dumper": "4.*", - "symfony/web-profiler-bundle": "^5.0" + "symfony/web-profiler-bundle": "^5.0", + "vimeo/psalm": "^4.15" }, "config": { "bin-dir": "bin", + "sort-packages": true, "vendor-dir": "tests/app/vendor" }, "autoload": { diff --git a/grumphp.yml b/grumphp.yml index d25cc01ba..8efce6109 100644 --- a/grumphp.yml +++ b/grumphp.yml @@ -12,3 +12,28 @@ parameters: tasks.phpcsfixer.allow_risky: true tasks.phpcsfixer.diff: true tasks.phpstan.level: 1 + tasks.phpstan.blocking: true + tasks.phpstan.ignore_patterns: + - "/.github/" + - "/.idea/" + - "/build/" + - "/benchmarks/" + - "/docs/" + - "/node_modules/" + - "/resource/" + - "/spec/" + - "/var/" + - "/vendor/" + + # Psalm + tasks.psalm.blocking: true + tasks.psalm.ignore_patterns: + - "/.github/" + - "/.idea/" + - "/build/" + - "/benchmarks/" + - "/node_modules/" + - "/resource/" + - "/spec/" + - "/var/" + - "/vendor/" diff --git a/psalm-baseline.xml b/psalm-baseline.xml new file mode 100644 index 000000000..aec43a176 --- /dev/null +++ b/psalm-baseline.xml @@ -0,0 +1,2162 @@ + + + + + 'ChillActivityBundle:ActivityReasonCategory' + 'ChillActivityBundle:ActivityReasonCategory' + 'ChillActivityBundle:ActivityReasonCategory' + 'ChillActivityBundle:ActivityReasonCategory' + + + + + 'ChillActivityBundle:ActivityReason' + 'ChillActivityBundle:ActivityReason' + 'ChillActivityBundle:ActivityReason' + 'ChillActivityBundle:ActivityReason' + + + + + $socialIssue + + + + + $qb + + + + + $qb + + + + + OptionsResolverInterface + + + + + $person + + + + + Activity[]|array + Activity[]|array + + + + + require __DIR__ . '/../../../../../vendor/autoload.php' + + + + + return trigger_error($e, E_USER_ERROR); + + + $baseUrl && false !== $prefix = $this->getUrlencodedPrefix($requestUri, rtrim(dirname($baseUrl),'/'.DIRECTORY_SEPARATOR).'/') + + + $files + $files + + + + + addProvider + addProvider + new \Chill\CustomFieldsBundle\Form\CustomFieldType($this->get('chill.custom_field.provider')) + new \Chill\CustomFieldsBundle\Templating\Twig\CustomFieldRenderingTwig() + new \Chill\MainBundle\Form\Type\Select2CountryType($this->get('request_stack'), $this->get('doctrine.orm.default_entity_manager')) + new \Chill\MainBundle\Form\Type\Select2LanguageType($this->get('request_stack'), $this->get('doctrine.orm.default_entity_manager')) + new \Chill\MainBundle\Routing\MenuComposer() + new \Chill\MainBundle\Security\Authorization\AuthorizationHelper($this->get('security.role_hierarchy')) + new \Chill\MainBundle\Templating\TranslatableStringHelper($this->get('request_stack'), $this->get('translator.default')) + new \Chill\MainBundle\Templating\TranslatableStringTwig() + new \Chill\PersonBundle\Search\PersonSearch($this->get('doctrine.orm.default_entity_manager'), $this->get('security.token_storage'), $this->get('chill.main.security.authorization.helper')) + new \Chill\PersonBundle\Timeline\TimelineAccompanyingPeriodClosing($this->get('doctrine.orm.default_entity_manager')) + new \Chill\PersonBundle\Timeline\TimelineAccompanyingPeriodOpening($this->get('doctrine.orm.default_entity_manager')) + + + InactiveScopeException + InactiveScopeException + \Assetic\Cache\ConfigCache + \Assetic\Extension\Twig\TwigFormulaLoader + \Assetic\Factory\LazyAssetManager + \Assetic\Factory\Loader\CachedFormulaLoader + \Assetic\Filter\CssRewriteFilter + \Chill\MainBundle\Form\Type\CenterType + \Chill\PersonBundle\Form\Type\ClosingMotiveType + \Doctrine\Common\Cache\ArrayCache + \Doctrine\Common\Cache\ArrayCache + \Doctrine\Common\Cache\ArrayCache + \Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain + \SensioLabs\Security\Command\SecurityCheckerCommand + \SensioLabs\Security\SecurityChecker + \Sensio\Bundle\DistributionBundle\Configurator\Configurator + \Sensio\Bundle\DistributionBundle\Configurator\Step\DoctrineStep + \Sensio\Bundle\DistributionBundle\Configurator\Step\SecretStep + \Symfony\Bridge\Monolog\Handler\DebugHandler + \Symfony\Bundle\AsseticBundle\CacheWarmer\AssetManagerCacheWarmer + \Symfony\Bundle\AsseticBundle\DefaultValueSupplier + \Symfony\Bundle\AsseticBundle\Factory\AssetFactory + \Symfony\Bundle\AsseticBundle\Factory\Resource\CoalescingDirectoryResource + \Symfony\Bundle\AsseticBundle\Factory\Resource\CoalescingDirectoryResource + \Symfony\Bundle\AsseticBundle\Factory\Resource\DirectoryResource + \Symfony\Bundle\AsseticBundle\Factory\Resource\DirectoryResource + \Symfony\Bundle\AsseticBundle\Factory\Resource\DirectoryResource + \Symfony\Bundle\AsseticBundle\Factory\Resource\DirectoryResource + \Symfony\Bundle\AsseticBundle\Factory\Resource\DirectoryResource + \Symfony\Bundle\AsseticBundle\FilterManager + \Symfony\Bundle\AsseticBundle\Twig\AsseticExtension + \Symfony\Bundle\FrameworkBundle\DataCollector\AjaxDataCollector + \Symfony\Bundle\FrameworkBundle\EventListener\SessionListener + \Symfony\Bundle\FrameworkBundle\EventListener\TestSessionListener + \Symfony\Bundle\FrameworkBundle\Translation\PhpExtractor + \Symfony\Bundle\FrameworkBundle\Translation\TranslationLoader + \Symfony\Bundle\FrameworkBundle\Validator\ConstraintValidatorFactory + \Symfony\Bundle\TwigBundle\Extension\ActionsExtension + \Symfony\Bundle\WebProfilerBundle\Controller\ExceptionController + \Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher + \Symfony\Component\Form\Extension\Csrf\CsrfProvider\CsrfTokenManagerAdapter + \Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel + \Symfony\Component\Security\Core\SecurityContext + \Symfony\Component\Security\Core\Util\SecureRandom + \Twig_Environment + \Twig_Extension_Debug + \Twig_Extensions_Extension_Intl + \Twig_Profiler_Profile + + + InactiveScopeException + InactiveScopeException + \Assetic\Factory\LazyAssetManager + \Assetic\Filter\CssRewriteFilter + \Chill\MainBundle\Form\Type\CenterType + \Chill\PersonBundle\Form\Type\ClosingMotiveType + \Doctrine\Common\Cache\ArrayCache + \Doctrine\Common\Cache\ArrayCache + \Doctrine\Common\Cache\ArrayCache + \SensioLabs\Security\Command\SecurityCheckerCommand + \SensioLabs\Security\SecurityChecker + \Sensio\Bundle\DistributionBundle\Configurator\Configurator + \Symfony\Bridge\Monolog\Handler\DebugHandler + \Symfony\Bundle\AsseticBundle\Factory\AssetFactory + \Symfony\Bundle\AsseticBundle\FilterManager + \Symfony\Bundle\FrameworkBundle\EventListener\SessionListener + \Symfony\Bundle\FrameworkBundle\EventListener\TestSessionListener + \Symfony\Bundle\FrameworkBundle\Translation\PhpExtractor + \Symfony\Bundle\FrameworkBundle\Translation\TranslationLoader + \Symfony\Bundle\WebProfilerBundle\Controller\ExceptionController + \Symfony\Component\Form\Extension\Csrf\CsrfProvider\CsrfTokenManagerAdapter + \Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel + \Symfony\Component\Security\Core\SecurityContext + \Symfony\Component\Security\Core\Util\SecureRandom + \Twig_Environment + \Twig_Extensions_Extension_Intl + \Twig_Profiler_Profile + + + + + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + \Symfony\Component\BrowserKit\Client + type + type + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + \Chill\PersonBundle\Export\Filter\PersonHavingActivityBetweenDateFilter + + + + + public function setUp() + + + + + public function setUp() + + + + Prophecy\Prophet + + + + + public function setUp() + + + + + public function setUp() + + + type + + + + + $activity + + + + + $createdAt + $createdBy + $updatedAt + $updatedBy + + + + + $asideActivityCategory + $asideActivityCategory + $asideActivityCategory + + + + + public function setUp() + + + + + $calculator::getAlias() + $calculator::getAlias() + $calculator::getAlias() + + + + + decimal + + + + + AbstractMigration + + + + + $qb + + + + + 'ChillCalendarBundle:Calendar' + 'ChillCalendarBundle:Calendar' + 'ChillCalendarBundle:Calendar' + + + + + public function setUp() + + + + + 'ChillCustomFieldsBundle:CustomFieldsGroup' + + + + + 'ChillCustomFieldsBundle:CustomField' + + + + + 'ChillCustomFieldsBundle:CustomFieldsDefaultGroup' + 'ChillCustomFieldsBundle:CustomFieldsGroup' + 'ChillCustomFieldsBundle:CustomFieldsGroup' + 'ChillCustomFieldsBundle:CustomFieldsGroup' + 'ChillCustomFieldsBundle:CustomFieldsGroup' + 'ChillCustomFieldsBundle:CustomFieldsGroup' + 'ChillCustomFieldsBundle:CustomFieldsGroup' + + + + + $date + + + + + \Chill\CustomFieldsBundle\CustomField\CustomField + \Chill\CustomFieldsBundle\CustomField\CustomField + \Chill\CustomFieldsBundle\CustomField\CustomField + \Chill\CustomFieldsBundle\CustomField\CustomField + \Chill\CustomFieldsBundle\CustomField\FormBuilderInterface + \Chill\CustomFieldsBundle\CustomField\FormBuilderInterface + + + + + OptionsResolverInterface + + + + + $customFieldsGroup + $id + + + + + $customFieldsArray + $customFieldsJSON + + + + + $this->customFieldCompiler + CustomFieldCompiler + + + + + AppKernel + + + + + require __DIR__ . '/../../../../../vendor/autoload.php' + + + + + require_once __DIR__ . '/../app/bootstrap.php.cache' + + + + + Container + CustomFieldInterface + type + type + + + + + $customFieldType + $customFieldType + $customFieldType + The + + + + + CustomFieldsGroud + + + + + type + + + type + + + + + public function setUp() + public function tearDown() + + + type + type + type + type + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + protected function setUp() + + + + + protected function setUp() + + + + + 'ChillDocStoreBundle:AccompanyingCourseDocument' + + + + + 'ChillDocStoreBundle:DocumentCategory' + 'ChillDocStoreBundle:DocumentCategory' + 'ChillDocStoreBundle:DocumentCategory' + + + + + 'ChillDocStoreBundle:PersonDocument' + + + + + \Chill\PersonBundle\Entity\user + + + + + $this->getPerson() + \Chill\MainBundle\Entity\Person + + + + + 'ChillEventBundle:Event' + 'ChillEventBundle:Event' + 'ChillEventBundle:Event' + 'ChillEventBundle:Participation' + 'ChillEventBundle:Participation' + 'ChillPersonBundle:Person' + + + + + 'ChillEventBundle:EventType' + 'ChillEventBundle:EventType' + 'ChillEventBundle:EventType' + 'ChillEventBundle:EventType' + 'ChillEventBundle:EventType' + + + + + 'ChillEventBundle:Event' + 'ChillEventBundle:Event' + 'ChillEventBundle:Event' + 'ChillEventBundle:Participation' + 'ChillPersonBundle:Person' + + + $participation + $participation + $participation + $participation + $participations[0] + Participation|Participations[] + + + + + 'ChillEventBundle:Role' + 'ChillEventBundle:Role' + 'ChillEventBundle:Role' + 'ChillEventBundle:Role' + 'ChillEventBundle:Role' + + + + + 'ChillEventBundle:Status' + 'ChillEventBundle:Status' + 'ChillEventBundle:Status' + 'ChillEventBundle:Status' + 'ChillEventBundle:Status' + + + + + 'ChillMainBundle:Center' + 'ChillPersonBundle:Person' + + + + + OptionsResolverInterface + + + + + OptionsResolverInterface + + + + + OptionsResolverInterface + + + + + AppKernel + + + + + type + + + public function setUp() + + + 'ChillEventBundle:Event' + 'ChillEventBundle:Event' + 'ChillEventBundle:Event' + 'ChillEventBundle:Event' + 'ChillMainBundle:Center' + 'ChillMainBundle:Center' + 'ChillMainBundle:Scope' + 'ChillPersonBundle:Person' + + + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + \Symfony\Component\BrowserKit\Client + type + + + + + public function setUp() + public function tearDown() + + + 'ChillMainBundle:Scope' + + + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + \Symfony\Component\BrowserKit\Client + + + $dateTo + $dateTo + + + + + date_immutable|null + date_immutable|null + + + + + AbstractMigration + + + + + $this->buildQueryEntities($action, $request) + $this->buildQueryEntities($action, $request) + QueryBuilder + \Symfony\Component\Security\Core\Exception\AccessDeniedHttpException + + + + + ?Scope + + + $query + \Symfony\Component\Security\Core\Exception\AccessDeniedHttpException + type + type + type + + + + + + + + 'ChillMainBundle:Language' + + + + + 'ChillMainBundle:Country' + + + + + 'ChillMainBundle:User' + + + + + $qb + + + + + 'ChillMainBundle:Center' + 'ChillMainBundle:Center' + 'ChillMainBundle:Center' + 'ChillMainBundle:Center' + + + + + Response + type + + + + + 'ChillMainBundle:PermissionsGroup' + 'ChillMainBundle:PermissionsGroup' + 'ChillMainBundle:PermissionsGroup' + 'ChillMainBundle:PermissionsGroup' + 'ChillMainBundle:PermissionsGroup' + 'ChillMainBundle:PermissionsGroup' + 'ChillMainBundle:RoleScope' + 'ChillMainBundle:RoleScope' + + + Respon + redirection + type + + + + + $qb + + + + + 'ChillMainBundle:Scope' + 'ChillMainBundle:Scope' + 'ChillMainBundle:Scope' + 'ChillMainBundle:Scope' + + + + + $search + $search + $search + $searchProvider + $searchProvider + + + + + 'ChillMainBundle:GroupCenter' + 'ChillMainBundle:GroupCenter' + 'ChillMainBundle:User' + 'ChillMainBundle:User' + + + + + + + + $class::getMenuIds() + + + + + unknown + + + + + WidgetFactoryInterface[] + WidgetFactoryInterface[] + type + type + type + type + + + + + type + type + type + + + + + \Chill\MainBundle\DependencyInjection\Widget\WidgetFactoryInterface + + + + + $fieldDeclaration + + + + + the + + + + + interger + + + + + PermissionGroup + + + + + $createdAt + $createdBy + $updatedAt + $updatedBy + + + + + Agent + Report + + + + + array + protected array $label = []; + + + + + $this->authorizationChecker + AuthorizationChecker + type + type + type + type + + + + + type + + + + + type + + + + + $this->aggregatorsData + $this->aggregatorsData + + + $this->formatterData + type + type + type + + + + + type + + + + + + + + OptionsResolverInterface + + + + + $address + $address + + + + + $data + $data + + + + + OptionsResolverInterface + + + + + OptionsResolverInterface + + + + + OptionsResolverInterface + + + + + $center + $id + + + + + $array + $array + + + + + $id + $object + + + + + $id + $scope + + + + + OptionsResolverInterface + + + + + \Symfony\Component\Mailer\Exception\TransportExceptionInterface + + + + + $current + + + + + $itemPerPage + + + type + + + + + $query->buildParameters() + + + + + $query->buildParameters() + + + + + $onlyEnabled + + + + + AppKernel + + + + + require __DIR__ . '/../../../../../vendor/autoload.php' + + + + + type + + + + + $args + $args + $args + $params + $this->buildSelectParams($countOnly) + $this->fromClauseParams + $this->fromClauseParams + $this->jsonbMetadataParams + $this->pertinenceParams + $this->selectKeyParams + $this->selectParams + $this->whereClausesParams + $this->whereClausesParams + + + + + number + number + + + HasAdvancedSearchForm + HasAdvancedSearchForm[] + number + number + private $hasAdvancedFormSearchServices = []; + type + + + + + $subject + + + + + type + type + + + + + resolveScope + + + Center|Center[]|null + + + + + $address + + + + + $center + + + + + $collection + + + + + $date + + + + + $user + + + + + The + + + + + $addr + $addr + + + + + type + type + + + + + The + + + + + $widget + $widget + + + + + type + + + + + getClient + + + Query + + + $client + $client + $client + + + + + public function setUp() + + + type + + + + + public function setUp() + + + + + public function setUp() + + + + + protected function tearDown() + public function setUp() + + + + + public function setUp() + public function tearDown() + + + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + $this->prophet + Prophecy\Prophet + + + + + CenterType + + + $type + $type + $type + CenterType + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + $mock->expects($this->any()) + $mock->expects($this->any()) + $mock->expects($this->any()) + $mock->expects($this->any()) + $mock->expects($this->any()) + $mock->expects($this->any()) + $mock->expects($this->any()) + + + unknown + + + + + public function setUp() + + + + + public function setUp() + + + + + protected function setUp() + + + + + public function setUp() + + + + + protected function setUp() + + + + + public function setUp() + + + + + protected function setUp() + + + + + \Symfony\Component\BrowserKit\Client + + + + + unknown + + + + + type + type + + + + + type + + + + + type + + + + + \Chill\MainBundle\CRUD\Controller\string|string + + + Symfony\Component\HttpKernel\Exception\NotFoundHttpException + \Chill\PersonBundle\CRUD\Controller\QueryBuilder + \Chill\PersonBundle\CRUD\Controller\QueryBuilder + + + + + $sqls + + + + + $cfProvider->getCustomFieldByType($customField->getType()) + type + type + + + + + $participation + + + + + 'ChillPersonBundle:Person' + + + + + \Chill\MainBundle\CRUD\Controller\string|string + + + + + $person + + + + + $p + + + + + $qb + + + + + 'ChillPersonBundle:Person' + 'ChillPersonBundle:Person' + 'ChillPersonBundle:Person' + 'ChillPersonBundle:Person' + 'ChillPersonBundle:Person' + + + Chill\PersonBundle\Entity\Person + + + + + 'ChillCustomFieldsBundle:CustomFieldsDefaultGroup' + + + + + $sqls + InvalidArgumentException + InvalidArgumentException + + + + + \Chill\PersonBundle\DependencyInjection\containerBuilder + + + + + $a + + + + + $createdBy + + + Collection|SocialAction[] + Collection|SocialIssues[] + + + + + $createdAt + $createdBy + + + + + $createdAt + $createdBy + $updatedAt + $updatedBy + + + + + DateTimeImmutable|null + + + + + $createdAt + $updatedAt + $updatedBy + + + + + Person[] + + + + + $createdBy + + + Chill\MainBundle\Entity\Country + Chill\MainBundle\Entity\Country + Chill\MainBundle\Entity\Country + Report + type + + + + + $createdAt + $updatedAt + $updatedBy + + + + + $qb + + + + + 'ChillMainBundle:Country' + + + + $choiceSlug + + + + + EntityRepository + + + + + FormInterface[] + + + + + $id + $issue + + + 'ChillPersonBundle:Person' + + + + + OptionsResolverInterface + + + + + $qb + $qb + $qb + QueryBuilder + SocialAction + SocialAction + + + $action + $orderBy + + + + + AppKernel + + + + + require __DIR__ . '/../../../../../vendor/autoload.php' + + + + + require_once __DIR__ . '/../app/bootstrap.php.cache' + + + + + $period + + + + + $origin + + + + + $participation + + + + + ยท\is_array('concerned') + + + + + $person + + + + + $person + + + + + $relation + + + + + $socialAction + + + + + $socialIssue + + + + + $person + $person + + + + + $socialAction + $socialAction + + + + + $socialIssue + $socialIssue + + + + + public function setUp() + + + AccompanyingPeriodRepository + stdClass + + + + + public function setUp() + + + + + public function setUp() + + + + + + public function setUp() + public function tearDown() + + + 'ChillMainBundle:Center' + 'ChillPersonBundle:AccompanyingPeriod\ClosingMotive' + LogicalException + + + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + Chill\PersonBundle\Entity\AccompanyingPeriod + Chill\PersonBundle\Entity\AccompanyingPeriod + \Symfony\Component\BrowserKit\Client + + + + + protected function tearDown() + + + User + + + + + protected function setUp() + + + + + $this + + + public function setUp() + + + 'ChillPersonBundle:Person' + + + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + $this->client + \Symfony\Component\BrowserKit\Client + + + + + public function setUp() + public function tearDown() + + + 'ChillMainBundle:Country' + 'ChillPersonBundle:Person' + + + $person->getCountryOfBirth() + + + + + public function setUp() + public function tearDown() + + + 'ChillMainBundle:Country' + 'ChillPersonBundle:Person' + + + + + public function setUp() + public function tearDown() + + + 'ChillPersonBundle:Person' + + + + + public function setUp() + public function tearDown() + + + 'ChillPersonBundle:Person' + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + $participationL + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + public function setUp() + + + + + $client + $client + $client + $client + \Symfony\Component\BrowserKit\Client + + + + + public function setUp() + + + + + protected function setUp() + + + + + protected function setUp() + + + + + protected function setUp() + + + + + protected function setUp() + + + + + $render->method('renderString') + + + + + $render->method('renderString') + + + + + + + + protected function setUp() + + + + + protected function setUp() + + + + + 'ChillPersonBundle:AccompanyingPeriod' + + + + + $period + + + + + $period + + + + + $participations + + + + + $resources + + + + + $person + + + + + $household + + + + + $person + + + + + 'ChillCustomFieldsBundle:CustomField' + + + + + 'ChillCustomFieldsBundle:CustomFieldsGroup' + 'ChillCustomFieldsBundle:CustomFieldsGroup' + 'ChillCustomFieldsBundle:CustomFieldsGroup' + 'ChillCustomFieldsBundle:CustomFieldsGroup' + 'ChillCustomFieldsBundle:CustomFieldsGroup' + 'ChillPersonBundle:Person' + 'ChillPersonBundle:Person' + 'ChillPersonBundle:Person' + 'ChillPersonBundle:Person' + 'ChillPersonBundle:Person' + 'ChillPersonBundle:Person' + 'ChillReportBundle:Report' + 'ChillReportBundle:Report' + 'ChillReportBundle:Report' + 'ChillReportBundle:Report' + + + A + Response + Response + Response + Response + Response + Response + Response + Response + + + + + the + + + + + 'ChillMainBundle:Country' + + + + $choiceSlug + + + + + AppKernel + + + + + require __DIR__ . '/../../../../../vendor/autoload.php' + + + + + public function setUp() + + + $client + $client + Client + + + + + type + + + public function setUp() + + + \Symfony\Component\BrowserKit\Client + + + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $client + $this->getAuthenticatedClient('center a_administrative') + Client + \Chill\ReportBundle\Tests\Controller\Person + \SClientymfony\Component\BrowserKit\ + type + type + type + + + + + Exception + + + + + $client + $client + $client + $client + $client + $client + $client + $client + $clientAdministrative + $clientSocial + \Symfony\Component\BrowserKit\Client + + + + + public function setUp() + + + type + type + type + + + + + public function setUp() + public function tearDown() + + + 'ChillCustomFieldsBundle:CustomFieldsGroup' + + + + + 'ChillReportBundle:Report' + + + + + $defaultScopeId + + + + + \Chill\TaskBundle\Controller\AbstractTask + + + $type + + + + + $definition->getClass()::getAssociatedWorkflowName() + $definition->getClass()::getAssociatedWorkflowName() + $definition->getClass()::getAssociatedWorkflowName() + + + + + json + private $currentStates = []; + + + + + dateinterval + dateinterval + dateinterval + dateinterval + dateinterval + dateinterval + + + + + datetime_immutable + datetime_immutable + datetime_immutable + + + + + type + type + + + + + \Chill\PersonBundle\Entity\Person|Chill\TaskBundle\Entity\AbstractTask|null + + + + + $this->cachePool + $this->cachePool + $this->cachePool + $this->cachePool + CacheItempPoolInterface + + + + + protected function setUp() + + + + + $taggedService->getClass()::getKey() + + + + + $createdAt + $updatedAt + $updatedBy + + + + + type + + + type + + + + + $thirdParty + + + + + protected function setUp() + + + + + $object + $object + $object + $object->url + $object->url + $object->url + + + + + ; + ; + Match + + + diff --git a/psalm.xml b/psalm.xml new file mode 100644 index 000000000..be17d1d86 --- /dev/null +++ b/psalm.xml @@ -0,0 +1,16 @@ + + + + + + + + +