Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to PHP 8.1 #9772

Closed
greg0ire opened this issue May 21, 2022 · 17 comments
Closed

Migrate to PHP 8.1 #9772

greg0ire opened this issue May 21, 2022 · 17 comments
Milestone

Comments

@greg0ire
Copy link
Member

greg0ire commented May 21, 2022

This is something that I think should go in milestone 3.0.0

A big difference between branches 2 and 3 is the php requirement:

- "php": "^7.1 || ^8.0",
+ "php": "^8.1",

Now that support for PHP 7 has been dropped, we can use features that are specific to PHP 8.

@derrabus has already done a lot about that. When this is over, we should be able to get rid of lines mentioning native type declarations in phpcs.xml.dist. It can also be used to figure out what is left to do.

We should rely on constructor property promotion when possible.

phpdoc that is found to be wrong on the way should be fixed on the next patch branch.
phpdoc that is found to be imprecise on the way should be improved on the next minor branch.

Here is an example for AbstractQuery and related classes:

@greg0ire
Copy link
Member Author

greg0ire commented Jun 2, 2022

In fact, we can generalize that issue to any PHP-8.0-specific feature. I've tried using Rector with the following config that I stole from Sonata:

<?php

declare(strict_types=1);

use Rector\Config\RectorConfig;
use Rector\Php71\Rector\FuncCall\CountOnNullRector;
use Rector\Php81\Rector\ClassConst\FinalizePublicClassConstantRector;
use Rector\Set\ValueObject\LevelSetList;
use Rector\TypeDeclaration\Rector\FunctionLike\ParamTypeDeclarationRector;
use Rector\TypeDeclaration\Rector\FunctionLike\ReturnTypeDeclarationRector;

return static function (RectorConfig $rectorConfig): void {
    $rectorConfig->paths([
        __DIR__ . '/lib',
    ]);

    $rectorConfig->sets([
        LevelSetList::UP_TO_PHP_81,
    ]);

    $rectorConfig->rule(ParamTypeDeclarationRector::class);
    $rectorConfig->rule(ReturnTypeDeclarationRector::class);

    $rectorConfig->skip([
        CountOnNullRector::class, // I haven't reevaluated this rule
        FinalizePublicClassConstantRector::class,
    ]);
};

Make sure to install a version of Rector that is compatible with that: composer require --dev rector/rector 0.14.8

The result breaks the test suite (there is a Fatal error at compilation time), and after fixing, one will see many errors caused by wrong phpdoc transformed in wrong type declarations.

 lib/Doctrine/ORM/Cache/EntityCacheEntry.php                                         |  34 ++++-----
 lib/Doctrine/ORM/Cache/EntityCacheKey.php                                           |  15 ++--
 lib/Doctrine/ORM/Cache/Persister/Entity/NonStrictReadWriteCachedEntityPersister.php |   2 +-
 lib/Doctrine/ORM/Cache/QueryCacheEntry.php                                          |  16 ++---
 lib/Doctrine/ORM/Cache/QueryCacheKey.php                                            |  39 ++++-------
 lib/Doctrine/ORM/Cache/TimestampQueryCacheValidator.php                             |   5 +-
 lib/Doctrine/ORM/Configuration.php                                                  |   8 +--
 lib/Doctrine/ORM/EntityManager.php                                                  |  50 ++++++-------
 lib/Doctrine/ORM/EntityManagerInterface.php                                         |   3 +-
 lib/Doctrine/ORM/Event/ListenersInvoker.php                                         |   6 +-
 lib/Doctrine/ORM/Event/OnClassMetadataNotFoundEventArgs.php                         |   6 +-
 lib/Doctrine/ORM/Event/OnFlushEventArgs.php                                         |   6 +-
 lib/Doctrine/ORM/Event/PostFlushEventArgs.php                                       |   6 +-
 lib/Doctrine/ORM/Event/PreFlushEventArgs.php                                        |   6 +-
 lib/Doctrine/ORM/Event/PreUpdateEventArgs.php                                       |   2 +-
 lib/Doctrine/ORM/Id/AssignedGenerator.php                                           |   2 +-
 lib/Doctrine/ORM/Internal/CommitOrderCalculator.php                                 |   4 +-
 lib/Doctrine/ORM/Internal/Hydration/AbstractHydrator.php                            |  23 +++---
 lib/Doctrine/ORM/Internal/Hydration/ArrayHydrator.php                               |   8 +--
 lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php                              |  15 ++--
 lib/Doctrine/ORM/Internal/HydrationCompleteHandler.php                              |  12 +---
 lib/Doctrine/ORM/LazyCriteriaCollection.php                                         |  13 +---
 lib/Doctrine/ORM/Mapping/AssociationOverride.php                                    |  60 ++++++----------
 lib/Doctrine/ORM/Mapping/AttributeOverride.php                                      |  27 +++----
 lib/Doctrine/ORM/Mapping/Builder/AssociationBuilder.php                             |  14 +---
 lib/Doctrine/ORM/Mapping/Builder/ClassMetadataBuilder.php                           |   6 +-
 lib/Doctrine/ORM/Mapping/Builder/EmbeddedBuilder.php                                |  10 +--
 lib/Doctrine/ORM/Mapping/Builder/EntityListenerBuilder.php                          |   2 +-
 lib/Doctrine/ORM/Mapping/Builder/FieldBuilder.php                                   |  19 ++---
 lib/Doctrine/ORM/Mapping/Builder/ManyToManyAssociationBuilder.php                   |   5 +-
 lib/Doctrine/ORM/Mapping/Cache.php                                                  |  13 +---
 lib/Doctrine/ORM/Mapping/ChangeTrackingPolicy.php                                   |  18 +++--
 lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php                                   |  10 +--
 lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php                                      | 212 ++-----------------------------------------------------
 lib/Doctrine/ORM/Mapping/Column.php                                                 | 106 +++++++---------------------
 lib/Doctrine/ORM/Mapping/CustomIdGenerator.php                                      |   6 +-
 lib/Doctrine/ORM/Mapping/DefaultEntityListenerResolver.php                          |   4 +-
 lib/Doctrine/ORM/Mapping/DefaultQuoteStrategy.php                                   |   8 +--
 lib/Doctrine/ORM/Mapping/DiscriminatorColumn.php                                    |  24 +------
 lib/Doctrine/ORM/Mapping/DiscriminatorMap.php                                       |  14 ++--
 lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php                                | 190 ++++++++++++++++++++++++++++----------------------
 lib/Doctrine/ORM/Mapping/Driver/AttributeDriver.php                                 | 163 ++++++++++++++++++++++++++-----------------
 lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php                                  |  25 +++----
 lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php                                       |   3 +-
 lib/Doctrine/ORM/Mapping/Embedded.php                                               |  10 +--
 lib/Doctrine/ORM/Mapping/Entity.php                                                 |  19 ++---
 lib/Doctrine/ORM/Mapping/EntityListeners.php                                        |  15 ++--
 lib/Doctrine/ORM/Mapping/EntityResult.php                                           |   2 +-
 lib/Doctrine/ORM/Mapping/GeneratedValue.php                                         |  18 +++--
 lib/Doctrine/ORM/Mapping/Index.php                                                  |  29 +-------
 lib/Doctrine/ORM/Mapping/InheritanceType.php                                        |  18 +++--
 lib/Doctrine/ORM/Mapping/InverseJoinColumn.php                                      |  58 ++++------------
 lib/Doctrine/ORM/Mapping/JoinColumn.php                                             |  58 ++++------------
 lib/Doctrine/ORM/Mapping/JoinColumns.php                                            |   2 +-
 lib/Doctrine/ORM/Mapping/JoinTable.php                                              |  22 ++----
 lib/Doctrine/ORM/Mapping/ManyToMany.php                                             |  55 ++++-----------
 lib/Doctrine/ORM/Mapping/ManyToOne.php                                              |  37 +++-------
 lib/Doctrine/ORM/Mapping/MappedSuperclass.php                                       |  14 ++--
 lib/Doctrine/ORM/Mapping/MappingException.php                                       |  22 +++---
 lib/Doctrine/ORM/Mapping/OneToMany.php                                              |  51 ++++----------
 lib/Doctrine/ORM/Mapping/OneToOne.php                                               |  49 ++++---------
 lib/Doctrine/ORM/Mapping/OrderBy.php                                                |   6 +-
 lib/Doctrine/ORM/Mapping/ReflectionEnumProperty.php                                 |   6 +-
 lib/Doctrine/ORM/Mapping/SequenceGenerator.php                                      |  19 +----
 lib/Doctrine/ORM/Mapping/SqlResultSetMapping.php                                    |   4 +-
 lib/Doctrine/ORM/Mapping/SqlResultSetMappings.php                                   |   2 +-
 lib/Doctrine/ORM/Mapping/Table.php                                                  |  33 ++-------
 lib/Doctrine/ORM/Mapping/UnderscoreNamingStrategy.php                               |   5 +-
 lib/Doctrine/ORM/Mapping/UniqueConstraint.php                                       |  24 +------
 lib/Doctrine/ORM/NativeQuery.php                                                    |   6 +-
 lib/Doctrine/ORM/OptimisticLockException.php                                        |  10 +--
 lib/Doctrine/ORM/PersistentCollection.php                                           |  34 ++-------
 lib/Doctrine/ORM/Persisters/Collection/ManyToManyPersister.php                      |   9 +--
 lib/Doctrine/ORM/Persisters/Collection/OneToManyPersister.php                       |   2 +-
 lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php                         |  16 ++---
 lib/Doctrine/ORM/Persisters/Entity/CachedPersisterContext.php                       |  26 +++----
 lib/Doctrine/ORM/Persisters/Entity/SingleTablePersister.php                         |   1 +
 lib/Doctrine/ORM/Persisters/SqlExpressionVisitor.php                                |  25 ++-----
 lib/Doctrine/ORM/Persisters/SqlValueVisitor.php                                     |  23 +++---
 lib/Doctrine/ORM/Proxy/ProxyFactory.php                                             |  11 ++-
 lib/Doctrine/ORM/Query.php                                                          |  43 ++++--------
 lib/Doctrine/ORM/Query/AST/AggregateExpression.php                                  |  18 +----
 lib/Doctrine/ORM/Query/AST/ArithmeticFactor.php                                     |  14 +---
 lib/Doctrine/ORM/Query/AST/ArithmeticTerm.php                                       |   6 +-
 lib/Doctrine/ORM/Query/AST/BetweenExpression.php                                    |  20 ++----
 lib/Doctrine/ORM/Query/AST/CoalesceExpression.php                                   |   6 +-
 lib/Doctrine/ORM/Query/AST/CollectionMemberExpression.php                           |  14 +---
 lib/Doctrine/ORM/Query/AST/ComparisonExpression.php                                 |  18 +----
 lib/Doctrine/ORM/Query/AST/ConditionalExpression.php                                |   6 +-
 lib/Doctrine/ORM/Query/AST/ConditionalFactor.php                                    |   6 +-
 lib/Doctrine/ORM/Query/AST/ConditionalTerm.php                                      |   6 +-
 lib/Doctrine/ORM/Query/AST/DeleteClause.php                                         |   6 +-
 lib/Doctrine/ORM/Query/AST/DeleteStatement.php                                      |   6 +-
 lib/Doctrine/ORM/Query/AST/EmptyCollectionComparisonExpression.php                  |   6 +-
 lib/Doctrine/ORM/Query/AST/ExistsExpression.php                                     |   6 +-
 lib/Doctrine/ORM/Query/AST/FromClause.php                                           |   6 +-
 lib/Doctrine/ORM/Query/AST/Functions/AvgFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/CountFunction.php                              |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/DateAddFunction.php                            |  81 +++++++++------------
 lib/Doctrine/ORM/Query/AST/Functions/DateSubFunction.php                            |  81 +++++++++------------
 lib/Doctrine/ORM/Query/AST/Functions/FunctionNode.php                               |   6 +-
 lib/Doctrine/ORM/Query/AST/Functions/MaxFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/MinFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/SumFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/GeneralCaseExpression.php                                |  10 +--
 lib/Doctrine/ORM/Query/AST/GroupByClause.php                                        |   6 +-
 lib/Doctrine/ORM/Query/AST/HavingClause.php                                         |   6 +-
 lib/Doctrine/ORM/Query/AST/IdentificationVariableDeclaration.php                    |  16 +----
 lib/Doctrine/ORM/Query/AST/InExpression.php                                         |   6 +-
 lib/Doctrine/ORM/Query/AST/IndexBy.php                                              |   6 +-
 lib/Doctrine/ORM/Query/AST/InstanceOfExpression.php                                 |   8 +--
 lib/Doctrine/ORM/Query/AST/Join.php                                                 |  13 +---
 lib/Doctrine/ORM/Query/AST/JoinAssociationDeclaration.php                           |  14 +---
 lib/Doctrine/ORM/Query/AST/JoinAssociationPathExpression.php                        |  10 +--
 lib/Doctrine/ORM/Query/AST/JoinClassPathExpression.php                              |  12 +---
 lib/Doctrine/ORM/Query/AST/JoinVariableDeclaration.php                              |  10 +--
 lib/Doctrine/ORM/Query/AST/LikeExpression.php                                       |  14 +---
 lib/Doctrine/ORM/Query/AST/Literal.php                                              |  13 +---
 lib/Doctrine/ORM/Query/AST/NewObjectExpression.php                                  |  10 +--
 lib/Doctrine/ORM/Query/AST/Node.php                                                 |   5 +-
 lib/Doctrine/ORM/Query/AST/NullComparisonExpression.php                             |   6 +-
 lib/Doctrine/ORM/Query/AST/NullIfExpression.php                                     |  10 +--
 lib/Doctrine/ORM/Query/AST/OrderByClause.php                                        |   6 +-
 lib/Doctrine/ORM/Query/AST/OrderByItem.php                                          |   6 +-
 lib/Doctrine/ORM/Query/AST/ParenthesisExpression.php                                |   6 +-
 lib/Doctrine/ORM/Query/AST/PartialObjectExpression.php                              |  10 +--
 lib/Doctrine/ORM/Query/AST/PathExpression.php                                       |  17 +----
 lib/Doctrine/ORM/Query/AST/QuantifiedExpression.php                                 |   6 +-
 lib/Doctrine/ORM/Query/AST/RangeVariableDeclaration.php                             |  16 +----
 lib/Doctrine/ORM/Query/AST/SelectClause.php                                         |  10 +--
 lib/Doctrine/ORM/Query/AST/SelectExpression.php                                     |  14 +---
 lib/Doctrine/ORM/Query/AST/SelectStatement.php                                      |  10 +--
 lib/Doctrine/ORM/Query/AST/SimpleArithmeticExpression.php                           |   6 +-
 lib/Doctrine/ORM/Query/AST/SimpleCaseExpression.php                                 |  14 +---
 lib/Doctrine/ORM/Query/AST/SimpleSelectClause.php                                   |  10 +--
 lib/Doctrine/ORM/Query/AST/SimpleSelectExpression.php                               |   6 +-
 lib/Doctrine/ORM/Query/AST/SimpleWhenClause.php                                     |  10 +--
 lib/Doctrine/ORM/Query/AST/Subselect.php                                            |  10 +--
 lib/Doctrine/ORM/Query/AST/SubselectFromClause.php                                  |   6 +-
 lib/Doctrine/ORM/Query/AST/SubselectIdentificationVariableDeclaration.php           |  10 +--
 lib/Doctrine/ORM/Query/AST/UpdateClause.php                                         |  10 +--
 lib/Doctrine/ORM/Query/AST/UpdateItem.php                                           |  10 +--
 lib/Doctrine/ORM/Query/AST/UpdateStatement.php                                      |   6 +-
 lib/Doctrine/ORM/Query/AST/WhenClause.php                                           |  10 +--
 lib/Doctrine/ORM/Query/AST/WhereClause.php                                          |   6 +-
 lib/Doctrine/ORM/Query/Exec/AbstractSqlExecutor.php                                 |   6 +-
 lib/Doctrine/ORM/Query/Exec/MultiTableDeleteExecutor.php                            |  21 +++---
 lib/Doctrine/ORM/Query/Exec/MultiTableUpdateExecutor.php                            |  29 ++++----
 lib/Doctrine/ORM/Query/Exec/SingleTableDeleteUpdateExecutor.php                     |   9 ++-
 lib/Doctrine/ORM/Query/Expr.php                                                     |  97 ++++++++++++++------------
 lib/Doctrine/ORM/Query/Expr/Base.php                                                |   7 +-
 lib/Doctrine/ORM/Query/Expr/Comparison.php                                          |  19 ++---
 lib/Doctrine/ORM/Query/Expr/From.php                                                |  19 ++---
 lib/Doctrine/ORM/Query/Expr/Func.php                                                |  11 ++-
 lib/Doctrine/ORM/Query/Expr/Join.php                                                |   3 +-
 lib/Doctrine/ORM/Query/Expr/Math.php                                                |  19 ++---
 lib/Doctrine/ORM/Query/Expr/OrderBy.php                                             |   5 +-
 lib/Doctrine/ORM/Query/Filter/SQLFilter.php                                         |   3 +-
 lib/Doctrine/ORM/Query/Parser.php                                                   | 460 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------
 lib/Doctrine/ORM/Query/ParserResult.php                                             |  16 ++---
 lib/Doctrine/ORM/Query/Printer.php                                                  |  12 +---
 lib/Doctrine/ORM/Query/QueryExpressionVisitor.php                                   |  30 +++-----
 lib/Doctrine/ORM/Query/ResultSetMappingBuilder.php                                  |   3 +-
 lib/Doctrine/ORM/Query/SqlWalker.php                                                | 307 ++++++++++++++++++++++++++++++++++++++++----------------------------------------
 lib/Doctrine/ORM/Query/TreeWalker.php                                               |  15 ++--
 lib/Doctrine/ORM/Query/TreeWalkerAdapter.php                                        |  47 +++++--------
 lib/Doctrine/ORM/Query/TreeWalkerChain.php                                          |  43 ++++++------
 lib/Doctrine/ORM/QueryBuilder.php                                                   |  82 ++++++++++++----------
 lib/Doctrine/ORM/Tools/AttachEntityListenersListener.php                            |   2 +-
 lib/Doctrine/ORM/Tools/Console/Command/MappingDescribeCommand.php                   |   6 +-
 lib/Doctrine/ORM/Tools/Console/ConsoleRunner.php                                    |  42 +++++++----
 lib/Doctrine/ORM/Tools/DebugUnitOfWorkListener.php                                  |  10 +--
 lib/Doctrine/ORM/Tools/Event/GenerateSchemaEventArgs.php                            |  10 +--
 lib/Doctrine/ORM/Tools/Event/GenerateSchemaTableEventArgs.php                       |  14 +---
 lib/Doctrine/ORM/Tools/Pagination/CountOutputWalker.php                             |   6 +-
 lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryOutputWalker.php                     |  23 +++---
 lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryWalker.php                           |   4 +-
 lib/Doctrine/ORM/Tools/Pagination/Paginator.php                                     |  14 ++--
 lib/Doctrine/ORM/Tools/Pagination/WhereInWalker.php                                 |   4 +-
 lib/Doctrine/ORM/Tools/ResolveTargetEntityListener.php                              |   2 +-
 lib/Doctrine/ORM/Tools/SchemaTool.php                                               |  22 ++----
 lib/Doctrine/ORM/Tools/SchemaValidator.php                                          |   6 +-
 lib/Doctrine/ORM/UnitOfWork.php                                                     | 116 ++++++++++++-------------------
 lib/Doctrine/ORM/Utility/IdentifierFlattener.php                                    |  27 +++----
 190 files changed, 1538 insertions(+), 2904 deletions(-)

