Skip to content

Commit dcbdfe4

Browse files
authored
Merge pull request #434 from doctrine/4.0.x-merge-up-into-4.1.x_c0gHyWAW
Merge release 4.0.1 into 4.1.x
2 parents 8e8ac40 + 275afd6 commit dcbdfe4

File tree

9 files changed

+15
-58
lines changed

9 files changed

+15
-58
lines changed

.github/workflows/continuous-integration.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ jobs:
1414
name: "PHPUnit"
1515
uses: "doctrine/.github/.github/workflows/[email protected]"
1616
with:
17-
php-versions: '["8.1", "8.2", "8.3"]'
17+
php-versions: '["8.1", "8.2", "8.3", "8.4"]'
1818
secrets:
1919
CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}"

phpstan-baseline.neon

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,6 @@ parameters:
55
count: 1
66
path: src/Persistence/Mapping/Driver/StaticPHPDriver.php
77

8-
-
9-
message: "#^Doctrine\\\\Persistence\\\\Reflection\\\\EnumReflectionProperty\\:\\:__construct\\(\\) does not call parent constructor from ReflectionProperty\\.$#"
10-
count: 1
11-
path: src/Persistence/Reflection/EnumReflectionProperty.php
12-
13-
-
14-
message: "#^Method Doctrine\\\\Persistence\\\\Reflection\\\\EnumReflectionProperty\\:\\:getDeclaringClass\\(\\) return type with generic class ReflectionClass does not specify its types\\: T$#"
15-
count: 1
16-
path: src/Persistence/Reflection/EnumReflectionProperty.php
17-
188
-
199
message: "#^Method Doctrine\\\\Persistence\\\\Reflection\\\\EnumReflectionProperty\\:\\:toEnum\\(\\) should return array\\<BackedEnum\\>\\|BackedEnum but returns array\\<BackedEnum\\|int\\|string\\>\\.$#"
2010
count: 1

src/Persistence/Mapping/ReflectionService.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public function getClassNamespace(string $class): string;
4949
public function getClass(string $class): ReflectionClass;
5050

5151
/**
52-
* Returns an accessible property (setAccessible(true)) or null.
52+
* Returns an accessible property or null.
5353
*
5454
* @phpstan-param class-string $class
5555
*/

src/Persistence/Mapping/RuntimeReflectionService.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,6 @@ public function getAccessibleProperty(string $class, string $property): RuntimeR
7979
$reflectionProperty = new TypedNoDefaultReflectionProperty($class, $property);
8080
}
8181

82-
$reflectionProperty->setAccessible(true);
83-
8482
return $reflectionProperty;
8583
}
8684

src/Persistence/Reflection/EnumReflectionProperty.php

Lines changed: 1 addition & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
namespace Doctrine\Persistence\Reflection;
66

77
use BackedEnum;
8-
use ReflectionClass;
98
use ReflectionProperty;
10-
use ReflectionType;
119

1210
use function array_map;
1311
use function is_array;
@@ -21,29 +19,7 @@ class EnumReflectionProperty extends ReflectionProperty
2119
/** @param class-string<BackedEnum> $enumType */
2220
public function __construct(private readonly ReflectionProperty $originalReflectionProperty, private readonly string $enumType)
2321
{
24-
}
25-
26-
public function getDeclaringClass(): ReflectionClass
27-
{
28-
return $this->originalReflectionProperty->getDeclaringClass();
29-
}
30-
31-
public function getName(): string
32-
{
33-
return $this->originalReflectionProperty->getName();
34-
}
35-
36-
public function getType(): ReflectionType|null
37-
{
38-
return $this->originalReflectionProperty->getType();
39-
}
40-
41-
/**
42-
* {@inheritDoc}
43-
*/
44-
public function getAttributes(string|null $name = null, int $flags = 0): array
45-
{
46-
return $this->originalReflectionProperty->getAttributes($name, $flags);
22+
parent::__construct($originalReflectionProperty->class, $originalReflectionProperty->name);
4723
}
4824

4925
/**
@@ -120,19 +96,4 @@ private function toEnum(int|string|array|BackedEnum $value)
12096

12197
return $this->enumType::from($value);
12298
}
123-
124-
public function getModifiers(): int
125-
{
126-
return $this->originalReflectionProperty->getModifiers();
127-
}
128-
129-
public function getDocComment(): string|false
130-
{
131-
return $this->originalReflectionProperty->getDocComment();
132-
}
133-
134-
public function isPrivate(): bool
135-
{
136-
return $this->originalReflectionProperty->isPrivate();
137-
}
13899
}

tests/Persistence/Mapping/ClassMetadataFactoryTest.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,6 @@ public function testWillNotCacheFallbackMetadata(): void
187187
private static function getCache(AbstractClassMetadataFactory $classMetadataFactory): CacheItemPoolInterface|null
188188
{
189189
$method = new ReflectionMethod($classMetadataFactory, 'getCache');
190-
$method->setAccessible(true);
191190

192191
return $method->invoke($classMetadataFactory);
193192
}

tests/Persistence/Reflection/Reflection/EnumReflectionPropertyTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,18 @@ public function testIsPrivate(): void
135135
$reflProperty = new EnumReflectionProperty(new ReflectionProperty(TypedEnumClass::class, 'suit'), Suit::class);
136136
self::assertFalse($reflProperty->isPrivate());
137137
}
138+
139+
public function testIsPublic(): void
140+
{
141+
$reflProperty = new EnumReflectionProperty(new ReflectionProperty(TypedEnumClass::class, 'suit'), Suit::class);
142+
self::assertTrue($reflProperty->isPublic());
143+
}
144+
145+
public function testHasDefaultValue(): void
146+
{
147+
$reflProperty = new EnumReflectionProperty(new ReflectionProperty(TypedEnumClass::class, 'suit'), Suit::class);
148+
self::assertTrue($reflProperty->hasDefaultValue());
149+
}
138150
}
139151

140152
#[Attribute(Attribute::TARGET_PROPERTY)]

tests/Persistence/Reflection/TypedNoDefaultReflectionPropertyTest.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ public function testGetValue(): void
2929
public function testSetValueNull(): void
3030
{
3131
$reflection = new TypedNoDefaultReflectionProperty(TypedFoo::class, 'id');
32-
$reflection->setAccessible(true);
3332

3433
$object = new TypedFoo();
3534
$object->setId(1);
@@ -45,7 +44,6 @@ public function testSetValueNull(): void
4544
public function testSetValueNullOnNullableProperty(): void
4645
{
4746
$reflection = new TypedNoDefaultReflectionProperty(TypedNullableFoo::class, 'value');
48-
$reflection->setAccessible(true);
4947

5048
$object = new TypedNullableFoo();
5149

tests/Persistence/RuntimeReflectionPropertyTest.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ public function testGetSetValue(string $name, string $value): void
3434

3535
self::assertSame($value, $reflProperty->getValue($object));
3636

37-
$reflProperty->setAccessible(true);
3837
$reflProperty->setValue($object, 'changedValue');
3938

4039
self::assertSame('changedValue', $reflProperty->getValue($object));

0 commit comments

Comments
 (0)