Skip to content

Commit

Permalink
phpstan: lvl 1 -> 2
Browse files Browse the repository at this point in the history
  • Loading branch information
ostrolucky committed Jan 14, 2025
1 parent ab9334a commit 119c27d
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 7 deletions.
13 changes: 12 additions & 1 deletion phpstan.neon.dist
Original file line number Diff line number Diff line change
@@ -1,9 +1,20 @@
parameters:
level: 1
level: 2
paths:
- src
- tests

excludePaths:
- src/Command/Proxy/ConvertMappingDoctrineCommand.php
- src/Command/Proxy/EnsureProductionSettingsDoctrineCommand.php
ignoreErrors:
# Available in ORM < 3 only
- '#Doctrine\\ORM\\Tools\\EntityGenerator.#'
- '#Doctrine\\ORM\\Tools\\DisconnectedClassMetadataFactory.#'
- '#Doctrine\\ORM\\Tools\\Export\\ClassMetadataExporter.#'
# phpstan has no array shape intersection support https://github.com/phpstan/phpstan/issues/12414
- message: '#unresolvable type.#'
path: src/DataCollector/DoctrineDataCollector.php
# Probably needs Symfony plugin
- message: '#Call to an undefined method Symfony\\Component\\Config\\Definition\\Builder\\Node#'
path: src/DependencyInjection/Configuration.php
3 changes: 0 additions & 3 deletions src/Command/DoctrineCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,9 @@ public function __construct(ManagerRegistry $doctrine)
* get a doctrine entity generator
*
* @return EntityGenerator
*
* @psalm-suppress UndefinedDocblockClass ORM < 3 specific
*/
protected function getEntityGenerator()
{
/** @phpstan-ignore class.notFound */
$entityGenerator = new EntityGenerator();
$entityGenerator->setGenerateAnnotations(false);
$entityGenerator->setGenerateStubMethods(true);
Expand Down
6 changes: 5 additions & 1 deletion src/Command/ImportMappingDoctrineCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace Doctrine\Bundle\DoctrineBundle\Command;

use Doctrine\ORM\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\Driver\DatabaseDriver;
use Doctrine\ORM\Tools\Console\MetadataFilter;
use Doctrine\ORM\Tools\DisconnectedClassMetadataFactory;
Expand All @@ -13,6 +14,7 @@
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;

use function assert;
use function chmod;
use function dirname;
use function file_put_contents;
Expand Down Expand Up @@ -91,6 +93,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int

$namespaceOrBundle = $input->getArgument('name');
if (isset($this->bundles[$namespaceOrBundle])) {
/** @phpstan-ignore method.notFound */
$bundle = $this->getApplication()->getKernel()->getBundle($namespaceOrBundle);
$namespace = $bundle->getNamespace() . '\Entity';

Expand Down Expand Up @@ -121,20 +124,21 @@ protected function execute(InputInterface $input, OutputInterface $output): int

$em = $this->getEntityManager($input->getOption('em'));

/* @phpstan-ignore method.notFound (Available in DBAL < 4) */
$databaseDriver = new DatabaseDriver($em->getConnection()->getSchemaManager());
$em->getConfiguration()->setMetadataDriverImpl($databaseDriver);

$emName = $input->getOption('em');
$emName = $emName ? $emName : 'default';

/* @phpstan-ignore class.notFound */
$cmf = new DisconnectedClassMetadataFactory();
$cmf->setEntityManager($em);
$metadata = $cmf->getAllMetadata();
$metadata = MetadataFilter::filter($metadata, $input->getOption('filter'));
if ($metadata) {
$output->writeln(sprintf('Importing mapping information from "<info>%s</info>" entity manager', $emName));
foreach ($metadata as $class) {
assert($class instanceof ClassMetadata);

Check warning on line 141 in src/Command/ImportMappingDoctrineCommand.php

View check run for this annotation

Codecov / codecov/patch

src/Command/ImportMappingDoctrineCommand.php#L141

Added line #L141 was not covered by tests
$className = $class->name;
$class->name = $namespace . '\\' . $className;
if ($type === 'annotation') {
Expand Down
2 changes: 1 addition & 1 deletion src/ConnectionFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ public function createConnection(array $params, ?Configuration $config = null, ?
$connection = DriverManager::getConnection(...array_merge([$params, $config], $eventManager ? [$eventManager] : []));
$params = $this->addDatabaseSuffix(array_merge($connection->getParams(), $overriddenOptions));
$driver = $connection->getDriver();
/** @psalm-suppress InvalidScalarArgument Bogus error, StaticServerVersionProvider implements Doctrine\DBAL\ServerVersionProvider */
/** @phpstan-ignore arguments.count (DBAL < 4.x doesn't accept an argument) */
$platform = $driver->getDatabasePlatform(
...(class_exists(StaticServerVersionProvider::class)
? [new StaticServerVersionProvider($params['serverVersion'] ?? $params['primary']['serverVersion'] ?? '')]
Expand Down
2 changes: 1 addition & 1 deletion src/Registry.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public function getAliasNamespace($alias)
}

try {
/** @psalm-suppress UndefinedMethod ORM < 3 specific */
/** @phpstan-ignore method.notFound (ORM < 3 specific) */
return $objectManager->getConfiguration()->getEntityNamespace($alias);
/* @phpstan-ignore class.notFound */
} catch (ORMException $e) {
Expand Down

0 comments on commit 119c27d

Please sign in to comment.