I think the best strategy to tackle this issue is to proceed in reasonably small PRs, targeting a small number of classes every time. I can post a message to this thread every time progress is made.

The workflow can be the following:

  • install Rector (composer require rector/rector --dev); Rector has a dependency on PHPStan, so it will often requiring a specific PHPStan version
  • Pick a directory or a file from the above and use that in the config file
  • run Rector
  • run the test suite to see what breaks
  • optionally, create a PR to fix issues on 2.12.x
  • optionally, create a PR to make phpdoc more precise on 2.13.x
  • create a PR with the changes after optional PRs have been merged up

@greg0ire
Copy link
Member Author

greg0ire commented Jun 2, 2022

I have also created https://github.com/doctrine/orm/projects/6 to track progress and show examples

@greg0ire greg0ire changed the title Add native type declarations wherever possible Migrate to PHP 8.0 Jun 2, 2022
@greg0ire
Copy link
Member Author

greg0ire commented Jun 3, 2022

Progress after #9776 🐌
 Cache/AssociationCacheEntry.php                                    |  34 ++++-----
 Cache/CollectionCacheEntry.php                                     |  18 +++--
 Cache/CollectionCacheKey.php                                       |  18 ++---
 Cache/DefaultCacheFactory.php                                      |   6 +-
 Cache/DefaultQueryCache.php                                        |  11 ++-
 Cache/EntityCacheEntry.php                                         |  34 ++++-----
 Cache/EntityCacheKey.php                                           |  15 ++--
 Cache/Persister/Entity/NonStrictReadWriteCachedEntityPersister.php |   2 +-
 Cache/QueryCacheEntry.php                                          |  16 ++---
 Cache/QueryCacheKey.php                                            |  39 ++++-------
 Cache/TimestampQueryCacheValidator.php                             |   5 +-
 Configuration.php                                                  |   8 +--
 EntityManager.php                                                  |  50 ++++++-------
 EntityManagerInterface.php                                         |   3 +-
 Event/ListenersInvoker.php                                         |   6 +-
 Event/OnClassMetadataNotFoundEventArgs.php                         |   6 +-
 Event/OnFlushEventArgs.php                                         |   6 +-
 Event/PostFlushEventArgs.php                                       |   6 +-
 Event/PreFlushEventArgs.php                                        |   6 +-
 Event/PreUpdateEventArgs.php                                       |   2 +-
 Id/AssignedGenerator.php                                           |   2 +-
 Internal/CommitOrderCalculator.php                                 |   4 +-
 Internal/Hydration/AbstractHydrator.php                            |  23 +++---
 Internal/Hydration/ArrayHydrator.php                               |   8 +--
 Internal/Hydration/ObjectHydrator.php                              |  15 ++--
 Internal/HydrationCompleteHandler.php                              |  12 +---
 LazyCriteriaCollection.php                                         |  13 +---
 Mapping/AssociationOverride.php                                    |  60 ++++++----------
 Mapping/AttributeOverride.php                                      |  27 +++----
 Mapping/Builder/AssociationBuilder.php                             |  14 +---
 Mapping/Builder/ClassMetadataBuilder.php                           |   6 +-
 Mapping/Builder/EmbeddedBuilder.php                                |  10 +--
 Mapping/Builder/EntityListenerBuilder.php                          |   2 +-
 Mapping/Builder/FieldBuilder.php                                   |  19 ++---
 Mapping/Builder/ManyToManyAssociationBuilder.php                   |   5 +-
 Mapping/Cache.php                                                  |  13 +---
 Mapping/ChangeTrackingPolicy.php                                   |  18 +++--
 Mapping/ClassMetadataFactory.php                                   |  10 +--
 Mapping/ClassMetadataInfo.php                                      | 212 ++-----------------------------------------------------
 Mapping/Column.php                                                 | 106 +++++++---------------------
 Mapping/CustomIdGenerator.php                                      |   6 +-
 Mapping/DefaultEntityListenerResolver.php                          |   4 +-
 Mapping/DefaultQuoteStrategy.php                                   |   8 +--
 Mapping/DiscriminatorColumn.php                                    |  24 +------
 Mapping/DiscriminatorMap.php                                       |  14 ++--
 Mapping/Driver/AnnotationDriver.php                                | 190 ++++++++++++++++++++++++++++----------------------
 Mapping/Driver/AttributeDriver.php                                 | 163 ++++++++++++++++++++++++++-----------------
 Mapping/Driver/DatabaseDriver.php                                  |  25 +++----
 Mapping/Driver/XmlDriver.php                                       |   3 +-
 Mapping/Embedded.php                                               |  10 +--
 Mapping/Entity.php                                                 |  19 ++---
 Mapping/EntityListeners.php                                        |  15 ++--
 Mapping/EntityResult.php                                           |   2 +-
 Mapping/GeneratedValue.php                                         |  18 +++--
 Mapping/Index.php                                                  |  29 +-------
 Mapping/InheritanceType.php                                        |  18 +++--
 Mapping/InverseJoinColumn.php                                      |  58 ++++------------
 Mapping/JoinColumn.php                                             |  58 ++++------------
 Mapping/JoinColumns.php                                            |   2 +-
 Mapping/JoinTable.php                                              |  22 ++----
 Mapping/ManyToMany.php                                             |  55 ++++-----------
 Mapping/ManyToOne.php                                              |  37 +++-------
 Mapping/MappedSuperclass.php                                       |  14 ++--
 Mapping/MappingException.php                                       |  22 +++---
 Mapping/OneToMany.php                                              |  51 ++++----------
 Mapping/OneToOne.php                                               |  49 ++++---------
 Mapping/OrderBy.php                                                |   6 +-
 Mapping/ReflectionEnumProperty.php                                 |   6 +-
 Mapping/SequenceGenerator.php                                      |  19 +----
 Mapping/SqlResultSetMapping.php                                    |   4 +-
 Mapping/SqlResultSetMappings.php                                   |   2 +-
 Mapping/Table.php                                                  |  33 ++-------
 Mapping/UnderscoreNamingStrategy.php                               |   5 +-
 Mapping/UniqueConstraint.php                                       |  24 +------
 OptimisticLockException.php                                        |  10 +--
 PersistentCollection.php                                           |  34 ++-------
 Persisters/Collection/ManyToManyPersister.php                      |   9 +--
 Persisters/Collection/OneToManyPersister.php                       |   2 +-
 Persisters/Entity/BasicEntityPersister.php                         |  16 ++---
 Persisters/Entity/CachedPersisterContext.php                       |  26 +++----
 Persisters/Entity/SingleTablePersister.php                         |   1 +
 Persisters/SqlExpressionVisitor.php                                |  25 ++-----
 Persisters/SqlValueVisitor.php                                     |  23 +++---
 Proxy/ProxyFactory.php                                             |  11 ++-
 Query/AST/AggregateExpression.php                                  |  18 +----
 Query/AST/ArithmeticFactor.php                                     |  14 +---
 Query/AST/ArithmeticTerm.php                                       |   6 +-
 Query/AST/BetweenExpression.php                                    |  20 ++----
 Query/AST/CoalesceExpression.php                                   |   6 +-
 Query/AST/CollectionMemberExpression.php                           |  14 +---
 Query/AST/ComparisonExpression.php                                 |  18 +----
 Query/AST/ConditionalExpression.php                                |   6 +-
 Query/AST/ConditionalFactor.php                                    |   6 +-
 Query/AST/ConditionalTerm.php                                      |   6 +-
 Query/AST/DeleteClause.php                                         |   6 +-
 Query/AST/DeleteStatement.php                                      |   6 +-
 Query/AST/EmptyCollectionComparisonExpression.php                  |   6 +-
 Query/AST/ExistsExpression.php                                     |   6 +-
 Query/AST/FromClause.php                                           |   6 +-
 Query/AST/Functions/AvgFunction.php                                |   3 +-
 Query/AST/Functions/CountFunction.php                              |   3 +-
 Query/AST/Functions/DateAddFunction.php                            |  81 +++++++++------------
 Query/AST/Functions/DateSubFunction.php                            |  81 +++++++++------------
 Query/AST/Functions/FunctionNode.php                               |   6 +-
 Query/AST/Functions/MaxFunction.php                                |   3 +-
 Query/AST/Functions/MinFunction.php                                |   3 +-
 Query/AST/Functions/SumFunction.php                                |   3 +-
 Query/AST/GeneralCaseExpression.php                                |  10 +--
 Query/AST/GroupByClause.php                                        |   6 +-
 Query/AST/HavingClause.php                                         |   6 +-
 Query/AST/IdentificationVariableDeclaration.php                    |  16 +----
 Query/AST/InExpression.php                                         |   6 +-
 Query/AST/IndexBy.php                                              |   6 +-
 Query/AST/InstanceOfExpression.php                                 |   8 +--
 Query/AST/Join.php                                                 |  13 +---
 Query/AST/JoinAssociationDeclaration.php                           |  14 +---
 Query/AST/JoinAssociationPathExpression.php                        |  10 +--
 Query/AST/JoinClassPathExpression.php                              |  12 +---
 Query/AST/JoinVariableDeclaration.php                              |  10 +--
 Query/AST/LikeExpression.php                                       |  14 +---
 Query/AST/Literal.php                                              |  13 +---
 Query/AST/NewObjectExpression.php                                  |  10 +--
 Query/AST/Node.php                                                 |   5 +-
 Query/AST/NullComparisonExpression.php                             |   6 +-
 Query/AST/NullIfExpression.php                                     |  10 +--
 Query/AST/OrderByClause.php                                        |   6 +-
 Query/AST/OrderByItem.php                                          |   6 +-
 Query/AST/ParenthesisExpression.php                                |   6 +-
 Query/AST/PartialObjectExpression.php                              |  10 +--
 Query/AST/PathExpression.php                                       |  17 +----
 Query/AST/QuantifiedExpression.php                                 |   6 +-
 Query/AST/RangeVariableDeclaration.php                             |  16 +----
 Query/AST/SelectClause.php                                         |  10 +--
 Query/AST/SelectExpression.php                                     |  14 +---
 Query/AST/SelectStatement.php                                      |  10 +--
 Query/AST/SimpleArithmeticExpression.php                           |   6 +-
 Query/AST/SimpleCaseExpression.php                                 |  14 +---
 Query/AST/SimpleSelectClause.php                                   |  10 +--
 Query/AST/SimpleSelectExpression.php                               |   6 +-
 Query/AST/SimpleWhenClause.php                                     |  10 +--
 Query/AST/Subselect.php                                            |  10 +--
 Query/AST/SubselectFromClause.php                                  |   6 +-
 Query/AST/SubselectIdentificationVariableDeclaration.php           |  10 +--
 Query/AST/UpdateClause.php                                         |  10 +--
 Query/AST/UpdateItem.php                                           |  10 +--
 Query/AST/UpdateStatement.php                                      |   6 +-
 Query/AST/WhenClause.php                                           |  10 +--
 Query/AST/WhereClause.php                                          |   6 +-
 Query/Exec/AbstractSqlExecutor.php                                 |   6 +-
 Query/Exec/MultiTableDeleteExecutor.php                            |  21 +++---
 Query/Exec/MultiTableUpdateExecutor.php                            |  29 ++++----
 Query/Exec/SingleTableDeleteUpdateExecutor.php                     |   9 ++-
 Query/Expr.php                                                     |  97 ++++++++++++++------------
 Query/Expr/Base.php                                                |   7 +-
 Query/Expr/Comparison.php                                          |  19 ++---
 Query/Expr/From.php                                                |  19 ++---
 Query/Expr/Func.php                                                |  11 ++-
 Query/Expr/Join.php                                                |   3 +-
 Query/Expr/Math.php                                                |  19 ++---
 Query/Expr/OrderBy.php                                             |   5 +-
 Query/Filter/SQLFilter.php                                         |   3 +-
 Query/Parser.php                                                   | 460 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------
 Query/ParserResult.php                                             |  16 ++---
 Query/Printer.php                                                  |  12 +---
 Query/QueryExpressionVisitor.php                                   |  30 +++-----
 Query/ResultSetMappingBuilder.php                                  |   3 +-
 Query/SqlWalker.php                                                | 307 ++++++++++++++++++++++++++++++++++++++++----------------------------------------
 Query/TreeWalker.php                                               |  15 ++--
 Query/TreeWalkerAdapter.php                                        |  47 +++++--------
 Query/TreeWalkerChain.php                                          |  43 ++++++------
 QueryBuilder.php                                                   |  82 ++++++++++++----------
 Tools/AttachEntityListenersListener.php                            |   2 +-
 Tools/Console/Command/MappingDescribeCommand.php                   |   6 +-
 Tools/Console/ConsoleRunner.php                                    |  42 +++++++----
 Tools/DebugUnitOfWorkListener.php                                  |  10 +--
 Tools/Event/GenerateSchemaEventArgs.php                            |  10 +--
 Tools/Event/GenerateSchemaTableEventArgs.php                       |  14 +---
 Tools/Pagination/LimitSubqueryOutputWalker.php                     |  10 ++-
 Tools/Pagination/LimitSubqueryWalker.php                           |   4 +-
 Tools/Pagination/Paginator.php                                     |  14 ++--
 Tools/Pagination/WhereInWalker.php                                 |   4 +-
 Tools/ResolveTargetEntityListener.php                              |   2 +-
 Tools/SchemaTool.php                                               |  22 ++----
 Tools/SchemaValidator.php                                          |   6 +-
 UnitOfWork.php                                                     | 116 ++++++++++++-------------------
 Utility/IdentifierFlattener.php                                    |  27 +++----
 186 files changed, 1489 insertions(+), 2822 deletions(-)


MarcBrillault added a commit to MarcBrillault/orm that referenced this issue Jun 9, 2022
greg0ire pushed a commit to greg0ire/doctrine-orm that referenced this issue Jun 9, 2022
@greg0ire
Copy link
Member Author

greg0ire commented Jun 15, 2022

