Skip to content

Commit 3f749bd

Browse files
committed
Remove ClassMetadataInfo
It has been deprecated for a long, long time.
1 parent b5610c2 commit 3f749bd

File tree

11 files changed

+28
-65
lines changed

11 files changed

+28
-65
lines changed

UPGRADE.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Upgrade to 3.0
22

3+
## BC BREAK: Remove `Doctrine\ORM\Mapping\ClassMetadataInfo`
4+
5+
Use `Doctrine\ORM\Mapping\ClassMetadata` instead.
6+
37
## BC BREAK: Remove `Doctrine\ORM\Tools\DisconnectedClassMetadataFactory`
48

59
No replacement is provided.

lib/Doctrine/ORM/Mapping/Builder/ClassMetadataBuilder.php

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,7 @@
44

55
namespace Doctrine\ORM\Mapping\Builder;
66

7-
use Doctrine\Deprecations\Deprecation;
87
use Doctrine\ORM\Mapping\ClassMetadata;
9-
use Doctrine\ORM\Mapping\ClassMetadataInfo;
10-
11-
use function get_class;
128

139
/**
1410
* Builder Object for ClassMetadata
@@ -17,29 +13,15 @@
1713
*/
1814
class ClassMetadataBuilder
1915
{
20-
/** @var ClassMetadataInfo */
16+
/** @var ClassMetadata */
2117
private $cm;
2218

23-
public function __construct(ClassMetadataInfo $cm)
19+
public function __construct(ClassMetadata $cm)
2420
{
25-
if (! $cm instanceof ClassMetadata) {
26-
Deprecation::trigger(
27-
'doctrine/orm',
28-
'https://github.com/doctrine/orm/pull/249',
29-
'Passing an instance of %s to %s is deprecated, please pass a ClassMetadata instance instead.',
30-
get_class($cm),
31-
__METHOD__,
32-
ClassMetadata::class
33-
);
34-
}
35-
3621
$this->cm = $cm;
3722
}
3823

39-
/**
40-
* @return ClassMetadataInfo
41-
*/
42-
public function getClassMetadata()
24+
public function getClassMetadata(): ClassMetadata
4325
{
4426
return $this->cm;
4527
}

lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php renamed to lib/Doctrine/ORM/Mapping/ClassMetadata.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
use Doctrine\ORM\Cache\Exception\NonCacheableEntityAssociation;
1818
use Doctrine\ORM\EntityRepository;
1919
use Doctrine\ORM\Id\AbstractIdGenerator;
20-
use Doctrine\Persistence\Mapping\ClassMetadata;
20+
use Doctrine\Persistence\Mapping\ClassMetadata as PersistenceClassMetadata;
2121
use Doctrine\Persistence\Mapping\ReflectionService;
2222
use InvalidArgumentException;
2323
use LogicException;
@@ -71,7 +71,7 @@
7171
* the serialized representation).
7272
*
7373
* @template-covariant T of object
74-
* @template-implements ClassMetadata<T>
74+
* @template-implements PersistenceClassMetadata<T>
7575
* @psalm-type FieldMapping = array{
7676
* type: string,
7777
* fieldName: string,
@@ -96,7 +96,7 @@
9696
* options?: array<string, mixed>
9797
* }
9898
*/
99-
class ClassMetadataInfo implements ClassMetadata
99+
class ClassMetadata implements PersistenceClassMetadata
100100
{
101101
/* The inheritance mapping types */
102102
/**
@@ -1311,7 +1311,7 @@ public function getFieldMapping($fieldName)
13111311
/**
13121312
* Gets the mapping of an association.
13131313
*
1314-
* @see ClassMetadataInfo::$associationMappings
1314+
* @see ClassMetadata::$associationMappings
13151315
*
13161316
* @param string $fieldName The field name that represents the association in
13171317
* the object model.
@@ -1356,7 +1356,7 @@ public function getFieldName($columnName)
13561356
/**
13571357
* Gets the result set mapping.
13581358
*
1359-
* @see ClassMetadataInfo::$sqlResultSetMappings
1359+
* @see ClassMetadata::$sqlResultSetMappings
13601360
*
13611361
* @param string $name The result set mapping name.
13621362
*
@@ -1803,7 +1803,7 @@ protected function _validateAndCompleteOneToOneMapping(array $mapping)
18031803

18041804
if ($uniqueConstraintColumns) {
18051805
if (! $this->table) {
1806-
throw new RuntimeException('ClassMetadataInfo::setTable() has to be called before defining a one to one relationship.');
1806+
throw new RuntimeException('ClassMetadata::setTable() has to be called before defining a one to one relationship.');
18071807
}
18081808

18091809
$this->table['uniqueConstraints'][$mapping['fieldName'] . '_uniq'] = ['columns' => $uniqueConstraintColumns];
@@ -3312,7 +3312,7 @@ public function mapEmbedded(array $mapping)
33123312
*
33133313
* @return void
33143314
*/
3315-
public function inlineEmbeddable($property, ClassMetadataInfo $embeddable)
3315+
public function inlineEmbeddable($property, ClassMetadata $embeddable)
33163316
{
33173317
foreach ($embeddable->fieldMappings as $fieldMapping) {
33183318
$fieldMapping['originalClass'] ??= $embeddable->name;

lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ protected function validateRuntimeMetadata(ClassMetadata $class, ?ClassMetadataI
249249
}
250250
}
251251
} else {
252-
assert($parent instanceof ClassMetadataInfo); // https://github.com/doctrine/orm/issues/8746
252+
assert($parent instanceof ClassMetadata); // https://github.com/doctrine/orm/issues/8746
253253
if (
254254
! $class->reflClass->isAbstract()
255255
&& ! in_array($class->name, $class->discriminatorMap, true)
@@ -477,7 +477,7 @@ private function addInheritedSqlResultSetMappings(ClassMetadata $subClass, Class
477477
*
478478
* @throws ORMException
479479
*/
480-
private function completeIdGeneratorMapping(ClassMetadataInfo $class): void
480+
private function completeIdGeneratorMapping(ClassMetadata $class): void
481481
{
482482
$idGenType = $class->generatorType;
483483
if ($idGenType === ClassMetadata::GENERATOR_TYPE_AUTO) {
@@ -612,7 +612,7 @@ private function truncateSequenceName(string $schemaElementName): string
612612
/**
613613
* Inherits the ID generator mapping from a parent class.
614614
*/
615-
private function inheritIdGeneratorMapping(ClassMetadataInfo $class, ClassMetadataInfo $parent): void
615+
private function inheritIdGeneratorMapping(ClassMetadata $class, ClassMetadata $parent): void
616616
{
617617
if ($parent->isIdGeneratorSequence()) {
618618
$class->setSequenceGeneratorDefinition($parent->sequenceGeneratorDefinition);

lib/Doctrine/ORM/Mapping/Driver/DatabaseDriver.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
use Doctrine\Inflector\Inflector;
1515
use Doctrine\Inflector\InflectorFactory;
1616
use Doctrine\ORM\Mapping\ClassMetadata;
17-
use Doctrine\ORM\Mapping\ClassMetadataInfo;
1817
use Doctrine\ORM\Mapping\MappingException;
1918
use Doctrine\Persistence\Mapping\ClassMetadata as PersistenceClassMetadata;
2019
use Doctrine\Persistence\Mapping\Driver\MappingDriver;
@@ -319,7 +318,7 @@ private function reverseEngineerMappingFromDatabase(): void
319318
/**
320319
* Build indexes from a class metadata.
321320
*/
322-
private function buildIndexes(ClassMetadataInfo $metadata): void
321+
private function buildIndexes(ClassMetadata $metadata): void
323322
{
324323
$tableName = $metadata->table['name'];
325324
$indexes = $this->tables[$tableName]->getIndexes();
@@ -342,7 +341,7 @@ private function buildIndexes(ClassMetadataInfo $metadata): void
342341
/**
343342
* Build field mapping from class metadata.
344343
*/
345-
private function buildFieldMappings(ClassMetadataInfo $metadata): void
344+
private function buildFieldMappings(ClassMetadata $metadata): void
346345
{
347346
$tableName = $metadata->table['name'];
348347
$columns = $this->tables[$tableName]->getColumns();
@@ -457,7 +456,7 @@ private function buildFieldMapping(string $tableName, Column $column): array
457456
*
458457
* @return void
459458
*/
460-
private function buildToOneAssociationMappings(ClassMetadataInfo $metadata)
459+
private function buildToOneAssociationMappings(ClassMetadata $metadata)
461460
{
462461
$tableName = $metadata->table['name'];
463462
$primaryKeys = $this->getTablePrimaryKeys($this->tables[$tableName]);

lib/Doctrine/ORM/PersistentCollection.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -131,10 +131,7 @@ public function getOwner()
131131
return $this->owner;
132132
}
133133

134-
/**
135-
* @return Mapping\ClassMetadata
136-
*/
137-
public function getTypeClass(): Mapping\ClassMetadataInfo
134+
public function getTypeClass(): Mapping\ClassMetadata
138135
{
139136
return $this->typeClass;
140137
}

lib/Doctrine/ORM/Tools/SchemaValidator.php

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,8 @@
55
namespace Doctrine\ORM\Tools;
66

77
use Doctrine\DBAL\Types\Type;
8-
use Doctrine\Deprecations\Deprecation;
98
use Doctrine\ORM\EntityManagerInterface;
109
use Doctrine\ORM\Mapping\ClassMetadata;
11-
use Doctrine\ORM\Mapping\ClassMetadataInfo;
1210

1311
use function array_diff;
1412
use function array_key_exists;
@@ -17,7 +15,6 @@
1715
use function class_exists;
1816
use function class_parents;
1917
use function count;
20-
use function get_class;
2118
use function implode;
2219
use function in_array;
2320

@@ -70,19 +67,8 @@ public function validateMapping()
7067
* @return string[]
7168
* @psalm-return list<string>
7269
*/
73-
public function validateClass(ClassMetadataInfo $class)
70+
public function validateClass(ClassMetadata $class)
7471
{
75-
if (! $class instanceof ClassMetadata) {
76-
Deprecation::trigger(
77-
'doctrine/orm',
78-
'https://github.com/doctrine/orm/pull/249',
79-
'Passing an instance of %s to %s is deprecated, please pass a ClassMetadata instance instead.',
80-
get_class($class),
81-
__METHOD__,
82-
ClassMetadata::class
83-
);
84-
}
85-
8672
$ce = [];
8773
$cmf = $this->em->getMetadataFactory();
8874

phpcs.xml.dist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@
201201

202202
<rule ref="PSR2.Methods.MethodDeclaration.Underscore">
203203
<exclude-pattern>lib/Doctrine/ORM/AbstractQuery.php</exclude-pattern>
204-
<exclude-pattern>lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php</exclude-pattern>
204+
<exclude-pattern>lib/Doctrine/ORM/Mapping/ClassMetadata.php</exclude-pattern>
205205
<exclude-pattern>lib/Doctrine/ORM/NativeQuery.php</exclude-pattern>
206206
<exclude-pattern>lib/Doctrine/ORM/Query.php</exclude-pattern>
207207
<exclude-pattern>lib/Doctrine/ORM/Query/TreeWalkerAdapter.php</exclude-pattern>

phpstan-baseline.neon

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -140,20 +140,15 @@ parameters:
140140
count: 1
141141
path: lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php
142142

143-
-
144-
message: "#^Parameter \\#2 \\$class of method Doctrine\\\\ORM\\\\Mapping\\\\QuoteStrategy\\:\\:getSequenceName\\(\\) expects Doctrine\\\\ORM\\\\Mapping\\\\ClassMetadata, Doctrine\\\\ORM\\\\Mapping\\\\ClassMetadataInfo given\\.$#"
145-
count: 2
146-
path: lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php
147-
148143
-
149144
message: "#^Method Doctrine\\\\ORM\\\\Mapping\\\\NamingStrategy\\:\\:joinColumnName\\(\\) invoked with 2 parameters, 1 required\\.$#"
150145
count: 2
151-
path: lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php
146+
path: lib/Doctrine/ORM/Mapping/ClassMetadata.php
152147

153148
-
154149
message: "#^Negated boolean expression is always false\\.$#"
155150
count: 1
156-
path: lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php
151+
path: lib/Doctrine/ORM/Mapping/ClassMetadata.php
157152

158153
-
159154
message: "#^Call to an undefined method Doctrine\\\\Persistence\\\\Mapping\\\\ClassMetadata\\:\\:mapEmbedded\\(\\)\\.$#"

psalm-baseline.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@
382382
<code>$parent-&gt;idGenerator</code>
383383
</RedundantConditionGivenDocblockType>
384384
</file>
385-
<file src="lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php">
385+
<file src="lib/Doctrine/ORM/Mapping/ClassMetadata.php">
386386
<DeprecatedProperty occurrences="4">
387387
<code>$this-&gt;columnNames</code>
388388
<code>$this-&gt;columnNames</code>

0 commit comments

Comments
 (0)