REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 2.15 KB
Close
/opt/cpanel/ea-wappspector/vendor/rector/rector/vendor/rector/rector-doctrine/src/NodeAnalyzer/TargetEntityResolver.php
Text
Base64
<?php declare (strict_types=1); namespace Rector\Doctrine\NodeAnalyzer; use PhpParser\Node\Attribute; use PhpParser\Node\Expr; use PhpParser\Node\Expr\ClassConstFetch; use PhpParser\Node\Identifier; use PhpParser\Node\Scalar\String_; use PHPStan\Reflection\ReflectionProvider; use Rector\Doctrine\CodeQuality\Enum\EntityMappingKey; use Rector\Exception\NotImplementedYetException; use Rector\NodeNameResolver\NodeNameResolver; final class TargetEntityResolver { /** * @readonly * @var \Rector\NodeNameResolver\NodeNameResolver */ private $nodeNameResolver; /** * @readonly * @var \PHPStan\Reflection\ReflectionProvider */ private $reflectionProvider; public function __construct(NodeNameResolver $nodeNameResolver, ReflectionProvider $reflectionProvider) { $this->nodeNameResolver = $nodeNameResolver; $this->reflectionProvider = $reflectionProvider; } public function resolveFromAttribute(Attribute $attribute) : ?string { foreach ($attribute->args as $arg) { if (!$arg->name instanceof Identifier) { continue; } if ($arg->name->toString() !== EntityMappingKey::TARGET_ENTITY) { continue; } return $this->resolveFromExpr($arg->value); } return null; } public function resolveFromExpr(Expr $targetEntityExpr) : ?string { if ($targetEntityExpr instanceof ClassConstFetch) { $targetEntity = (string) $this->nodeNameResolver->getName($targetEntityExpr->class); if (!$this->reflectionProvider->hasClass($targetEntity)) { return null; } return $targetEntity; } if ($targetEntityExpr instanceof String_) { $targetEntity = $targetEntityExpr->value; if (!$this->reflectionProvider->hasClass($targetEntity)) { return null; } return $targetEntity; } $errorMessage = \sprintf('Add support for "%s" targetEntity in "%s"', \get_class($targetEntityExpr), self::class); throw new NotImplementedYetException($errorMessage); } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 6
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
AttributeFinder.php
4.39 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
AttrinationFinder.php
3.44 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ConstructorAssignPropertyAnalyzer.php
1.82 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DoctrineEntityDetector.php
1.28 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
MethodUniqueReturnedPropertyResolver.php
1.38 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
TargetEntityResolver.php
2.15 KB
lrw-r--r--
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).