Progress after #9828 and #9835
 lib/Doctrine/ORM/Cache/AssociationCacheEntry.php                                    |  34 ++++-----
 lib/Doctrine/ORM/Cache/CollectionCacheEntry.php                                     |  18 +++--
 lib/Doctrine/ORM/Cache/CollectionCacheKey.php                                       |  18 ++---
 lib/Doctrine/ORM/Cache/DefaultCacheFactory.php                                      |   6 +-
 lib/Doctrine/ORM/Cache/DefaultQueryCache.php                                        |  11 ++-
 lib/Doctrine/ORM/Cache/EntityCacheEntry.php                                         |  34 ++++-----
 lib/Doctrine/ORM/Cache/EntityCacheKey.php                                           |  15 ++--
 lib/Doctrine/ORM/Cache/Persister/Entity/NonStrictReadWriteCachedEntityPersister.php |   2 +-
 lib/Doctrine/ORM/Cache/QueryCacheEntry.php                                          |  16 ++---
 lib/Doctrine/ORM/Cache/QueryCacheKey.php                                            |  39 ++++-------
 lib/Doctrine/ORM/Cache/TimestampQueryCacheValidator.php                             |   5 +-
 lib/Doctrine/ORM/EntityManager.php                                                  |  50 ++++++-------
 lib/Doctrine/ORM/EntityManagerInterface.php                                         |   3 +-
 lib/Doctrine/ORM/Event/ListenersInvoker.php                                         |   6 +-
 lib/Doctrine/ORM/Event/OnClassMetadataNotFoundEventArgs.php                         |   6 +-
 lib/Doctrine/ORM/Event/OnFlushEventArgs.php                                         |   6 +-
 lib/Doctrine/ORM/Event/PostFlushEventArgs.php                                       |   6 +-
 lib/Doctrine/ORM/Event/PreFlushEventArgs.php                                        |   6 +-
 lib/Doctrine/ORM/Event/PreUpdateEventArgs.php                                       |   2 +-
 lib/Doctrine/ORM/Id/AssignedGenerator.php                                           |   2 +-
 lib/Doctrine/ORM/Internal/CommitOrderCalculator.php                                 |   4 +-
 lib/Doctrine/ORM/Internal/Hydration/AbstractHydrator.php                            |  23 +++---
 lib/Doctrine/ORM/Internal/Hydration/ArrayHydrator.php                               |   8 +--
 lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php                              |  15 ++--
 lib/Doctrine/ORM/Internal/HydrationCompleteHandler.php                              |  12 +---
 lib/Doctrine/ORM/LazyCriteriaCollection.php                                         |  13 +---
 lib/Doctrine/ORM/Mapping/AssociationOverride.php                                    |  60 ++++++----------
 lib/Doctrine/ORM/Mapping/AttributeOverride.php                                      |  27 +++----
 lib/Doctrine/ORM/Mapping/Builder/AssociationBuilder.php                             |  14 +---
 lib/Doctrine/ORM/Mapping/Builder/ClassMetadataBuilder.php                           |   6 +-
 lib/Doctrine/ORM/Mapping/Builder/EmbeddedBuilder.php                                |  10 +--
 lib/Doctrine/ORM/Mapping/Builder/EntityListenerBuilder.php                          |   2 +-
 lib/Doctrine/ORM/Mapping/Builder/FieldBuilder.php                                   |  19 ++---
 lib/Doctrine/ORM/Mapping/Builder/ManyToManyAssociationBuilder.php                   |   5 +-
 lib/Doctrine/ORM/Mapping/Cache.php                                                  |  13 +---
 lib/Doctrine/ORM/Mapping/ChangeTrackingPolicy.php                                   |  18 +++--
 lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php                                   |  10 +--
 lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php                                      | 212 ++-----------------------------------------------------
 lib/Doctrine/ORM/Mapping/Column.php                                                 | 106 +++++++---------------------
 lib/Doctrine/ORM/Mapping/CustomIdGenerator.php                                      |   6 +-
 lib/Doctrine/ORM/Mapping/DefaultEntityListenerResolver.php                          |   4 +-
 lib/Doctrine/ORM/Mapping/DefaultQuoteStrategy.php                                   |   8 +--
 lib/Doctrine/ORM/Mapping/DiscriminatorColumn.php                                    |  24 +------
 lib/Doctrine/ORM/Mapping/DiscriminatorMap.php                                       |  14 ++--
 lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php                                | 190 ++++++++++++++++++++++++++++----------------------
 lib/Doctrine/ORM/Mapping/Driver/AttributeDriver.php                                 | 163 ++++++++++++++++++++++++++-----------------
 lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php                                  |  25 +++----
 lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php                                       |   3 +-
 lib/Doctrine/ORM/Mapping/Embedded.php                                               |  10 +--
 lib/Doctrine/ORM/Mapping/Entity.php                                                 |  19 ++---
 lib/Doctrine/ORM/Mapping/EntityListeners.php                                        |  15 ++--
 lib/Doctrine/ORM/Mapping/EntityResult.php                                           |   2 +-
 lib/Doctrine/ORM/Mapping/GeneratedValue.php                                         |  18 +++--
 lib/Doctrine/ORM/Mapping/Index.php                                                  |  29 +-------
 lib/Doctrine/ORM/Mapping/InheritanceType.php                                        |  18 +++--
 lib/Doctrine/ORM/Mapping/InverseJoinColumn.php                                      |  58 ++++------------
 lib/Doctrine/ORM/Mapping/JoinColumn.php                                             |  58 ++++------------
 lib/Doctrine/ORM/Mapping/JoinColumns.php                                            |   2 +-
 lib/Doctrine/ORM/Mapping/JoinTable.php                                              |  22 ++----
 lib/Doctrine/ORM/Mapping/ManyToMany.php                                             |  55 ++++-----------
 lib/Doctrine/ORM/Mapping/ManyToOne.php                                              |  37 +++-------
 lib/Doctrine/ORM/Mapping/MappedSuperclass.php                                       |  14 ++--
 lib/Doctrine/ORM/Mapping/MappingException.php                                       |  22 +++---
 lib/Doctrine/ORM/Mapping/OneToMany.php                                              |  51 ++++----------
 lib/Doctrine/ORM/Mapping/OneToOne.php                                               |  49 ++++---------
 lib/Doctrine/ORM/Mapping/OrderBy.php                                                |   6 +-
 lib/Doctrine/ORM/Mapping/ReflectionEnumProperty.php                                 |   6 +-
 lib/Doctrine/ORM/Mapping/SequenceGenerator.php                                      |  19 +----
 lib/Doctrine/ORM/Mapping/SqlResultSetMapping.php                                    |   4 +-
 lib/Doctrine/ORM/Mapping/SqlResultSetMappings.php                                   |   2 +-
 lib/Doctrine/ORM/Mapping/Table.php                                                  |  33 ++-------
 lib/Doctrine/ORM/Mapping/UnderscoreNamingStrategy.php                               |   5 +-
 lib/Doctrine/ORM/Mapping/UniqueConstraint.php                                       |  24 +------
 lib/Doctrine/ORM/OptimisticLockException.php                                        |  10 +--
 lib/Doctrine/ORM/PersistentCollection.php                                           |  34 ++-------
 lib/Doctrine/ORM/Persisters/Collection/ManyToManyPersister.php                      |   9 +--
 lib/Doctrine/ORM/Persisters/Collection/OneToManyPersister.php                       |   2 +-
 lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php                         |  16 ++---
 lib/Doctrine/ORM/Persisters/Entity/CachedPersisterContext.php                       |  26 +++----
 lib/Doctrine/ORM/Persisters/Entity/SingleTablePersister.php                         |   1 +
 lib/Doctrine/ORM/Persisters/SqlExpressionVisitor.php                                |  25 ++-----
 lib/Doctrine/ORM/Persisters/SqlValueVisitor.php                                     |  23 +++---
 lib/Doctrine/ORM/Proxy/ProxyFactory.php                                             |  11 ++-
 lib/Doctrine/ORM/Query/AST/AggregateExpression.php                                  |  18 +----
 lib/Doctrine/ORM/Query/AST/ArithmeticFactor.php                                     |  14 +---
 lib/Doctrine/ORM/Query/AST/ArithmeticTerm.php                                       |   6 +-
 lib/Doctrine/ORM/Query/AST/BetweenExpression.php                                    |  20 ++----
 lib/Doctrine/ORM/Query/AST/CoalesceExpression.php                                   |   6 +-
 lib/Doctrine/ORM/Query/AST/CollectionMemberExpression.php                           |  14 +---
 lib/Doctrine/ORM/Query/AST/ComparisonExpression.php                                 |  18 +----
 lib/Doctrine/ORM/Query/AST/ConditionalExpression.php                                |   6 +-
 lib/Doctrine/ORM/Query/AST/ConditionalFactor.php                                    |   6 +-
 lib/Doctrine/ORM/Query/AST/ConditionalTerm.php                                      |   6 +-
 lib/Doctrine/ORM/Query/AST/DeleteClause.php                                         |   6 +-
 lib/Doctrine/ORM/Query/AST/DeleteStatement.php                                      |   6 +-
 lib/Doctrine/ORM/Query/AST/EmptyCollectionComparisonExpression.php                  |   6 +-
 lib/Doctrine/ORM/Query/AST/ExistsExpression.php                                     |   6 +-
 lib/Doctrine/ORM/Query/AST/FromClause.php                                           |   6 +-
 lib/Doctrine/ORM/Query/AST/Functions/AvgFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/CountFunction.php                              |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/DateAddFunction.php                            |  81 +++++++++------------
 lib/Doctrine/ORM/Query/AST/Functions/DateSubFunction.php                            |  81 +++++++++------------
 lib/Doctrine/ORM/Query/AST/Functions/FunctionNode.php                               |   6 +-
 lib/Doctrine/ORM/Query/AST/Functions/MaxFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/MinFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/SumFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/GeneralCaseExpression.php                                |  10 +--
 lib/Doctrine/ORM/Query/AST/GroupByClause.php                                        |   6 +-
 lib/Doctrine/ORM/Query/AST/HavingClause.php                                         |   6 +-
 lib/Doctrine/ORM/Query/AST/IdentificationVariableDeclaration.php                    |  16 +----
 lib/Doctrine/ORM/Query/AST/InExpression.php                                         |   6 +-
 lib/Doctrine/ORM/Query/AST/IndexBy.php                                              |   6 +-
 lib/Doctrine/ORM/Query/AST/InstanceOfExpression.php                                 |   8 +--
 lib/Doctrine/ORM/Query/AST/Join.php                                                 |  13 +---
 lib/Doctrine/ORM/Query/AST/JoinAssociationDeclaration.php                           |  14 +---
 lib/Doctrine/ORM/Query/AST/JoinAssociationPathExpression.php                        |  10 +--
 lib/Doctrine/ORM/Query/AST/JoinClassPathExpression.php                              |  12 +---
 lib/Doctrine/ORM/Query/AST/JoinVariableDeclaration.php                              |  10 +--
 lib/Doctrine/ORM/Query/AST/LikeExpression.php                                       |  14 +---
 lib/Doctrine/ORM/Query/AST/Literal.php                                              |  13 +---
 lib/Doctrine/ORM/Query/AST/NewObjectExpression.php                                  |  10 +--
 lib/Doctrine/ORM/Query/AST/Node.php                                                 |   5 +-
 lib/Doctrine/ORM/Query/AST/NullComparisonExpression.php                             |   6 +-
 lib/Doctrine/ORM/Query/AST/NullIfExpression.php                                     |  10 +--
 lib/Doctrine/ORM/Query/AST/OrderByClause.php                                        |   6 +-
 lib/Doctrine/ORM/Query/AST/OrderByItem.php                                          |   6 +-
 lib/Doctrine/ORM/Query/AST/ParenthesisExpression.php                                |   6 +-
 lib/Doctrine/ORM/Query/AST/PartialObjectExpression.php                              |  10 +--
 lib/Doctrine/ORM/Query/AST/PathExpression.php                                       |  17 +----
 lib/Doctrine/ORM/Query/AST/QuantifiedExpression.php                                 |   6 +-
 lib/Doctrine/ORM/Query/AST/RangeVariableDeclaration.php                             |  16 +----
 lib/Doctrine/ORM/Query/AST/SelectClause.php                                         |  10 +--
 lib/Doctrine/ORM/Query/AST/SelectExpression.php                                     |  14 +---
 lib/Doctrine/ORM/Query/AST/SelectStatement.php                                      |  10 +--
 lib/Doctrine/ORM/Query/AST/SimpleArithmeticExpression.php                           |   6 +-
 lib/Doctrine/ORM/Query/AST/SimpleCaseExpression.php                                 |  14 +---
 lib/Doctrine/ORM/Query/AST/SimpleSelectClause.php                                   |  10 +--
 lib/Doctrine/ORM/Query/AST/SimpleSelectExpression.php                               |   6 +-
 lib/Doctrine/ORM/Query/AST/SimpleWhenClause.php                                     |  10 +--
 lib/Doctrine/ORM/Query/AST/Subselect.php                                            |  10 +--
 lib/Doctrine/ORM/Query/AST/SubselectFromClause.php                                  |   6 +-
 lib/Doctrine/ORM/Query/AST/SubselectIdentificationVariableDeclaration.php           |  10 +--
 lib/Doctrine/ORM/Query/AST/UpdateClause.php                                         |  10 +--
 lib/Doctrine/ORM/Query/AST/UpdateItem.php                                           |  10 +--
 lib/Doctrine/ORM/Query/AST/UpdateStatement.php                                      |   6 +-
 lib/Doctrine/ORM/Query/AST/WhenClause.php                                           |  10 +--
 lib/Doctrine/ORM/Query/AST/WhereClause.php                                          |   6 +-
 lib/Doctrine/ORM/Query/Exec/AbstractSqlExecutor.php                                 |   6 +-
 lib/Doctrine/ORM/Query/Exec/MultiTableDeleteExecutor.php                            |  21 +++---
 lib/Doctrine/ORM/Query/Exec/MultiTableUpdateExecutor.php                            |  29 ++++----
 lib/Doctrine/ORM/Query/Exec/SingleTableDeleteUpdateExecutor.php                     |   9 ++-
 lib/Doctrine/ORM/Query/Expr.php                                                     |  97 ++++++++++++++------------
 lib/Doctrine/ORM/Query/Expr/Base.php                                                |   7 +-
 lib/Doctrine/ORM/Query/Expr/Comparison.php                                          |  19 ++---
 lib/Doctrine/ORM/Query/Expr/From.php                                                |  19 ++---
 lib/Doctrine/ORM/Query/Expr/Func.php                                                |  11 ++-
 lib/Doctrine/ORM/Query/Expr/Join.php                                                |   3 +-
 lib/Doctrine/ORM/Query/Expr/Math.php                                                |  19 ++---
 lib/Doctrine/ORM/Query/Expr/OrderBy.php                                             |   5 +-
 lib/Doctrine/ORM/Query/Filter/SQLFilter.php                                         |   3 +-
 lib/Doctrine/ORM/Query/Parser.php                                                   | 460 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------
 lib/Doctrine/ORM/Query/ParserResult.php                                             |  16 ++---
 lib/Doctrine/ORM/Query/Printer.php                                                  |  12 +---
 lib/Doctrine/ORM/Query/QueryExpressionVisitor.php                                   |  30 +++-----
 lib/Doctrine/ORM/Query/ResultSetMappingBuilder.php                                  |   3 +-
 lib/Doctrine/ORM/Query/SqlWalker.php                                                | 307 ++++++++++++++++++++++++++++++++++++++++----------------------------------------
 lib/Doctrine/ORM/Query/TreeWalkerChain.php                                          |  43 ++++++------
 lib/Doctrine/ORM/QueryBuilder.php                                                   |  82 ++++++++++++----------
 lib/Doctrine/ORM/Tools/AttachEntityListenersListener.php                            |   2 +-
 lib/Doctrine/ORM/Tools/Console/Command/MappingDescribeCommand.php                   |   6 +-
 lib/Doctrine/ORM/Tools/Console/ConsoleRunner.php                                    |  42 +++++++----
 lib/Doctrine/ORM/Tools/DebugUnitOfWorkListener.php                                  |  10 +--
 lib/Doctrine/ORM/Tools/Event/GenerateSchemaEventArgs.php                            |  10 +--
 lib/Doctrine/ORM/Tools/Event/GenerateSchemaTableEventArgs.php                       |  14 +---
 lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryOutputWalker.php                     |  23 +++---
 lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryWalker.php                           |   4 +-
 lib/Doctrine/ORM/Tools/Pagination/Paginator.php                                     |  14 ++--
 lib/Doctrine/ORM/Tools/Pagination/WhereInWalker.php                                 |   4 +-
 lib/Doctrine/ORM/Tools/ResolveTargetEntityListener.php                              |   2 +-
 lib/Doctrine/ORM/UnitOfWork.php                                                     | 116 ++++++++++++-------------------
 lib/Doctrine/ORM/Utility/IdentifierFlattener.php                                    |  27 +++----
 181 files changed, 1461 insertions(+), 2793 deletions(-)

But that's without

    $rectorConfig->rule(ParamTypeDeclarationRector::class);
    $rectorConfig->rule(ReturnTypeDeclarationRector::class);

that I think we might use as well.

Updated config file:

<?php

declare(strict_types=1);

use Rector\Config\RectorConfig;
use Rector\Php71\Rector\FuncCall\CountOnNullRector;
use Rector\Set\ValueObject\LevelSetList;
use Rector\TypeDeclaration\Rector\FunctionLike\ParamTypeDeclarationRector;
use Rector\TypeDeclaration\Rector\FunctionLike\ReturnTypeDeclarationRector;

return static function (RectorConfig $rectorConfig): void {
    $rectorConfig->paths([
        __DIR__ . '/lib',
    ]);

    $rectorConfig->sets([
        LevelSetList::UP_TO_PHP_81,
    ]);

    $rectorConfig->rule(ParamTypeDeclarationRector::class);
    $rectorConfig->rule(ReturnTypeDeclarationRector::class);

    $rectorConfig->skip([
        CountOnNullRector::class, // I haven't reevaluated this rule
    ]);
};

