REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 2.07 KB
Close
//opt/cpanel/ea-wappspector/vendor/rector/rector/src/PhpAttribute/AnnotationToAttributeMapper.php
Text
Base64
<?php declare (strict_types=1); namespace Rector\PhpAttribute; use PhpParser\BuilderHelpers; use PhpParser\Node\Expr; use PhpParser\Node\Scalar\String_; use Rector\BetterPhpDocParser\PhpDoc\ArrayItemNode; use Rector\BetterPhpDocParser\PhpDoc\DoctrineAnnotationTagValueNode; use Rector\BetterPhpDocParser\PhpDoc\StringNode; use Rector\NodeTypeResolver\Node\AttributeKey; use Rector\PhpAttribute\Contract\AnnotationToAttributeMapperInterface; use Rector\PhpAttribute\Enum\DocTagNodeState; use RectorPrefix202411\Webmozart\Assert\Assert; /** * @see \Rector\Tests\PhpAttribute\AnnotationToAttributeMapper\AnnotationToAttributeMapperTest */ final class AnnotationToAttributeMapper { /** * @var AnnotationToAttributeMapperInterface[] * @readonly */ private $annotationToAttributeMappers; /** * @param AnnotationToAttributeMapperInterface[] $annotationToAttributeMappers */ public function __construct(array $annotationToAttributeMappers) { $this->annotationToAttributeMappers = $annotationToAttributeMappers; Assert::notEmpty($annotationToAttributeMappers); } /** * @return mixed|DocTagNodeState::REMOVE_ARRAY * @param mixed $value */ public function map($value) { foreach ($this->annotationToAttributeMappers as $annotationToAttributeMapper) { if ($annotationToAttributeMapper->isCandidate($value)) { return $annotationToAttributeMapper->map($value); } } if ($value instanceof Expr) { return $value; } // remove node, as handled elsewhere if ($value instanceof DoctrineAnnotationTagValueNode) { return DocTagNodeState::REMOVE_ARRAY; } if ($value instanceof ArrayItemNode) { return BuilderHelpers::normalizeValue((string) $value); } if ($value instanceof StringNode) { return new String_($value->value, [AttributeKey::KIND => $value->getAttribute(AttributeKey::KIND)]); } // fallback return BuilderHelpers::normalizeValue($value); } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 5 × Files: 3
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
AnnotationToAttributeMapper
DIR
-
drwxr-xr-x
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Contract
DIR
-
drwxr-xr-x
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Enum
DIR
-
drwxr-xr-x
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
NodeFactory
DIR
-
drwxr-xr-x
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ValueObject
DIR
-
drwxr-xr-x
2024-11-08 13:59:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
AnnotationToAttributeMapper.php
2.07 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
AttributeArrayNameInliner.php
2.41 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
UseAliasNameMatcher.php
2.75 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).