Skip to content

Commit a9a1a47

Browse files
committed
Fix access on namespacedName in anonymous classes - fixes #1
1 parent ae3a842 commit a9a1a47

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

src/Rules/Deprecations/InstantiationOfDeprecatedClassRule.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ public function processNode(Node $node, Scope $scope): array
4747
if ($node->class instanceof Name) {
4848
$referencedClasses[] = $scope->resolveName($node->class);
4949
} elseif ($node->class instanceof Class_) {
50+
if ($node->class->isAnonymous()) {
51+
return [];
52+
}
53+
5054
$referencedClasses[] = $scope->resolveName($node->class->namespacedName);
5155
} else {
5256
$classTypeResult = $this->ruleLevelHelper->findTypeToCheck(

tests/Rules/Deprecations/data/instantiation-of-deprecated-class.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,8 @@ public function foo()
2525
$deprecatedFoo = new DeprecatedFoo();
2626
}
2727
}
28+
29+
// #1: `namespacedName` property doesn't exist in anonymous classes
30+
new class() extends Foo {
31+
32+
};

0 commit comments

Comments
 (0)