Let's use it in the next PRs and see if it does what we think it does.

@greg0ire
Copy link
Member Author

greg0ire commented Jul 15, 2022

updated list with the extra rules
 lib/Doctrine/ORM/AbstractQuery.php                                                  |   3 +-
 lib/Doctrine/ORM/Cache/AssociationCacheEntry.php                                    |  34 ++++-----
 lib/Doctrine/ORM/Cache/CollectionCacheEntry.php                                     |  18 ++---
 lib/Doctrine/ORM/Cache/CollectionCacheKey.php                                       |  18 ++---
 lib/Doctrine/ORM/Cache/DefaultCacheFactory.php                                      |   8 +-
 lib/Doctrine/ORM/Cache/DefaultQueryCache.php                                        |  11 +--
 lib/Doctrine/ORM/Cache/EntityCacheEntry.php                                         |  34 ++++-----
 lib/Doctrine/ORM/Cache/EntityCacheKey.php                                           |  15 ++--
 lib/Doctrine/ORM/Cache/Persister/Entity/NonStrictReadWriteCachedEntityPersister.php |   2 +-
 lib/Doctrine/ORM/Cache/QueryCacheEntry.php                                          |  16 ++--
 lib/Doctrine/ORM/Cache/QueryCacheKey.php                                            |  39 ++++------
 lib/Doctrine/ORM/Cache/TimestampQueryCacheValidator.php                             |   5 +-
 lib/Doctrine/ORM/Configuration.php                                                  |   4 +-
 lib/Doctrine/ORM/EntityManager.php                                                  |  50 ++++++-------
 lib/Doctrine/ORM/EntityManagerInterface.php                                         |   3 +-
 lib/Doctrine/ORM/EntityNotFoundException.php                                        |   4 +-
 lib/Doctrine/ORM/Event/LifecycleEventArgs.php                                       |   8 +-
 lib/Doctrine/ORM/Event/ListenersInvoker.php                                         |  12 +--
 lib/Doctrine/ORM/Event/LoadClassMetadataEventArgs.php                               |   4 +-
 lib/Doctrine/ORM/Event/OnClassMetadataNotFoundEventArgs.php                         |  20 ++---
 lib/Doctrine/ORM/Event/OnFlushEventArgs.php                                         |   4 +-
 lib/Doctrine/ORM/Event/PostFlushEventArgs.php                                       |   4 +-
 lib/Doctrine/ORM/Event/PreFlushEventArgs.php                                        |   4 +-
 lib/Doctrine/ORM/Event/PreUpdateEventArgs.php                                       |  18 ++---
 lib/Doctrine/ORM/Exception/EntityMissingAssignedId.php                              |   5 +-
 lib/Doctrine/ORM/Id/AssignedGenerator.php                                           |   2 +-
 lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php                              |   2 +-
 lib/Doctrine/ORM/LazyCriteriaCollection.php                                         |  28 ++-----
 lib/Doctrine/ORM/Mapping/AnsiQuoteStrategy.php                                      |   8 +-
 lib/Doctrine/ORM/Mapping/AssociationOverride.php                                    |  60 +++++----------
 lib/Doctrine/ORM/Mapping/AttributeOverride.php                                      |  27 +++----
 lib/Doctrine/ORM/Mapping/Builder/AssociationBuilder.php                             |  54 ++++----------
 lib/Doctrine/ORM/Mapping/Builder/ClassMetadataBuilder.php                           | 117 ++++++++----------------------
 lib/Doctrine/ORM/Mapping/Builder/EmbeddedBuilder.php                                |  17 +----
 lib/Doctrine/ORM/Mapping/Builder/EntityListenerBuilder.php                          |   5 +-
 lib/Doctrine/ORM/Mapping/Builder/FieldBuilder.php                                   |  64 +++++-----------
 lib/Doctrine/ORM/Mapping/Builder/ManyToManyAssociationBuilder.php                   |  20 ++---
 lib/Doctrine/ORM/Mapping/Builder/OneToManyAssociationBuilder.php                    |   4 +-
 lib/Doctrine/ORM/Mapping/Cache.php                                                  |  13 +---
 lib/Doctrine/ORM/Mapping/ChangeTrackingPolicy.php                                   |  18 ++---
 lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php                                   |  12 +--
 lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php                                      | 345 +++++++++++++-------------------------------------------------------------------------
 lib/Doctrine/ORM/Mapping/Column.php                                                 | 106 +++++++--------------------
 lib/Doctrine/ORM/Mapping/CustomIdGenerator.php                                      |   6 +-
 lib/Doctrine/ORM/Mapping/DefaultEntityListenerResolver.php                          |  10 +--
 lib/Doctrine/ORM/Mapping/DefaultQuoteStrategy.php                                   |  18 ++---
 lib/Doctrine/ORM/Mapping/DiscriminatorColumn.php                                    |  24 +-----
 lib/Doctrine/ORM/Mapping/DiscriminatorMap.php                                       |  14 ++--
 lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php                                | 200 +++++++++++++++++++++++++++-----------------------
 lib/Doctrine/ORM/Mapping/Driver/AttributeDriver.php                                 | 169 +++++++++++++++++++++++++-----------------
 lib/Doctrine/ORM/Mapping/Driver/AttributeReader.php                                 |   3 +-
 lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php                                  |  54 +++++---------
 lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php                                       |  11 +--
 lib/Doctrine/ORM/Mapping/Embedded.php                                               |  10 +--
 lib/Doctrine/ORM/Mapping/Entity.php                                                 |  19 ++---
 lib/Doctrine/ORM/Mapping/EntityListenerResolver.php                                 |   6 +-
 lib/Doctrine/ORM/Mapping/EntityListeners.php                                        |  15 ++--
 lib/Doctrine/ORM/Mapping/EntityResult.php                                           |   2 +-
 lib/Doctrine/ORM/Mapping/GeneratedValue.php                                         |  18 ++---
 lib/Doctrine/ORM/Mapping/Index.php                                                  |  29 +-------
 lib/Doctrine/ORM/Mapping/InheritanceType.php                                        |  18 ++---
 lib/Doctrine/ORM/Mapping/InverseJoinColumn.php                                      |  58 ++++-----------
 lib/Doctrine/ORM/Mapping/JoinColumn.php                                             |  58 ++++-----------
 lib/Doctrine/ORM/Mapping/JoinColumns.php                                            |   2 +-
 lib/Doctrine/ORM/Mapping/JoinTable.php                                              |  22 ++----
 lib/Doctrine/ORM/Mapping/ManyToMany.php                                             |  55 ++++----------
 lib/Doctrine/ORM/Mapping/ManyToOne.php                                              |  37 +++-------
 lib/Doctrine/ORM/Mapping/MappedSuperclass.php                                       |  14 ++--
 lib/Doctrine/ORM/Mapping/MappingException.php                                       | 479 +++++++++++++++++++----------------------------------------------------------------------------------------------------
 lib/Doctrine/ORM/Mapping/OneToMany.php                                              |  51 ++++---------
 lib/Doctrine/ORM/Mapping/OneToOne.php                                               |  49 ++++---------
 lib/Doctrine/ORM/Mapping/OrderBy.php                                                |   6 +-
 lib/Doctrine/ORM/Mapping/QuoteStrategy.php                                          |   7 +-
 lib/Doctrine/ORM/Mapping/ReflectionEnumProperty.php                                 |   6 +-
 lib/Doctrine/ORM/Mapping/SequenceGenerator.php                                      |  19 +----
 lib/Doctrine/ORM/Mapping/SqlResultSetMapping.php                                    |   4 +-
 lib/Doctrine/ORM/Mapping/SqlResultSetMappings.php                                   |   2 +-
 lib/Doctrine/ORM/Mapping/Table.php                                                  |  33 +--------
 lib/Doctrine/ORM/Mapping/UnderscoreNamingStrategy.php                               |   5 +-
 lib/Doctrine/ORM/Mapping/UniqueConstraint.php                                       |  24 +-----
 lib/Doctrine/ORM/ORMInvalidArgumentException.php                                    |  98 ++++---------------------
 lib/Doctrine/ORM/OptimisticLockException.php                                        |  33 ++-------
 lib/Doctrine/ORM/PersistentCollection.php                                           |  49 +++----------
 lib/Doctrine/ORM/Persisters/Collection/ManyToManyPersister.php                      |  13 ++--
 lib/Doctrine/ORM/Persisters/Collection/OneToManyPersister.php                       |   8 +-
 lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php                         |  22 +++---
 lib/Doctrine/ORM/Persisters/Entity/CachedPersisterContext.php                       |  26 ++-----
 lib/Doctrine/ORM/Persisters/Entity/SingleTablePersister.php                         |   1 +
 lib/Doctrine/ORM/Persisters/PersisterException.php                                  |   4 +-
 lib/Doctrine/ORM/Persisters/SqlExpressionVisitor.php                                |  34 +++------
 lib/Doctrine/ORM/Persisters/SqlValueVisitor.php                                     |  37 +++-------
 lib/Doctrine/ORM/PessimisticLockException.php                                       |   5 +-
 lib/Doctrine/ORM/Proxy/ProxyFactory.php                                             |  15 ++--
 lib/Doctrine/ORM/Query.php                                                          |   2 +-
 lib/Doctrine/ORM/Query/AST/ASTException.php                                         |   7 +-
 lib/Doctrine/ORM/Query/AST/AggregateExpression.php                                  |  20 +----
 lib/Doctrine/ORM/Query/AST/ArithmeticExpression.php                                 |  12 +--
 lib/Doctrine/ORM/Query/AST/ArithmeticFactor.php                                     |  26 +------
 lib/Doctrine/ORM/Query/AST/ArithmeticTerm.php                                       |   8 +-
 lib/Doctrine/ORM/Query/AST/BetweenExpression.php                                    |  22 ++----
 lib/Doctrine/ORM/Query/AST/CoalesceExpression.php                                   |   8 +-
 lib/Doctrine/ORM/Query/AST/CollectionMemberExpression.php                           |  16 +---
 lib/Doctrine/ORM/Query/AST/ComparisonExpression.php                                 |  20 +----
 lib/Doctrine/ORM/Query/AST/ConditionalExpression.php                                |   8 +-
 lib/Doctrine/ORM/Query/AST/ConditionalFactor.php                                    |   8 +-
 lib/Doctrine/ORM/Query/AST/ConditionalPrimary.php                                   |  12 +--
 lib/Doctrine/ORM/Query/AST/ConditionalTerm.php                                      |   8 +-
 lib/Doctrine/ORM/Query/AST/DeleteClause.php                                         |   8 +-
 lib/Doctrine/ORM/Query/AST/DeleteStatement.php                                      |   8 +-
 lib/Doctrine/ORM/Query/AST/EmptyCollectionComparisonExpression.php                  |   8 +-
 lib/Doctrine/ORM/Query/AST/ExistsExpression.php                                     |   8 +-
 lib/Doctrine/ORM/Query/AST/FromClause.php                                           |   8 +-
 lib/Doctrine/ORM/Query/AST/Functions/AbsFunction.php                                |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/AvgFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/BitAndFunction.php                             |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/BitOrFunction.php                              |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/ConcatFunction.php                             |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/CountFunction.php                              |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/CurrentDateFunction.php                        |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/CurrentTimeFunction.php                        |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/CurrentTimestampFunction.php                   |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/DateAddFunction.php                            |  85 +++++++++-------------
 lib/Doctrine/ORM/Query/AST/Functions/DateDiffFunction.php                           |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/DateSubFunction.php                            |  83 +++++++++------------
 lib/Doctrine/ORM/Query/AST/Functions/FunctionNode.php                               |  20 +----
 lib/Doctrine/ORM/Query/AST/Functions/IdentityFunction.php                           |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/LengthFunction.php                             |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/LocateFunction.php                             |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/LowerFunction.php                              |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/MaxFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/MinFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/ModFunction.php                                |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/SizeFunction.php                               |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/SqrtFunction.php                               |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/SubstringFunction.php                          |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/SumFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/TrimFunction.php                               |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/UpperFunction.php                              |   4 +-
 lib/Doctrine/ORM/Query/AST/GeneralCaseExpression.php                                |  12 +--
 lib/Doctrine/ORM/Query/AST/GroupByClause.php                                        |   8 +-
 lib/Doctrine/ORM/Query/AST/HavingClause.php                                         |   8 +-
 lib/Doctrine/ORM/Query/AST/IdentificationVariableDeclaration.php                    |  18 +----
 lib/Doctrine/ORM/Query/AST/InExpression.php                                         |   8 +-
 lib/Doctrine/ORM/Query/AST/IndexBy.php                                              |   6 +-
 lib/Doctrine/ORM/Query/AST/InputParameter.php                                       |   2 +-
 lib/Doctrine/ORM/Query/AST/InstanceOfExpression.php                                 |  10 +--
 lib/Doctrine/ORM/Query/AST/Join.php                                                 |  15 +---
 lib/Doctrine/ORM/Query/AST/JoinAssociationDeclaration.php                           |  16 +---
 lib/Doctrine/ORM/Query/AST/JoinAssociationPathExpression.php                        |  10 +--
 lib/Doctrine/ORM/Query/AST/JoinClassPathExpression.php                              |  12 +--
 lib/Doctrine/ORM/Query/AST/JoinVariableDeclaration.php                              |  10 +--
 lib/Doctrine/ORM/Query/AST/LikeExpression.php                                       |  16 +---
 lib/Doctrine/ORM/Query/AST/Literal.php                                              |  15 +---
 lib/Doctrine/ORM/Query/AST/NewObjectExpression.php                                  |  12 +--
 lib/Doctrine/ORM/Query/AST/Node.php                                                 |  11 ++-
 lib/Doctrine/ORM/Query/AST/NullComparisonExpression.php                             |   8 +-
 lib/Doctrine/ORM/Query/AST/NullIfExpression.php                                     |  12 +--
 lib/Doctrine/ORM/Query/AST/OrderByClause.php                                        |   8 +-
 lib/Doctrine/ORM/Query/AST/OrderByItem.php                                          |  18 +----
 lib/Doctrine/ORM/Query/AST/ParenthesisExpression.php                                |   8 +-
 lib/Doctrine/ORM/Query/AST/PartialObjectExpression.php                              |  10 +--
 lib/Doctrine/ORM/Query/AST/PathExpression.php                                       |  19 +----
 lib/Doctrine/ORM/Query/AST/QuantifiedExpression.php                                 |  23 ++----
 lib/Doctrine/ORM/Query/AST/RangeVariableDeclaration.php                             |  18 +----
 lib/Doctrine/ORM/Query/AST/SelectClause.php                                         |  12 +--
 lib/Doctrine/ORM/Query/AST/SelectExpression.php                                     |  16 +---
 lib/Doctrine/ORM/Query/AST/SelectStatement.php                                      |  12 +--
 lib/Doctrine/ORM/Query/AST/SimpleArithmeticExpression.php                           |   8 +-
 lib/Doctrine/ORM/Query/AST/SimpleCaseExpression.php                                 |  16 +---
 lib/Doctrine/ORM/Query/AST/SimpleSelectClause.php                                   |  12 +--
 lib/Doctrine/ORM/Query/AST/SimpleSelectExpression.php                               |   8 +-
 lib/Doctrine/ORM/Query/AST/SimpleWhenClause.php                                     |  10 +--
 lib/Doctrine/ORM/Query/AST/Subselect.php                                            |  12 +--
 lib/Doctrine/ORM/Query/AST/SubselectFromClause.php                                  |   8 +-
 lib/Doctrine/ORM/Query/AST/SubselectIdentificationVariableDeclaration.php           |  10 +--
 lib/Doctrine/ORM/Query/AST/UpdateClause.php                                         |  12 +--
 lib/Doctrine/ORM/Query/AST/UpdateItem.php                                           |  12 +--
 lib/Doctrine/ORM/Query/AST/UpdateStatement.php                                      |   8 +-
 lib/Doctrine/ORM/Query/AST/WhenClause.php                                           |  10 +--
 lib/Doctrine/ORM/Query/AST/WhereClause.php                                          |   8 +-
 lib/Doctrine/ORM/Query/Exec/AbstractSqlExecutor.php                                 |  15 +---
 lib/Doctrine/ORM/Query/Exec/MultiTableDeleteExecutor.php                            |  25 +++----
 lib/Doctrine/ORM/Query/Exec/MultiTableUpdateExecutor.php                            |  33 ++++-----
 lib/Doctrine/ORM/Query/Exec/SingleSelectExecutor.php                                |   4 +-
 lib/Doctrine/ORM/Query/Exec/SingleTableDeleteUpdateExecutor.php                     |  13 ++--
 lib/Doctrine/ORM/Query/Expr.php                                                     | 245 +++++++++++++++++++++++--------------------------------------
 lib/Doctrine/ORM/Query/Expr/Andx.php                                                |   2 +-
 lib/Doctrine/ORM/Query/Expr/Base.php                                                |   7 +-
 lib/Doctrine/ORM/Query/Expr/Comparison.php                                          |  24 ++----
 lib/Doctrine/ORM/Query/Expr/Composite.php                                           |   2 +-
 lib/Doctrine/ORM/Query/Expr/From.php                                                |  34 ++-------
 lib/Doctrine/ORM/Query/Expr/Func.php                                                |  18 ++---
 lib/Doctrine/ORM/Query/Expr/GroupBy.php                                             |   2 +-
 lib/Doctrine/ORM/Query/Expr/Join.php                                                |   3 +-
 lib/Doctrine/ORM/Query/Expr/Literal.php                                             |   2 +-
 lib/Doctrine/ORM/Query/Expr/Math.php                                                |  24 ++----
 lib/Doctrine/ORM/Query/Expr/OrderBy.php                                             |  14 ++--
 lib/Doctrine/ORM/Query/Expr/Orx.php                                                 |   2 +-
 lib/Doctrine/ORM/Query/Expr/Select.php                                              |   2 +-
 lib/Doctrine/ORM/Query/Filter/SQLFilter.php                                         |   3 +-
 lib/Doctrine/ORM/Query/Lexer.php                                                    |   4 +-
 lib/Doctrine/ORM/Query/Parser.php                                                   | 769 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------
 lib/Doctrine/ORM/Query/ParserResult.php                                             |  33 +++------
 lib/Doctrine/ORM/Query/Printer.php                                                  |  24 ++----
 lib/Doctrine/ORM/Query/QueryException.php                                           |  58 ++++-----------
 lib/Doctrine/ORM/Query/QueryExpressionVisitor.php                                   |  42 ++++-------
 lib/Doctrine/ORM/Query/ResultSetMapping.php                                         |   2 +-
 lib/Doctrine/ORM/Query/ResultSetMappingBuilder.php                                  |   3 +-
 lib/Doctrine/ORM/Query/SqlWalker.php                                                | 559 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------
 lib/Doctrine/ORM/QueryBuilder.php                                                   |  84 +++++++++++----------
 lib/Doctrine/ORM/Tools/Console/Command/MappingDescribeCommand.php                   |   8 +-
 lib/Doctrine/ORM/Tools/Console/ConsoleRunner.php                                    |  42 +++++++----
 lib/Doctrine/ORM/Tools/Console/MetadataFilter.php                                   |   2 +-
 lib/Doctrine/ORM/Tools/Event/GenerateSchemaEventArgs.php                            |  20 +----
 lib/Doctrine/ORM/Tools/Event/GenerateSchemaTableEventArgs.php                       |  29 +-------
 lib/Doctrine/ORM/Tools/Pagination/CountOutputWalker.php                             |   8 +-
 lib/Doctrine/ORM/Tools/Pagination/CountWalker.php                                   |   2 +-
 lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryOutputWalker.php                     |  38 ++++------
 lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryWalker.php                           |   6 +-
 lib/Doctrine/ORM/Tools/Pagination/Paginator.php                                     |  34 +++------
 lib/Doctrine/ORM/Tools/Pagination/WhereInWalker.php                                 |   6 +-
 lib/Doctrine/ORM/Tools/SchemaTool.php                                               |   4 +-
 lib/Doctrine/ORM/Tools/ToolsException.php                                           |   7 +-
 lib/Doctrine/ORM/TransactionRequiredException.php                                   |   5 +-
 lib/Doctrine/ORM/UnitOfWork.php                                                     | 118 ++++++++++++------------------
 lib/Doctrine/ORM/Utility/PersisterHelper.php                                        |   8 +-
 226 files changed, 2050 insertions(+), 4465 deletions(-)

