BossBey File Manager
PHP:
7.4.33
OS:
Linux
User:
root
Root
/
.
/
vendor
/
phpdocumentor
/
reflection-docblock
/
src
/
DocBlock
/
Tags
📤 Upload
📝 New File
📁 New Folder
Close
Editing: Deprecated.php
<?php declare(strict_types=1); /** * This file is part of phpDocumentor. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * * @link */ namespace phpDocumentor\Reflection\DocBlock\Tags; use phpDocumentor\Reflection\DocBlock\Description; use phpDocumentor\Reflection\DocBlock\DescriptionFactory; use phpDocumentor\Reflection\Types\Context as TypeContext; use Webmozart\Assert\Assert; use function preg_match; /** * Reflection class for a {@}deprecated tag in a Docblock. */ final class Deprecated extends BaseTag implements Factory\StaticMethod { /** @var string */ protected $name = 'deprecated'; /** * PCRE regular expression matching a version vector. * Assumes the "x" modifier. */ public const REGEX_VECTOR = '(?: # Normal release vectors. \d\S* | # VCS version vectors. Per PHPCS, they are expected to # follow the form of the VCS name, followed by ":", followed # by the version vector itself. # By convention, popular VCSes like CVS, SVN and GIT use "$" # around the actual version vector. [^\s\:]+\:\s*\$[^\$]+\$ )'; /** @var string|null The version vector. */ private $version; public function __construct(?string $version = null, ?Description $description = null) { Assert::nullOrStringNotEmpty($version); $this->version = $version; $this->description = $description; } /** * @return static */ public static function create( ?string $body, ?DescriptionFactory $descriptionFactory = null, ?TypeContext $context = null ) : self { if (empty($body)) { return new static(); } $matches = []; if (!preg_match('/^(' . self::REGEX_VECTOR . ')\s*(.+)?$/sux', $body, $matches)) { return new static( null, $descriptionFactory !== null ? $descriptionFactory->create($body, $context) : null ); } Assert::notNull($descriptionFactory); return new static( $matches[1], $descriptionFactory->create($matches[2] ?? '', $context) ); } /** * Gets the version section of the tag. */ public function getVersion() : ?string { return $this->version; } /** * Returns a string representation for this tag. */ public function __toString() : string { return ($this->version ?? '') . ($this->description ? ' ' . $this->description->render() : ''); } }
Save
Cancel