Initial Commit
This commit is contained in:
27
dependencies/phpdocumentor/reflection-common/src/Element.php
vendored
Normal file
27
dependencies/phpdocumentor/reflection-common/src/Element.php
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
/**
|
||||
* phpDocumentor
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*
|
||||
* @link http://phpdoc.org
|
||||
*/
|
||||
namespace WP_Ultimo\Dependencies\phpDocumentor\Reflection;
|
||||
|
||||
/**
|
||||
* Interface for Api Elements
|
||||
*/
|
||||
interface Element
|
||||
{
|
||||
/**
|
||||
* Returns the Fqsen of the element.
|
||||
*/
|
||||
public function getFqsen() : Fqsen;
|
||||
/**
|
||||
* Returns the name of the element.
|
||||
*/
|
||||
public function getName() : string;
|
||||
}
|
31
dependencies/phpdocumentor/reflection-common/src/File.php
vendored
Normal file
31
dependencies/phpdocumentor/reflection-common/src/File.php
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
<?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 http://phpdoc.org
|
||||
*/
|
||||
namespace WP_Ultimo\Dependencies\phpDocumentor\Reflection;
|
||||
|
||||
/**
|
||||
* Interface for files processed by the ProjectFactory
|
||||
*/
|
||||
interface File
|
||||
{
|
||||
/**
|
||||
* Returns the content of the file as a string.
|
||||
*/
|
||||
public function getContents() : string;
|
||||
/**
|
||||
* Returns md5 hash of the file.
|
||||
*/
|
||||
public function md5() : string;
|
||||
/**
|
||||
* Returns an relative path to the file.
|
||||
*/
|
||||
public function path() : string;
|
||||
}
|
76
dependencies/phpdocumentor/reflection-common/src/Fqsen.php
vendored
Normal file
76
dependencies/phpdocumentor/reflection-common/src/Fqsen.php
vendored
Normal file
@ -0,0 +1,76 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
/**
|
||||
* phpDocumentor
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*
|
||||
* @link http://phpdoc.org
|
||||
*/
|
||||
namespace WP_Ultimo\Dependencies\phpDocumentor\Reflection;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use function assert;
|
||||
use function end;
|
||||
use function explode;
|
||||
use function is_string;
|
||||
use function preg_match;
|
||||
use function sprintf;
|
||||
use function trim;
|
||||
/**
|
||||
* Value Object for Fqsen.
|
||||
*
|
||||
* @link https://github.com/phpDocumentor/fig-standards/blob/master/proposed/phpdoc-meta.md
|
||||
*
|
||||
* @psalm-immutable
|
||||
*/
|
||||
final class Fqsen
|
||||
{
|
||||
/** @var string full quallified class name */
|
||||
private $fqsen;
|
||||
/** @var string name of the element without path. */
|
||||
private $name;
|
||||
/**
|
||||
* Initializes the object.
|
||||
*
|
||||
* @throws InvalidArgumentException when $fqsen is not matching the format.
|
||||
*/
|
||||
public function __construct(string $fqsen)
|
||||
{
|
||||
$matches = [];
|
||||
$result = preg_match(
|
||||
//phpcs:ignore Generic.Files.LineLength.TooLong
|
||||
'/^\\\\([a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff\\\\]*)?(?:[:]{2}\\$?([a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*))?(?:\\(\\))?$/',
|
||||
$fqsen,
|
||||
$matches
|
||||
);
|
||||
if ($result === 0) {
|
||||
throw new InvalidArgumentException(sprintf('"%s" is not a valid Fqsen.', $fqsen));
|
||||
}
|
||||
$this->fqsen = $fqsen;
|
||||
if (isset($matches[2])) {
|
||||
$this->name = $matches[2];
|
||||
} else {
|
||||
$matches = explode('\\', $fqsen);
|
||||
$name = end($matches);
|
||||
assert(is_string($name));
|
||||
$this->name = trim($name, '()');
|
||||
}
|
||||
}
|
||||
/**
|
||||
* converts this class to string.
|
||||
*/
|
||||
public function __toString() : string
|
||||
{
|
||||
return $this->fqsen;
|
||||
}
|
||||
/**
|
||||
* Returns the name of the element without path.
|
||||
*/
|
||||
public function getName() : string
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
}
|
47
dependencies/phpdocumentor/reflection-common/src/Location.php
vendored
Normal file
47
dependencies/phpdocumentor/reflection-common/src/Location.php
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
<?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 http://phpdoc.org
|
||||
*/
|
||||
namespace WP_Ultimo\Dependencies\phpDocumentor\Reflection;
|
||||
|
||||
/**
|
||||
* The location where an element occurs within a file.
|
||||
*
|
||||
* @psalm-immutable
|
||||
*/
|
||||
final class Location
|
||||
{
|
||||
/** @var int */
|
||||
private $lineNumber = 0;
|
||||
/** @var int */
|
||||
private $columnNumber = 0;
|
||||
/**
|
||||
* Initializes the location for an element using its line number in the file and optionally the column number.
|
||||
*/
|
||||
public function __construct(int $lineNumber, int $columnNumber = 0)
|
||||
{
|
||||
$this->lineNumber = $lineNumber;
|
||||
$this->columnNumber = $columnNumber;
|
||||
}
|
||||
/**
|
||||
* Returns the line number that is covered by this location.
|
||||
*/
|
||||
public function getLineNumber() : int
|
||||
{
|
||||
return $this->lineNumber;
|
||||
}
|
||||
/**
|
||||
* Returns the column number (character position on a line) for this location object.
|
||||
*/
|
||||
public function getColumnNumber() : int
|
||||
{
|
||||
return $this->columnNumber;
|
||||
}
|
||||
}
|
23
dependencies/phpdocumentor/reflection-common/src/Project.php
vendored
Normal file
23
dependencies/phpdocumentor/reflection-common/src/Project.php
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
/**
|
||||
* phpDocumentor
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*
|
||||
* @link http://phpdoc.org
|
||||
*/
|
||||
namespace WP_Ultimo\Dependencies\phpDocumentor\Reflection;
|
||||
|
||||
/**
|
||||
* Interface for project. Since the definition of a project can be different per factory this interface will be small.
|
||||
*/
|
||||
interface Project
|
||||
{
|
||||
/**
|
||||
* Returns the name of the project.
|
||||
*/
|
||||
public function getName() : string;
|
||||
}
|
26
dependencies/phpdocumentor/reflection-common/src/ProjectFactory.php
vendored
Normal file
26
dependencies/phpdocumentor/reflection-common/src/ProjectFactory.php
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
declare (strict_types=1);
|
||||
/**
|
||||
* phpDocumentor
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*
|
||||
* @link http://phpdoc.org
|
||||
*/
|
||||
namespace WP_Ultimo\Dependencies\phpDocumentor\Reflection;
|
||||
|
||||
/**
|
||||
* Interface for project factories. A project factory shall convert a set of files
|
||||
* into an object implementing the Project interface.
|
||||
*/
|
||||
interface ProjectFactory
|
||||
{
|
||||
/**
|
||||
* Creates a project from the set of files.
|
||||
*
|
||||
* @param File[] $files
|
||||
*/
|
||||
public function create(string $name, array $files) : Project;
|
||||
}
|
Reference in New Issue
Block a user