@greg0ire
Copy link
Member Author

greg0ire commented Jul 28, 2022

updated list after #9551
 lib/Doctrine/ORM/AbstractQuery.php                                                  |   3 +-
 lib/Doctrine/ORM/Cache/AssociationCacheEntry.php                                    |  34 +++++------
 lib/Doctrine/ORM/Cache/CollectionCacheEntry.php                                     |  18 +++---
 lib/Doctrine/ORM/Cache/CollectionCacheKey.php                                       |  18 ++----
 lib/Doctrine/ORM/Cache/DefaultCacheFactory.php                                      |   8 +--
 lib/Doctrine/ORM/Cache/DefaultQueryCache.php                                        |  11 ++--
 lib/Doctrine/ORM/Cache/EntityCacheEntry.php                                         |  34 +++++------
 lib/Doctrine/ORM/Cache/EntityCacheKey.php                                           |  15 ++---
 lib/Doctrine/ORM/Cache/Persister/Entity/NonStrictReadWriteCachedEntityPersister.php |   2 +-
 lib/Doctrine/ORM/Cache/QueryCacheEntry.php                                          |  16 ++---
 lib/Doctrine/ORM/Cache/QueryCacheKey.php                                            |  39 +++++-------
 lib/Doctrine/ORM/Cache/TimestampQueryCacheValidator.php                             |   5 +-
 lib/Doctrine/ORM/Configuration.php                                                  |   4 +-
 lib/Doctrine/ORM/EntityManager.php                                                  |  50 +++++++--------
 lib/Doctrine/ORM/EntityManagerInterface.php                                         |   3 +-
 lib/Doctrine/ORM/EntityNotFoundException.php                                        |   4 +-
 lib/Doctrine/ORM/Event/LifecycleEventArgs.php                                       |   8 +--
 lib/Doctrine/ORM/Event/ListenersInvoker.php                                         |  12 ++--
 lib/Doctrine/ORM/Event/LoadClassMetadataEventArgs.php                               |   4 +-
 lib/Doctrine/ORM/Event/OnClassMetadataNotFoundEventArgs.php                         |  20 ++----
 lib/Doctrine/ORM/Event/OnFlushEventArgs.php                                         |   4 +-
 lib/Doctrine/ORM/Event/PostFlushEventArgs.php                                       |   4 +-
 lib/Doctrine/ORM/Event/PreFlushEventArgs.php                                        |   4 +-
 lib/Doctrine/ORM/Event/PreUpdateEventArgs.php                                       |  18 ++----
 lib/Doctrine/ORM/Exception/EntityMissingAssignedId.php                              |   5 +-
 lib/Doctrine/ORM/Id/AssignedGenerator.php                                           |   2 +-
 lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php                              |   2 +-
 lib/Doctrine/ORM/LazyCriteriaCollection.php                                         |  24 +++-----
 lib/Doctrine/ORM/Mapping/AssociationOverride.php                                    |  60 ++++++------------
 lib/Doctrine/ORM/Mapping/AttributeOverride.php                                      |  27 +++-----
 lib/Doctrine/ORM/Mapping/Builder/AssociationBuilder.php                             |  54 +++++-----------
 lib/Doctrine/ORM/Mapping/Builder/ClassMetadataBuilder.php                           | 117 +++++++++--------------------------
 lib/Doctrine/ORM/Mapping/Builder/EmbeddedBuilder.php                                |  17 +-----
 lib/Doctrine/ORM/Mapping/Builder/EntityListenerBuilder.php                          |   5 +-
 lib/Doctrine/ORM/Mapping/Builder/FieldBuilder.php                                   |  64 ++++++-------------
 lib/Doctrine/ORM/Mapping/Builder/ManyToManyAssociationBuilder.php                   |  20 ++----
 lib/Doctrine/ORM/Mapping/Builder/OneToManyAssociationBuilder.php                    |   4 +-
 lib/Doctrine/ORM/Mapping/Cache.php                                                  |  13 +---
 lib/Doctrine/ORM/Mapping/ChangeTrackingPolicy.php                                   |  18 +++---
 lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php                                   |  12 ++--
 lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php                                      | 446 ++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------
 lib/Doctrine/ORM/Mapping/Column.php                                                 | 106 ++++++++------------------------
 lib/Doctrine/ORM/Mapping/CustomIdGenerator.php                                      |   6 +-
 lib/Doctrine/ORM/Mapping/DefaultEntityListenerResolver.php                          |  10 +--
 lib/Doctrine/ORM/Mapping/DefaultQuoteStrategy.php                                   |   8 +--
 lib/Doctrine/ORM/Mapping/DiscriminatorColumn.php                                    |  24 +-------
 lib/Doctrine/ORM/Mapping/DiscriminatorMap.php                                       |   6 +-
 lib/Doctrine/ORM/Mapping/Embedded.php                                               |  13 ++--
 lib/Doctrine/ORM/Mapping/Entity.php                                                 |  19 +++---
 lib/Doctrine/ORM/Mapping/EntityListenerResolver.php                                 |   6 +-
 lib/Doctrine/ORM/Mapping/EntityListeners.php                                        |  15 ++---
 lib/Doctrine/ORM/Mapping/EntityResult.php                                           |   2 +-
 lib/Doctrine/ORM/Mapping/GeneratedValue.php                                         |  18 +++---
 lib/Doctrine/ORM/Mapping/Index.php                                                  |  29 +--------
 lib/Doctrine/ORM/Mapping/InheritanceType.php                                        |  18 +++---
 lib/Doctrine/ORM/Mapping/InverseJoinColumn.php                                      |  59 +++++-------------
 lib/Doctrine/ORM/Mapping/JoinColumn.php                                             |  59 +++++-------------
 lib/Doctrine/ORM/Mapping/JoinColumns.php                                            |   2 +-
 lib/Doctrine/ORM/Mapping/JoinTable.php                                              |  22 ++-----
 lib/Doctrine/ORM/Mapping/ManyToMany.php                                             |  55 +++++------------
 lib/Doctrine/ORM/Mapping/ManyToOne.php                                              |  37 ++++-------
 lib/Doctrine/ORM/Mapping/MappedSuperclass.php                                       |  14 ++---
 lib/Doctrine/ORM/Mapping/MappingException.php                                       | 479 ++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------
 lib/Doctrine/ORM/Mapping/OneToMany.php                                              |  51 +++++-----------
 lib/Doctrine/ORM/Mapping/OneToOne.php                                               |  49 ++++-----------
 lib/Doctrine/ORM/Mapping/OrderBy.php                                                |   6 +-
 lib/Doctrine/ORM/Mapping/ReflectionEnumProperty.php                                 |   6 +-
 lib/Doctrine/ORM/Mapping/SequenceGenerator.php                                      |  19 +-----
 lib/Doctrine/ORM/Mapping/SqlResultSetMapping.php                                    |   4 +-
 lib/Doctrine/ORM/Mapping/SqlResultSetMappings.php                                   |   2 +-
 lib/Doctrine/ORM/Mapping/Table.php                                                  |  33 ++--------
 lib/Doctrine/ORM/Mapping/UnderscoreNamingStrategy.php                               |   5 +-
 lib/Doctrine/ORM/Mapping/UniqueConstraint.php                                       |  24 +-------
 lib/Doctrine/ORM/ORMInvalidArgumentException.php                                    |  98 +++++------------------------
 lib/Doctrine/ORM/OptimisticLockException.php                                        |  31 ++--------
 lib/Doctrine/ORM/PersistentCollection.php                                           |  45 ++++----------
 lib/Doctrine/ORM/Persisters/Collection/ManyToManyPersister.php                      |  13 ++--
 lib/Doctrine/ORM/Persisters/Collection/OneToManyPersister.php                       |   8 +--
 lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php                         |  16 ++---
 lib/Doctrine/ORM/Persisters/Entity/CachedPersisterContext.php                       |  26 +++-----
 lib/Doctrine/ORM/Persisters/Entity/SingleTablePersister.php                         |   1 +
 lib/Doctrine/ORM/Persisters/PersisterException.php                                  |   4 +-
 lib/Doctrine/ORM/Persisters/SqlExpressionVisitor.php                                |  34 +++--------
 lib/Doctrine/ORM/Persisters/SqlValueVisitor.php                                     |  37 ++++-------
 lib/Doctrine/ORM/PessimisticLockException.php                                       |   5 +-
 lib/Doctrine/ORM/Proxy/ProxyFactory.php                                             |  15 ++---
 lib/Doctrine/ORM/Query.php                                                          |   2 +-
 lib/Doctrine/ORM/Query/AST/ASTException.php                                         |   7 +--
 lib/Doctrine/ORM/Query/AST/AggregateExpression.php                                  |  20 +-----
 lib/Doctrine/ORM/Query/AST/ArithmeticExpression.php                                 |  12 +---
 lib/Doctrine/ORM/Query/AST/ArithmeticFactor.php                                     |  26 ++------
 lib/Doctrine/ORM/Query/AST/ArithmeticTerm.php                                       |   8 +--
 lib/Doctrine/ORM/Query/AST/BetweenExpression.php                                    |  22 ++-----
 lib/Doctrine/ORM/Query/AST/CoalesceExpression.php                                   |   8 +--
 lib/Doctrine/ORM/Query/AST/CollectionMemberExpression.php                           |  16 ++---
 lib/Doctrine/ORM/Query/AST/ComparisonExpression.php                                 |  20 ++----
 lib/Doctrine/ORM/Query/AST/ConditionalExpression.php                                |   8 +--
 lib/Doctrine/ORM/Query/AST/ConditionalFactor.php                                    |   8 +--
 lib/Doctrine/ORM/Query/AST/ConditionalPrimary.php                                   |  12 +---
 lib/Doctrine/ORM/Query/AST/ConditionalTerm.php                                      |   8 +--
 lib/Doctrine/ORM/Query/AST/DeleteClause.php                                         |   8 +--
 lib/Doctrine/ORM/Query/AST/DeleteStatement.php                                      |   8 +--
 lib/Doctrine/ORM/Query/AST/EmptyCollectionComparisonExpression.php                  |   8 +--
 lib/Doctrine/ORM/Query/AST/ExistsExpression.php                                     |   8 +--
 lib/Doctrine/ORM/Query/AST/FromClause.php                                           |   8 +--
 lib/Doctrine/ORM/Query/AST/Functions/AbsFunction.php                                |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/AvgFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/BitAndFunction.php                             |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/BitOrFunction.php                              |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/ConcatFunction.php                             |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/CountFunction.php                              |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/CurrentDateFunction.php                        |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/CurrentTimeFunction.php                        |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/CurrentTimestampFunction.php                   |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/DateAddFunction.php                            |  85 +++++++++++---------------
 lib/Doctrine/ORM/Query/AST/Functions/DateDiffFunction.php                           |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/DateSubFunction.php                            |  83 +++++++++++--------------
 lib/Doctrine/ORM/Query/AST/Functions/FunctionNode.php                               |  10 +--
 lib/Doctrine/ORM/Query/AST/Functions/IdentityFunction.php                           |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/LengthFunction.php                             |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/LocateFunction.php                             |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/LowerFunction.php                              |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/MaxFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/MinFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/ModFunction.php                                |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/SizeFunction.php                               |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/SqrtFunction.php                               |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/SubstringFunction.php                          |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/SumFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/TrimFunction.php                               |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/UpperFunction.php                              |   4 +-
 lib/Doctrine/ORM/Query/AST/GeneralCaseExpression.php                                |  12 +---
 lib/Doctrine/ORM/Query/AST/GroupByClause.php                                        |   8 +--
 lib/Doctrine/ORM/Query/AST/HavingClause.php                                         |   8 +--
 lib/Doctrine/ORM/Query/AST/IdentificationVariableDeclaration.php                    |  18 +-----
 lib/Doctrine/ORM/Query/AST/InExpression.php                                         |   8 +--
 lib/Doctrine/ORM/Query/AST/IndexBy.php                                              |   6 +-
 lib/Doctrine/ORM/Query/AST/InputParameter.php                                       |   2 +-
 lib/Doctrine/ORM/Query/AST/InstanceOfExpression.php                                 |  10 +--
 lib/Doctrine/ORM/Query/AST/Join.php                                                 |  15 +----
 lib/Doctrine/ORM/Query/AST/JoinAssociationDeclaration.php                           |  16 +----
 lib/Doctrine/ORM/Query/AST/JoinAssociationPathExpression.php                        |  10 +--
 lib/Doctrine/ORM/Query/AST/JoinClassPathExpression.php                              |  12 +---
 lib/Doctrine/ORM/Query/AST/JoinVariableDeclaration.php                              |  10 +--
 lib/Doctrine/ORM/Query/AST/LikeExpression.php                                       |  16 +----
 lib/Doctrine/ORM/Query/AST/Literal.php                                              |  15 +----
 lib/Doctrine/ORM/Query/AST/NewObjectExpression.php                                  |  12 +---
 lib/Doctrine/ORM/Query/AST/Node.php                                                 |  11 ++--
 lib/Doctrine/ORM/Query/AST/NullComparisonExpression.php                             |   8 +--
 lib/Doctrine/ORM/Query/AST/NullIfExpression.php                                     |  12 +---
 lib/Doctrine/ORM/Query/AST/OrderByClause.php                                        |   8 +--
 lib/Doctrine/ORM/Query/AST/OrderByItem.php                                          |  18 ++----
 lib/Doctrine/ORM/Query/AST/ParenthesisExpression.php                                |   8 +--
 lib/Doctrine/ORM/Query/AST/PartialObjectExpression.php                              |  10 +--
 lib/Doctrine/ORM/Query/AST/PathExpression.php                                       |  19 +-----
 lib/Doctrine/ORM/Query/AST/QuantifiedExpression.php                                 |  23 ++-----
 lib/Doctrine/ORM/Query/AST/RangeVariableDeclaration.php                             |  18 +-----
 lib/Doctrine/ORM/Query/AST/SelectClause.php                                         |  12 +---
 lib/Doctrine/ORM/Query/AST/SelectExpression.php                                     |  16 +----
 lib/Doctrine/ORM/Query/AST/SelectStatement.php                                      |  12 +---
 lib/Doctrine/ORM/Query/AST/SimpleArithmeticExpression.php                           |   8 +--
 lib/Doctrine/ORM/Query/AST/SimpleCaseExpression.php                                 |  16 +----
 lib/Doctrine/ORM/Query/AST/SimpleSelectClause.php                                   |  12 +---
 lib/Doctrine/ORM/Query/AST/SimpleSelectExpression.php                               |   8 +--
 lib/Doctrine/ORM/Query/AST/SimpleWhenClause.php                                     |  10 +--
 lib/Doctrine/ORM/Query/AST/Subselect.php                                            |  12 +---
 lib/Doctrine/ORM/Query/AST/SubselectFromClause.php                                  |   8 +--
 lib/Doctrine/ORM/Query/AST/SubselectIdentificationVariableDeclaration.php           |  10 +--
 lib/Doctrine/ORM/Query/AST/UpdateClause.php                                         |  12 +---
 lib/Doctrine/ORM/Query/AST/UpdateItem.php                                           |  12 +---
 lib/Doctrine/ORM/Query/AST/UpdateStatement.php                                      |   8 +--
 lib/Doctrine/ORM/Query/AST/WhenClause.php                                           |  10 +--
 lib/Doctrine/ORM/Query/AST/WhereClause.php                                          |   8 +--
 lib/Doctrine/ORM/Query/Exec/AbstractSqlExecutor.php                                 |  15 ++---
 lib/Doctrine/ORM/Query/Exec/MultiTableDeleteExecutor.php                            |  25 ++++----
 lib/Doctrine/ORM/Query/Exec/MultiTableUpdateExecutor.php                            |  33 +++++-----
 lib/Doctrine/ORM/Query/Exec/SingleSelectExecutor.php                                |   4 +-
 lib/Doctrine/ORM/Query/Exec/SingleTableDeleteUpdateExecutor.php                     |  13 ++--
 lib/Doctrine/ORM/Query/Expr.php                                                     | 245 +++++++++++++++++++++++++++----------------------------------------------
 lib/Doctrine/ORM/Query/Expr/Andx.php                                                |   2 +-
 lib/Doctrine/ORM/Query/Expr/Base.php                                                |   7 ++-
 lib/Doctrine/ORM/Query/Expr/Comparison.php                                          |  24 ++------
 lib/Doctrine/ORM/Query/Expr/Composite.php                                           |   2 +-
 lib/Doctrine/ORM/Query/Expr/From.php                                                |  34 +++--------
 lib/Doctrine/ORM/Query/Expr/Func.php                                                |  18 ++----
 lib/Doctrine/ORM/Query/Expr/GroupBy.php                                             |   2 +-
 lib/Doctrine/ORM/Query/Expr/Join.php                                                |   3 +-
 lib/Doctrine/ORM/Query/Expr/Literal.php                                             |   2 +-
 lib/Doctrine/ORM/Query/Expr/Math.php                                                |  24 ++------
 lib/Doctrine/ORM/Query/Expr/OrderBy.php                                             |  14 ++---
 lib/Doctrine/ORM/Query/Expr/Orx.php                                                 |   2 +-
 lib/Doctrine/ORM/Query/Expr/Select.php                                              |   2 +-
 lib/Doctrine/ORM/Query/Filter/SQLFilter.php                                         |   3 +-
 lib/Doctrine/ORM/Query/Lexer.php                                                    |   4 +-
 lib/Doctrine/ORM/Query/Parser.php                                                   | 769 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------
 lib/Doctrine/ORM/Query/ParserResult.php                                             |  33 +++-------
 lib/Doctrine/ORM/Query/Printer.php                                                  |  24 ++------
 lib/Doctrine/ORM/Query/QueryException.php                                           | 112 ++++++----------------------------
 lib/Doctrine/ORM/Query/QueryExpressionVisitor.php                                   |  42 +++++--------
 lib/Doctrine/ORM/Query/ResultSetMapping.php                                         |   2 +-
 lib/Doctrine/ORM/Query/ResultSetMappingBuilder.php                                  |   3 +-
 lib/Doctrine/ORM/Query/SqlWalker.php                                                | 349 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------
 lib/Doctrine/ORM/Query/TreeWalker.php                                               |   9 ++-
 lib/Doctrine/ORM/Query/TreeWalkerAdapter.php                                        |   9 ++-
 lib/Doctrine/ORM/Query/TreeWalkerChain.php                                          |   9 ++-
 lib/Doctrine/ORM/QueryBuilder.php                                                   |  84 ++++++++++++++-----------
 lib/Doctrine/ORM/Tools/Console/ConsoleRunner.php                                    |  42 ++++++++-----
 lib/Doctrine/ORM/Tools/Pagination/Paginator.php                                     |   2 +-
 lib/Doctrine/ORM/Tools/Pagination/RowNumberOverFunction.php                         |   4 +-
 lib/Doctrine/ORM/Tools/Pagination/WhereInWalker.php                                 |   4 +-
 lib/Doctrine/ORM/TransactionRequiredException.php                                   |   5 +-
 lib/Doctrine/ORM/UnitOfWork.php                                                     | 118 ++++++++++++++---------------------
 lib/Doctrine/ORM/Utility/PersisterHelper.php                                        |   8 +--
 213 files changed, 1786 insertions(+), 4056 deletions(-)

