Skip to content

Commit faea431

Browse files
skip non final classes
1 parent da7c103 commit faea431

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
namespace Rector\Tests\TypeDeclaration\Rector\ClassMethod\NarrowObjectReturnTypeRector\Fixture;
4+
5+
use Rector\Tests\TypeDeclaration\Rector\ClassMethod\NarrowObjectReturnTypeRector\Source\ConferenceTalk;
6+
7+
class NonFinalFactory
8+
{
9+
public function create(): object
10+
{
11+
return new ConferenceTalk();
12+
}
13+
}
14+
15+
?>

rules/TypeDeclaration/Rector/ClassMethod/NarrowObjectReturnTypeRector.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,11 @@ public function refactor(Node $node): ?Node
105105
}
106106

107107
$classReflection = $this->reflectionResolver->resolveClassReflection($node);
108-
if ($classReflection instanceof ClassReflection && $classReflection->isAbstract()) {
108+
if (! $classReflection instanceof ClassReflection) {
109+
return null;
110+
}
111+
112+
if (! $classReflection->isFinal()) {
109113
return null;
110114
}
111115

0 commit comments

Comments
 (0)