Skip to content

Commit 2ac49f5

Browse files
committed
Solve the problem with isAnonymous()
1 parent 6fe5889 commit 2ac49f5

4 files changed

+26
-6
lines changed

Diff for: src/Rules/Deprecations/ImplementationOfDeprecatedInterfaceRule.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public function processNode(Node $node, Scope $scope): array
5353
$interface = $this->broker->getClass($interfaceName);
5454

5555
if ($interface->isDeprecated()) {
56-
if (!$class->getNativeReflection()->isAnonymous()) {
56+
if (!$class->isAnonymous()) {
5757
$errors[] = sprintf(
5858
'Class %s implements deprecated interface %s.',
5959
$className,

Diff for: src/Rules/Deprecations/InheritanceOfDeprecatedClassRule.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public function processNode(Node $node, Scope $scope): array
5656
$parentClass = $this->broker->getClass($parentClassName);
5757

5858
if ($parentClass->isDeprecated()) {
59-
if (!$class->getNativeReflection()->isAnonymous()) {
59+
if (!$class->isAnonymous()) {
6060
$errors[] = sprintf(
6161
'Class %s extends deprecated class %s.',
6262
$className,

Diff for: tests/Rules/Deprecations/ImplementationOfDeprecatedInterfaceRuleTest.php

+24-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@ public function testImplementationOfDeprecatedInterfacesInClasses(): void
3535

3636
public function testImplementationOfDeprecatedInterfacesInAnonymousClasses(): void
3737
{
38-
static::markTestSkipped('The `isAnonymous` method in the ReflectionClass doesn\'t work for some reason.');
39-
4038
require_once __DIR__ . '/data/implementation-of-deprecated-interface-definition.php';
4139
$this->analyse(
4240
[__DIR__ . '/data/implementation-of-deprecated-interface-in-anonymous-classes.php'],
@@ -53,6 +51,30 @@ public function testImplementationOfDeprecatedInterfacesInAnonymousClasses(): vo
5351
'Anonymous class implements deprecated interface ImplementationOfDeprecatedInterface\DeprecatedFooable2.',
5452
13,
5553
],
54+
[
55+
'Anonymous class implements deprecated interface ImplementationOfDeprecatedInterface\DeprecatedFooable.',
56+
26,
57+
],
58+
[
59+
'Anonymous class implements deprecated interface ImplementationOfDeprecatedInterface\DeprecatedFooable.',
60+
30,
61+
],
62+
[
63+
'Anonymous class implements deprecated interface ImplementationOfDeprecatedInterface\DeprecatedFooable2.',
64+
30,
65+
],
66+
[
67+
'Anonymous class implements deprecated interface ImplementationOfDeprecatedInterface\DeprecatedFooable.',
68+
47,
69+
],
70+
[
71+
'Anonymous class implements deprecated interface ImplementationOfDeprecatedInterface\DeprecatedFooable.',
72+
51,
73+
],
74+
[
75+
'Anonymous class implements deprecated interface ImplementationOfDeprecatedInterface\DeprecatedFooable2.',
76+
51,
77+
],
5678
]
5779
);
5880
}

Diff for: tests/Rules/Deprecations/InheritanceOfDeprecatedClassRuleTest.php

-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ public function testInheritanceOfDeprecatedClassInClasses(): void
2727

2828
public function testInheritanceOfDeprecatedClassInAnonymousClasses(): void
2929
{
30-
static::markTestSkipped('The `isAnonymous` method in the ReflectionClass doesn\'t work for some reason.');
31-
3230
require_once __DIR__ . '/data/inheritance-of-deprecated-class-definition.php';
3331
$this->analyse(
3432
[__DIR__ . '/data/inheritance-of-deprecated-class-in-anonymous-classes.php'],

0 commit comments

Comments
 (0)