@greg0ire
Copy link
Member Author

greg0ire commented Aug 3, 2022

Since #9925 we can use UP_TO_PHP_81

@greg0ire
Copy link
Member Author

greg0ire commented Oct 20, 2022

updated list after the 5 PRs above (spoiler, there's nice progress)
 lib/Doctrine/ORM/AbstractQuery.php                                                  |  15 ++--
 lib/Doctrine/ORM/Cache/AssociationCacheEntry.php                                    |  34 ++++-----
 lib/Doctrine/ORM/Cache/CollectionCacheEntry.php                                     |  18 +++--
 lib/Doctrine/ORM/Cache/CollectionCacheKey.php                                       |  18 ++---
 lib/Doctrine/ORM/Cache/DefaultCacheFactory.php                                      |   6 +-
 lib/Doctrine/ORM/Cache/DefaultEntityHydrator.php                                    |   8 +--
 lib/Doctrine/ORM/Cache/DefaultQueryCache.php                                        |  11 ++-
 lib/Doctrine/ORM/Cache/EntityCacheEntry.php                                         |  34 ++++-----
 lib/Doctrine/ORM/Cache/EntityCacheKey.php                                           |  15 ++--
 lib/Doctrine/ORM/Cache/Persister/Entity/NonStrictReadWriteCachedEntityPersister.php |   2 +-
 lib/Doctrine/ORM/Cache/QueryCacheEntry.php                                          |  16 ++---
 lib/Doctrine/ORM/Cache/QueryCacheKey.php                                            |  39 ++++------
 lib/Doctrine/ORM/Cache/Region/DefaultRegion.php                                     |   2 +-
 lib/Doctrine/ORM/Cache/Region/FileLockRegion.php                                    |   4 +-
 lib/Doctrine/ORM/Cache/TimestampQueryCacheValidator.php                             |   2 +-
 lib/Doctrine/ORM/EntityManager.php                                                  |  44 ++++++------
 lib/Doctrine/ORM/EntityManagerInterface.php                                         |   3 +-
 lib/Doctrine/ORM/EntityNotFoundException.php                                        |   4 +-
 lib/Doctrine/ORM/Event/LifecycleEventArgs.php                                       |   8 +--
 lib/Doctrine/ORM/Event/LoadClassMetadataEventArgs.php                               |   4 +-
 lib/Doctrine/ORM/Event/OnClassMetadataNotFoundEventArgs.php                         |  16 ++---
 lib/Doctrine/ORM/Event/OnFlushEventArgs.php                                         |   4 +-
 lib/Doctrine/ORM/Event/PostFlushEventArgs.php                                       |   4 +-
 lib/Doctrine/ORM/Event/PreFlushEventArgs.php                                        |   4 +-
 lib/Doctrine/ORM/Event/PreUpdateEventArgs.php                                       |  19 ++---
 lib/Doctrine/ORM/Exception/EntityMissingAssignedId.php                              |   3 +-
 lib/Doctrine/ORM/Id/AssignedGenerator.php                                           |   2 +-
 lib/Doctrine/ORM/Internal/CommitOrderCalculator.php                                 |   6 +-
 lib/Doctrine/ORM/Internal/Hydration/AbstractHydrator.php                            |   6 +-
 lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php                              |   2 +-
 lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php                                   |  12 ++--
 lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php                                      |  28 ++++----
 lib/Doctrine/ORM/Mapping/DefaultEntityListenerResolver.php                          |   2 +-
 lib/Doctrine/ORM/Mapping/DefaultQuoteStrategy.php                                   |   8 +--
 lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php                                | 194 ++++++++++++++++++++++++++++----------------------
 lib/Doctrine/ORM/Mapping/Driver/AttributeDriver.php                                 | 169 ++++++++++++++++++++++++++------------------
 lib/Doctrine/ORM/Mapping/Driver/AttributeReader.php                                 |   2 +-
 lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php                                  |  54 +++++---------
 lib/Doctrine/ORM/Mapping/Driver/SimplifiedXmlDriver.php                             |   2 +-
 lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php                                       |   9 +--
 lib/Doctrine/ORM/Mapping/MappingException.php                                       | 467 +++++++++++++++++++-----------------------------------------------------------------------------------------------------
 lib/Doctrine/ORM/Mapping/ReflectionEnumProperty.php                                 |   6 +-
 lib/Doctrine/ORM/NonUniqueResultException.php                                       |   2 +-
 lib/Doctrine/ORM/ORMInvalidArgumentException.php                                    |  98 +++++---------------------
 lib/Doctrine/ORM/OptimisticLockException.php                                        |  25 ++-----
 lib/Doctrine/ORM/PersistentCollection.php                                           |  24 +++----
 lib/Doctrine/ORM/Persisters/Collection/ManyToManyPersister.php                      |  13 ++--
 lib/Doctrine/ORM/Persisters/Collection/OneToManyPersister.php                       |   8 +--
 lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php                         |  24 +++----
 lib/Doctrine/ORM/Persisters/Entity/CachedPersisterContext.php                       |  26 +++----
 lib/Doctrine/ORM/Persisters/Entity/SingleTablePersister.php                         |   1 +
 lib/Doctrine/ORM/Persisters/PersisterException.php                                  |   4 +-
 lib/Doctrine/ORM/Persisters/SqlExpressionVisitor.php                                |  34 +++------
 lib/Doctrine/ORM/Persisters/SqlValueVisitor.php                                     |  25 +++----
 lib/Doctrine/ORM/PessimisticLockException.php                                       |   3 +-
 lib/Doctrine/ORM/Query.php                                                          |   2 +-
 lib/Doctrine/ORM/Query/AST/ASTException.php                                         |   7 +-
 lib/Doctrine/ORM/Query/AST/AggregateExpression.php                                  |  10 +--
 lib/Doctrine/ORM/Query/AST/ArithmeticExpression.php                                 |   6 +-
 lib/Doctrine/ORM/Query/AST/ArithmeticFactor.php                                     |  20 +-----
 lib/Doctrine/ORM/Query/AST/ArithmeticTerm.php                                       |   6 +-
 lib/Doctrine/ORM/Query/AST/BetweenExpression.php                                    |  20 ++----
 lib/Doctrine/ORM/Query/AST/CoalesceExpression.php                                   |   6 +-
 lib/Doctrine/ORM/Query/AST/CollectionMemberExpression.php                           |  13 +---
 lib/Doctrine/ORM/Query/AST/ComparisonExpression.php                                 |  14 +---
 lib/Doctrine/ORM/Query/AST/ConditionalExpression.php                                |   6 +-
 lib/Doctrine/ORM/Query/AST/ConditionalPrimary.php                                   |   6 +-
 lib/Doctrine/ORM/Query/AST/ConditionalTerm.php                                      |   6 +-
 lib/Doctrine/ORM/Query/AST/FromClause.php                                           |   6 +-
 lib/Doctrine/ORM/Query/AST/Functions/AbsFunction.php                                |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/AvgFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/BitAndFunction.php                             |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/BitOrFunction.php                              |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/ConcatFunction.php                             |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/CountFunction.php                              |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/CurrentDateFunction.php                        |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/CurrentTimeFunction.php                        |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/CurrentTimestampFunction.php                   |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/DateAddFunction.php                            |  87 ++++++++++-------------
 lib/Doctrine/ORM/Query/AST/Functions/DateDiffFunction.php                           |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/DateSubFunction.php                            |  85 +++++++++-------------
 lib/Doctrine/ORM/Query/AST/Functions/IdentityFunction.php                           |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/LengthFunction.php                             |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/LocateFunction.php                             |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/LowerFunction.php                              |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/MaxFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/MinFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/ModFunction.php                                |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/SizeFunction.php                               |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/SqrtFunction.php                               |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/SubstringFunction.php                          |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/SumFunction.php                                |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/TrimFunction.php                               |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/UpperFunction.php                              |   4 +-
 lib/Doctrine/ORM/Query/AST/GeneralCaseExpression.php                                |   7 +-
 lib/Doctrine/ORM/Query/AST/GroupByClause.php                                        |   6 +-
 lib/Doctrine/ORM/Query/AST/IndexBy.php                                              |   6 +-
 lib/Doctrine/ORM/Query/AST/InstanceOfExpression.php                                 |   8 +--
 lib/Doctrine/ORM/Query/AST/Join.php                                                 |  15 ++--
 lib/Doctrine/ORM/Query/AST/JoinClassPathExpression.php                              |  10 +--
 lib/Doctrine/ORM/Query/AST/Literal.php                                              |  16 ++---
 lib/Doctrine/ORM/Query/AST/NewObjectExpression.php                                  |   6 +-
 lib/Doctrine/ORM/Query/AST/Node.php                                                 |  11 ++-
 lib/Doctrine/ORM/Query/AST/NullIfExpression.php                                     |   6 +-
 lib/Doctrine/ORM/Query/AST/OrderByClause.php                                        |   6 +-
 lib/Doctrine/ORM/Query/AST/OrderByItem.php                                          |   9 +--
 lib/Doctrine/ORM/Query/AST/ParenthesisExpression.php                                |   6 +-
 lib/Doctrine/ORM/Query/AST/PartialObjectExpression.php                              |   6 +-
 lib/Doctrine/ORM/Query/AST/PathExpression.php                                       |  15 ++--
 lib/Doctrine/ORM/Query/AST/QuantifiedExpression.php                                 |   9 +--
 lib/Doctrine/ORM/Query/AST/RangeVariableDeclaration.php                             |   8 +--
 lib/Doctrine/ORM/Query/AST/SelectClause.php                                         |   6 +-
 lib/Doctrine/ORM/Query/AST/SelectExpression.php                                     |   3 +-
 lib/Doctrine/ORM/Query/AST/SimpleArithmeticExpression.php                           |   6 +-
 lib/Doctrine/ORM/Query/AST/SimpleCaseExpression.php                                 |   3 +-
 lib/Doctrine/ORM/Query/AST/SimpleWhenClause.php                                     |   6 +-
 lib/Doctrine/ORM/Query/AST/SubselectFromClause.php                                  |   6 +-
 lib/Doctrine/ORM/Query/AST/UpdateClause.php                                         |   6 +-
 lib/Doctrine/ORM/Query/AST/WhenClause.php                                           |   3 +-
 lib/Doctrine/ORM/Query/Exec/AbstractSqlExecutor.php                                 |  13 ++--
 lib/Doctrine/ORM/Query/Exec/MultiTableDeleteExecutor.php                            |  25 ++++---
 lib/Doctrine/ORM/Query/Exec/SingleSelectExecutor.php                                |   4 +-
 lib/Doctrine/ORM/Query/Exec/SingleTableDeleteUpdateExecutor.php                     |  13 ++--
 lib/Doctrine/ORM/Query/Expr.php                                                     | 252 ++++++++++++++++++++++++-----------------------------------------
 lib/Doctrine/ORM/Query/Expr/Andx.php                                                |   2 +-
 lib/Doctrine/ORM/Query/Expr/Base.php                                                |  14 ++--
 lib/Doctrine/ORM/Query/Expr/Comparison.php                                          |  24 +++----
 lib/Doctrine/ORM/Query/Expr/Composite.php                                           |   2 +-
 lib/Doctrine/ORM/Query/Expr/From.php                                                |  13 ++--
 lib/Doctrine/ORM/Query/Expr/Func.php                                                |  10 +--
 lib/Doctrine/ORM/Query/Expr/GroupBy.php                                             |   2 +-
 lib/Doctrine/ORM/Query/Expr/Literal.php                                             |   2 +-
 lib/Doctrine/ORM/Query/Expr/Math.php                                                |  12 ++--
 lib/Doctrine/ORM/Query/Expr/OrderBy.php                                             |  14 ++--
 lib/Doctrine/ORM/Query/Expr/Orx.php                                                 |   2 +-
 lib/Doctrine/ORM/Query/Expr/Select.php                                              |   2 +-
 lib/Doctrine/ORM/Query/Filter/SQLFilter.php                                         |   3 +-
 lib/Doctrine/ORM/Query/FilterCollection.php                                         |   6 +-
 lib/Doctrine/ORM/Query/Lexer.php                                                    | 160 ++++++++++++++++++++---------------------
 lib/Doctrine/ORM/Query/Parameter.php                                                |   4 +-
 lib/Doctrine/ORM/Query/Parser.php                                                   | 747 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------
 lib/Doctrine/ORM/Query/ParserResult.php                                             |  33 +++------
 lib/Doctrine/ORM/Query/Printer.php                                                  |  24 ++-----
 lib/Doctrine/ORM/Query/QueryException.php                                           | 102 +++++----------------------
 lib/Doctrine/ORM/Query/ResultSetMapping.php                                         |   4 +-
 lib/Doctrine/ORM/Query/ResultSetMappingBuilder.php                                  |   9 +--
 lib/Doctrine/ORM/Query/SqlWalker.php                                                | 375 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------
 lib/Doctrine/ORM/Query/TreeWalker.php                                               |   9 ++-
 lib/Doctrine/ORM/Query/TreeWalkerAdapter.php                                        |   9 ++-
 lib/Doctrine/ORM/Query/TreeWalkerChain.php                                          |   9 ++-
 lib/Doctrine/ORM/QueryBuilder.php                                                   |  77 +++++++++++---------
 lib/Doctrine/ORM/Tools/Console/Command/MappingDescribeCommand.php                   |   2 +-
 lib/Doctrine/ORM/Tools/Console/Command/RunDqlCommand.php                            |   2 +-
 lib/Doctrine/ORM/Tools/Console/ConsoleRunner.php                                    |  42 +++++++----
 lib/Doctrine/ORM/Tools/Pagination/Paginator.php                                     |   2 +-
 lib/Doctrine/ORM/Tools/Pagination/RowNumberOverFunction.php                         |   4 +-
 lib/Doctrine/ORM/Tools/Pagination/WhereInWalker.php                                 |   8 +--
 lib/Doctrine/ORM/Tools/SchemaTool.php                                               |   2 +-
 lib/Doctrine/ORM/Tools/ToolEvents.php                                               |   4 +-
 lib/Doctrine/ORM/TransactionRequiredException.php                                   |   3 +-
 lib/Doctrine/ORM/UnitOfWork.php                                                     |  14 ++--
 161 files changed, 1634 insertions(+), 2595 deletions(-)

@greg0ire
Copy link
Member Author

greg0ire commented Nov 9, 2022

Close to 100 files
 lib/Doctrine/ORM/AbstractQuery.php                                |  12 +++---
 lib/Doctrine/ORM/EntityManager.php                                |  44 ++++++++++----------
 lib/Doctrine/ORM/EntityManagerInterface.php                       |   3 +-
 lib/Doctrine/ORM/Event/OnClassMetadataNotFoundEventArgs.php       |   6 +--
 lib/Doctrine/ORM/Event/PreUpdateEventArgs.php                     |   5 +--
 lib/Doctrine/ORM/Id/AssignedGenerator.php                         |   2 +-
 lib/Doctrine/ORM/Internal/CommitOrderCalculator.php               |   6 +--
 lib/Doctrine/ORM/Internal/Hydration/AbstractHydrator.php          |   6 +--
 lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php            |   2 +-
 lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php                 |  10 +++--
 lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php                    |  28 ++++++-------
 lib/Doctrine/ORM/Mapping/DefaultEntityListenerResolver.php        |   2 +-
 lib/Doctrine/ORM/Mapping/DefaultQuoteStrategy.php                 |   8 ++--
 lib/Doctrine/ORM/Mapping/Driver/AttributeDriver.php               | 163 ++++++++++++++++++++++++++++++++++++++++++++----------------------------
 lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php                |  25 ++++--------
 lib/Doctrine/ORM/Mapping/Driver/SimplifiedXmlDriver.php           |   2 +-
 lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php                     |   7 +---
 lib/Doctrine/ORM/Mapping/MappingException.php                     |  25 ++++--------
 lib/Doctrine/ORM/Mapping/ReflectionEnumProperty.php               |   6 +--
 lib/Doctrine/ORM/NonUniqueResultException.php                     |   2 +-
 lib/Doctrine/ORM/ORMInvalidArgumentException.php                  |   7 +---
 lib/Doctrine/ORM/OptimisticLockException.php                      |   4 +-
 lib/Doctrine/ORM/PersistentCollection.php                         |  24 ++++-------
 lib/Doctrine/ORM/Persisters/Collection/ManyToManyPersister.php    |   9 ++--
 lib/Doctrine/ORM/Persisters/Collection/OneToManyPersister.php     |   2 +-
 lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php       |  24 +++++------
 lib/Doctrine/ORM/Persisters/Entity/CachedPersisterContext.php     |  26 ++++--------
 lib/Doctrine/ORM/Persisters/Entity/SingleTablePersister.php       |   1 +
 lib/Doctrine/ORM/Persisters/SqlExpressionVisitor.php              |  25 +++---------
 lib/Doctrine/ORM/Persisters/SqlValueVisitor.php                   |  23 ++++-------
 lib/Doctrine/ORM/Query/AST/AggregateExpression.php                |  10 +----
 lib/Doctrine/ORM/Query/AST/ArithmeticFactor.php                   |  14 +------
 lib/Doctrine/ORM/Query/AST/ArithmeticTerm.php                     |   6 +--
 lib/Doctrine/ORM/Query/AST/BetweenExpression.php                  |  20 ++-------
 lib/Doctrine/ORM/Query/AST/CoalesceExpression.php                 |   6 +--
 lib/Doctrine/ORM/Query/AST/CollectionMemberExpression.php         |  13 +-----
 lib/Doctrine/ORM/Query/AST/ComparisonExpression.php               |  14 ++-----
 lib/Doctrine/ORM/Query/AST/ConditionalExpression.php              |   6 +--
 lib/Doctrine/ORM/Query/AST/ConditionalTerm.php                    |   6 +--
 lib/Doctrine/ORM/Query/AST/FromClause.php                         |   6 +--
 lib/Doctrine/ORM/Query/AST/Functions/AvgFunction.php              |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/CountFunction.php            |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/DateAddFunction.php          |  81 +++++++++++++++---------------------
 lib/Doctrine/ORM/Query/AST/Functions/DateSubFunction.php          |  81 +++++++++++++++---------------------
 lib/Doctrine/ORM/Query/AST/Functions/MaxFunction.php              |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/MinFunction.php              |   3 +-
 lib/Doctrine/ORM/Query/AST/Functions/SumFunction.php              |   3 +-
 lib/Doctrine/ORM/Query/AST/GeneralCaseExpression.php              |   7 +---
 lib/Doctrine/ORM/Query/AST/GroupByClause.php                      |   6 +--
 lib/Doctrine/ORM/Query/AST/IndexBy.php                            |   6 +--
 lib/Doctrine/ORM/Query/AST/InstanceOfExpression.php               |   8 +---
 lib/Doctrine/ORM/Query/AST/Join.php                               |  15 ++-----
 lib/Doctrine/ORM/Query/AST/JoinClassPathExpression.php            |  10 +----
 lib/Doctrine/ORM/Query/AST/Literal.php                            |  16 ++------
 lib/Doctrine/ORM/Query/AST/NewObjectExpression.php                |   6 +--
 lib/Doctrine/ORM/Query/AST/Node.php                               |   7 ++--
 lib/Doctrine/ORM/Query/AST/NullIfExpression.php                   |   6 +--
 lib/Doctrine/ORM/Query/AST/OrderByClause.php                      |   6 +--
 lib/Doctrine/ORM/Query/AST/OrderByItem.php                        |   3 +-
 lib/Doctrine/ORM/Query/AST/ParenthesisExpression.php              |   6 +--
 lib/Doctrine/ORM/Query/AST/PartialObjectExpression.php            |   6 +--
 lib/Doctrine/ORM/Query/AST/PathExpression.php                     |  15 ++-----
 lib/Doctrine/ORM/Query/AST/RangeVariableDeclaration.php           |   8 +---
 lib/Doctrine/ORM/Query/AST/SelectClause.php                       |   6 +--
 lib/Doctrine/ORM/Query/AST/SelectExpression.php                   |   3 +-
 lib/Doctrine/ORM/Query/AST/SimpleArithmeticExpression.php         |   6 +--
 lib/Doctrine/ORM/Query/AST/SimpleCaseExpression.php               |   3 +-
 lib/Doctrine/ORM/Query/AST/SimpleWhenClause.php                   |   6 +--
 lib/Doctrine/ORM/Query/AST/SubselectFromClause.php                |   6 +--
 lib/Doctrine/ORM/Query/AST/UpdateClause.php                       |   6 +--
 lib/Doctrine/ORM/Query/AST/WhenClause.php                         |   3 +-
 lib/Doctrine/ORM/Query/Exec/AbstractSqlExecutor.php               |   6 +--
 lib/Doctrine/ORM/Query/Exec/MultiTableDeleteExecutor.php          |  21 +++++-----
 lib/Doctrine/ORM/Query/Exec/MultiTableUpdateExecutor.php          |  29 ++++++-------
 lib/Doctrine/ORM/Query/Exec/SingleTableDeleteUpdateExecutor.php   |   9 ++--
 lib/Doctrine/ORM/Query/Expr.php                                   | 172 ++++++++++++++++++++++++++++++++++++++--------------------------------------
 lib/Doctrine/ORM/Query/Expr/Base.php                              |  14 +++----
 lib/Doctrine/ORM/Query/Expr/Comparison.php                        |  21 +++++-----
 lib/Doctrine/ORM/Query/Expr/From.php                              |   5 ++-
 lib/Doctrine/ORM/Query/Expr/Func.php                              |   5 ++-
 lib/Doctrine/ORM/Query/Expr/Math.php                              |   9 ++--
 lib/Doctrine/ORM/Query/Expr/OrderBy.php                           |   5 ++-
 lib/Doctrine/ORM/Query/Filter/SQLFilter.php                       |   3 +-
 lib/Doctrine/ORM/Query/FilterCollection.php                       |   6 +--
 lib/Doctrine/ORM/Query/Lexer.php                                  | 156 ++++++++++++++++++++++++++++++++++-----------------------------------
 lib/Doctrine/ORM/Query/Parameter.php                              |   4 +-
 lib/Doctrine/ORM/Query/Parser.php                                 | 474 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------
 lib/Doctrine/ORM/Query/ParserResult.php                           |  16 +++-----
 lib/Doctrine/ORM/Query/Printer.php                                |  12 +-----
 lib/Doctrine/ORM/Query/QueryExpressionVisitor.php                 |  24 +++++------
 lib/Doctrine/ORM/Query/ResultSetMapping.php                       |   2 +-
 lib/Doctrine/ORM/Query/ResultSetMappingBuilder.php                |   9 ++--
 lib/Doctrine/ORM/Query/TreeWalker.php                             |   9 ++--
 lib/Doctrine/ORM/Query/TreeWalkerAdapter.php                      |   9 ++--
 lib/Doctrine/ORM/Query/TreeWalkerChain.php                        |   9 ++--
 lib/Doctrine/ORM/QueryBuilder.php                                 |  77 +++++++++++++++++++---------------
 lib/Doctrine/ORM/Tools/Console/Command/MappingDescribeCommand.php |   2 +-
 lib/Doctrine/ORM/Tools/Console/Command/RunDqlCommand.php          |   2 +-
 lib/Doctrine/ORM/Tools/Console/ConsoleRunner.php                  |  42 ++++++++++++-------
 lib/Doctrine/ORM/Tools/Pagination/CountOutputWalker.php           |   4 +-
 lib/Doctrine/ORM/Tools/Pagination/RowNumberOverFunction.php       |   2 +-
 lib/Doctrine/ORM/Tools/Pagination/WhereInWalker.php               |   8 ++--
 lib/Doctrine/ORM/Tools/SchemaTool.php                             |   2 +-
 lib/Doctrine/ORM/Tools/ToolEvents.php                             |   4 +-
 lib/Doctrine/ORM/UnitOfWork.php                                   |  14 +++----
 105 files changed, 941 insertions(+), 1202 deletions(-)


@greg0ire
Copy link
Member Author

greg0ire commented Nov 9, 2022

Note: without `importNames()`, the result is exactly 100 files, and there are about half as many changes
 lib/Doctrine/ORM/AbstractQuery.php                                |  12 ++++++------
 lib/Doctrine/ORM/EntityManager.php                                |  24 ++++++++++--------------
 lib/Doctrine/ORM/Event/OnClassMetadataNotFoundEventArgs.php       |   6 ++----
 lib/Doctrine/ORM/Event/PreUpdateEventArgs.php                     |   5 ++---
 lib/Doctrine/ORM/Id/AssignedGenerator.php                         |   2 +-
 lib/Doctrine/ORM/Internal/CommitOrderCalculator.php               |   6 +++---
 lib/Doctrine/ORM/Internal/Hydration/AbstractHydrator.php          |   6 ++----
 lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php            |   2 +-
 lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php                    |  28 ++++++++++++++--------------
 lib/Doctrine/ORM/Mapping/DefaultEntityListenerResolver.php        |   2 +-
 lib/Doctrine/ORM/Mapping/DefaultQuoteStrategy.php                 |   8 +++-----
 lib/Doctrine/ORM/Mapping/Driver/AttributeDriver.php               |   5 ++---
 lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php                |  25 +++++++++----------------
 lib/Doctrine/ORM/Mapping/Driver/SimplifiedXmlDriver.php           |   2 +-
 lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php                     |   7 ++-----
 lib/Doctrine/ORM/Mapping/MappingException.php                     |  25 +++++++++----------------
 lib/Doctrine/ORM/Mapping/ReflectionEnumProperty.php               |   6 ++----
 lib/Doctrine/ORM/NonUniqueResultException.php                     |   2 +-
 lib/Doctrine/ORM/ORMInvalidArgumentException.php                  |   7 ++-----
 lib/Doctrine/ORM/OptimisticLockException.php                      |   4 +---
 lib/Doctrine/ORM/PersistentCollection.php                         |  24 +++++++++---------------
 lib/Doctrine/ORM/Persisters/Collection/ManyToManyPersister.php    |   6 +++---
 lib/Doctrine/ORM/Persisters/Collection/OneToManyPersister.php     |   2 +-
 lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php       |  20 ++++++++++----------
 lib/Doctrine/ORM/Persisters/Entity/CachedPersisterContext.php     |  26 ++++++++------------------
 lib/Doctrine/ORM/Persisters/Entity/SingleTablePersister.php       |   1 +
 lib/Doctrine/ORM/Persisters/SqlExpressionVisitor.php              |  25 ++++++-------------------
 lib/Doctrine/ORM/Persisters/SqlValueVisitor.php                   |  23 ++++++++---------------
 lib/Doctrine/ORM/Query/AST/AggregateExpression.php                |  10 +---------
 lib/Doctrine/ORM/Query/AST/ArithmeticFactor.php                   |  14 +-------------
 lib/Doctrine/ORM/Query/AST/ArithmeticTerm.php                     |   6 +-----
 lib/Doctrine/ORM/Query/AST/BetweenExpression.php                  |  20 ++++----------------
 lib/Doctrine/ORM/Query/AST/CoalesceExpression.php                 |   6 +-----
 lib/Doctrine/ORM/Query/AST/CollectionMemberExpression.php         |  13 ++-----------
 lib/Doctrine/ORM/Query/AST/ComparisonExpression.php               |  14 +++-----------
 lib/Doctrine/ORM/Query/AST/ConditionalExpression.php              |   6 +-----
 lib/Doctrine/ORM/Query/AST/ConditionalTerm.php                    |   6 +-----
 lib/Doctrine/ORM/Query/AST/FromClause.php                         |   6 +-----
 lib/Doctrine/ORM/Query/AST/Functions/AvgFunction.php              |   3 +--
 lib/Doctrine/ORM/Query/AST/Functions/CountFunction.php            |   3 +--
 lib/Doctrine/ORM/Query/AST/Functions/DateAddFunction.php          |  81 +++++++++++++++++++++++++++++++++------------------------------------------------
 lib/Doctrine/ORM/Query/AST/Functions/DateSubFunction.php          |  81 +++++++++++++++++++++++++++++++++------------------------------------------------
 lib/Doctrine/ORM/Query/AST/Functions/MaxFunction.php              |   3 +--
 lib/Doctrine/ORM/Query/AST/Functions/MinFunction.php              |   3 +--
 lib/Doctrine/ORM/Query/AST/Functions/SumFunction.php              |   3 +--
 lib/Doctrine/ORM/Query/AST/GeneralCaseExpression.php              |   7 +------
 lib/Doctrine/ORM/Query/AST/GroupByClause.php                      |   6 +-----
 lib/Doctrine/ORM/Query/AST/IndexBy.php                            |   6 +-----
 lib/Doctrine/ORM/Query/AST/InstanceOfExpression.php               |   8 ++------
 lib/Doctrine/ORM/Query/AST/Join.php                               |  15 ++++-----------
 lib/Doctrine/ORM/Query/AST/JoinClassPathExpression.php            |  10 +---------
 lib/Doctrine/ORM/Query/AST/Literal.php                            |  16 ++++------------
 lib/Doctrine/ORM/Query/AST/NewObjectExpression.php                |   6 +-----
 lib/Doctrine/ORM/Query/AST/Node.php                               |   6 +++---
 lib/Doctrine/ORM/Query/AST/NullIfExpression.php                   |   6 +-----
 lib/Doctrine/ORM/Query/AST/OrderByClause.php                      |   6 +-----
 lib/Doctrine/ORM/Query/AST/OrderByItem.php                        |   3 +--
 lib/Doctrine/ORM/Query/AST/ParenthesisExpression.php              |   6 +-----
 lib/Doctrine/ORM/Query/AST/PartialObjectExpression.php            |   6 +-----
 lib/Doctrine/ORM/Query/AST/PathExpression.php                     |  15 ++++-----------
 lib/Doctrine/ORM/Query/AST/RangeVariableDeclaration.php           |   8 ++------
 lib/Doctrine/ORM/Query/AST/SelectClause.php                       |   6 +-----
 lib/Doctrine/ORM/Query/AST/SelectExpression.php                   |   3 +--
 lib/Doctrine/ORM/Query/AST/SimpleArithmeticExpression.php         |   6 +-----
 lib/Doctrine/ORM/Query/AST/SimpleCaseExpression.php               |   3 +--
 lib/Doctrine/ORM/Query/AST/SimpleWhenClause.php                   |   6 +-----
 lib/Doctrine/ORM/Query/AST/SubselectFromClause.php                |   6 +-----
 lib/Doctrine/ORM/Query/AST/UpdateClause.php                       |   6 +-----
 lib/Doctrine/ORM/Query/AST/WhenClause.php                         |   3 +--
 lib/Doctrine/ORM/Query/Exec/AbstractSqlExecutor.php               |   6 ++----
 lib/Doctrine/ORM/Query/Exec/MultiTableDeleteExecutor.php          |  11 ++++-------
 lib/Doctrine/ORM/Query/Exec/MultiTableUpdateExecutor.php          |  16 ++++++----------
 lib/Doctrine/ORM/Query/Expr.php                                   |  83 +++++++++++++++++++++++++++++++++++++++--------------------------------------------
 lib/Doctrine/ORM/Query/Expr/Base.php                              |  13 +++++--------
 lib/Doctrine/ORM/Query/Expr/Comparison.php                        |  20 +++++++++-----------
 lib/Doctrine/ORM/Query/Expr/From.php                              |   4 ++--
 lib/Doctrine/ORM/Query/Expr/Func.php                              |   4 ++--
 lib/Doctrine/ORM/Query/Expr/Math.php                              |   8 +++-----
 lib/Doctrine/ORM/Query/Expr/OrderBy.php                           |   4 ++--
 lib/Doctrine/ORM/Query/Filter/SQLFilter.php                       |   2 +-
 lib/Doctrine/ORM/Query/FilterCollection.php                       |   6 +++---
 lib/Doctrine/ORM/Query/Lexer.php                                  | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------
 lib/Doctrine/ORM/Query/Parameter.php                              |   4 ++--
 lib/Doctrine/ORM/Query/ParserResult.php                           |  16 +++++-----------
 lib/Doctrine/ORM/Query/Printer.php                                |  12 ++----------
 lib/Doctrine/ORM/Query/QueryExpressionVisitor.php                 |  22 ++++++++--------------
 lib/Doctrine/ORM/Query/ResultSetMapping.php                       |   2 +-
 lib/Doctrine/ORM/Query/ResultSetMappingBuilder.php                |   8 ++++----
 lib/Doctrine/ORM/Query/SqlWalker.php                              |  28 ++++++++++++++--------------
 lib/Doctrine/ORM/Tools/Console/Command/MappingDescribeCommand.php |   2 +-
 lib/Doctrine/ORM/Tools/Console/Command/RunDqlCommand.php          |   2 +-
 lib/Doctrine/ORM/Tools/Pagination/CountOutputWalker.php           |   4 ++--
 lib/Doctrine/ORM/Tools/Pagination/CountWalker.php                 |   2 +-
 lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryOutputWalker.php   |  12 ++++++------
 lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryWalker.php         |   4 ++--
 lib/Doctrine/ORM/Tools/Pagination/RowNumberOverFunction.php       |   2 +-
 lib/Doctrine/ORM/Tools/Pagination/WhereInWalker.php               |   8 +++-----
 lib/Doctrine/ORM/Tools/SchemaTool.php                             |   2 +-
 lib/Doctrine/ORM/Tools/ToolEvents.php                             |   4 ++--
 lib/Doctrine/ORM/UnitOfWork.php                                   |  14 +++++++-------
 100 files changed, 463 insertions(+), 776 deletions(-)

@derrabus what's your opinion on this? That rule removes things such as Expr\AndX()… I think we should either apply it on 2.14.x to avoid the 2 branches diverging too much, or turn it off when running Rector and fixing imports manually. I don't fully remember why I needed it it, so until I do, I should probably turn it off. Here is what happens when I turn it off:

diff --git a/lib/Doctrine/ORM/Query/AST/Functions/MaxFunction.php b/lib/Doctrine/ORM/Query/AST/Functions/MaxFunction.php
index a08e33413..a5750c5a8 100644
--- a/lib/Doctrine/ORM/Query/AST/Functions/MaxFunction.php
+++ b/lib/Doctrine/ORM/Query/AST/Functions/MaxFunction.php
@@ -13,8 +13,7 @@
  */
 final class MaxFunction extends FunctionNode
 {
-    /** @var AggregateExpression */
-    private $aggregateExpression;
+    private ?\Doctrine\ORM\Query\AST\AggregateExpression $aggregateExpression = null;

     public function getSql(SqlWalker $sqlWalker): string
     {

EDIT: in case you're wondering, running vendor/bin/phpcbf on the code above produces this:

diff --git a/lib/Doctrine/ORM/Query/AST/Functions/AvgFunction.php b/lib/Doctrine/ORM/Query/AST/Functions/AvgFunction.php
index a0b0ca5e5..5465553f4 100644
--- a/lib/Doctrine/ORM/Query/AST/Functions/AvgFunction.php
+++ b/lib/Doctrine/ORM/Query/AST/Functions/AvgFunction.php
@@ -4,7 +4,6 @@

 namespace Doctrine\ORM\Query\AST\Functions;

-use Doctrine\ORM\Query\AST\AggregateExpression;
 use Doctrine\ORM\Query\Parser;
 use Doctrine\ORM\Query\SqlWalker;

@@ -13,8 +12,7 @@
  */
 final class AvgFunction extends FunctionNode
 {
-    /** @var AggregateExpression */
-    private $aggregateExpression;
+    private AggregateExpression|null $aggregateExpression = null;

     public function getSql(SqlWalker $sqlWalker): string
     {

The use statement goes away.

phpcs shows this:

FILE: lib/Doctrine/ORM/Query/AST/Functions/AvgFunction.php
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
FOUND 3 ERRORS AFFECTING 2 LINES
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  7 | ERROR | [x] Type Doctrine\ORM\Query\AST\AggregateExpression is not used in this file. (SlevomatCodingStandard.Namespaces.UnusedUses.UnusedUse)
 16 | ERROR | [x] Usage of short nullable type hint in "?\Doctrine\ORM\Query\AST\AggregateExpression" is disallowed. (SlevomatCodingStandard.TypeHints.UnionTypeHintFormat.DisallowedShortNullable)
 16 | ERROR | [x] Class \Doctrine\ORM\Query\AST\AggregateExpression should not be referenced via a fully qualified name, but via a use statement.
    |       |     (SlevomatCodingStandard.Namespaces.ReferenceUsedNamesOnly.ReferenceViaFullyQualifiedName)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PHPCBF CAN FIX THE 3 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Maybe I should report a bug? Or maybe it's not fixable?

@derrabus
Copy link
Member

derrabus commented Nov 9, 2022

Shouldn't this be cleaned up by PHPCBF?

@greg0ire
Copy link
Member Author

greg0ire commented Nov 9, 2022

PHPCBF wrongly removes the use statement (maybe because it wants to fix the first error).

@greg0ire
Copy link
Member Author

Reported at slevomat/coding-standard#1466

@greg0ire
Copy link
Member Author

I wished I reported this earlier, @kukulich fixed it like was nothing! Let's definitely remove that importName().

@greg0ire
Copy link
Member Author

greg0ire commented Jan 3, 2023

down to 65 files 💪
 lib/Doctrine/ORM/AbstractQuery.php                                |  14 +++---
 lib/Doctrine/ORM/Cache/DefaultCacheFactory.php                    |   2 +-
 lib/Doctrine/ORM/EntityManager.php                                |  24 +++++-----
 lib/Doctrine/ORM/EntityNotFoundException.php                      |   4 +-
 lib/Doctrine/ORM/EntityRepository.php                             |   2 +-
 lib/Doctrine/ORM/Event/LifecycleEventArgs.php                     |   8 +---
 lib/Doctrine/ORM/Event/LoadClassMetadataEventArgs.php             |   4 +-
 lib/Doctrine/ORM/Event/OnClassMetadataNotFoundEventArgs.php       |  16 +++----
 lib/Doctrine/ORM/Event/OnFlushEventArgs.php                       |   4 +-
 lib/Doctrine/ORM/Event/PostFlushEventArgs.php                     |   4 +-
 lib/Doctrine/ORM/Event/PreFlushEventArgs.php                      |   4 +-
 lib/Doctrine/ORM/Event/PreUpdateEventArgs.php                     |  19 +++-----
 lib/Doctrine/ORM/Exception/EntityMissingAssignedId.php            |   3 +-
 lib/Doctrine/ORM/Id/AssignedGenerator.php                         |   2 +-
 lib/Doctrine/ORM/Internal/Hydration/AbstractHydrator.php          |   6 +--
 lib/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php            |   2 +-
 lib/Doctrine/ORM/Mapping/ChainTypedFieldMapper.php                |   2 +-
 lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php                 |   2 +-
 lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php                    |  28 ++++++------
 lib/Doctrine/ORM/Mapping/DefaultEntityListenerResolver.php        |   2 +-
 lib/Doctrine/ORM/Mapping/DefaultQuoteStrategy.php                 |   8 ++--
 lib/Doctrine/ORM/Mapping/Driver/AttributeDriver.php               |   4 +-
 lib/Doctrine/ORM/Mapping/Driver/AttributeReader.php               |   2 +-
 lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php                |  52 +++++++--------------
 lib/Doctrine/ORM/Mapping/Driver/SimplifiedXmlDriver.php           |   2 +-
 lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php                     |   9 ++--
 lib/Doctrine/ORM/Mapping/MappingException.php                     | 459 ++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------
 lib/Doctrine/ORM/Mapping/ReflectionEnumProperty.php               |   6 +--
 lib/Doctrine/ORM/NonUniqueResultException.php                     |   2 +-
 lib/Doctrine/ORM/ORMInvalidArgumentException.php                  |  98 +++++++---------------------------------
 lib/Doctrine/ORM/OptimisticLockException.php                      |  25 ++---------
 lib/Doctrine/ORM/PersistentCollection.php                         |  26 +++++------
 lib/Doctrine/ORM/Persisters/Collection/OneToManyPersister.php     |   4 +-
 lib/Doctrine/ORM/PessimisticLockException.php                     |   3 +-
 lib/Doctrine/ORM/Query.php                                        |   2 +-
 lib/Doctrine/ORM/Query/AST/Functions/TrimFunction.php             |   2 +-
 lib/Doctrine/ORM/Query/AST/Node.php                               |   2 +-
 lib/Doctrine/ORM/Query/AST/PathExpression.php                     |   2 +-
 lib/Doctrine/ORM/Query/Exec/AbstractSqlExecutor.php               |  13 ++----
 lib/Doctrine/ORM/Query/Exec/MultiTableDeleteExecutor.php          |  15 +++----
 lib/Doctrine/ORM/Query/Exec/MultiTableUpdateExecutor.php          |  20 +++------
 lib/Doctrine/ORM/Query/Exec/SingleSelectExecutor.php              |   4 +-
 lib/Doctrine/ORM/Query/Exec/SingleTableDeleteUpdateExecutor.php   |   4 +-
 lib/Doctrine/ORM/Query/Expr.php                                   |   4 +-
 lib/Doctrine/ORM/Query/Filter/SQLFilter.php                       |   2 +-
 lib/Doctrine/ORM/Query/FilterCollection.php                       |   6 +--
 lib/Doctrine/ORM/Query/Parameter.php                              |   4 +-
 lib/Doctrine/ORM/Query/Parser.php                                 | 518 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------------------------
 lib/Doctrine/ORM/Query/ParserResult.php                           |  33 +++++---------
 lib/Doctrine/ORM/Query/Printer.php                                |  24 +++-------
 lib/Doctrine/ORM/Query/QueryException.php                         | 102 ++++++++----------------------------------
 lib/Doctrine/ORM/Query/ResultSetMapping.php                       |   4 +-
 lib/Doctrine/ORM/Query/ResultSetMappingBuilder.php                |   8 ++--
 lib/Doctrine/ORM/Query/SqlWalker.php                              |  24 +++++-----
 lib/Doctrine/ORM/Tools/Console/Command/MappingDescribeCommand.php |   2 +-
 lib/Doctrine/ORM/Tools/Pagination/CountOutputWalker.php           |   4 +-
 lib/Doctrine/ORM/Tools/Pagination/CountWalker.php                 |   2 +-
 lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryOutputWalker.php   |  12 ++---
 lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryWalker.php         |   4 +-
 lib/Doctrine/ORM/Tools/Pagination/Paginator.php                   |   2 +-
 lib/Doctrine/ORM/Tools/Pagination/WhereInWalker.php               |   8 ++--
 lib/Doctrine/ORM/Tools/SchemaTool.php                             |   2 +-
 lib/Doctrine/ORM/Tools/ToolEvents.php                             |   4 +-
 lib/Doctrine/ORM/TransactionRequiredException.php                 |   3 +-
 lib/Doctrine/ORM/UnitOfWork.php                                   |  14 +++---
 65 files changed, 441 insertions(+), 1261 deletions(-)

@greg0ire
Copy link
Member Author

greg0ire commented Jan 8, 2023

Updated the above config file to disable FinalizePublicClassConstantRector. We can treat that one separately if we want to.

As a result of that and recent PRs,

we're down to 31 files if we include #10378
 lib/Doctrine/ORM/AbstractQuery.php                                |   2 +-
 lib/Doctrine/ORM/EntityManager.php                                |  24 +++++-----
 lib/Doctrine/ORM/EntityRepository.php                             |   2 +-
 lib/Doctrine/ORM/Event/OnClassMetadataNotFoundEventArgs.php       |  16 +++----
 lib/Doctrine/ORM/Internal/Hydration/AbstractHydrator.php          |   2 +-
 lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php                    |  28 ++++++------
 lib/Doctrine/ORM/Mapping/DefaultEntityListenerResolver.php        |   2 +-
 lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php                |  52 +++++++--------------
 lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php                     |   9 ++--
 lib/Doctrine/ORM/Mapping/MappingException.php                     | 459 ++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------
 lib/Doctrine/ORM/ORMInvalidArgumentException.php                  |  98 +++++++---------------------------------
 lib/Doctrine/ORM/OptimisticLockException.php                      |  25 ++---------
 lib/Doctrine/ORM/PersistentCollection.php                         |  26 +++++------
 lib/Doctrine/ORM/Persisters/Collection/OneToManyPersister.php     |   4 +-
 lib/Doctrine/ORM/Query/AST/Functions/TrimFunction.php             |   2 +-
 lib/Doctrine/ORM/Query/AST/Node.php                               |   2 +-
 lib/Doctrine/ORM/Query/AST/PathExpression.php                     |   2 +-
 lib/Doctrine/ORM/Query/Exec/AbstractSqlExecutor.php               |  13 ++----
 lib/Doctrine/ORM/Query/Exec/MultiTableDeleteExecutor.php          |  15 +++----
 lib/Doctrine/ORM/Query/Exec/MultiTableUpdateExecutor.php          |  20 +++------
 lib/Doctrine/ORM/Query/Exec/SingleTableDeleteUpdateExecutor.php   |   2 +-
 lib/Doctrine/ORM/Query/Parser.php                                 | 518 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------------------------
 lib/Doctrine/ORM/Query/ParserResult.php                           |  33 +++++---------
 lib/Doctrine/ORM/Query/Printer.php                                |  24 +++-------
 lib/Doctrine/ORM/Query/QueryException.php                         | 102 ++++++++----------------------------------
 lib/Doctrine/ORM/Query/SqlWalker.php                              |  20 ++++-----
 lib/Doctrine/ORM/Tools/Console/Command/MappingDescribeCommand.php |   2 +-
 lib/Doctrine/ORM/Tools/Pagination/LimitSubqueryOutputWalker.php   |  12 ++---
 lib/Doctrine/ORM/Tools/Pagination/Paginator.php                   |   2 +-
 lib/Doctrine/ORM/Tools/SchemaTool.php                             |   2 +-
 lib/Doctrine/ORM/UnitOfWork.php                                   |   4 +-
 31 files changed, 370 insertions(+), 1154 deletions(-)

@greg0ire
Copy link
Member Author

greg0ire commented Feb 8, 2023

All done! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants