mirror of
https://github.com/rectorphp/rector.git
synced 2025-02-13 20:36:23 +01:00
add isInDoctrineEntityClass() method
This commit is contained in:
parent
86dac89caa
commit
a49bac510e
@ -2,6 +2,7 @@
|
||||
|
||||
namespace Rector\Doctrine\AbstractRector;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\Node\Stmt\Property;
|
||||
use Rector\Doctrine\PhpDocParser\DoctrineDocBlockResolver;
|
||||
@ -32,6 +33,11 @@ trait DoctrineTrait
|
||||
return $this->doctrineDocBlockResolver->isDoctrineEntityClass($class);
|
||||
}
|
||||
|
||||
protected function isInDoctrineEntityClass(Node $node): bool
|
||||
{
|
||||
return $this->doctrineDocBlockResolver->isInDoctrineEntityClass($node);
|
||||
}
|
||||
|
||||
protected function getTargetEntity(Property $property): ?string
|
||||
{
|
||||
return $this->doctrineDocBlockResolver->getTargetEntity($property);
|
||||
|
@ -4,12 +4,14 @@ namespace Rector\Doctrine\PhpDocParser;
|
||||
|
||||
use PhpParser\Node;
|
||||
use PhpParser\Node\Stmt\Class_;
|
||||
use PhpParser\Node\Stmt\ClassLike;
|
||||
use PhpParser\Node\Stmt\Property;
|
||||
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
|
||||
use Rector\DoctrinePhpDocParser\Ast\PhpDoc\Class_\EntityTagValueNode;
|
||||
use Rector\DoctrinePhpDocParser\Ast\PhpDoc\Property_\ColumnTagValueNode;
|
||||
use Rector\DoctrinePhpDocParser\Ast\PhpDoc\Property_\IdTagValueNode;
|
||||
use Rector\DoctrinePhpDocParser\Contract\Ast\PhpDoc\DoctrineRelationTagValueNodeInterface;
|
||||
use Rector\NodeTypeResolver\Node\AttributeKey;
|
||||
use Rector\NodeTypeResolver\PhpDoc\NodeAnalyzer\DocBlockManipulator;
|
||||
|
||||
final class DoctrineDocBlockResolver
|
||||
@ -97,6 +99,17 @@ final class DoctrineDocBlockResolver
|
||||
return (bool) $propertyPhpDocInfo->getByType(DoctrineRelationTagValueNodeInterface::class);
|
||||
}
|
||||
|
||||
public function isInDoctrineEntityClass(Node $node): bool
|
||||
{
|
||||
/** @var ClassLike|null $classNode */
|
||||
$classNode = $node->getAttribute(AttributeKey::CLASS_NODE);
|
||||
if (! $classNode instanceof Class_) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $this->isDoctrineEntityClass($classNode);
|
||||
}
|
||||
|
||||
private function getPhpDocInfo(Node $node): ?PhpDocInfo
|
||||
{
|
||||
if ($node->getDocComment() === null) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user