Removed files includes in .gitignore
This commit is contained in:
parent
63fd556e7b
commit
5a041e64ad
2
.gitignore
vendored
2
.gitignore
vendored
@ -453,7 +453,7 @@ gradle-app.setting
|
|||||||
|
|
||||||
##### Composer
|
##### Composer
|
||||||
composer.phar
|
composer.phar
|
||||||
/vendor/
|
vendor/
|
||||||
|
|
||||||
# Commit your application's lock file https://getcomposer.org/doc/01-basic-usage.md#commit-your-composer-lock-file-to-version-control
|
# Commit your application's lock file https://getcomposer.org/doc/01-basic-usage.md#commit-your-composer-lock-file-to-version-control
|
||||||
# You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file
|
# You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file
|
||||||
|
2112
composer.lock
generated
2112
composer.lock
generated
File diff suppressed because it is too large
Load Diff
7
vendor/autoload.php
vendored
7
vendor/autoload.php
vendored
@ -1,7 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
// autoload.php @generated by Composer
|
|
||||||
|
|
||||||
require_once __DIR__ . '/composer/autoload_real.php';
|
|
||||||
|
|
||||||
return ComposerAutoloaderInit71e57d5c4a20c2585baa01003d9d916b::getLoader();
|
|
1
vendor/bin/.phpunit.result.cache
vendored
1
vendor/bin/.phpunit.result.cache
vendored
@ -1 +0,0 @@
|
|||||||
{"version":1,"defects":{"top100stars\\Tests\\TestCases::testTop2Javascript":4,"Top100stars\\Tests\\TestCases::testTop2Javascript":3},"times":{"top100stars\\Tests\\TestCases::testTop2Javascript":0.002,"Top100stars\\Tests\\TestCases::testTop2Javascript":0.049}}
|
|
107
vendor/bin/php-parse
vendored
107
vendor/bin/php-parse
vendored
@ -1,107 +0,0 @@
|
|||||||
#!/usr/bin/env php
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Proxy PHP file generated by Composer
|
|
||||||
*
|
|
||||||
* This file includes the referenced bin path (../nikic/php-parser/bin/php-parse)
|
|
||||||
* using a stream wrapper to prevent the shebang from being output on PHP<8
|
|
||||||
*
|
|
||||||
* @generated
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Composer;
|
|
||||||
|
|
||||||
$GLOBALS['_composer_bin_dir'] = __DIR__;
|
|
||||||
$GLOBALS['_composer_autoload_path'] = __DIR__ . '/..'.'/autoload.php';
|
|
||||||
|
|
||||||
if (PHP_VERSION_ID < 80000) {
|
|
||||||
if (!class_exists('Composer\BinProxyWrapper')) {
|
|
||||||
/**
|
|
||||||
* @internal
|
|
||||||
*/
|
|
||||||
final class BinProxyWrapper
|
|
||||||
{
|
|
||||||
private $handle;
|
|
||||||
private $position;
|
|
||||||
private $realpath;
|
|
||||||
|
|
||||||
public function stream_open($path, $mode, $options, &$opened_path)
|
|
||||||
{
|
|
||||||
// get rid of phpvfscomposer:// prefix for __FILE__ & __DIR__ resolution
|
|
||||||
$opened_path = substr($path, 17);
|
|
||||||
$this->realpath = realpath($opened_path) ?: $opened_path;
|
|
||||||
$opened_path = $this->realpath;
|
|
||||||
$this->handle = fopen($this->realpath, $mode);
|
|
||||||
$this->position = 0;
|
|
||||||
|
|
||||||
return (bool) $this->handle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_read($count)
|
|
||||||
{
|
|
||||||
$data = fread($this->handle, $count);
|
|
||||||
|
|
||||||
if ($this->position === 0) {
|
|
||||||
$data = preg_replace('{^#!.*\r?\n}', '', $data);
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->position += strlen($data);
|
|
||||||
|
|
||||||
return $data;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_cast($castAs)
|
|
||||||
{
|
|
||||||
return $this->handle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_close()
|
|
||||||
{
|
|
||||||
fclose($this->handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_lock($operation)
|
|
||||||
{
|
|
||||||
return $operation ? flock($this->handle, $operation) : true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_tell()
|
|
||||||
{
|
|
||||||
return $this->position;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_eof()
|
|
||||||
{
|
|
||||||
return feof($this->handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_stat()
|
|
||||||
{
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_set_option($option, $arg1, $arg2)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function url_stat($path, $flags)
|
|
||||||
{
|
|
||||||
$path = substr($path, 17);
|
|
||||||
if (file_exists($path)) {
|
|
||||||
return stat($path);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) {
|
|
||||||
include("phpvfscomposer://" . __DIR__ . '/..'.'/nikic/php-parser/bin/php-parse');
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
include __DIR__ . '/..'.'/nikic/php-parser/bin/php-parse';
|
|
110
vendor/bin/phpunit
vendored
110
vendor/bin/phpunit
vendored
@ -1,110 +0,0 @@
|
|||||||
#!/usr/bin/env php
|
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Proxy PHP file generated by Composer
|
|
||||||
*
|
|
||||||
* This file includes the referenced bin path (../phpunit/phpunit/phpunit)
|
|
||||||
* using a stream wrapper to prevent the shebang from being output on PHP<8
|
|
||||||
*
|
|
||||||
* @generated
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Composer;
|
|
||||||
|
|
||||||
$GLOBALS['_composer_bin_dir'] = __DIR__;
|
|
||||||
$GLOBALS['_composer_autoload_path'] = __DIR__ . '/..'.'/autoload.php';
|
|
||||||
$GLOBALS['__PHPUNIT_ISOLATION_EXCLUDE_LIST'] = $GLOBALS['__PHPUNIT_ISOLATION_BLACKLIST'] = array(realpath(__DIR__ . '/..'.'/phpunit/phpunit/phpunit'));
|
|
||||||
|
|
||||||
if (PHP_VERSION_ID < 80000) {
|
|
||||||
if (!class_exists('Composer\BinProxyWrapper')) {
|
|
||||||
/**
|
|
||||||
* @internal
|
|
||||||
*/
|
|
||||||
final class BinProxyWrapper
|
|
||||||
{
|
|
||||||
private $handle;
|
|
||||||
private $position;
|
|
||||||
private $realpath;
|
|
||||||
|
|
||||||
public function stream_open($path, $mode, $options, &$opened_path)
|
|
||||||
{
|
|
||||||
// get rid of phpvfscomposer:// prefix for __FILE__ & __DIR__ resolution
|
|
||||||
$opened_path = substr($path, 17);
|
|
||||||
$this->realpath = realpath($opened_path) ?: $opened_path;
|
|
||||||
$opened_path = 'phpvfscomposer://'.$this->realpath;
|
|
||||||
$this->handle = fopen($this->realpath, $mode);
|
|
||||||
$this->position = 0;
|
|
||||||
|
|
||||||
return (bool) $this->handle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_read($count)
|
|
||||||
{
|
|
||||||
$data = fread($this->handle, $count);
|
|
||||||
|
|
||||||
if ($this->position === 0) {
|
|
||||||
$data = preg_replace('{^#!.*\r?\n}', '', $data);
|
|
||||||
}
|
|
||||||
$data = str_replace('__DIR__', var_export(dirname($this->realpath), true), $data);
|
|
||||||
$data = str_replace('__FILE__', var_export($this->realpath, true), $data);
|
|
||||||
|
|
||||||
$this->position += strlen($data);
|
|
||||||
|
|
||||||
return $data;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_cast($castAs)
|
|
||||||
{
|
|
||||||
return $this->handle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_close()
|
|
||||||
{
|
|
||||||
fclose($this->handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_lock($operation)
|
|
||||||
{
|
|
||||||
return $operation ? flock($this->handle, $operation) : true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_tell()
|
|
||||||
{
|
|
||||||
return $this->position;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_eof()
|
|
||||||
{
|
|
||||||
return feof($this->handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_stat()
|
|
||||||
{
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function stream_set_option($option, $arg1, $arg2)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function url_stat($path, $flags)
|
|
||||||
{
|
|
||||||
$path = substr($path, 17);
|
|
||||||
if (file_exists($path)) {
|
|
||||||
return stat($path);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) {
|
|
||||||
include("phpvfscomposer://" . __DIR__ . '/..'.'/phpunit/phpunit/phpunit');
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
include __DIR__ . '/..'.'/phpunit/phpunit/phpunit';
|
|
572
vendor/composer/ClassLoader.php
vendored
572
vendor/composer/ClassLoader.php
vendored
@ -1,572 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file is part of Composer.
|
|
||||||
*
|
|
||||||
* (c) Nils Adermann <naderman@naderman.de>
|
|
||||||
* Jordi Boggiano <j.boggiano@seld.be>
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view the LICENSE
|
|
||||||
* file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Composer\Autoload;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
|
|
||||||
*
|
|
||||||
* $loader = new \Composer\Autoload\ClassLoader();
|
|
||||||
*
|
|
||||||
* // register classes with namespaces
|
|
||||||
* $loader->add('Symfony\Component', __DIR__.'/component');
|
|
||||||
* $loader->add('Symfony', __DIR__.'/framework');
|
|
||||||
*
|
|
||||||
* // activate the autoloader
|
|
||||||
* $loader->register();
|
|
||||||
*
|
|
||||||
* // to enable searching the include path (eg. for PEAR packages)
|
|
||||||
* $loader->setUseIncludePath(true);
|
|
||||||
*
|
|
||||||
* In this example, if you try to use a class in the Symfony\Component
|
|
||||||
* namespace or one of its children (Symfony\Component\Console for instance),
|
|
||||||
* the autoloader will first look for the class under the component/
|
|
||||||
* directory, and it will then fallback to the framework/ directory if not
|
|
||||||
* found before giving up.
|
|
||||||
*
|
|
||||||
* This class is loosely based on the Symfony UniversalClassLoader.
|
|
||||||
*
|
|
||||||
* @author Fabien Potencier <fabien@symfony.com>
|
|
||||||
* @author Jordi Boggiano <j.boggiano@seld.be>
|
|
||||||
* @see https://www.php-fig.org/psr/psr-0/
|
|
||||||
* @see https://www.php-fig.org/psr/psr-4/
|
|
||||||
*/
|
|
||||||
class ClassLoader
|
|
||||||
{
|
|
||||||
/** @var ?string */
|
|
||||||
private $vendorDir;
|
|
||||||
|
|
||||||
// PSR-4
|
|
||||||
/**
|
|
||||||
* @var array[]
|
|
||||||
* @psalm-var array<string, array<string, int>>
|
|
||||||
*/
|
|
||||||
private $prefixLengthsPsr4 = array();
|
|
||||||
/**
|
|
||||||
* @var array[]
|
|
||||||
* @psalm-var array<string, array<int, string>>
|
|
||||||
*/
|
|
||||||
private $prefixDirsPsr4 = array();
|
|
||||||
/**
|
|
||||||
* @var array[]
|
|
||||||
* @psalm-var array<string, string>
|
|
||||||
*/
|
|
||||||
private $fallbackDirsPsr4 = array();
|
|
||||||
|
|
||||||
// PSR-0
|
|
||||||
/**
|
|
||||||
* @var array[]
|
|
||||||
* @psalm-var array<string, array<string, string[]>>
|
|
||||||
*/
|
|
||||||
private $prefixesPsr0 = array();
|
|
||||||
/**
|
|
||||||
* @var array[]
|
|
||||||
* @psalm-var array<string, string>
|
|
||||||
*/
|
|
||||||
private $fallbackDirsPsr0 = array();
|
|
||||||
|
|
||||||
/** @var bool */
|
|
||||||
private $useIncludePath = false;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var string[]
|
|
||||||
* @psalm-var array<string, string>
|
|
||||||
*/
|
|
||||||
private $classMap = array();
|
|
||||||
|
|
||||||
/** @var bool */
|
|
||||||
private $classMapAuthoritative = false;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var bool[]
|
|
||||||
* @psalm-var array<string, bool>
|
|
||||||
*/
|
|
||||||
private $missingClasses = array();
|
|
||||||
|
|
||||||
/** @var ?string */
|
|
||||||
private $apcuPrefix;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var self[]
|
|
||||||
*/
|
|
||||||
private static $registeredLoaders = array();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param ?string $vendorDir
|
|
||||||
*/
|
|
||||||
public function __construct($vendorDir = null)
|
|
||||||
{
|
|
||||||
$this->vendorDir = $vendorDir;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return string[]
|
|
||||||
*/
|
|
||||||
public function getPrefixes()
|
|
||||||
{
|
|
||||||
if (!empty($this->prefixesPsr0)) {
|
|
||||||
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
|
|
||||||
}
|
|
||||||
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return array[]
|
|
||||||
* @psalm-return array<string, array<int, string>>
|
|
||||||
*/
|
|
||||||
public function getPrefixesPsr4()
|
|
||||||
{
|
|
||||||
return $this->prefixDirsPsr4;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return array[]
|
|
||||||
* @psalm-return array<string, string>
|
|
||||||
*/
|
|
||||||
public function getFallbackDirs()
|
|
||||||
{
|
|
||||||
return $this->fallbackDirsPsr0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return array[]
|
|
||||||
* @psalm-return array<string, string>
|
|
||||||
*/
|
|
||||||
public function getFallbackDirsPsr4()
|
|
||||||
{
|
|
||||||
return $this->fallbackDirsPsr4;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return string[] Array of classname => path
|
|
||||||
* @psalm-return array<string, string>
|
|
||||||
*/
|
|
||||||
public function getClassMap()
|
|
||||||
{
|
|
||||||
return $this->classMap;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string[] $classMap Class to filename map
|
|
||||||
* @psalm-param array<string, string> $classMap
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function addClassMap(array $classMap)
|
|
||||||
{
|
|
||||||
if ($this->classMap) {
|
|
||||||
$this->classMap = array_merge($this->classMap, $classMap);
|
|
||||||
} else {
|
|
||||||
$this->classMap = $classMap;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Registers a set of PSR-0 directories for a given prefix, either
|
|
||||||
* appending or prepending to the ones previously set for this prefix.
|
|
||||||
*
|
|
||||||
* @param string $prefix The prefix
|
|
||||||
* @param string[]|string $paths The PSR-0 root directories
|
|
||||||
* @param bool $prepend Whether to prepend the directories
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function add($prefix, $paths, $prepend = false)
|
|
||||||
{
|
|
||||||
if (!$prefix) {
|
|
||||||
if ($prepend) {
|
|
||||||
$this->fallbackDirsPsr0 = array_merge(
|
|
||||||
(array) $paths,
|
|
||||||
$this->fallbackDirsPsr0
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
$this->fallbackDirsPsr0 = array_merge(
|
|
||||||
$this->fallbackDirsPsr0,
|
|
||||||
(array) $paths
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$first = $prefix[0];
|
|
||||||
if (!isset($this->prefixesPsr0[$first][$prefix])) {
|
|
||||||
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if ($prepend) {
|
|
||||||
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
|
||||||
(array) $paths,
|
|
||||||
$this->prefixesPsr0[$first][$prefix]
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
|
||||||
$this->prefixesPsr0[$first][$prefix],
|
|
||||||
(array) $paths
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Registers a set of PSR-4 directories for a given namespace, either
|
|
||||||
* appending or prepending to the ones previously set for this namespace.
|
|
||||||
*
|
|
||||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
|
||||||
* @param string[]|string $paths The PSR-4 base directories
|
|
||||||
* @param bool $prepend Whether to prepend the directories
|
|
||||||
*
|
|
||||||
* @throws \InvalidArgumentException
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function addPsr4($prefix, $paths, $prepend = false)
|
|
||||||
{
|
|
||||||
if (!$prefix) {
|
|
||||||
// Register directories for the root namespace.
|
|
||||||
if ($prepend) {
|
|
||||||
$this->fallbackDirsPsr4 = array_merge(
|
|
||||||
(array) $paths,
|
|
||||||
$this->fallbackDirsPsr4
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
$this->fallbackDirsPsr4 = array_merge(
|
|
||||||
$this->fallbackDirsPsr4,
|
|
||||||
(array) $paths
|
|
||||||
);
|
|
||||||
}
|
|
||||||
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
|
|
||||||
// Register directories for a new namespace.
|
|
||||||
$length = strlen($prefix);
|
|
||||||
if ('\\' !== $prefix[$length - 1]) {
|
|
||||||
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
|
||||||
}
|
|
||||||
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
|
||||||
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
|
||||||
} elseif ($prepend) {
|
|
||||||
// Prepend directories for an already registered namespace.
|
|
||||||
$this->prefixDirsPsr4[$prefix] = array_merge(
|
|
||||||
(array) $paths,
|
|
||||||
$this->prefixDirsPsr4[$prefix]
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
// Append directories for an already registered namespace.
|
|
||||||
$this->prefixDirsPsr4[$prefix] = array_merge(
|
|
||||||
$this->prefixDirsPsr4[$prefix],
|
|
||||||
(array) $paths
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Registers a set of PSR-0 directories for a given prefix,
|
|
||||||
* replacing any others previously set for this prefix.
|
|
||||||
*
|
|
||||||
* @param string $prefix The prefix
|
|
||||||
* @param string[]|string $paths The PSR-0 base directories
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function set($prefix, $paths)
|
|
||||||
{
|
|
||||||
if (!$prefix) {
|
|
||||||
$this->fallbackDirsPsr0 = (array) $paths;
|
|
||||||
} else {
|
|
||||||
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Registers a set of PSR-4 directories for a given namespace,
|
|
||||||
* replacing any others previously set for this namespace.
|
|
||||||
*
|
|
||||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
|
||||||
* @param string[]|string $paths The PSR-4 base directories
|
|
||||||
*
|
|
||||||
* @throws \InvalidArgumentException
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function setPsr4($prefix, $paths)
|
|
||||||
{
|
|
||||||
if (!$prefix) {
|
|
||||||
$this->fallbackDirsPsr4 = (array) $paths;
|
|
||||||
} else {
|
|
||||||
$length = strlen($prefix);
|
|
||||||
if ('\\' !== $prefix[$length - 1]) {
|
|
||||||
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
|
||||||
}
|
|
||||||
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
|
||||||
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Turns on searching the include path for class files.
|
|
||||||
*
|
|
||||||
* @param bool $useIncludePath
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function setUseIncludePath($useIncludePath)
|
|
||||||
{
|
|
||||||
$this->useIncludePath = $useIncludePath;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Can be used to check if the autoloader uses the include path to check
|
|
||||||
* for classes.
|
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function getUseIncludePath()
|
|
||||||
{
|
|
||||||
return $this->useIncludePath;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Turns off searching the prefix and fallback directories for classes
|
|
||||||
* that have not been registered with the class map.
|
|
||||||
*
|
|
||||||
* @param bool $classMapAuthoritative
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function setClassMapAuthoritative($classMapAuthoritative)
|
|
||||||
{
|
|
||||||
$this->classMapAuthoritative = $classMapAuthoritative;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Should class lookup fail if not found in the current class map?
|
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function isClassMapAuthoritative()
|
|
||||||
{
|
|
||||||
return $this->classMapAuthoritative;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
|
||||||
*
|
|
||||||
* @param string|null $apcuPrefix
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function setApcuPrefix($apcuPrefix)
|
|
||||||
{
|
|
||||||
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The APCu prefix in use, or null if APCu caching is not enabled.
|
|
||||||
*
|
|
||||||
* @return string|null
|
|
||||||
*/
|
|
||||||
public function getApcuPrefix()
|
|
||||||
{
|
|
||||||
return $this->apcuPrefix;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Registers this instance as an autoloader.
|
|
||||||
*
|
|
||||||
* @param bool $prepend Whether to prepend the autoloader or not
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function register($prepend = false)
|
|
||||||
{
|
|
||||||
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
|
||||||
|
|
||||||
if (null === $this->vendorDir) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($prepend) {
|
|
||||||
self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
|
|
||||||
} else {
|
|
||||||
unset(self::$registeredLoaders[$this->vendorDir]);
|
|
||||||
self::$registeredLoaders[$this->vendorDir] = $this;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Unregisters this instance as an autoloader.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function unregister()
|
|
||||||
{
|
|
||||||
spl_autoload_unregister(array($this, 'loadClass'));
|
|
||||||
|
|
||||||
if (null !== $this->vendorDir) {
|
|
||||||
unset(self::$registeredLoaders[$this->vendorDir]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the given class or interface.
|
|
||||||
*
|
|
||||||
* @param string $class The name of the class
|
|
||||||
* @return true|null True if loaded, null otherwise
|
|
||||||
*/
|
|
||||||
public function loadClass($class)
|
|
||||||
{
|
|
||||||
if ($file = $this->findFile($class)) {
|
|
||||||
includeFile($file);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Finds the path to the file where the class is defined.
|
|
||||||
*
|
|
||||||
* @param string $class The name of the class
|
|
||||||
*
|
|
||||||
* @return string|false The path if found, false otherwise
|
|
||||||
*/
|
|
||||||
public function findFile($class)
|
|
||||||
{
|
|
||||||
// class map lookup
|
|
||||||
if (isset($this->classMap[$class])) {
|
|
||||||
return $this->classMap[$class];
|
|
||||||
}
|
|
||||||
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (null !== $this->apcuPrefix) {
|
|
||||||
$file = apcu_fetch($this->apcuPrefix.$class, $hit);
|
|
||||||
if ($hit) {
|
|
||||||
return $file;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$file = $this->findFileWithExtension($class, '.php');
|
|
||||||
|
|
||||||
// Search for Hack files if we are running on HHVM
|
|
||||||
if (false === $file && defined('HHVM_VERSION')) {
|
|
||||||
$file = $this->findFileWithExtension($class, '.hh');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (null !== $this->apcuPrefix) {
|
|
||||||
apcu_add($this->apcuPrefix.$class, $file);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (false === $file) {
|
|
||||||
// Remember that this class does not exist.
|
|
||||||
$this->missingClasses[$class] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $file;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the currently registered loaders indexed by their corresponding vendor directories.
|
|
||||||
*
|
|
||||||
* @return self[]
|
|
||||||
*/
|
|
||||||
public static function getRegisteredLoaders()
|
|
||||||
{
|
|
||||||
return self::$registeredLoaders;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $class
|
|
||||||
* @param string $ext
|
|
||||||
* @return string|false
|
|
||||||
*/
|
|
||||||
private function findFileWithExtension($class, $ext)
|
|
||||||
{
|
|
||||||
// PSR-4 lookup
|
|
||||||
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
|
|
||||||
|
|
||||||
$first = $class[0];
|
|
||||||
if (isset($this->prefixLengthsPsr4[$first])) {
|
|
||||||
$subPath = $class;
|
|
||||||
while (false !== $lastPos = strrpos($subPath, '\\')) {
|
|
||||||
$subPath = substr($subPath, 0, $lastPos);
|
|
||||||
$search = $subPath . '\\';
|
|
||||||
if (isset($this->prefixDirsPsr4[$search])) {
|
|
||||||
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
|
|
||||||
foreach ($this->prefixDirsPsr4[$search] as $dir) {
|
|
||||||
if (file_exists($file = $dir . $pathEnd)) {
|
|
||||||
return $file;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// PSR-4 fallback dirs
|
|
||||||
foreach ($this->fallbackDirsPsr4 as $dir) {
|
|
||||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
|
|
||||||
return $file;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// PSR-0 lookup
|
|
||||||
if (false !== $pos = strrpos($class, '\\')) {
|
|
||||||
// namespaced class name
|
|
||||||
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
|
|
||||||
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
|
|
||||||
} else {
|
|
||||||
// PEAR-like class name
|
|
||||||
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($this->prefixesPsr0[$first])) {
|
|
||||||
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
|
|
||||||
if (0 === strpos($class, $prefix)) {
|
|
||||||
foreach ($dirs as $dir) {
|
|
||||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
|
||||||
return $file;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// PSR-0 fallback dirs
|
|
||||||
foreach ($this->fallbackDirsPsr0 as $dir) {
|
|
||||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
|
||||||
return $file;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// PSR-0 include paths.
|
|
||||||
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
|
||||||
return $file;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Scope isolated include.
|
|
||||||
*
|
|
||||||
* Prevents access to $this/self from included files.
|
|
||||||
*
|
|
||||||
* @param string $file
|
|
||||||
* @return void
|
|
||||||
* @private
|
|
||||||
*/
|
|
||||||
function includeFile($file)
|
|
||||||
{
|
|
||||||
include $file;
|
|
||||||
}
|
|
350
vendor/composer/InstalledVersions.php
vendored
350
vendor/composer/InstalledVersions.php
vendored
@ -1,350 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file is part of Composer.
|
|
||||||
*
|
|
||||||
* (c) Nils Adermann <naderman@naderman.de>
|
|
||||||
* Jordi Boggiano <j.boggiano@seld.be>
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view the LICENSE
|
|
||||||
* file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Composer;
|
|
||||||
|
|
||||||
use Composer\Autoload\ClassLoader;
|
|
||||||
use Composer\Semver\VersionParser;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class is copied in every Composer installed project and available to all
|
|
||||||
*
|
|
||||||
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
|
|
||||||
*
|
|
||||||
* To require its presence, you can require `composer-runtime-api ^2.0`
|
|
||||||
*/
|
|
||||||
class InstalledVersions
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var mixed[]|null
|
|
||||||
* @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
|
|
||||||
*/
|
|
||||||
private static $installed;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var bool|null
|
|
||||||
*/
|
|
||||||
private static $canGetVendors;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var array[]
|
|
||||||
* @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
|
||||||
*/
|
|
||||||
private static $installedByVendor = array();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a list of all package names which are present, either by being installed, replaced or provided
|
|
||||||
*
|
|
||||||
* @return string[]
|
|
||||||
* @psalm-return list<string>
|
|
||||||
*/
|
|
||||||
public static function getInstalledPackages()
|
|
||||||
{
|
|
||||||
$packages = array();
|
|
||||||
foreach (self::getInstalled() as $installed) {
|
|
||||||
$packages[] = array_keys($installed['versions']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (1 === \count($packages)) {
|
|
||||||
return $packages[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a list of all package names with a specific type e.g. 'library'
|
|
||||||
*
|
|
||||||
* @param string $type
|
|
||||||
* @return string[]
|
|
||||||
* @psalm-return list<string>
|
|
||||||
*/
|
|
||||||
public static function getInstalledPackagesByType($type)
|
|
||||||
{
|
|
||||||
$packagesByType = array();
|
|
||||||
|
|
||||||
foreach (self::getInstalled() as $installed) {
|
|
||||||
foreach ($installed['versions'] as $name => $package) {
|
|
||||||
if (isset($package['type']) && $package['type'] === $type) {
|
|
||||||
$packagesByType[] = $name;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $packagesByType;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks whether the given package is installed
|
|
||||||
*
|
|
||||||
* This also returns true if the package name is provided or replaced by another package
|
|
||||||
*
|
|
||||||
* @param string $packageName
|
|
||||||
* @param bool $includeDevRequirements
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public static function isInstalled($packageName, $includeDevRequirements = true)
|
|
||||||
{
|
|
||||||
foreach (self::getInstalled() as $installed) {
|
|
||||||
if (isset($installed['versions'][$packageName])) {
|
|
||||||
return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks whether the given package satisfies a version constraint
|
|
||||||
*
|
|
||||||
* e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
|
|
||||||
*
|
|
||||||
* Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
|
|
||||||
*
|
|
||||||
* @param VersionParser $parser Install composer/semver to have access to this class and functionality
|
|
||||||
* @param string $packageName
|
|
||||||
* @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public static function satisfies(VersionParser $parser, $packageName, $constraint)
|
|
||||||
{
|
|
||||||
$constraint = $parser->parseConstraints($constraint);
|
|
||||||
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));
|
|
||||||
|
|
||||||
return $provided->matches($constraint);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a version constraint representing all the range(s) which are installed for a given package
|
|
||||||
*
|
|
||||||
* It is easier to use this via isInstalled() with the $constraint argument if you need to check
|
|
||||||
* whether a given version of a package is installed, and not just whether it exists
|
|
||||||
*
|
|
||||||
* @param string $packageName
|
|
||||||
* @return string Version constraint usable with composer/semver
|
|
||||||
*/
|
|
||||||
public static function getVersionRanges($packageName)
|
|
||||||
{
|
|
||||||
foreach (self::getInstalled() as $installed) {
|
|
||||||
if (!isset($installed['versions'][$packageName])) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$ranges = array();
|
|
||||||
if (isset($installed['versions'][$packageName]['pretty_version'])) {
|
|
||||||
$ranges[] = $installed['versions'][$packageName]['pretty_version'];
|
|
||||||
}
|
|
||||||
if (array_key_exists('aliases', $installed['versions'][$packageName])) {
|
|
||||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
|
|
||||||
}
|
|
||||||
if (array_key_exists('replaced', $installed['versions'][$packageName])) {
|
|
||||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
|
|
||||||
}
|
|
||||||
if (array_key_exists('provided', $installed['versions'][$packageName])) {
|
|
||||||
$ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
|
|
||||||
}
|
|
||||||
|
|
||||||
return implode(' || ', $ranges);
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $packageName
|
|
||||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
|
|
||||||
*/
|
|
||||||
public static function getVersion($packageName)
|
|
||||||
{
|
|
||||||
foreach (self::getInstalled() as $installed) {
|
|
||||||
if (!isset($installed['versions'][$packageName])) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isset($installed['versions'][$packageName]['version'])) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $installed['versions'][$packageName]['version'];
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $packageName
|
|
||||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
|
|
||||||
*/
|
|
||||||
public static function getPrettyVersion($packageName)
|
|
||||||
{
|
|
||||||
foreach (self::getInstalled() as $installed) {
|
|
||||||
if (!isset($installed['versions'][$packageName])) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isset($installed['versions'][$packageName]['pretty_version'])) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $installed['versions'][$packageName]['pretty_version'];
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $packageName
|
|
||||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
|
|
||||||
*/
|
|
||||||
public static function getReference($packageName)
|
|
||||||
{
|
|
||||||
foreach (self::getInstalled() as $installed) {
|
|
||||||
if (!isset($installed['versions'][$packageName])) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isset($installed['versions'][$packageName]['reference'])) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $installed['versions'][$packageName]['reference'];
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $packageName
|
|
||||||
* @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
|
|
||||||
*/
|
|
||||||
public static function getInstallPath($packageName)
|
|
||||||
{
|
|
||||||
foreach (self::getInstalled() as $installed) {
|
|
||||||
if (!isset($installed['versions'][$packageName])) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return array
|
|
||||||
* @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
|
|
||||||
*/
|
|
||||||
public static function getRootPackage()
|
|
||||||
{
|
|
||||||
$installed = self::getInstalled();
|
|
||||||
|
|
||||||
return $installed[0]['root'];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the raw installed.php data for custom implementations
|
|
||||||
*
|
|
||||||
* @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
|
|
||||||
* @return array[]
|
|
||||||
* @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}
|
|
||||||
*/
|
|
||||||
public static function getRawData()
|
|
||||||
{
|
|
||||||
@trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
|
|
||||||
|
|
||||||
if (null === self::$installed) {
|
|
||||||
// only require the installed.php file if this file is loaded from its dumped location,
|
|
||||||
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
|
||||||
if (substr(__DIR__, -8, 1) !== 'C') {
|
|
||||||
self::$installed = include __DIR__ . '/installed.php';
|
|
||||||
} else {
|
|
||||||
self::$installed = array();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return self::$installed;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the raw data of all installed.php which are currently loaded for custom implementations
|
|
||||||
*
|
|
||||||
* @return array[]
|
|
||||||
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
|
||||||
*/
|
|
||||||
public static function getAllRawData()
|
|
||||||
{
|
|
||||||
return self::getInstalled();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Lets you reload the static array from another file
|
|
||||||
*
|
|
||||||
* This is only useful for complex integrations in which a project needs to use
|
|
||||||
* this class but then also needs to execute another project's autoloader in process,
|
|
||||||
* and wants to ensure both projects have access to their version of installed.php.
|
|
||||||
*
|
|
||||||
* A typical case would be PHPUnit, where it would need to make sure it reads all
|
|
||||||
* the data it needs from this class, then call reload() with
|
|
||||||
* `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
|
|
||||||
* the project in which it runs can then also use this class safely, without
|
|
||||||
* interference between PHPUnit's dependencies and the project's dependencies.
|
|
||||||
*
|
|
||||||
* @param array[] $data A vendor/composer/installed.php data set
|
|
||||||
* @return void
|
|
||||||
*
|
|
||||||
* @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>} $data
|
|
||||||
*/
|
|
||||||
public static function reload($data)
|
|
||||||
{
|
|
||||||
self::$installed = $data;
|
|
||||||
self::$installedByVendor = array();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return array[]
|
|
||||||
* @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
|
||||||
*/
|
|
||||||
private static function getInstalled()
|
|
||||||
{
|
|
||||||
if (null === self::$canGetVendors) {
|
|
||||||
self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
|
|
||||||
}
|
|
||||||
|
|
||||||
$installed = array();
|
|
||||||
|
|
||||||
if (self::$canGetVendors) {
|
|
||||||
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
|
|
||||||
if (isset(self::$installedByVendor[$vendorDir])) {
|
|
||||||
$installed[] = self::$installedByVendor[$vendorDir];
|
|
||||||
} elseif (is_file($vendorDir.'/composer/installed.php')) {
|
|
||||||
$installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
|
|
||||||
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
|
|
||||||
self::$installed = $installed[count($installed) - 1];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (null === self::$installed) {
|
|
||||||
// only require the installed.php file if this file is loaded from its dumped location,
|
|
||||||
// and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
|
|
||||||
if (substr(__DIR__, -8, 1) !== 'C') {
|
|
||||||
self::$installed = require __DIR__ . '/installed.php';
|
|
||||||
} else {
|
|
||||||
self::$installed = array();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$installed[] = self::$installed;
|
|
||||||
|
|
||||||
return $installed;
|
|
||||||
}
|
|
||||||
}
|
|
21
vendor/composer/LICENSE
vendored
21
vendor/composer/LICENSE
vendored
@ -1,21 +0,0 @@
|
|||||||
|
|
||||||
Copyright (c) Nils Adermann, Jordi Boggiano
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is furnished
|
|
||||||
to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
|
|
635
vendor/composer/autoload_classmap.php
vendored
635
vendor/composer/autoload_classmap.php
vendored
@ -1,635 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
// autoload_classmap.php @generated by Composer
|
|
||||||
|
|
||||||
$vendorDir = dirname(dirname(__FILE__));
|
|
||||||
$baseDir = dirname($vendorDir);
|
|
||||||
|
|
||||||
return array(
|
|
||||||
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
|
|
||||||
'PHPUnit\\Exception' => $vendorDir . '/phpunit/phpunit/src/Exception.php',
|
|
||||||
'PHPUnit\\Framework\\ActualValueIsNotAnObjectException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/ActualValueIsNotAnObjectException.php',
|
|
||||||
'PHPUnit\\Framework\\Assert' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert.php',
|
|
||||||
'PHPUnit\\Framework\\AssertionFailedError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/AssertionFailedError.php',
|
|
||||||
'PHPUnit\\Framework\\CodeCoverageException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/CodeCoverageException.php',
|
|
||||||
'PHPUnit\\Framework\\ComparisonMethodDoesNotAcceptParameterTypeException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotAcceptParameterTypeException.php',
|
|
||||||
'PHPUnit\\Framework\\ComparisonMethodDoesNotDeclareBoolReturnTypeException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotDeclareBoolReturnTypeException.php',
|
|
||||||
'PHPUnit\\Framework\\ComparisonMethodDoesNotDeclareExactlyOneParameterException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotDeclareExactlyOneParameterException.php',
|
|
||||||
'PHPUnit\\Framework\\ComparisonMethodDoesNotDeclareParameterTypeException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotDeclareParameterTypeException.php',
|
|
||||||
'PHPUnit\\Framework\\ComparisonMethodDoesNotExistException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotExistException.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ArrayHasKey' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Traversable/ArrayHasKey.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\BinaryOperator' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Operator/BinaryOperator.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\Callback' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Callback.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ClassHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Object/ClassHasAttribute.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ClassHasStaticAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Object/ClassHasStaticAttribute.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\Constraint' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Constraint.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\Count' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/Count.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\DirectoryExists' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/DirectoryExists.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception/Exception.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ExceptionCode' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionCode.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ExceptionMessage' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessage.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ExceptionMessageRegularExpression' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessageRegularExpression.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\FileExists' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/FileExists.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\GreaterThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/GreaterThan.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsAnything' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsEmpty' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/IsEmpty.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsEqual' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqual.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsEqualCanonicalizing' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualCanonicalizing.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsEqualIgnoringCase' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualIgnoringCase.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsEqualWithDelta' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualWithDelta.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsFalse' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Boolean/IsFalse.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsFinite' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Math/IsFinite.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsIdentical' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsInfinite' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Math/IsInfinite.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsInstanceOf' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Type/IsInstanceOf.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsJson' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/String/IsJson.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsNan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Math/IsNan.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsNull' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Type/IsNull.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsReadable' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/IsReadable.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsTrue' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Boolean/IsTrue.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsType' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Type/IsType.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsWritable' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/IsWritable.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\JsonMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\JsonMatchesErrorMessageProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatchesErrorMessageProvider.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\LessThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/LessThan.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\LogicalAnd' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalAnd.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\LogicalNot' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalNot.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\LogicalOr' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalOr.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\LogicalXor' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalXor.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ObjectEquals' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Object/ObjectEquals.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ObjectHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Object/ObjectHasAttribute.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\Operator' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Operator/Operator.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\RegularExpression' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/String/RegularExpression.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\SameSize' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/SameSize.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\StringContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/String/StringContains.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\StringEndsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/String/StringEndsWith.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\StringMatchesFormatDescription' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/String/StringMatchesFormatDescription.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\StringStartsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/String/StringStartsWith.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\TraversableContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContains.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\TraversableContainsEqual' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsEqual.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\TraversableContainsIdentical' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsIdentical.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\TraversableContainsOnly' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsOnly.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\UnaryOperator' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Operator/UnaryOperator.php',
|
|
||||||
'PHPUnit\\Framework\\CoveredCodeNotExecutedException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/CoveredCodeNotExecutedException.php',
|
|
||||||
'PHPUnit\\Framework\\DataProviderTestSuite' => $vendorDir . '/phpunit/phpunit/src/Framework/DataProviderTestSuite.php',
|
|
||||||
'PHPUnit\\Framework\\Error' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/Error.php',
|
|
||||||
'PHPUnit\\Framework\\ErrorTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/ErrorTestCase.php',
|
|
||||||
'PHPUnit\\Framework\\Error\\Deprecated' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Deprecated.php',
|
|
||||||
'PHPUnit\\Framework\\Error\\Error' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Error.php',
|
|
||||||
'PHPUnit\\Framework\\Error\\Notice' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Notice.php',
|
|
||||||
'PHPUnit\\Framework\\Error\\Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Warning.php',
|
|
||||||
'PHPUnit\\Framework\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/Exception.php',
|
|
||||||
'PHPUnit\\Framework\\ExceptionWrapper' => $vendorDir . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php',
|
|
||||||
'PHPUnit\\Framework\\ExecutionOrderDependency' => $vendorDir . '/phpunit/phpunit/src/Framework/ExecutionOrderDependency.php',
|
|
||||||
'PHPUnit\\Framework\\ExpectationFailedException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/ExpectationFailedException.php',
|
|
||||||
'PHPUnit\\Framework\\IncompleteTest' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTest.php',
|
|
||||||
'PHPUnit\\Framework\\IncompleteTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php',
|
|
||||||
'PHPUnit\\Framework\\IncompleteTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/IncompleteTestError.php',
|
|
||||||
'PHPUnit\\Framework\\InvalidArgumentException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/InvalidArgumentException.php',
|
|
||||||
'PHPUnit\\Framework\\InvalidCoversTargetException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/InvalidCoversTargetException.php',
|
|
||||||
'PHPUnit\\Framework\\InvalidDataProviderException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/InvalidDataProviderException.php',
|
|
||||||
'PHPUnit\\Framework\\InvalidParameterGroupException' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidParameterGroupException.php',
|
|
||||||
'PHPUnit\\Framework\\MissingCoversAnnotationException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/MissingCoversAnnotationException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Api' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Api/Api.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\BadMethodCallException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/BadMethodCallException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Builder\\Identity' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/Identity.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Builder\\InvocationMocker' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationMocker.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Builder\\InvocationStubber' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationStubber.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Builder\\MethodNameMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/MethodNameMatch.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Builder\\ParametersMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/ParametersMatch.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Builder\\Stub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Builder/Stub.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\CannotUseAddMethodsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseAddMethodsException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\CannotUseOnlyMethodsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseOnlyMethodsException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\ClassAlreadyExistsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ClassAlreadyExistsException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\ClassIsFinalException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ClassIsFinalException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\ConfigurableMethodsAlreadyInitializedException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ConfigurableMethodsAlreadyInitializedException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\DuplicateMethodException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/DuplicateMethodException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Generator' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\IncompatibleReturnValueException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/IncompatibleReturnValueException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\InvalidMethodNameException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/InvalidMethodNameException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Invocation' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Invocation.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\InvocationHandler' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/InvocationHandler.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MatchBuilderNotFoundException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/MatchBuilderNotFoundException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Matcher' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MatcherAlreadyRegisteredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/MatcherAlreadyRegisteredException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Method' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Api/Method.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MethodCannotBeConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodCannotBeConfiguredException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MethodNameAlreadyConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodNameAlreadyConfiguredException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MethodNameConstraint' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MethodNameConstraint.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MethodNameNotConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodNameNotConfiguredException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MethodParametersAlreadyConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodParametersAlreadyConfiguredException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockBuilder' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockClass' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockClass.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockMethod.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockMethodSet' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockObject' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockObject.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockTrait' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockTrait.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockType' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockType.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockedCloneMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Api/MockedCloneMethod.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\OriginalConstructorInvocationRequiredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/OriginalConstructorInvocationRequiredException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReflectionException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\ReturnValueNotConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReturnValueNotConfiguredException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\AnyInvokedCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/AnyInvokedCount.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\AnyParameters' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/AnyParameters.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\ConsecutiveParameters' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/ConsecutiveParameters.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\InvocationOrder' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvocationOrder.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtIndex' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtIndex.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtLeastCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtLeastCount.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtLeastOnce' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtLeastOnce.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtMostCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtMostCount.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\InvokedCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedCount.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\MethodName' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/MethodName.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\Parameters' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/Parameters.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\ParametersRule' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Rule/ParametersRule.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\RuntimeException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/RuntimeException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\SoapExtensionNotAvailableException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/SoapExtensionNotAvailableException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\ConsecutiveCalls' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ConsecutiveCalls.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/Exception.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\ReturnArgument' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnArgument.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\ReturnCallback' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnCallback.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\ReturnReference' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnReference.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\ReturnSelf' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnSelf.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\ReturnStub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnStub.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\ReturnValueMap' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnValueMap.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\Stub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub/Stub.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\UnknownClassException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/UnknownClassException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\UnknownTraitException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/UnknownTraitException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\UnknownTypeException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/UnknownTypeException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\UnmockedCloneMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Api/UnmockedCloneMethod.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Verifiable' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Verifiable.php',
|
|
||||||
'PHPUnit\\Framework\\NoChildTestSuiteException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/NoChildTestSuiteException.php',
|
|
||||||
'PHPUnit\\Framework\\OutputError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/OutputError.php',
|
|
||||||
'PHPUnit\\Framework\\PHPTAssertionFailedError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/PHPTAssertionFailedError.php',
|
|
||||||
'PHPUnit\\Framework\\Reorderable' => $vendorDir . '/phpunit/phpunit/src/Framework/Reorderable.php',
|
|
||||||
'PHPUnit\\Framework\\RiskyTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/RiskyTestError.php',
|
|
||||||
'PHPUnit\\Framework\\SelfDescribing' => $vendorDir . '/phpunit/phpunit/src/Framework/SelfDescribing.php',
|
|
||||||
'PHPUnit\\Framework\\SkippedTest' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTest.php',
|
|
||||||
'PHPUnit\\Framework\\SkippedTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestCase.php',
|
|
||||||
'PHPUnit\\Framework\\SkippedTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/SkippedTestError.php',
|
|
||||||
'PHPUnit\\Framework\\SkippedTestSuiteError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/SkippedTestSuiteError.php',
|
|
||||||
'PHPUnit\\Framework\\SyntheticError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/SyntheticError.php',
|
|
||||||
'PHPUnit\\Framework\\SyntheticSkippedError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/SyntheticSkippedError.php',
|
|
||||||
'PHPUnit\\Framework\\Test' => $vendorDir . '/phpunit/phpunit/src/Framework/Test.php',
|
|
||||||
'PHPUnit\\Framework\\TestBuilder' => $vendorDir . '/phpunit/phpunit/src/Framework/TestBuilder.php',
|
|
||||||
'PHPUnit\\Framework\\TestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/TestCase.php',
|
|
||||||
'PHPUnit\\Framework\\TestFailure' => $vendorDir . '/phpunit/phpunit/src/Framework/TestFailure.php',
|
|
||||||
'PHPUnit\\Framework\\TestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/TestListener.php',
|
|
||||||
'PHPUnit\\Framework\\TestListenerDefaultImplementation' => $vendorDir . '/phpunit/phpunit/src/Framework/TestListenerDefaultImplementation.php',
|
|
||||||
'PHPUnit\\Framework\\TestResult' => $vendorDir . '/phpunit/phpunit/src/Framework/TestResult.php',
|
|
||||||
'PHPUnit\\Framework\\TestSuite' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite.php',
|
|
||||||
'PHPUnit\\Framework\\TestSuiteIterator' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuiteIterator.php',
|
|
||||||
'PHPUnit\\Framework\\UnintentionallyCoveredCodeError' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/UnintentionallyCoveredCodeError.php',
|
|
||||||
'PHPUnit\\Framework\\Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/Warning.php',
|
|
||||||
'PHPUnit\\Framework\\WarningTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/WarningTestCase.php',
|
|
||||||
'PHPUnit\\Runner\\AfterIncompleteTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterIncompleteTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterLastTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterLastTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterRiskyTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterRiskyTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterSkippedTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterSkippedTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterSuccessfulTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterSuccessfulTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterTestErrorHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestErrorHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterTestFailureHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestFailureHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterTestWarningHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/AfterTestWarningHook.php',
|
|
||||||
'PHPUnit\\Runner\\BaseTestRunner' => $vendorDir . '/phpunit/phpunit/src/Runner/BaseTestRunner.php',
|
|
||||||
'PHPUnit\\Runner\\BeforeFirstTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/BeforeFirstTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\BeforeTestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/BeforeTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\DefaultTestResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/DefaultTestResultCache.php',
|
|
||||||
'PHPUnit\\Runner\\Exception' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception.php',
|
|
||||||
'PHPUnit\\Runner\\Extension\\ExtensionHandler' => $vendorDir . '/phpunit/phpunit/src/Runner/Extension/ExtensionHandler.php',
|
|
||||||
'PHPUnit\\Runner\\Extension\\PharLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/Extension/PharLoader.php',
|
|
||||||
'PHPUnit\\Runner\\Filter\\ExcludeGroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php',
|
|
||||||
'PHPUnit\\Runner\\Filter\\Factory' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Factory.php',
|
|
||||||
'PHPUnit\\Runner\\Filter\\GroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php',
|
|
||||||
'PHPUnit\\Runner\\Filter\\IncludeGroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php',
|
|
||||||
'PHPUnit\\Runner\\Filter\\NameFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php',
|
|
||||||
'PHPUnit\\Runner\\Hook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/Hook.php',
|
|
||||||
'PHPUnit\\Runner\\NullTestResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/NullTestResultCache.php',
|
|
||||||
'PHPUnit\\Runner\\PhptTestCase' => $vendorDir . '/phpunit/phpunit/src/Runner/PhptTestCase.php',
|
|
||||||
'PHPUnit\\Runner\\ResultCacheExtension' => $vendorDir . '/phpunit/phpunit/src/Runner/ResultCacheExtension.php',
|
|
||||||
'PHPUnit\\Runner\\StandardTestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php',
|
|
||||||
'PHPUnit\\Runner\\TestHook' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/TestHook.php',
|
|
||||||
'PHPUnit\\Runner\\TestListenerAdapter' => $vendorDir . '/phpunit/phpunit/src/Runner/Hook/TestListenerAdapter.php',
|
|
||||||
'PHPUnit\\Runner\\TestResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResultCache.php',
|
|
||||||
'PHPUnit\\Runner\\TestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php',
|
|
||||||
'PHPUnit\\Runner\\TestSuiteSorter' => $vendorDir . '/phpunit/phpunit/src/Runner/TestSuiteSorter.php',
|
|
||||||
'PHPUnit\\Runner\\Version' => $vendorDir . '/phpunit/phpunit/src/Runner/Version.php',
|
|
||||||
'PHPUnit\\TextUI\\CliArguments\\Builder' => $vendorDir . '/phpunit/phpunit/src/TextUI/CliArguments/Builder.php',
|
|
||||||
'PHPUnit\\TextUI\\CliArguments\\Configuration' => $vendorDir . '/phpunit/phpunit/src/TextUI/CliArguments/Configuration.php',
|
|
||||||
'PHPUnit\\TextUI\\CliArguments\\Exception' => $vendorDir . '/phpunit/phpunit/src/TextUI/CliArguments/Exception.php',
|
|
||||||
'PHPUnit\\TextUI\\CliArguments\\Mapper' => $vendorDir . '/phpunit/phpunit/src/TextUI/CliArguments/Mapper.php',
|
|
||||||
'PHPUnit\\TextUI\\Command' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command.php',
|
|
||||||
'PHPUnit\\TextUI\\DefaultResultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/DefaultResultPrinter.php',
|
|
||||||
'PHPUnit\\TextUI\\Exception' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/Exception.php',
|
|
||||||
'PHPUnit\\TextUI\\Help' => $vendorDir . '/phpunit/phpunit/src/TextUI/Help.php',
|
|
||||||
'PHPUnit\\TextUI\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/ReflectionException.php',
|
|
||||||
'PHPUnit\\TextUI\\ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/ResultPrinter.php',
|
|
||||||
'PHPUnit\\TextUI\\RuntimeException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/RuntimeException.php',
|
|
||||||
'PHPUnit\\TextUI\\TestDirectoryNotFoundException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/TestDirectoryNotFoundException.php',
|
|
||||||
'PHPUnit\\TextUI\\TestFileNotFoundException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/TestFileNotFoundException.php',
|
|
||||||
'PHPUnit\\TextUI\\TestRunner' => $vendorDir . '/phpunit/phpunit/src/TextUI/TestRunner.php',
|
|
||||||
'PHPUnit\\TextUI\\TestSuiteMapper' => $vendorDir . '/phpunit/phpunit/src/TextUI/TestSuiteMapper.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\CodeCoverage' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/CodeCoverage.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\FilterMapper' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/FilterMapper.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Filter\\Directory' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Filter/Directory.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Filter\\DirectoryCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Filter/DirectoryCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Filter\\DirectoryCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Filter/DirectoryCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Clover' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Clover.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Cobertura' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Cobertura.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Crap4j' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Crap4j.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Html' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Html.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Php' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Php.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Text' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Text.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Xml' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Xml.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Configuration' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Configuration.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Constant' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/Constant.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\ConstantCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/ConstantCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\ConstantCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/ConstantCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\ConvertLogTypes' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/ConvertLogTypes.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CoverageCloverToReport' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageCloverToReport.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CoverageCrap4jToReport' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageCrap4jToReport.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CoverageHtmlToReport' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageHtmlToReport.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CoveragePhpToReport' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoveragePhpToReport.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CoverageTextToReport' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageTextToReport.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CoverageXmlToReport' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageXmlToReport.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Directory' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/Directory.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\DirectoryCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/DirectoryCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\DirectoryCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/DirectoryCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Exception' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Exception.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Extension' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/Extension.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\ExtensionCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/ExtensionCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\ExtensionCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/ExtensionCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\File' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/File.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\FileCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/FileCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\FileCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/FileCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Generator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Generator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Group' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/Group.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\GroupCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/GroupCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\GroupCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/GroupCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Groups' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/Groups.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\IniSetting' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/IniSetting.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\IniSettingCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/IniSettingCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\IniSettingCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/IniSettingCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\IntroduceCoverageElement' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/IntroduceCoverageElement.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Loader' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Loader.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\LogToReportMigration' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/LogToReportMigration.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\Junit' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Junit.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\Logging' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Logging.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TeamCity' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TeamCity.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Html' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TestDox/Html.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Text' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TestDox/Text.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Xml' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TestDox/Xml.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\Text' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Text.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Migration' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/Migration.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilder' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/MigrationBuilder.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilderException' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/MigrationBuilderException.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\MigrationException' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/MigrationException.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Migrator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\MoveAttributesFromFilterWhitelistToCoverage' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveAttributesFromFilterWhitelistToCoverage.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\MoveAttributesFromRootToCoverage' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveAttributesFromRootToCoverage.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\MoveWhitelistDirectoriesToCoverage' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveWhitelistDirectoriesToCoverage.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\MoveWhitelistExcludesToCoverage' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveWhitelistExcludesToCoverage.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\PHPUnit' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/PHPUnit.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Php' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/Php.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\PhpHandler' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/PhpHandler.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\RemoveCacheTokensAttribute' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/RemoveCacheTokensAttribute.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\RemoveEmptyFilter' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/RemoveEmptyFilter.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\RemoveLogTypes' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/RemoveLogTypes.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestDirectory' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestDirectory.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestDirectoryCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestDirectoryCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestDirectoryCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestDirectoryCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestFile' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestFile.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestFileCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestFileCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestFileCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestFileCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestSuite' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestSuite.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestSuiteCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestSuiteCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestSuiteCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestSuiteCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\UpdateSchemaLocationTo93' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/UpdateSchemaLocationTo93.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Variable' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/Variable.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\VariableCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/VariableCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\VariableCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/VariableCollectionIterator.php',
|
|
||||||
'PHPUnit\\Util\\Annotation\\DocBlock' => $vendorDir . '/phpunit/phpunit/src/Util/Annotation/DocBlock.php',
|
|
||||||
'PHPUnit\\Util\\Annotation\\Registry' => $vendorDir . '/phpunit/phpunit/src/Util/Annotation/Registry.php',
|
|
||||||
'PHPUnit\\Util\\Blacklist' => $vendorDir . '/phpunit/phpunit/src/Util/Blacklist.php',
|
|
||||||
'PHPUnit\\Util\\Color' => $vendorDir . '/phpunit/phpunit/src/Util/Color.php',
|
|
||||||
'PHPUnit\\Util\\ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Util/ErrorHandler.php',
|
|
||||||
'PHPUnit\\Util\\Exception' => $vendorDir . '/phpunit/phpunit/src/Util/Exception.php',
|
|
||||||
'PHPUnit\\Util\\ExcludeList' => $vendorDir . '/phpunit/phpunit/src/Util/ExcludeList.php',
|
|
||||||
'PHPUnit\\Util\\FileLoader' => $vendorDir . '/phpunit/phpunit/src/Util/FileLoader.php',
|
|
||||||
'PHPUnit\\Util\\Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php',
|
|
||||||
'PHPUnit\\Util\\Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php',
|
|
||||||
'PHPUnit\\Util\\GlobalState' => $vendorDir . '/phpunit/phpunit/src/Util/GlobalState.php',
|
|
||||||
'PHPUnit\\Util\\InvalidDataSetException' => $vendorDir . '/phpunit/phpunit/src/Util/InvalidDataSetException.php',
|
|
||||||
'PHPUnit\\Util\\Json' => $vendorDir . '/phpunit/phpunit/src/Util/Json.php',
|
|
||||||
'PHPUnit\\Util\\Log\\JUnit' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JUnit.php',
|
|
||||||
'PHPUnit\\Util\\Log\\TeamCity' => $vendorDir . '/phpunit/phpunit/src/Util/Log/TeamCity.php',
|
|
||||||
'PHPUnit\\Util\\PHP\\AbstractPhpProcess' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/AbstractPhpProcess.php',
|
|
||||||
'PHPUnit\\Util\\PHP\\DefaultPhpProcess' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/DefaultPhpProcess.php',
|
|
||||||
'PHPUnit\\Util\\PHP\\WindowsPhpProcess' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/WindowsPhpProcess.php',
|
|
||||||
'PHPUnit\\Util\\Printer' => $vendorDir . '/phpunit/phpunit/src/Util/Printer.php',
|
|
||||||
'PHPUnit\\Util\\RegularExpression' => $vendorDir . '/phpunit/phpunit/src/Util/RegularExpression.php',
|
|
||||||
'PHPUnit\\Util\\Test' => $vendorDir . '/phpunit/phpunit/src/Util/Test.php',
|
|
||||||
'PHPUnit\\Util\\TestDox\\CliTestDoxPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/CliTestDoxPrinter.php',
|
|
||||||
'PHPUnit\\Util\\TestDox\\HtmlResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php',
|
|
||||||
'PHPUnit\\Util\\TestDox\\NamePrettifier' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php',
|
|
||||||
'PHPUnit\\Util\\TestDox\\ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php',
|
|
||||||
'PHPUnit\\Util\\TestDox\\TestDoxPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/TestDoxPrinter.php',
|
|
||||||
'PHPUnit\\Util\\TestDox\\TextResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/TextResultPrinter.php',
|
|
||||||
'PHPUnit\\Util\\TestDox\\XmlResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/XmlResultPrinter.php',
|
|
||||||
'PHPUnit\\Util\\TextTestListRenderer' => $vendorDir . '/phpunit/phpunit/src/Util/TextTestListRenderer.php',
|
|
||||||
'PHPUnit\\Util\\Type' => $vendorDir . '/phpunit/phpunit/src/Util/Type.php',
|
|
||||||
'PHPUnit\\Util\\VersionComparisonOperator' => $vendorDir . '/phpunit/phpunit/src/Util/VersionComparisonOperator.php',
|
|
||||||
'PHPUnit\\Util\\XdebugFilterScriptGenerator' => $vendorDir . '/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php',
|
|
||||||
'PHPUnit\\Util\\Xml' => $vendorDir . '/phpunit/phpunit/src/Util/Xml.php',
|
|
||||||
'PHPUnit\\Util\\XmlTestListRenderer' => $vendorDir . '/phpunit/phpunit/src/Util/XmlTestListRenderer.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\Exception' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/Exception.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\FailedSchemaDetectionResult' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/FailedSchemaDetectionResult.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\Loader' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/Loader.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\SchemaDetectionResult' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/SchemaDetectionResult.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\SchemaDetector' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/SchemaDetector.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\SchemaFinder' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/SchemaFinder.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\SnapshotNodeList' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/SnapshotNodeList.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\SuccessfulSchemaDetectionResult' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/SuccessfulSchemaDetectionResult.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\ValidationResult' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/ValidationResult.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\Validator' => $vendorDir . '/phpunit/phpunit/src/Util/Xml/Validator.php',
|
|
||||||
'PharIo\\Manifest\\Application' => $vendorDir . '/phar-io/manifest/src/values/Application.php',
|
|
||||||
'PharIo\\Manifest\\ApplicationName' => $vendorDir . '/phar-io/manifest/src/values/ApplicationName.php',
|
|
||||||
'PharIo\\Manifest\\Author' => $vendorDir . '/phar-io/manifest/src/values/Author.php',
|
|
||||||
'PharIo\\Manifest\\AuthorCollection' => $vendorDir . '/phar-io/manifest/src/values/AuthorCollection.php',
|
|
||||||
'PharIo\\Manifest\\AuthorCollectionIterator' => $vendorDir . '/phar-io/manifest/src/values/AuthorCollectionIterator.php',
|
|
||||||
'PharIo\\Manifest\\AuthorElement' => $vendorDir . '/phar-io/manifest/src/xml/AuthorElement.php',
|
|
||||||
'PharIo\\Manifest\\AuthorElementCollection' => $vendorDir . '/phar-io/manifest/src/xml/AuthorElementCollection.php',
|
|
||||||
'PharIo\\Manifest\\BundledComponent' => $vendorDir . '/phar-io/manifest/src/values/BundledComponent.php',
|
|
||||||
'PharIo\\Manifest\\BundledComponentCollection' => $vendorDir . '/phar-io/manifest/src/values/BundledComponentCollection.php',
|
|
||||||
'PharIo\\Manifest\\BundledComponentCollectionIterator' => $vendorDir . '/phar-io/manifest/src/values/BundledComponentCollectionIterator.php',
|
|
||||||
'PharIo\\Manifest\\BundlesElement' => $vendorDir . '/phar-io/manifest/src/xml/BundlesElement.php',
|
|
||||||
'PharIo\\Manifest\\ComponentElement' => $vendorDir . '/phar-io/manifest/src/xml/ComponentElement.php',
|
|
||||||
'PharIo\\Manifest\\ComponentElementCollection' => $vendorDir . '/phar-io/manifest/src/xml/ComponentElementCollection.php',
|
|
||||||
'PharIo\\Manifest\\ContainsElement' => $vendorDir . '/phar-io/manifest/src/xml/ContainsElement.php',
|
|
||||||
'PharIo\\Manifest\\CopyrightElement' => $vendorDir . '/phar-io/manifest/src/xml/CopyrightElement.php',
|
|
||||||
'PharIo\\Manifest\\CopyrightInformation' => $vendorDir . '/phar-io/manifest/src/values/CopyrightInformation.php',
|
|
||||||
'PharIo\\Manifest\\ElementCollection' => $vendorDir . '/phar-io/manifest/src/xml/ElementCollection.php',
|
|
||||||
'PharIo\\Manifest\\ElementCollectionException' => $vendorDir . '/phar-io/manifest/src/exceptions/ElementCollectionException.php',
|
|
||||||
'PharIo\\Manifest\\Email' => $vendorDir . '/phar-io/manifest/src/values/Email.php',
|
|
||||||
'PharIo\\Manifest\\Exception' => $vendorDir . '/phar-io/manifest/src/exceptions/Exception.php',
|
|
||||||
'PharIo\\Manifest\\ExtElement' => $vendorDir . '/phar-io/manifest/src/xml/ExtElement.php',
|
|
||||||
'PharIo\\Manifest\\ExtElementCollection' => $vendorDir . '/phar-io/manifest/src/xml/ExtElementCollection.php',
|
|
||||||
'PharIo\\Manifest\\Extension' => $vendorDir . '/phar-io/manifest/src/values/Extension.php',
|
|
||||||
'PharIo\\Manifest\\ExtensionElement' => $vendorDir . '/phar-io/manifest/src/xml/ExtensionElement.php',
|
|
||||||
'PharIo\\Manifest\\InvalidApplicationNameException' => $vendorDir . '/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php',
|
|
||||||
'PharIo\\Manifest\\InvalidEmailException' => $vendorDir . '/phar-io/manifest/src/exceptions/InvalidEmailException.php',
|
|
||||||
'PharIo\\Manifest\\InvalidUrlException' => $vendorDir . '/phar-io/manifest/src/exceptions/InvalidUrlException.php',
|
|
||||||
'PharIo\\Manifest\\Library' => $vendorDir . '/phar-io/manifest/src/values/Library.php',
|
|
||||||
'PharIo\\Manifest\\License' => $vendorDir . '/phar-io/manifest/src/values/License.php',
|
|
||||||
'PharIo\\Manifest\\LicenseElement' => $vendorDir . '/phar-io/manifest/src/xml/LicenseElement.php',
|
|
||||||
'PharIo\\Manifest\\Manifest' => $vendorDir . '/phar-io/manifest/src/values/Manifest.php',
|
|
||||||
'PharIo\\Manifest\\ManifestDocument' => $vendorDir . '/phar-io/manifest/src/xml/ManifestDocument.php',
|
|
||||||
'PharIo\\Manifest\\ManifestDocumentException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestDocumentException.php',
|
|
||||||
'PharIo\\Manifest\\ManifestDocumentLoadingException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestDocumentLoadingException.php',
|
|
||||||
'PharIo\\Manifest\\ManifestDocumentMapper' => $vendorDir . '/phar-io/manifest/src/ManifestDocumentMapper.php',
|
|
||||||
'PharIo\\Manifest\\ManifestDocumentMapperException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestDocumentMapperException.php',
|
|
||||||
'PharIo\\Manifest\\ManifestElement' => $vendorDir . '/phar-io/manifest/src/xml/ManifestElement.php',
|
|
||||||
'PharIo\\Manifest\\ManifestElementException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestElementException.php',
|
|
||||||
'PharIo\\Manifest\\ManifestLoader' => $vendorDir . '/phar-io/manifest/src/ManifestLoader.php',
|
|
||||||
'PharIo\\Manifest\\ManifestLoaderException' => $vendorDir . '/phar-io/manifest/src/exceptions/ManifestLoaderException.php',
|
|
||||||
'PharIo\\Manifest\\ManifestSerializer' => $vendorDir . '/phar-io/manifest/src/ManifestSerializer.php',
|
|
||||||
'PharIo\\Manifest\\PhpElement' => $vendorDir . '/phar-io/manifest/src/xml/PhpElement.php',
|
|
||||||
'PharIo\\Manifest\\PhpExtensionRequirement' => $vendorDir . '/phar-io/manifest/src/values/PhpExtensionRequirement.php',
|
|
||||||
'PharIo\\Manifest\\PhpVersionRequirement' => $vendorDir . '/phar-io/manifest/src/values/PhpVersionRequirement.php',
|
|
||||||
'PharIo\\Manifest\\Requirement' => $vendorDir . '/phar-io/manifest/src/values/Requirement.php',
|
|
||||||
'PharIo\\Manifest\\RequirementCollection' => $vendorDir . '/phar-io/manifest/src/values/RequirementCollection.php',
|
|
||||||
'PharIo\\Manifest\\RequirementCollectionIterator' => $vendorDir . '/phar-io/manifest/src/values/RequirementCollectionIterator.php',
|
|
||||||
'PharIo\\Manifest\\RequiresElement' => $vendorDir . '/phar-io/manifest/src/xml/RequiresElement.php',
|
|
||||||
'PharIo\\Manifest\\Type' => $vendorDir . '/phar-io/manifest/src/values/Type.php',
|
|
||||||
'PharIo\\Manifest\\Url' => $vendorDir . '/phar-io/manifest/src/values/Url.php',
|
|
||||||
'PharIo\\Version\\AbstractVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/AbstractVersionConstraint.php',
|
|
||||||
'PharIo\\Version\\AndVersionConstraintGroup' => $vendorDir . '/phar-io/version/src/constraints/AndVersionConstraintGroup.php',
|
|
||||||
'PharIo\\Version\\AnyVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/AnyVersionConstraint.php',
|
|
||||||
'PharIo\\Version\\ExactVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/ExactVersionConstraint.php',
|
|
||||||
'PharIo\\Version\\Exception' => $vendorDir . '/phar-io/version/src/exceptions/Exception.php',
|
|
||||||
'PharIo\\Version\\GreaterThanOrEqualToVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/GreaterThanOrEqualToVersionConstraint.php',
|
|
||||||
'PharIo\\Version\\InvalidPreReleaseSuffixException' => $vendorDir . '/phar-io/version/src/exceptions/InvalidPreReleaseSuffixException.php',
|
|
||||||
'PharIo\\Version\\InvalidVersionException' => $vendorDir . '/phar-io/version/src/exceptions/InvalidVersionException.php',
|
|
||||||
'PharIo\\Version\\NoPreReleaseSuffixException' => $vendorDir . '/phar-io/version/src/exceptions/NoPreReleaseSuffixException.php',
|
|
||||||
'PharIo\\Version\\OrVersionConstraintGroup' => $vendorDir . '/phar-io/version/src/constraints/OrVersionConstraintGroup.php',
|
|
||||||
'PharIo\\Version\\PreReleaseSuffix' => $vendorDir . '/phar-io/version/src/PreReleaseSuffix.php',
|
|
||||||
'PharIo\\Version\\SpecificMajorAndMinorVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/SpecificMajorAndMinorVersionConstraint.php',
|
|
||||||
'PharIo\\Version\\SpecificMajorVersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/SpecificMajorVersionConstraint.php',
|
|
||||||
'PharIo\\Version\\UnsupportedVersionConstraintException' => $vendorDir . '/phar-io/version/src/exceptions/UnsupportedVersionConstraintException.php',
|
|
||||||
'PharIo\\Version\\Version' => $vendorDir . '/phar-io/version/src/Version.php',
|
|
||||||
'PharIo\\Version\\VersionConstraint' => $vendorDir . '/phar-io/version/src/constraints/VersionConstraint.php',
|
|
||||||
'PharIo\\Version\\VersionConstraintParser' => $vendorDir . '/phar-io/version/src/VersionConstraintParser.php',
|
|
||||||
'PharIo\\Version\\VersionConstraintValue' => $vendorDir . '/phar-io/version/src/VersionConstraintValue.php',
|
|
||||||
'PharIo\\Version\\VersionNumber' => $vendorDir . '/phar-io/version/src/VersionNumber.php',
|
|
||||||
'SebastianBergmann\\CliParser\\AmbiguousOptionException' => $vendorDir . '/sebastian/cli-parser/src/exceptions/AmbiguousOptionException.php',
|
|
||||||
'SebastianBergmann\\CliParser\\Exception' => $vendorDir . '/sebastian/cli-parser/src/exceptions/Exception.php',
|
|
||||||
'SebastianBergmann\\CliParser\\OptionDoesNotAllowArgumentException' => $vendorDir . '/sebastian/cli-parser/src/exceptions/OptionDoesNotAllowArgumentException.php',
|
|
||||||
'SebastianBergmann\\CliParser\\Parser' => $vendorDir . '/sebastian/cli-parser/src/Parser.php',
|
|
||||||
'SebastianBergmann\\CliParser\\RequiredOptionArgumentMissingException' => $vendorDir . '/sebastian/cli-parser/src/exceptions/RequiredOptionArgumentMissingException.php',
|
|
||||||
'SebastianBergmann\\CliParser\\UnknownOptionException' => $vendorDir . '/sebastian/cli-parser/src/exceptions/UnknownOptionException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\BranchAndPathCoverageNotSupportedException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/BranchAndPathCoverageNotSupportedException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\CodeCoverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\CrapIndex' => $vendorDir . '/phpunit/php-code-coverage/src/CrapIndex.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\DeadCodeDetectionNotSupportedException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/DeadCodeDetectionNotSupportedException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Directory' => $vendorDir . '/phpunit/php-code-coverage/src/Directory.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\DirectoryCouldNotBeCreatedException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/DirectoryCouldNotBeCreatedException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\Driver' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/Driver.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\PathExistsButIsNotDirectoryException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/PathExistsButIsNotDirectoryException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\PcovDriver' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/PcovDriver.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\PcovNotAvailableException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/PcovNotAvailableException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\PhpdbgDriver' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/PhpdbgDriver.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\PhpdbgNotAvailableException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/PhpdbgNotAvailableException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\Selector' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/Selector.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\WriteOperationFailedException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/WriteOperationFailedException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\WrongXdebugVersionException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/WrongXdebugVersionException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug2Driver' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/Xdebug2Driver.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug2NotEnabledException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/Xdebug2NotEnabledException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug3Driver' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/Xdebug3Driver.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug3NotEnabledException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/Xdebug3NotEnabledException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\XdebugNotAvailableException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/XdebugNotAvailableException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Exception' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/Exception.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Filter' => $vendorDir . '/phpunit/php-code-coverage/src/Filter.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\InvalidArgumentException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/InvalidArgumentException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\NoCodeCoverageDriverAvailableException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/NoCodeCoverageDriverAvailableException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\NoCodeCoverageDriverWithPathCoverageSupportAvailableException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/NoCodeCoverageDriverWithPathCoverageSupportAvailableException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Node\\AbstractNode' => $vendorDir . '/phpunit/php-code-coverage/src/Node/AbstractNode.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Node\\Builder' => $vendorDir . '/phpunit/php-code-coverage/src/Node/Builder.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Node\\Directory' => $vendorDir . '/phpunit/php-code-coverage/src/Node/Directory.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Node\\File' => $vendorDir . '/phpunit/php-code-coverage/src/Node/File.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Node\\Iterator' => $vendorDir . '/phpunit/php-code-coverage/src/Node/Iterator.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\ParserException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/ParserException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Percentage' => $vendorDir . '/phpunit/php-code-coverage/src/Percentage.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\ProcessedCodeCoverageData' => $vendorDir . '/phpunit/php-code-coverage/src/ProcessedCodeCoverageData.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\RawCodeCoverageData' => $vendorDir . '/phpunit/php-code-coverage/src/RawCodeCoverageData.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\ReflectionException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/ReflectionException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\ReportAlreadyFinalizedException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/ReportAlreadyFinalizedException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Clover' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Clover.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Cobertura' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Cobertura.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Crap4j' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Crap4j.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Html\\Dashboard' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Html\\Directory' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Html\\Facade' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Facade.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Html\\File' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Html\\Renderer' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Html/Renderer.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\PHP' => $vendorDir . '/phpunit/php-code-coverage/src/Report/PHP.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Text' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Text.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\BuildInformation' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Coverage' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Coverage.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Directory' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Directory.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Facade' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Facade.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\File' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/File.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Method' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Method.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Node' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Node.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Project' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Project.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Report' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Report.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Source' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Source.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Tests' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Tests.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Totals' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Totals.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Unit' => $vendorDir . '/phpunit/php-code-coverage/src/Report/Xml/Unit.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysisCacheNotConfiguredException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/StaticAnalysisCacheNotConfiguredException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\Cache' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/Cache.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CacheWarmer' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/CacheWarmer.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CachingCoveredFileAnalyser' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/CachingCoveredFileAnalyser.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CachingUncoveredFileAnalyser' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/CachingUncoveredFileAnalyser.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CodeUnitFindingVisitor' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/CodeUnitFindingVisitor.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CoveredFileAnalyser' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/CoveredFileAnalyser.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\ExecutableLinesFindingVisitor' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/ExecutableLinesFindingVisitor.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\IgnoredLinesFindingVisitor' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/IgnoredLinesFindingVisitor.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\ParsingCoveredFileAnalyser' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/ParsingCoveredFileAnalyser.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\ParsingUncoveredFileAnalyser' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/ParsingUncoveredFileAnalyser.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\UncoveredFileAnalyser' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/UncoveredFileAnalyser.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\TestIdMissingException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/TestIdMissingException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\UnintentionallyCoveredCodeException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/UnintentionallyCoveredCodeException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Version' => $vendorDir . '/phpunit/php-code-coverage/src/Version.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\XmlException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/XmlException.php',
|
|
||||||
'SebastianBergmann\\CodeUnitReverseLookup\\Wizard' => $vendorDir . '/sebastian/code-unit-reverse-lookup/src/Wizard.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\ClassMethodUnit' => $vendorDir . '/sebastian/code-unit/src/ClassMethodUnit.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\ClassUnit' => $vendorDir . '/sebastian/code-unit/src/ClassUnit.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\CodeUnit' => $vendorDir . '/sebastian/code-unit/src/CodeUnit.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\CodeUnitCollection' => $vendorDir . '/sebastian/code-unit/src/CodeUnitCollection.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\CodeUnitCollectionIterator' => $vendorDir . '/sebastian/code-unit/src/CodeUnitCollectionIterator.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\Exception' => $vendorDir . '/sebastian/code-unit/src/exceptions/Exception.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\FunctionUnit' => $vendorDir . '/sebastian/code-unit/src/FunctionUnit.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\InterfaceMethodUnit' => $vendorDir . '/sebastian/code-unit/src/InterfaceMethodUnit.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\InterfaceUnit' => $vendorDir . '/sebastian/code-unit/src/InterfaceUnit.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\InvalidCodeUnitException' => $vendorDir . '/sebastian/code-unit/src/exceptions/InvalidCodeUnitException.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\Mapper' => $vendorDir . '/sebastian/code-unit/src/Mapper.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\NoTraitException' => $vendorDir . '/sebastian/code-unit/src/exceptions/NoTraitException.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\ReflectionException' => $vendorDir . '/sebastian/code-unit/src/exceptions/ReflectionException.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\TraitMethodUnit' => $vendorDir . '/sebastian/code-unit/src/TraitMethodUnit.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\TraitUnit' => $vendorDir . '/sebastian/code-unit/src/TraitUnit.php',
|
|
||||||
'SebastianBergmann\\Comparator\\ArrayComparator' => $vendorDir . '/sebastian/comparator/src/ArrayComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\Comparator' => $vendorDir . '/sebastian/comparator/src/Comparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\ComparisonFailure' => $vendorDir . '/sebastian/comparator/src/ComparisonFailure.php',
|
|
||||||
'SebastianBergmann\\Comparator\\DOMNodeComparator' => $vendorDir . '/sebastian/comparator/src/DOMNodeComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\DateTimeComparator' => $vendorDir . '/sebastian/comparator/src/DateTimeComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\DoubleComparator' => $vendorDir . '/sebastian/comparator/src/DoubleComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\Exception' => $vendorDir . '/sebastian/comparator/src/exceptions/Exception.php',
|
|
||||||
'SebastianBergmann\\Comparator\\ExceptionComparator' => $vendorDir . '/sebastian/comparator/src/ExceptionComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\Factory' => $vendorDir . '/sebastian/comparator/src/Factory.php',
|
|
||||||
'SebastianBergmann\\Comparator\\MockObjectComparator' => $vendorDir . '/sebastian/comparator/src/MockObjectComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\NumericComparator' => $vendorDir . '/sebastian/comparator/src/NumericComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\ObjectComparator' => $vendorDir . '/sebastian/comparator/src/ObjectComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\ResourceComparator' => $vendorDir . '/sebastian/comparator/src/ResourceComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\RuntimeException' => $vendorDir . '/sebastian/comparator/src/exceptions/RuntimeException.php',
|
|
||||||
'SebastianBergmann\\Comparator\\ScalarComparator' => $vendorDir . '/sebastian/comparator/src/ScalarComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => $vendorDir . '/sebastian/comparator/src/SplObjectStorageComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\TypeComparator' => $vendorDir . '/sebastian/comparator/src/TypeComparator.php',
|
|
||||||
'SebastianBergmann\\Complexity\\Calculator' => $vendorDir . '/sebastian/complexity/src/Calculator.php',
|
|
||||||
'SebastianBergmann\\Complexity\\Complexity' => $vendorDir . '/sebastian/complexity/src/Complexity/Complexity.php',
|
|
||||||
'SebastianBergmann\\Complexity\\ComplexityCalculatingVisitor' => $vendorDir . '/sebastian/complexity/src/Visitor/ComplexityCalculatingVisitor.php',
|
|
||||||
'SebastianBergmann\\Complexity\\ComplexityCollection' => $vendorDir . '/sebastian/complexity/src/Complexity/ComplexityCollection.php',
|
|
||||||
'SebastianBergmann\\Complexity\\ComplexityCollectionIterator' => $vendorDir . '/sebastian/complexity/src/Complexity/ComplexityCollectionIterator.php',
|
|
||||||
'SebastianBergmann\\Complexity\\CyclomaticComplexityCalculatingVisitor' => $vendorDir . '/sebastian/complexity/src/Visitor/CyclomaticComplexityCalculatingVisitor.php',
|
|
||||||
'SebastianBergmann\\Complexity\\Exception' => $vendorDir . '/sebastian/complexity/src/Exception/Exception.php',
|
|
||||||
'SebastianBergmann\\Complexity\\RuntimeException' => $vendorDir . '/sebastian/complexity/src/Exception/RuntimeException.php',
|
|
||||||
'SebastianBergmann\\Diff\\Chunk' => $vendorDir . '/sebastian/diff/src/Chunk.php',
|
|
||||||
'SebastianBergmann\\Diff\\ConfigurationException' => $vendorDir . '/sebastian/diff/src/Exception/ConfigurationException.php',
|
|
||||||
'SebastianBergmann\\Diff\\Diff' => $vendorDir . '/sebastian/diff/src/Diff.php',
|
|
||||||
'SebastianBergmann\\Diff\\Differ' => $vendorDir . '/sebastian/diff/src/Differ.php',
|
|
||||||
'SebastianBergmann\\Diff\\Exception' => $vendorDir . '/sebastian/diff/src/Exception/Exception.php',
|
|
||||||
'SebastianBergmann\\Diff\\InvalidArgumentException' => $vendorDir . '/sebastian/diff/src/Exception/InvalidArgumentException.php',
|
|
||||||
'SebastianBergmann\\Diff\\Line' => $vendorDir . '/sebastian/diff/src/Line.php',
|
|
||||||
'SebastianBergmann\\Diff\\LongestCommonSubsequenceCalculator' => $vendorDir . '/sebastian/diff/src/LongestCommonSubsequenceCalculator.php',
|
|
||||||
'SebastianBergmann\\Diff\\MemoryEfficientLongestCommonSubsequenceCalculator' => $vendorDir . '/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php',
|
|
||||||
'SebastianBergmann\\Diff\\Output\\AbstractChunkOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php',
|
|
||||||
'SebastianBergmann\\Diff\\Output\\DiffOnlyOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php',
|
|
||||||
'SebastianBergmann\\Diff\\Output\\DiffOutputBuilderInterface' => $vendorDir . '/sebastian/diff/src/Output/DiffOutputBuilderInterface.php',
|
|
||||||
'SebastianBergmann\\Diff\\Output\\StrictUnifiedDiffOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php',
|
|
||||||
'SebastianBergmann\\Diff\\Output\\UnifiedDiffOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php',
|
|
||||||
'SebastianBergmann\\Diff\\Parser' => $vendorDir . '/sebastian/diff/src/Parser.php',
|
|
||||||
'SebastianBergmann\\Diff\\TimeEfficientLongestCommonSubsequenceCalculator' => $vendorDir . '/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php',
|
|
||||||
'SebastianBergmann\\Environment\\Console' => $vendorDir . '/sebastian/environment/src/Console.php',
|
|
||||||
'SebastianBergmann\\Environment\\OperatingSystem' => $vendorDir . '/sebastian/environment/src/OperatingSystem.php',
|
|
||||||
'SebastianBergmann\\Environment\\Runtime' => $vendorDir . '/sebastian/environment/src/Runtime.php',
|
|
||||||
'SebastianBergmann\\Exporter\\Exporter' => $vendorDir . '/sebastian/exporter/src/Exporter.php',
|
|
||||||
'SebastianBergmann\\FileIterator\\Facade' => $vendorDir . '/phpunit/php-file-iterator/src/Facade.php',
|
|
||||||
'SebastianBergmann\\FileIterator\\Factory' => $vendorDir . '/phpunit/php-file-iterator/src/Factory.php',
|
|
||||||
'SebastianBergmann\\FileIterator\\Iterator' => $vendorDir . '/phpunit/php-file-iterator/src/Iterator.php',
|
|
||||||
'SebastianBergmann\\GlobalState\\CodeExporter' => $vendorDir . '/sebastian/global-state/src/CodeExporter.php',
|
|
||||||
'SebastianBergmann\\GlobalState\\Exception' => $vendorDir . '/sebastian/global-state/src/exceptions/Exception.php',
|
|
||||||
'SebastianBergmann\\GlobalState\\ExcludeList' => $vendorDir . '/sebastian/global-state/src/ExcludeList.php',
|
|
||||||
'SebastianBergmann\\GlobalState\\Restorer' => $vendorDir . '/sebastian/global-state/src/Restorer.php',
|
|
||||||
'SebastianBergmann\\GlobalState\\RuntimeException' => $vendorDir . '/sebastian/global-state/src/exceptions/RuntimeException.php',
|
|
||||||
'SebastianBergmann\\GlobalState\\Snapshot' => $vendorDir . '/sebastian/global-state/src/Snapshot.php',
|
|
||||||
'SebastianBergmann\\Invoker\\Exception' => $vendorDir . '/phpunit/php-invoker/src/exceptions/Exception.php',
|
|
||||||
'SebastianBergmann\\Invoker\\Invoker' => $vendorDir . '/phpunit/php-invoker/src/Invoker.php',
|
|
||||||
'SebastianBergmann\\Invoker\\ProcessControlExtensionNotLoadedException' => $vendorDir . '/phpunit/php-invoker/src/exceptions/ProcessControlExtensionNotLoadedException.php',
|
|
||||||
'SebastianBergmann\\Invoker\\TimeoutException' => $vendorDir . '/phpunit/php-invoker/src/exceptions/TimeoutException.php',
|
|
||||||
'SebastianBergmann\\LinesOfCode\\Counter' => $vendorDir . '/sebastian/lines-of-code/src/Counter.php',
|
|
||||||
'SebastianBergmann\\LinesOfCode\\Exception' => $vendorDir . '/sebastian/lines-of-code/src/Exception/Exception.php',
|
|
||||||
'SebastianBergmann\\LinesOfCode\\IllogicalValuesException' => $vendorDir . '/sebastian/lines-of-code/src/Exception/IllogicalValuesException.php',
|
|
||||||
'SebastianBergmann\\LinesOfCode\\LineCountingVisitor' => $vendorDir . '/sebastian/lines-of-code/src/LineCountingVisitor.php',
|
|
||||||
'SebastianBergmann\\LinesOfCode\\LinesOfCode' => $vendorDir . '/sebastian/lines-of-code/src/LinesOfCode.php',
|
|
||||||
'SebastianBergmann\\LinesOfCode\\NegativeValueException' => $vendorDir . '/sebastian/lines-of-code/src/Exception/NegativeValueException.php',
|
|
||||||
'SebastianBergmann\\LinesOfCode\\RuntimeException' => $vendorDir . '/sebastian/lines-of-code/src/Exception/RuntimeException.php',
|
|
||||||
'SebastianBergmann\\ObjectEnumerator\\Enumerator' => $vendorDir . '/sebastian/object-enumerator/src/Enumerator.php',
|
|
||||||
'SebastianBergmann\\ObjectEnumerator\\Exception' => $vendorDir . '/sebastian/object-enumerator/src/Exception.php',
|
|
||||||
'SebastianBergmann\\ObjectEnumerator\\InvalidArgumentException' => $vendorDir . '/sebastian/object-enumerator/src/InvalidArgumentException.php',
|
|
||||||
'SebastianBergmann\\ObjectReflector\\Exception' => $vendorDir . '/sebastian/object-reflector/src/Exception.php',
|
|
||||||
'SebastianBergmann\\ObjectReflector\\InvalidArgumentException' => $vendorDir . '/sebastian/object-reflector/src/InvalidArgumentException.php',
|
|
||||||
'SebastianBergmann\\ObjectReflector\\ObjectReflector' => $vendorDir . '/sebastian/object-reflector/src/ObjectReflector.php',
|
|
||||||
'SebastianBergmann\\RecursionContext\\Context' => $vendorDir . '/sebastian/recursion-context/src/Context.php',
|
|
||||||
'SebastianBergmann\\RecursionContext\\Exception' => $vendorDir . '/sebastian/recursion-context/src/Exception.php',
|
|
||||||
'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => $vendorDir . '/sebastian/recursion-context/src/InvalidArgumentException.php',
|
|
||||||
'SebastianBergmann\\ResourceOperations\\ResourceOperations' => $vendorDir . '/sebastian/resource-operations/src/ResourceOperations.php',
|
|
||||||
'SebastianBergmann\\Template\\Exception' => $vendorDir . '/phpunit/php-text-template/src/exceptions/Exception.php',
|
|
||||||
'SebastianBergmann\\Template\\InvalidArgumentException' => $vendorDir . '/phpunit/php-text-template/src/exceptions/InvalidArgumentException.php',
|
|
||||||
'SebastianBergmann\\Template\\RuntimeException' => $vendorDir . '/phpunit/php-text-template/src/exceptions/RuntimeException.php',
|
|
||||||
'SebastianBergmann\\Template\\Template' => $vendorDir . '/phpunit/php-text-template/src/Template.php',
|
|
||||||
'SebastianBergmann\\Timer\\Duration' => $vendorDir . '/phpunit/php-timer/src/Duration.php',
|
|
||||||
'SebastianBergmann\\Timer\\Exception' => $vendorDir . '/phpunit/php-timer/src/exceptions/Exception.php',
|
|
||||||
'SebastianBergmann\\Timer\\NoActiveTimerException' => $vendorDir . '/phpunit/php-timer/src/exceptions/NoActiveTimerException.php',
|
|
||||||
'SebastianBergmann\\Timer\\ResourceUsageFormatter' => $vendorDir . '/phpunit/php-timer/src/ResourceUsageFormatter.php',
|
|
||||||
'SebastianBergmann\\Timer\\TimeSinceStartOfRequestNotAvailableException' => $vendorDir . '/phpunit/php-timer/src/exceptions/TimeSinceStartOfRequestNotAvailableException.php',
|
|
||||||
'SebastianBergmann\\Timer\\Timer' => $vendorDir . '/phpunit/php-timer/src/Timer.php',
|
|
||||||
'SebastianBergmann\\Type\\CallableType' => $vendorDir . '/sebastian/type/src/CallableType.php',
|
|
||||||
'SebastianBergmann\\Type\\Exception' => $vendorDir . '/sebastian/type/src/exception/Exception.php',
|
|
||||||
'SebastianBergmann\\Type\\FalseType' => $vendorDir . '/sebastian/type/src/FalseType.php',
|
|
||||||
'SebastianBergmann\\Type\\GenericObjectType' => $vendorDir . '/sebastian/type/src/GenericObjectType.php',
|
|
||||||
'SebastianBergmann\\Type\\IterableType' => $vendorDir . '/sebastian/type/src/IterableType.php',
|
|
||||||
'SebastianBergmann\\Type\\LogicException' => $vendorDir . '/sebastian/type/src/exception/LogicException.php',
|
|
||||||
'SebastianBergmann\\Type\\MixedType' => $vendorDir . '/sebastian/type/src/MixedType.php',
|
|
||||||
'SebastianBergmann\\Type\\NullType' => $vendorDir . '/sebastian/type/src/NullType.php',
|
|
||||||
'SebastianBergmann\\Type\\ObjectType' => $vendorDir . '/sebastian/type/src/ObjectType.php',
|
|
||||||
'SebastianBergmann\\Type\\ReflectionMapper' => $vendorDir . '/sebastian/type/src/ReflectionMapper.php',
|
|
||||||
'SebastianBergmann\\Type\\RuntimeException' => $vendorDir . '/sebastian/type/src/exception/RuntimeException.php',
|
|
||||||
'SebastianBergmann\\Type\\SimpleType' => $vendorDir . '/sebastian/type/src/SimpleType.php',
|
|
||||||
'SebastianBergmann\\Type\\StaticType' => $vendorDir . '/sebastian/type/src/StaticType.php',
|
|
||||||
'SebastianBergmann\\Type\\Type' => $vendorDir . '/sebastian/type/src/Type.php',
|
|
||||||
'SebastianBergmann\\Type\\TypeName' => $vendorDir . '/sebastian/type/src/TypeName.php',
|
|
||||||
'SebastianBergmann\\Type\\UnionType' => $vendorDir . '/sebastian/type/src/UnionType.php',
|
|
||||||
'SebastianBergmann\\Type\\UnknownType' => $vendorDir . '/sebastian/type/src/UnknownType.php',
|
|
||||||
'SebastianBergmann\\Type\\VoidType' => $vendorDir . '/sebastian/type/src/VoidType.php',
|
|
||||||
'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php',
|
|
||||||
'TheSeer\\Tokenizer\\Exception' => $vendorDir . '/theseer/tokenizer/src/Exception.php',
|
|
||||||
'TheSeer\\Tokenizer\\NamespaceUri' => $vendorDir . '/theseer/tokenizer/src/NamespaceUri.php',
|
|
||||||
'TheSeer\\Tokenizer\\NamespaceUriException' => $vendorDir . '/theseer/tokenizer/src/NamespaceUriException.php',
|
|
||||||
'TheSeer\\Tokenizer\\Token' => $vendorDir . '/theseer/tokenizer/src/Token.php',
|
|
||||||
'TheSeer\\Tokenizer\\TokenCollection' => $vendorDir . '/theseer/tokenizer/src/TokenCollection.php',
|
|
||||||
'TheSeer\\Tokenizer\\TokenCollectionException' => $vendorDir . '/theseer/tokenizer/src/TokenCollectionException.php',
|
|
||||||
'TheSeer\\Tokenizer\\Tokenizer' => $vendorDir . '/theseer/tokenizer/src/Tokenizer.php',
|
|
||||||
'TheSeer\\Tokenizer\\XMLSerializer' => $vendorDir . '/theseer/tokenizer/src/XMLSerializer.php',
|
|
||||||
);
|
|
12
vendor/composer/autoload_files.php
vendored
12
vendor/composer/autoload_files.php
vendored
@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
// autoload_files.php @generated by Composer
|
|
||||||
|
|
||||||
$vendorDir = dirname(dirname(__FILE__));
|
|
||||||
$baseDir = dirname($vendorDir);
|
|
||||||
|
|
||||||
return array(
|
|
||||||
'ec07570ca5a812141189b1fa81503674' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert/Functions.php',
|
|
||||||
'320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
|
|
||||||
'6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
|
|
||||||
);
|
|
9
vendor/composer/autoload_namespaces.php
vendored
9
vendor/composer/autoload_namespaces.php
vendored
@ -1,9 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
// autoload_namespaces.php @generated by Composer
|
|
||||||
|
|
||||||
$vendorDir = dirname(dirname(__FILE__));
|
|
||||||
$baseDir = dirname($vendorDir);
|
|
||||||
|
|
||||||
return array(
|
|
||||||
);
|
|
18
vendor/composer/autoload_psr4.php
vendored
18
vendor/composer/autoload_psr4.php
vendored
@ -1,18 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
// autoload_psr4.php @generated by Composer
|
|
||||||
|
|
||||||
$vendorDir = dirname(dirname(__FILE__));
|
|
||||||
$baseDir = dirname($vendorDir);
|
|
||||||
|
|
||||||
return array(
|
|
||||||
'phpDocumentor\\Reflection\\' => array($vendorDir . '/phpdocumentor/reflection-common/src', $vendorDir . '/phpdocumentor/reflection-docblock/src', $vendorDir . '/phpdocumentor/type-resolver/src'),
|
|
||||||
'Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'),
|
|
||||||
'Top100stars\\Tests\\' => array($baseDir . '/tests'),
|
|
||||||
'Top100stars\\' => array($baseDir . '/src'),
|
|
||||||
'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'),
|
|
||||||
'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src/Prophecy'),
|
|
||||||
'PhpParser\\' => array($vendorDir . '/nikic/php-parser/lib/PhpParser'),
|
|
||||||
'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'),
|
|
||||||
'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'),
|
|
||||||
);
|
|
80
vendor/composer/autoload_real.php
vendored
80
vendor/composer/autoload_real.php
vendored
@ -1,80 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
// autoload_real.php @generated by Composer
|
|
||||||
|
|
||||||
class ComposerAutoloaderInit71e57d5c4a20c2585baa01003d9d916b
|
|
||||||
{
|
|
||||||
private static $loader;
|
|
||||||
|
|
||||||
public static function loadClassLoader($class)
|
|
||||||
{
|
|
||||||
if ('Composer\Autoload\ClassLoader' === $class) {
|
|
||||||
require __DIR__ . '/ClassLoader.php';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return \Composer\Autoload\ClassLoader
|
|
||||||
*/
|
|
||||||
public static function getLoader()
|
|
||||||
{
|
|
||||||
if (null !== self::$loader) {
|
|
||||||
return self::$loader;
|
|
||||||
}
|
|
||||||
|
|
||||||
require __DIR__ . '/platform_check.php';
|
|
||||||
|
|
||||||
spl_autoload_register(array('ComposerAutoloaderInit71e57d5c4a20c2585baa01003d9d916b', 'loadClassLoader'), true, true);
|
|
||||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
|
||||||
spl_autoload_unregister(array('ComposerAutoloaderInit71e57d5c4a20c2585baa01003d9d916b', 'loadClassLoader'));
|
|
||||||
|
|
||||||
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
|
||||||
if ($useStaticLoader) {
|
|
||||||
require __DIR__ . '/autoload_static.php';
|
|
||||||
|
|
||||||
call_user_func(\Composer\Autoload\ComposerStaticInit71e57d5c4a20c2585baa01003d9d916b::getInitializer($loader));
|
|
||||||
} else {
|
|
||||||
$map = require __DIR__ . '/autoload_namespaces.php';
|
|
||||||
foreach ($map as $namespace => $path) {
|
|
||||||
$loader->set($namespace, $path);
|
|
||||||
}
|
|
||||||
|
|
||||||
$map = require __DIR__ . '/autoload_psr4.php';
|
|
||||||
foreach ($map as $namespace => $path) {
|
|
||||||
$loader->setPsr4($namespace, $path);
|
|
||||||
}
|
|
||||||
|
|
||||||
$classMap = require __DIR__ . '/autoload_classmap.php';
|
|
||||||
if ($classMap) {
|
|
||||||
$loader->addClassMap($classMap);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$loader->register(true);
|
|
||||||
|
|
||||||
if ($useStaticLoader) {
|
|
||||||
$includeFiles = Composer\Autoload\ComposerStaticInit71e57d5c4a20c2585baa01003d9d916b::$files;
|
|
||||||
} else {
|
|
||||||
$includeFiles = require __DIR__ . '/autoload_files.php';
|
|
||||||
}
|
|
||||||
foreach ($includeFiles as $fileIdentifier => $file) {
|
|
||||||
composerRequire71e57d5c4a20c2585baa01003d9d916b($fileIdentifier, $file);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $loader;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $fileIdentifier
|
|
||||||
* @param string $file
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function composerRequire71e57d5c4a20c2585baa01003d9d916b($fileIdentifier, $file)
|
|
||||||
{
|
|
||||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
|
||||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
|
||||||
|
|
||||||
require $file;
|
|
||||||
}
|
|
||||||
}
|
|
724
vendor/composer/autoload_static.php
vendored
724
vendor/composer/autoload_static.php
vendored
@ -1,724 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
// autoload_static.php @generated by Composer
|
|
||||||
|
|
||||||
namespace Composer\Autoload;
|
|
||||||
|
|
||||||
class ComposerStaticInit71e57d5c4a20c2585baa01003d9d916b
|
|
||||||
{
|
|
||||||
public static $files = array (
|
|
||||||
'ec07570ca5a812141189b1fa81503674' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert/Functions.php',
|
|
||||||
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
|
|
||||||
'6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
|
|
||||||
);
|
|
||||||
|
|
||||||
public static $prefixLengthsPsr4 = array (
|
|
||||||
'p' =>
|
|
||||||
array (
|
|
||||||
'phpDocumentor\\Reflection\\' => 25,
|
|
||||||
),
|
|
||||||
'W' =>
|
|
||||||
array (
|
|
||||||
'Webmozart\\Assert\\' => 17,
|
|
||||||
),
|
|
||||||
'T' =>
|
|
||||||
array (
|
|
||||||
'Top100stars\\Tests\\' => 18,
|
|
||||||
'Top100stars\\' => 12,
|
|
||||||
),
|
|
||||||
'S' =>
|
|
||||||
array (
|
|
||||||
'Symfony\\Polyfill\\Ctype\\' => 23,
|
|
||||||
),
|
|
||||||
'P' =>
|
|
||||||
array (
|
|
||||||
'Prophecy\\' => 9,
|
|
||||||
'PhpParser\\' => 10,
|
|
||||||
),
|
|
||||||
'D' =>
|
|
||||||
array (
|
|
||||||
'Doctrine\\Instantiator\\' => 22,
|
|
||||||
'DeepCopy\\' => 9,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
|
|
||||||
public static $prefixDirsPsr4 = array (
|
|
||||||
'phpDocumentor\\Reflection\\' =>
|
|
||||||
array (
|
|
||||||
0 => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src',
|
|
||||||
1 => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src',
|
|
||||||
2 => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src',
|
|
||||||
),
|
|
||||||
'Webmozart\\Assert\\' =>
|
|
||||||
array (
|
|
||||||
0 => __DIR__ . '/..' . '/webmozart/assert/src',
|
|
||||||
),
|
|
||||||
'Top100stars\\Tests\\' =>
|
|
||||||
array (
|
|
||||||
0 => __DIR__ . '/../..' . '/tests',
|
|
||||||
),
|
|
||||||
'Top100stars\\' =>
|
|
||||||
array (
|
|
||||||
0 => __DIR__ . '/../..' . '/src',
|
|
||||||
),
|
|
||||||
'Symfony\\Polyfill\\Ctype\\' =>
|
|
||||||
array (
|
|
||||||
0 => __DIR__ . '/..' . '/symfony/polyfill-ctype',
|
|
||||||
),
|
|
||||||
'Prophecy\\' =>
|
|
||||||
array (
|
|
||||||
0 => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy',
|
|
||||||
),
|
|
||||||
'PhpParser\\' =>
|
|
||||||
array (
|
|
||||||
0 => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser',
|
|
||||||
),
|
|
||||||
'Doctrine\\Instantiator\\' =>
|
|
||||||
array (
|
|
||||||
0 => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator',
|
|
||||||
),
|
|
||||||
'DeepCopy\\' =>
|
|
||||||
array (
|
|
||||||
0 => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy',
|
|
||||||
),
|
|
||||||
);
|
|
||||||
|
|
||||||
public static $classMap = array (
|
|
||||||
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
|
|
||||||
'PHPUnit\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Exception.php',
|
|
||||||
'PHPUnit\\Framework\\ActualValueIsNotAnObjectException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/ActualValueIsNotAnObjectException.php',
|
|
||||||
'PHPUnit\\Framework\\Assert' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert.php',
|
|
||||||
'PHPUnit\\Framework\\AssertionFailedError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/AssertionFailedError.php',
|
|
||||||
'PHPUnit\\Framework\\CodeCoverageException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/CodeCoverageException.php',
|
|
||||||
'PHPUnit\\Framework\\ComparisonMethodDoesNotAcceptParameterTypeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotAcceptParameterTypeException.php',
|
|
||||||
'PHPUnit\\Framework\\ComparisonMethodDoesNotDeclareBoolReturnTypeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotDeclareBoolReturnTypeException.php',
|
|
||||||
'PHPUnit\\Framework\\ComparisonMethodDoesNotDeclareExactlyOneParameterException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotDeclareExactlyOneParameterException.php',
|
|
||||||
'PHPUnit\\Framework\\ComparisonMethodDoesNotDeclareParameterTypeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotDeclareParameterTypeException.php',
|
|
||||||
'PHPUnit\\Framework\\ComparisonMethodDoesNotExistException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/ComparisonMethodDoesNotExistException.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ArrayHasKey' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Traversable/ArrayHasKey.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\BinaryOperator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Operator/BinaryOperator.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\Callback' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Callback.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ClassHasAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Object/ClassHasAttribute.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ClassHasStaticAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Object/ClassHasStaticAttribute.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\Constraint' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Constraint.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\Count' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/Count.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\DirectoryExists' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/DirectoryExists.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Exception/Exception.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ExceptionCode' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionCode.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ExceptionMessage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessage.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ExceptionMessageRegularExpression' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Exception/ExceptionMessageRegularExpression.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\FileExists' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/FileExists.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\GreaterThan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/GreaterThan.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsAnything' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsEmpty' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/IsEmpty.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsEqual' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqual.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsEqualCanonicalizing' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualCanonicalizing.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsEqualIgnoringCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualIgnoringCase.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsEqualWithDelta' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Equality/IsEqualWithDelta.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsFalse' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Boolean/IsFalse.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsFinite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Math/IsFinite.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsIdentical' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsInfinite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Math/IsInfinite.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsInstanceOf' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Type/IsInstanceOf.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsJson' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/String/IsJson.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsNan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Math/IsNan.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsNull' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Type/IsNull.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsReadable' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/IsReadable.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsTrue' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Boolean/IsTrue.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsType' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Type/IsType.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\IsWritable' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Filesystem/IsWritable.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\JsonMatches' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\JsonMatchesErrorMessageProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/JsonMatchesErrorMessageProvider.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\LessThan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/LessThan.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\LogicalAnd' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalAnd.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\LogicalNot' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalNot.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\LogicalOr' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalOr.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\LogicalXor' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalXor.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ObjectEquals' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Object/ObjectEquals.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\ObjectHasAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Object/ObjectHasAttribute.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\Operator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Operator/Operator.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\RegularExpression' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/String/RegularExpression.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\SameSize' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Cardinality/SameSize.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\StringContains' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/String/StringContains.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\StringEndsWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/String/StringEndsWith.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\StringMatchesFormatDescription' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/String/StringMatchesFormatDescription.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\StringStartsWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/String/StringStartsWith.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\TraversableContains' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContains.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\TraversableContainsEqual' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsEqual.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\TraversableContainsIdentical' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsIdentical.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\TraversableContainsOnly' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsOnly.php',
|
|
||||||
'PHPUnit\\Framework\\Constraint\\UnaryOperator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Operator/UnaryOperator.php',
|
|
||||||
'PHPUnit\\Framework\\CoveredCodeNotExecutedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/CoveredCodeNotExecutedException.php',
|
|
||||||
'PHPUnit\\Framework\\DataProviderTestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/DataProviderTestSuite.php',
|
|
||||||
'PHPUnit\\Framework\\Error' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/Error.php',
|
|
||||||
'PHPUnit\\Framework\\ErrorTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ErrorTestCase.php',
|
|
||||||
'PHPUnit\\Framework\\Error\\Deprecated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Deprecated.php',
|
|
||||||
'PHPUnit\\Framework\\Error\\Error' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Error.php',
|
|
||||||
'PHPUnit\\Framework\\Error\\Notice' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Notice.php',
|
|
||||||
'PHPUnit\\Framework\\Error\\Warning' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Warning.php',
|
|
||||||
'PHPUnit\\Framework\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/Exception.php',
|
|
||||||
'PHPUnit\\Framework\\ExceptionWrapper' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php',
|
|
||||||
'PHPUnit\\Framework\\ExecutionOrderDependency' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ExecutionOrderDependency.php',
|
|
||||||
'PHPUnit\\Framework\\ExpectationFailedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/ExpectationFailedException.php',
|
|
||||||
'PHPUnit\\Framework\\IncompleteTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTest.php',
|
|
||||||
'PHPUnit\\Framework\\IncompleteTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php',
|
|
||||||
'PHPUnit\\Framework\\IncompleteTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/IncompleteTestError.php',
|
|
||||||
'PHPUnit\\Framework\\InvalidArgumentException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/InvalidArgumentException.php',
|
|
||||||
'PHPUnit\\Framework\\InvalidCoversTargetException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/InvalidCoversTargetException.php',
|
|
||||||
'PHPUnit\\Framework\\InvalidDataProviderException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/InvalidDataProviderException.php',
|
|
||||||
'PHPUnit\\Framework\\InvalidParameterGroupException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/InvalidParameterGroupException.php',
|
|
||||||
'PHPUnit\\Framework\\MissingCoversAnnotationException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/MissingCoversAnnotationException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Api' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Api/Api.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\BadMethodCallException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/BadMethodCallException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Builder\\Identity' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/Identity.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Builder\\InvocationMocker' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationMocker.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Builder\\InvocationStubber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationStubber.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Builder\\MethodNameMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/MethodNameMatch.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Builder\\ParametersMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/ParametersMatch.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Builder\\Stub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Builder/Stub.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\CannotUseAddMethodsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseAddMethodsException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\CannotUseOnlyMethodsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseOnlyMethodsException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\ClassAlreadyExistsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ClassAlreadyExistsException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\ClassIsFinalException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ClassIsFinalException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\ConfigurableMethodsAlreadyInitializedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ConfigurableMethodsAlreadyInitializedException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\DuplicateMethodException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/DuplicateMethodException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Generator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\IncompatibleReturnValueException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/IncompatibleReturnValueException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\InvalidMethodNameException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/InvalidMethodNameException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Invocation' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Invocation.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\InvocationHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/InvocationHandler.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MatchBuilderNotFoundException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/MatchBuilderNotFoundException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Matcher' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MatcherAlreadyRegisteredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/MatcherAlreadyRegisteredException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Method' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Api/Method.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MethodCannotBeConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodCannotBeConfiguredException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MethodNameAlreadyConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodNameAlreadyConfiguredException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MethodNameConstraint' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MethodNameConstraint.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MethodNameNotConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodNameNotConfiguredException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MethodParametersAlreadyConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/MethodParametersAlreadyConfiguredException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockBuilder' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockClass.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockMethod.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockMethodSet' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockObject' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockObject.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockTrait' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockTrait.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockType' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockType.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\MockedCloneMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Api/MockedCloneMethod.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\OriginalConstructorInvocationRequiredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/OriginalConstructorInvocationRequiredException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReflectionException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\ReturnValueNotConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReturnValueNotConfiguredException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\AnyInvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/AnyInvokedCount.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\AnyParameters' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/AnyParameters.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\ConsecutiveParameters' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/ConsecutiveParameters.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\InvocationOrder' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvocationOrder.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtIndex' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtIndex.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtLeastCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtLeastCount.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtLeastOnce' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtLeastOnce.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\InvokedAtMostCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtMostCount.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\InvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedCount.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\MethodName' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/MethodName.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\Parameters' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/Parameters.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Rule\\ParametersRule' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Rule/ParametersRule.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/RuntimeException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\SoapExtensionNotAvailableException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/SoapExtensionNotAvailableException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\ConsecutiveCalls' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ConsecutiveCalls.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/Exception.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\ReturnArgument' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnArgument.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\ReturnCallback' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnCallback.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\ReturnReference' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnReference.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\ReturnSelf' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnSelf.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\ReturnStub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnStub.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\ReturnValueMap' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnValueMap.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Stub\\Stub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub/Stub.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\UnknownClassException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/UnknownClassException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\UnknownTraitException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/UnknownTraitException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\UnknownTypeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/UnknownTypeException.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\UnmockedCloneMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Api/UnmockedCloneMethod.php',
|
|
||||||
'PHPUnit\\Framework\\MockObject\\Verifiable' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Verifiable.php',
|
|
||||||
'PHPUnit\\Framework\\NoChildTestSuiteException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/NoChildTestSuiteException.php',
|
|
||||||
'PHPUnit\\Framework\\OutputError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/OutputError.php',
|
|
||||||
'PHPUnit\\Framework\\PHPTAssertionFailedError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/PHPTAssertionFailedError.php',
|
|
||||||
'PHPUnit\\Framework\\Reorderable' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Reorderable.php',
|
|
||||||
'PHPUnit\\Framework\\RiskyTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/RiskyTestError.php',
|
|
||||||
'PHPUnit\\Framework\\SelfDescribing' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SelfDescribing.php',
|
|
||||||
'PHPUnit\\Framework\\SkippedTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTest.php',
|
|
||||||
'PHPUnit\\Framework\\SkippedTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestCase.php',
|
|
||||||
'PHPUnit\\Framework\\SkippedTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/SkippedTestError.php',
|
|
||||||
'PHPUnit\\Framework\\SkippedTestSuiteError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/SkippedTestSuiteError.php',
|
|
||||||
'PHPUnit\\Framework\\SyntheticError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/SyntheticError.php',
|
|
||||||
'PHPUnit\\Framework\\SyntheticSkippedError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/SyntheticSkippedError.php',
|
|
||||||
'PHPUnit\\Framework\\Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Test.php',
|
|
||||||
'PHPUnit\\Framework\\TestBuilder' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestBuilder.php',
|
|
||||||
'PHPUnit\\Framework\\TestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestCase.php',
|
|
||||||
'PHPUnit\\Framework\\TestFailure' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestFailure.php',
|
|
||||||
'PHPUnit\\Framework\\TestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestListener.php',
|
|
||||||
'PHPUnit\\Framework\\TestListenerDefaultImplementation' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestListenerDefaultImplementation.php',
|
|
||||||
'PHPUnit\\Framework\\TestResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestResult.php',
|
|
||||||
'PHPUnit\\Framework\\TestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuite.php',
|
|
||||||
'PHPUnit\\Framework\\TestSuiteIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuiteIterator.php',
|
|
||||||
'PHPUnit\\Framework\\UnintentionallyCoveredCodeError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/UnintentionallyCoveredCodeError.php',
|
|
||||||
'PHPUnit\\Framework\\Warning' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/Warning.php',
|
|
||||||
'PHPUnit\\Framework\\WarningTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/WarningTestCase.php',
|
|
||||||
'PHPUnit\\Runner\\AfterIncompleteTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterIncompleteTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterLastTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterLastTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterRiskyTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterRiskyTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterSkippedTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterSkippedTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterSuccessfulTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterSuccessfulTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterTestErrorHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestErrorHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterTestFailureHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestFailureHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\AfterTestWarningHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/AfterTestWarningHook.php',
|
|
||||||
'PHPUnit\\Runner\\BaseTestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/BaseTestRunner.php',
|
|
||||||
'PHPUnit\\Runner\\BeforeFirstTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/BeforeFirstTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\BeforeTestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/BeforeTestHook.php',
|
|
||||||
'PHPUnit\\Runner\\DefaultTestResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/DefaultTestResultCache.php',
|
|
||||||
'PHPUnit\\Runner\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception.php',
|
|
||||||
'PHPUnit\\Runner\\Extension\\ExtensionHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Extension/ExtensionHandler.php',
|
|
||||||
'PHPUnit\\Runner\\Extension\\PharLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Extension/PharLoader.php',
|
|
||||||
'PHPUnit\\Runner\\Filter\\ExcludeGroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php',
|
|
||||||
'PHPUnit\\Runner\\Filter\\Factory' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Factory.php',
|
|
||||||
'PHPUnit\\Runner\\Filter\\GroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php',
|
|
||||||
'PHPUnit\\Runner\\Filter\\IncludeGroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php',
|
|
||||||
'PHPUnit\\Runner\\Filter\\NameFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php',
|
|
||||||
'PHPUnit\\Runner\\Hook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/Hook.php',
|
|
||||||
'PHPUnit\\Runner\\NullTestResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/NullTestResultCache.php',
|
|
||||||
'PHPUnit\\Runner\\PhptTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/PhptTestCase.php',
|
|
||||||
'PHPUnit\\Runner\\ResultCacheExtension' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ResultCacheExtension.php',
|
|
||||||
'PHPUnit\\Runner\\StandardTestSuiteLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php',
|
|
||||||
'PHPUnit\\Runner\\TestHook' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/TestHook.php',
|
|
||||||
'PHPUnit\\Runner\\TestListenerAdapter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Hook/TestListenerAdapter.php',
|
|
||||||
'PHPUnit\\Runner\\TestResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResultCache.php',
|
|
||||||
'PHPUnit\\Runner\\TestSuiteLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php',
|
|
||||||
'PHPUnit\\Runner\\TestSuiteSorter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestSuiteSorter.php',
|
|
||||||
'PHPUnit\\Runner\\Version' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Version.php',
|
|
||||||
'PHPUnit\\TextUI\\CliArguments\\Builder' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/CliArguments/Builder.php',
|
|
||||||
'PHPUnit\\TextUI\\CliArguments\\Configuration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/CliArguments/Configuration.php',
|
|
||||||
'PHPUnit\\TextUI\\CliArguments\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/CliArguments/Exception.php',
|
|
||||||
'PHPUnit\\TextUI\\CliArguments\\Mapper' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/CliArguments/Mapper.php',
|
|
||||||
'PHPUnit\\TextUI\\Command' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Command.php',
|
|
||||||
'PHPUnit\\TextUI\\DefaultResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/DefaultResultPrinter.php',
|
|
||||||
'PHPUnit\\TextUI\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/Exception.php',
|
|
||||||
'PHPUnit\\TextUI\\Help' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Help.php',
|
|
||||||
'PHPUnit\\TextUI\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/ReflectionException.php',
|
|
||||||
'PHPUnit\\TextUI\\ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/ResultPrinter.php',
|
|
||||||
'PHPUnit\\TextUI\\RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/RuntimeException.php',
|
|
||||||
'PHPUnit\\TextUI\\TestDirectoryNotFoundException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/TestDirectoryNotFoundException.php',
|
|
||||||
'PHPUnit\\TextUI\\TestFileNotFoundException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/TestFileNotFoundException.php',
|
|
||||||
'PHPUnit\\TextUI\\TestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/TestRunner.php',
|
|
||||||
'PHPUnit\\TextUI\\TestSuiteMapper' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/TestSuiteMapper.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\CodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/CodeCoverage.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\FilterMapper' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/FilterMapper.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Filter\\Directory' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Filter/Directory.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Filter\\DirectoryCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Filter/DirectoryCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Filter\\DirectoryCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Filter/DirectoryCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Clover' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Clover.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Cobertura' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Cobertura.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Crap4j' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Crap4j.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Html' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Html.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Php' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Php.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Text' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Text.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CodeCoverage\\Report\\Xml' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/CodeCoverage/Report/Xml.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Configuration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Configuration.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Constant' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/Constant.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\ConstantCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/ConstantCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\ConstantCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/ConstantCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\ConvertLogTypes' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/ConvertLogTypes.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CoverageCloverToReport' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageCloverToReport.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CoverageCrap4jToReport' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageCrap4jToReport.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CoverageHtmlToReport' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageHtmlToReport.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CoveragePhpToReport' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoveragePhpToReport.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CoverageTextToReport' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageTextToReport.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\CoverageXmlToReport' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/CoverageXmlToReport.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Directory' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/Directory.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\DirectoryCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/DirectoryCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\DirectoryCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/DirectoryCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Exception.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Extension' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/Extension.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\ExtensionCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/ExtensionCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\ExtensionCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/ExtensionCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\File' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/File.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\FileCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/FileCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\FileCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Filesystem/FileCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Generator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Generator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Group' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/Group.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\GroupCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/GroupCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\GroupCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/GroupCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Groups' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Group/Groups.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\IniSetting' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/IniSetting.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\IniSettingCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/IniSettingCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\IniSettingCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/IniSettingCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\IntroduceCoverageElement' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/IntroduceCoverageElement.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Loader' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Loader.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\LogToReportMigration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/LogToReportMigration.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\Junit' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Junit.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\Logging' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Logging.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TeamCity' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TeamCity.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Html' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TestDox/Html.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Text' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TestDox/Text.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Xml' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/TestDox/Xml.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\Text' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Logging/Text.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Migration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/Migration.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilder' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/MigrationBuilder.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilderException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/MigrationBuilderException.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\MigrationException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/MigrationException.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Migrator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\MoveAttributesFromFilterWhitelistToCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveAttributesFromFilterWhitelistToCoverage.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\MoveAttributesFromRootToCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveAttributesFromRootToCoverage.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\MoveWhitelistDirectoriesToCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveWhitelistDirectoriesToCoverage.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\MoveWhitelistExcludesToCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/MoveWhitelistExcludesToCoverage.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\PHPUnit' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHPUnit/PHPUnit.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Php' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/Php.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\PhpHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/PhpHandler.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\RemoveCacheTokensAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/RemoveCacheTokensAttribute.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\RemoveEmptyFilter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/RemoveEmptyFilter.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\RemoveLogTypes' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/RemoveLogTypes.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestDirectory' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestDirectory.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestDirectoryCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestDirectoryCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestDirectoryCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestDirectoryCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestFile' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestFile.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestFileCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestFileCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestFileCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestFileCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestSuite.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestSuiteCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestSuiteCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\TestSuiteCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/TestSuite/TestSuiteCollectionIterator.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\UpdateSchemaLocationTo93' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/Migration/Migrations/UpdateSchemaLocationTo93.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\Variable' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/Variable.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\VariableCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/VariableCollection.php',
|
|
||||||
'PHPUnit\\TextUI\\XmlConfiguration\\VariableCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/XmlConfiguration/PHP/VariableCollectionIterator.php',
|
|
||||||
'PHPUnit\\Util\\Annotation\\DocBlock' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Annotation/DocBlock.php',
|
|
||||||
'PHPUnit\\Util\\Annotation\\Registry' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Annotation/Registry.php',
|
|
||||||
'PHPUnit\\Util\\Blacklist' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Blacklist.php',
|
|
||||||
'PHPUnit\\Util\\Color' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Color.php',
|
|
||||||
'PHPUnit\\Util\\ErrorHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/ErrorHandler.php',
|
|
||||||
'PHPUnit\\Util\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception.php',
|
|
||||||
'PHPUnit\\Util\\ExcludeList' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/ExcludeList.php',
|
|
||||||
'PHPUnit\\Util\\FileLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/FileLoader.php',
|
|
||||||
'PHPUnit\\Util\\Filesystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filesystem.php',
|
|
||||||
'PHPUnit\\Util\\Filter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filter.php',
|
|
||||||
'PHPUnit\\Util\\GlobalState' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/GlobalState.php',
|
|
||||||
'PHPUnit\\Util\\InvalidDataSetException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/InvalidDataSetException.php',
|
|
||||||
'PHPUnit\\Util\\Json' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Json.php',
|
|
||||||
'PHPUnit\\Util\\Log\\JUnit' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/JUnit.php',
|
|
||||||
'PHPUnit\\Util\\Log\\TeamCity' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/TeamCity.php',
|
|
||||||
'PHPUnit\\Util\\PHP\\AbstractPhpProcess' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/AbstractPhpProcess.php',
|
|
||||||
'PHPUnit\\Util\\PHP\\DefaultPhpProcess' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/DefaultPhpProcess.php',
|
|
||||||
'PHPUnit\\Util\\PHP\\WindowsPhpProcess' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/WindowsPhpProcess.php',
|
|
||||||
'PHPUnit\\Util\\Printer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Printer.php',
|
|
||||||
'PHPUnit\\Util\\RegularExpression' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/RegularExpression.php',
|
|
||||||
'PHPUnit\\Util\\Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Test.php',
|
|
||||||
'PHPUnit\\Util\\TestDox\\CliTestDoxPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/CliTestDoxPrinter.php',
|
|
||||||
'PHPUnit\\Util\\TestDox\\HtmlResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php',
|
|
||||||
'PHPUnit\\Util\\TestDox\\NamePrettifier' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php',
|
|
||||||
'PHPUnit\\Util\\TestDox\\ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php',
|
|
||||||
'PHPUnit\\Util\\TestDox\\TestDoxPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/TestDoxPrinter.php',
|
|
||||||
'PHPUnit\\Util\\TestDox\\TextResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/TextResultPrinter.php',
|
|
||||||
'PHPUnit\\Util\\TestDox\\XmlResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/XmlResultPrinter.php',
|
|
||||||
'PHPUnit\\Util\\TextTestListRenderer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TextTestListRenderer.php',
|
|
||||||
'PHPUnit\\Util\\Type' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Type.php',
|
|
||||||
'PHPUnit\\Util\\VersionComparisonOperator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/VersionComparisonOperator.php',
|
|
||||||
'PHPUnit\\Util\\XdebugFilterScriptGenerator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php',
|
|
||||||
'PHPUnit\\Util\\Xml' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml.php',
|
|
||||||
'PHPUnit\\Util\\XmlTestListRenderer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XmlTestListRenderer.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/Exception.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\FailedSchemaDetectionResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/FailedSchemaDetectionResult.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\Loader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/Loader.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\SchemaDetectionResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/SchemaDetectionResult.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\SchemaDetector' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/SchemaDetector.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\SchemaFinder' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/SchemaFinder.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\SnapshotNodeList' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/SnapshotNodeList.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\SuccessfulSchemaDetectionResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/SuccessfulSchemaDetectionResult.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\ValidationResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/ValidationResult.php',
|
|
||||||
'PHPUnit\\Util\\Xml\\Validator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml/Validator.php',
|
|
||||||
'PharIo\\Manifest\\Application' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Application.php',
|
|
||||||
'PharIo\\Manifest\\ApplicationName' => __DIR__ . '/..' . '/phar-io/manifest/src/values/ApplicationName.php',
|
|
||||||
'PharIo\\Manifest\\Author' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Author.php',
|
|
||||||
'PharIo\\Manifest\\AuthorCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/values/AuthorCollection.php',
|
|
||||||
'PharIo\\Manifest\\AuthorCollectionIterator' => __DIR__ . '/..' . '/phar-io/manifest/src/values/AuthorCollectionIterator.php',
|
|
||||||
'PharIo\\Manifest\\AuthorElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/AuthorElement.php',
|
|
||||||
'PharIo\\Manifest\\AuthorElementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/AuthorElementCollection.php',
|
|
||||||
'PharIo\\Manifest\\BundledComponent' => __DIR__ . '/..' . '/phar-io/manifest/src/values/BundledComponent.php',
|
|
||||||
'PharIo\\Manifest\\BundledComponentCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/values/BundledComponentCollection.php',
|
|
||||||
'PharIo\\Manifest\\BundledComponentCollectionIterator' => __DIR__ . '/..' . '/phar-io/manifest/src/values/BundledComponentCollectionIterator.php',
|
|
||||||
'PharIo\\Manifest\\BundlesElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/BundlesElement.php',
|
|
||||||
'PharIo\\Manifest\\ComponentElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ComponentElement.php',
|
|
||||||
'PharIo\\Manifest\\ComponentElementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ComponentElementCollection.php',
|
|
||||||
'PharIo\\Manifest\\ContainsElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ContainsElement.php',
|
|
||||||
'PharIo\\Manifest\\CopyrightElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/CopyrightElement.php',
|
|
||||||
'PharIo\\Manifest\\CopyrightInformation' => __DIR__ . '/..' . '/phar-io/manifest/src/values/CopyrightInformation.php',
|
|
||||||
'PharIo\\Manifest\\ElementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ElementCollection.php',
|
|
||||||
'PharIo\\Manifest\\ElementCollectionException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ElementCollectionException.php',
|
|
||||||
'PharIo\\Manifest\\Email' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Email.php',
|
|
||||||
'PharIo\\Manifest\\Exception' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/Exception.php',
|
|
||||||
'PharIo\\Manifest\\ExtElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ExtElement.php',
|
|
||||||
'PharIo\\Manifest\\ExtElementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ExtElementCollection.php',
|
|
||||||
'PharIo\\Manifest\\Extension' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Extension.php',
|
|
||||||
'PharIo\\Manifest\\ExtensionElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ExtensionElement.php',
|
|
||||||
'PharIo\\Manifest\\InvalidApplicationNameException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php',
|
|
||||||
'PharIo\\Manifest\\InvalidEmailException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/InvalidEmailException.php',
|
|
||||||
'PharIo\\Manifest\\InvalidUrlException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/InvalidUrlException.php',
|
|
||||||
'PharIo\\Manifest\\Library' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Library.php',
|
|
||||||
'PharIo\\Manifest\\License' => __DIR__ . '/..' . '/phar-io/manifest/src/values/License.php',
|
|
||||||
'PharIo\\Manifest\\LicenseElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/LicenseElement.php',
|
|
||||||
'PharIo\\Manifest\\Manifest' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Manifest.php',
|
|
||||||
'PharIo\\Manifest\\ManifestDocument' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ManifestDocument.php',
|
|
||||||
'PharIo\\Manifest\\ManifestDocumentException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestDocumentException.php',
|
|
||||||
'PharIo\\Manifest\\ManifestDocumentLoadingException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestDocumentLoadingException.php',
|
|
||||||
'PharIo\\Manifest\\ManifestDocumentMapper' => __DIR__ . '/..' . '/phar-io/manifest/src/ManifestDocumentMapper.php',
|
|
||||||
'PharIo\\Manifest\\ManifestDocumentMapperException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestDocumentMapperException.php',
|
|
||||||
'PharIo\\Manifest\\ManifestElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/ManifestElement.php',
|
|
||||||
'PharIo\\Manifest\\ManifestElementException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestElementException.php',
|
|
||||||
'PharIo\\Manifest\\ManifestLoader' => __DIR__ . '/..' . '/phar-io/manifest/src/ManifestLoader.php',
|
|
||||||
'PharIo\\Manifest\\ManifestLoaderException' => __DIR__ . '/..' . '/phar-io/manifest/src/exceptions/ManifestLoaderException.php',
|
|
||||||
'PharIo\\Manifest\\ManifestSerializer' => __DIR__ . '/..' . '/phar-io/manifest/src/ManifestSerializer.php',
|
|
||||||
'PharIo\\Manifest\\PhpElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/PhpElement.php',
|
|
||||||
'PharIo\\Manifest\\PhpExtensionRequirement' => __DIR__ . '/..' . '/phar-io/manifest/src/values/PhpExtensionRequirement.php',
|
|
||||||
'PharIo\\Manifest\\PhpVersionRequirement' => __DIR__ . '/..' . '/phar-io/manifest/src/values/PhpVersionRequirement.php',
|
|
||||||
'PharIo\\Manifest\\Requirement' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Requirement.php',
|
|
||||||
'PharIo\\Manifest\\RequirementCollection' => __DIR__ . '/..' . '/phar-io/manifest/src/values/RequirementCollection.php',
|
|
||||||
'PharIo\\Manifest\\RequirementCollectionIterator' => __DIR__ . '/..' . '/phar-io/manifest/src/values/RequirementCollectionIterator.php',
|
|
||||||
'PharIo\\Manifest\\RequiresElement' => __DIR__ . '/..' . '/phar-io/manifest/src/xml/RequiresElement.php',
|
|
||||||
'PharIo\\Manifest\\Type' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Type.php',
|
|
||||||
'PharIo\\Manifest\\Url' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Url.php',
|
|
||||||
'PharIo\\Version\\AbstractVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/AbstractVersionConstraint.php',
|
|
||||||
'PharIo\\Version\\AndVersionConstraintGroup' => __DIR__ . '/..' . '/phar-io/version/src/constraints/AndVersionConstraintGroup.php',
|
|
||||||
'PharIo\\Version\\AnyVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/AnyVersionConstraint.php',
|
|
||||||
'PharIo\\Version\\ExactVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/ExactVersionConstraint.php',
|
|
||||||
'PharIo\\Version\\Exception' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/Exception.php',
|
|
||||||
'PharIo\\Version\\GreaterThanOrEqualToVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/GreaterThanOrEqualToVersionConstraint.php',
|
|
||||||
'PharIo\\Version\\InvalidPreReleaseSuffixException' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/InvalidPreReleaseSuffixException.php',
|
|
||||||
'PharIo\\Version\\InvalidVersionException' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/InvalidVersionException.php',
|
|
||||||
'PharIo\\Version\\NoPreReleaseSuffixException' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/NoPreReleaseSuffixException.php',
|
|
||||||
'PharIo\\Version\\OrVersionConstraintGroup' => __DIR__ . '/..' . '/phar-io/version/src/constraints/OrVersionConstraintGroup.php',
|
|
||||||
'PharIo\\Version\\PreReleaseSuffix' => __DIR__ . '/..' . '/phar-io/version/src/PreReleaseSuffix.php',
|
|
||||||
'PharIo\\Version\\SpecificMajorAndMinorVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/SpecificMajorAndMinorVersionConstraint.php',
|
|
||||||
'PharIo\\Version\\SpecificMajorVersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/SpecificMajorVersionConstraint.php',
|
|
||||||
'PharIo\\Version\\UnsupportedVersionConstraintException' => __DIR__ . '/..' . '/phar-io/version/src/exceptions/UnsupportedVersionConstraintException.php',
|
|
||||||
'PharIo\\Version\\Version' => __DIR__ . '/..' . '/phar-io/version/src/Version.php',
|
|
||||||
'PharIo\\Version\\VersionConstraint' => __DIR__ . '/..' . '/phar-io/version/src/constraints/VersionConstraint.php',
|
|
||||||
'PharIo\\Version\\VersionConstraintParser' => __DIR__ . '/..' . '/phar-io/version/src/VersionConstraintParser.php',
|
|
||||||
'PharIo\\Version\\VersionConstraintValue' => __DIR__ . '/..' . '/phar-io/version/src/VersionConstraintValue.php',
|
|
||||||
'PharIo\\Version\\VersionNumber' => __DIR__ . '/..' . '/phar-io/version/src/VersionNumber.php',
|
|
||||||
'SebastianBergmann\\CliParser\\AmbiguousOptionException' => __DIR__ . '/..' . '/sebastian/cli-parser/src/exceptions/AmbiguousOptionException.php',
|
|
||||||
'SebastianBergmann\\CliParser\\Exception' => __DIR__ . '/..' . '/sebastian/cli-parser/src/exceptions/Exception.php',
|
|
||||||
'SebastianBergmann\\CliParser\\OptionDoesNotAllowArgumentException' => __DIR__ . '/..' . '/sebastian/cli-parser/src/exceptions/OptionDoesNotAllowArgumentException.php',
|
|
||||||
'SebastianBergmann\\CliParser\\Parser' => __DIR__ . '/..' . '/sebastian/cli-parser/src/Parser.php',
|
|
||||||
'SebastianBergmann\\CliParser\\RequiredOptionArgumentMissingException' => __DIR__ . '/..' . '/sebastian/cli-parser/src/exceptions/RequiredOptionArgumentMissingException.php',
|
|
||||||
'SebastianBergmann\\CliParser\\UnknownOptionException' => __DIR__ . '/..' . '/sebastian/cli-parser/src/exceptions/UnknownOptionException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\BranchAndPathCoverageNotSupportedException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/BranchAndPathCoverageNotSupportedException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\CodeCoverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\CrapIndex' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CrapIndex.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\DeadCodeDetectionNotSupportedException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/DeadCodeDetectionNotSupportedException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Directory.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\DirectoryCouldNotBeCreatedException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/DirectoryCouldNotBeCreatedException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\Driver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/Driver.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\PathExistsButIsNotDirectoryException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/PathExistsButIsNotDirectoryException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\PcovDriver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/PcovDriver.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\PcovNotAvailableException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/PcovNotAvailableException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\PhpdbgDriver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/PhpdbgDriver.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\PhpdbgNotAvailableException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/PhpdbgNotAvailableException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\Selector' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/Selector.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\WriteOperationFailedException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/WriteOperationFailedException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\WrongXdebugVersionException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/WrongXdebugVersionException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug2Driver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/Xdebug2Driver.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug2NotEnabledException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/Xdebug2NotEnabledException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug3Driver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/Xdebug3Driver.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\Xdebug3NotEnabledException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/Xdebug3NotEnabledException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Driver\\XdebugNotAvailableException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/XdebugNotAvailableException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Exception' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/Exception.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Filter' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Filter.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\InvalidArgumentException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/InvalidArgumentException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\NoCodeCoverageDriverAvailableException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/NoCodeCoverageDriverAvailableException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\NoCodeCoverageDriverWithPathCoverageSupportAvailableException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/NoCodeCoverageDriverWithPathCoverageSupportAvailableException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Node\\AbstractNode' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/AbstractNode.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Node\\Builder' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/Builder.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Node\\Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/Directory.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Node\\File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/File.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Node\\Iterator' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Node/Iterator.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\ParserException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/ParserException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Percentage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Percentage.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\ProcessedCodeCoverageData' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/ProcessedCodeCoverageData.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\RawCodeCoverageData' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/RawCodeCoverageData.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\ReflectionException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/ReflectionException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\ReportAlreadyFinalizedException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/ReportAlreadyFinalizedException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Clover' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Clover.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Cobertura' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Cobertura.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Crap4j' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Crap4j.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Html\\Dashboard' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Html\\Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Html\\Facade' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Facade.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Html\\File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Html\\Renderer' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Html/Renderer.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\PHP' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/PHP.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Text' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Text.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\BuildInformation' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Coverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Coverage.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Directory.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Facade' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Facade.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/File.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Method' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Method.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Node' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Node.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Project' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Project.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Report' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Report.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Source' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Source.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Tests' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Tests.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Totals' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Totals.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Report\\Xml\\Unit' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Report/Xml/Unit.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysisCacheNotConfiguredException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/StaticAnalysisCacheNotConfiguredException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\Cache' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/Cache.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CacheWarmer' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/CacheWarmer.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CachingCoveredFileAnalyser' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/CachingCoveredFileAnalyser.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CachingUncoveredFileAnalyser' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/CachingUncoveredFileAnalyser.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CodeUnitFindingVisitor' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/CodeUnitFindingVisitor.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CoveredFileAnalyser' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/CoveredFileAnalyser.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\ExecutableLinesFindingVisitor' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/ExecutableLinesFindingVisitor.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\IgnoredLinesFindingVisitor' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/IgnoredLinesFindingVisitor.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\ParsingCoveredFileAnalyser' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/ParsingCoveredFileAnalyser.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\ParsingUncoveredFileAnalyser' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/ParsingUncoveredFileAnalyser.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\UncoveredFileAnalyser' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/UncoveredFileAnalyser.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\TestIdMissingException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/TestIdMissingException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\UnintentionallyCoveredCodeException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/UnintentionallyCoveredCodeException.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\Version' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Version.php',
|
|
||||||
'SebastianBergmann\\CodeCoverage\\XmlException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/XmlException.php',
|
|
||||||
'SebastianBergmann\\CodeUnitReverseLookup\\Wizard' => __DIR__ . '/..' . '/sebastian/code-unit-reverse-lookup/src/Wizard.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\ClassMethodUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/ClassMethodUnit.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\ClassUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/ClassUnit.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\CodeUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/CodeUnit.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\CodeUnitCollection' => __DIR__ . '/..' . '/sebastian/code-unit/src/CodeUnitCollection.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\CodeUnitCollectionIterator' => __DIR__ . '/..' . '/sebastian/code-unit/src/CodeUnitCollectionIterator.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\Exception' => __DIR__ . '/..' . '/sebastian/code-unit/src/exceptions/Exception.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\FunctionUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/FunctionUnit.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\InterfaceMethodUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/InterfaceMethodUnit.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\InterfaceUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/InterfaceUnit.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\InvalidCodeUnitException' => __DIR__ . '/..' . '/sebastian/code-unit/src/exceptions/InvalidCodeUnitException.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\Mapper' => __DIR__ . '/..' . '/sebastian/code-unit/src/Mapper.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\NoTraitException' => __DIR__ . '/..' . '/sebastian/code-unit/src/exceptions/NoTraitException.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\ReflectionException' => __DIR__ . '/..' . '/sebastian/code-unit/src/exceptions/ReflectionException.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\TraitMethodUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/TraitMethodUnit.php',
|
|
||||||
'SebastianBergmann\\CodeUnit\\TraitUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/TraitUnit.php',
|
|
||||||
'SebastianBergmann\\Comparator\\ArrayComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ArrayComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\Comparator' => __DIR__ . '/..' . '/sebastian/comparator/src/Comparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\ComparisonFailure' => __DIR__ . '/..' . '/sebastian/comparator/src/ComparisonFailure.php',
|
|
||||||
'SebastianBergmann\\Comparator\\DOMNodeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DOMNodeComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\DateTimeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DateTimeComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\DoubleComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DoubleComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\Exception' => __DIR__ . '/..' . '/sebastian/comparator/src/exceptions/Exception.php',
|
|
||||||
'SebastianBergmann\\Comparator\\ExceptionComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ExceptionComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\Factory' => __DIR__ . '/..' . '/sebastian/comparator/src/Factory.php',
|
|
||||||
'SebastianBergmann\\Comparator\\MockObjectComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/MockObjectComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\NumericComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/NumericComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\ObjectComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ObjectComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\ResourceComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ResourceComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\RuntimeException' => __DIR__ . '/..' . '/sebastian/comparator/src/exceptions/RuntimeException.php',
|
|
||||||
'SebastianBergmann\\Comparator\\ScalarComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ScalarComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/SplObjectStorageComparator.php',
|
|
||||||
'SebastianBergmann\\Comparator\\TypeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/TypeComparator.php',
|
|
||||||
'SebastianBergmann\\Complexity\\Calculator' => __DIR__ . '/..' . '/sebastian/complexity/src/Calculator.php',
|
|
||||||
'SebastianBergmann\\Complexity\\Complexity' => __DIR__ . '/..' . '/sebastian/complexity/src/Complexity/Complexity.php',
|
|
||||||
'SebastianBergmann\\Complexity\\ComplexityCalculatingVisitor' => __DIR__ . '/..' . '/sebastian/complexity/src/Visitor/ComplexityCalculatingVisitor.php',
|
|
||||||
'SebastianBergmann\\Complexity\\ComplexityCollection' => __DIR__ . '/..' . '/sebastian/complexity/src/Complexity/ComplexityCollection.php',
|
|
||||||
'SebastianBergmann\\Complexity\\ComplexityCollectionIterator' => __DIR__ . '/..' . '/sebastian/complexity/src/Complexity/ComplexityCollectionIterator.php',
|
|
||||||
'SebastianBergmann\\Complexity\\CyclomaticComplexityCalculatingVisitor' => __DIR__ . '/..' . '/sebastian/complexity/src/Visitor/CyclomaticComplexityCalculatingVisitor.php',
|
|
||||||
'SebastianBergmann\\Complexity\\Exception' => __DIR__ . '/..' . '/sebastian/complexity/src/Exception/Exception.php',
|
|
||||||
'SebastianBergmann\\Complexity\\RuntimeException' => __DIR__ . '/..' . '/sebastian/complexity/src/Exception/RuntimeException.php',
|
|
||||||
'SebastianBergmann\\Diff\\Chunk' => __DIR__ . '/..' . '/sebastian/diff/src/Chunk.php',
|
|
||||||
'SebastianBergmann\\Diff\\ConfigurationException' => __DIR__ . '/..' . '/sebastian/diff/src/Exception/ConfigurationException.php',
|
|
||||||
'SebastianBergmann\\Diff\\Diff' => __DIR__ . '/..' . '/sebastian/diff/src/Diff.php',
|
|
||||||
'SebastianBergmann\\Diff\\Differ' => __DIR__ . '/..' . '/sebastian/diff/src/Differ.php',
|
|
||||||
'SebastianBergmann\\Diff\\Exception' => __DIR__ . '/..' . '/sebastian/diff/src/Exception/Exception.php',
|
|
||||||
'SebastianBergmann\\Diff\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/diff/src/Exception/InvalidArgumentException.php',
|
|
||||||
'SebastianBergmann\\Diff\\Line' => __DIR__ . '/..' . '/sebastian/diff/src/Line.php',
|
|
||||||
'SebastianBergmann\\Diff\\LongestCommonSubsequenceCalculator' => __DIR__ . '/..' . '/sebastian/diff/src/LongestCommonSubsequenceCalculator.php',
|
|
||||||
'SebastianBergmann\\Diff\\MemoryEfficientLongestCommonSubsequenceCalculator' => __DIR__ . '/..' . '/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php',
|
|
||||||
'SebastianBergmann\\Diff\\Output\\AbstractChunkOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php',
|
|
||||||
'SebastianBergmann\\Diff\\Output\\DiffOnlyOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php',
|
|
||||||
'SebastianBergmann\\Diff\\Output\\DiffOutputBuilderInterface' => __DIR__ . '/..' . '/sebastian/diff/src/Output/DiffOutputBuilderInterface.php',
|
|
||||||
'SebastianBergmann\\Diff\\Output\\StrictUnifiedDiffOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php',
|
|
||||||
'SebastianBergmann\\Diff\\Output\\UnifiedDiffOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php',
|
|
||||||
'SebastianBergmann\\Diff\\Parser' => __DIR__ . '/..' . '/sebastian/diff/src/Parser.php',
|
|
||||||
'SebastianBergmann\\Diff\\TimeEfficientLongestCommonSubsequenceCalculator' => __DIR__ . '/..' . '/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php',
|
|
||||||
'SebastianBergmann\\Environment\\Console' => __DIR__ . '/..' . '/sebastian/environment/src/Console.php',
|
|
||||||
'SebastianBergmann\\Environment\\OperatingSystem' => __DIR__ . '/..' . '/sebastian/environment/src/OperatingSystem.php',
|
|
||||||
'SebastianBergmann\\Environment\\Runtime' => __DIR__ . '/..' . '/sebastian/environment/src/Runtime.php',
|
|
||||||
'SebastianBergmann\\Exporter\\Exporter' => __DIR__ . '/..' . '/sebastian/exporter/src/Exporter.php',
|
|
||||||
'SebastianBergmann\\FileIterator\\Facade' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Facade.php',
|
|
||||||
'SebastianBergmann\\FileIterator\\Factory' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Factory.php',
|
|
||||||
'SebastianBergmann\\FileIterator\\Iterator' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Iterator.php',
|
|
||||||
'SebastianBergmann\\GlobalState\\CodeExporter' => __DIR__ . '/..' . '/sebastian/global-state/src/CodeExporter.php',
|
|
||||||
'SebastianBergmann\\GlobalState\\Exception' => __DIR__ . '/..' . '/sebastian/global-state/src/exceptions/Exception.php',
|
|
||||||
'SebastianBergmann\\GlobalState\\ExcludeList' => __DIR__ . '/..' . '/sebastian/global-state/src/ExcludeList.php',
|
|
||||||
'SebastianBergmann\\GlobalState\\Restorer' => __DIR__ . '/..' . '/sebastian/global-state/src/Restorer.php',
|
|
||||||
'SebastianBergmann\\GlobalState\\RuntimeException' => __DIR__ . '/..' . '/sebastian/global-state/src/exceptions/RuntimeException.php',
|
|
||||||
'SebastianBergmann\\GlobalState\\Snapshot' => __DIR__ . '/..' . '/sebastian/global-state/src/Snapshot.php',
|
|
||||||
'SebastianBergmann\\Invoker\\Exception' => __DIR__ . '/..' . '/phpunit/php-invoker/src/exceptions/Exception.php',
|
|
||||||
'SebastianBergmann\\Invoker\\Invoker' => __DIR__ . '/..' . '/phpunit/php-invoker/src/Invoker.php',
|
|
||||||
'SebastianBergmann\\Invoker\\ProcessControlExtensionNotLoadedException' => __DIR__ . '/..' . '/phpunit/php-invoker/src/exceptions/ProcessControlExtensionNotLoadedException.php',
|
|
||||||
'SebastianBergmann\\Invoker\\TimeoutException' => __DIR__ . '/..' . '/phpunit/php-invoker/src/exceptions/TimeoutException.php',
|
|
||||||
'SebastianBergmann\\LinesOfCode\\Counter' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/Counter.php',
|
|
||||||
'SebastianBergmann\\LinesOfCode\\Exception' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/Exception/Exception.php',
|
|
||||||
'SebastianBergmann\\LinesOfCode\\IllogicalValuesException' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/Exception/IllogicalValuesException.php',
|
|
||||||
'SebastianBergmann\\LinesOfCode\\LineCountingVisitor' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/LineCountingVisitor.php',
|
|
||||||
'SebastianBergmann\\LinesOfCode\\LinesOfCode' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/LinesOfCode.php',
|
|
||||||
'SebastianBergmann\\LinesOfCode\\NegativeValueException' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/Exception/NegativeValueException.php',
|
|
||||||
'SebastianBergmann\\LinesOfCode\\RuntimeException' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/Exception/RuntimeException.php',
|
|
||||||
'SebastianBergmann\\ObjectEnumerator\\Enumerator' => __DIR__ . '/..' . '/sebastian/object-enumerator/src/Enumerator.php',
|
|
||||||
'SebastianBergmann\\ObjectEnumerator\\Exception' => __DIR__ . '/..' . '/sebastian/object-enumerator/src/Exception.php',
|
|
||||||
'SebastianBergmann\\ObjectEnumerator\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/object-enumerator/src/InvalidArgumentException.php',
|
|
||||||
'SebastianBergmann\\ObjectReflector\\Exception' => __DIR__ . '/..' . '/sebastian/object-reflector/src/Exception.php',
|
|
||||||
'SebastianBergmann\\ObjectReflector\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/object-reflector/src/InvalidArgumentException.php',
|
|
||||||
'SebastianBergmann\\ObjectReflector\\ObjectReflector' => __DIR__ . '/..' . '/sebastian/object-reflector/src/ObjectReflector.php',
|
|
||||||
'SebastianBergmann\\RecursionContext\\Context' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Context.php',
|
|
||||||
'SebastianBergmann\\RecursionContext\\Exception' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Exception.php',
|
|
||||||
'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/recursion-context/src/InvalidArgumentException.php',
|
|
||||||
'SebastianBergmann\\ResourceOperations\\ResourceOperations' => __DIR__ . '/..' . '/sebastian/resource-operations/src/ResourceOperations.php',
|
|
||||||
'SebastianBergmann\\Template\\Exception' => __DIR__ . '/..' . '/phpunit/php-text-template/src/exceptions/Exception.php',
|
|
||||||
'SebastianBergmann\\Template\\InvalidArgumentException' => __DIR__ . '/..' . '/phpunit/php-text-template/src/exceptions/InvalidArgumentException.php',
|
|
||||||
'SebastianBergmann\\Template\\RuntimeException' => __DIR__ . '/..' . '/phpunit/php-text-template/src/exceptions/RuntimeException.php',
|
|
||||||
'SebastianBergmann\\Template\\Template' => __DIR__ . '/..' . '/phpunit/php-text-template/src/Template.php',
|
|
||||||
'SebastianBergmann\\Timer\\Duration' => __DIR__ . '/..' . '/phpunit/php-timer/src/Duration.php',
|
|
||||||
'SebastianBergmann\\Timer\\Exception' => __DIR__ . '/..' . '/phpunit/php-timer/src/exceptions/Exception.php',
|
|
||||||
'SebastianBergmann\\Timer\\NoActiveTimerException' => __DIR__ . '/..' . '/phpunit/php-timer/src/exceptions/NoActiveTimerException.php',
|
|
||||||
'SebastianBergmann\\Timer\\ResourceUsageFormatter' => __DIR__ . '/..' . '/phpunit/php-timer/src/ResourceUsageFormatter.php',
|
|
||||||
'SebastianBergmann\\Timer\\TimeSinceStartOfRequestNotAvailableException' => __DIR__ . '/..' . '/phpunit/php-timer/src/exceptions/TimeSinceStartOfRequestNotAvailableException.php',
|
|
||||||
'SebastianBergmann\\Timer\\Timer' => __DIR__ . '/..' . '/phpunit/php-timer/src/Timer.php',
|
|
||||||
'SebastianBergmann\\Type\\CallableType' => __DIR__ . '/..' . '/sebastian/type/src/CallableType.php',
|
|
||||||
'SebastianBergmann\\Type\\Exception' => __DIR__ . '/..' . '/sebastian/type/src/exception/Exception.php',
|
|
||||||
'SebastianBergmann\\Type\\FalseType' => __DIR__ . '/..' . '/sebastian/type/src/FalseType.php',
|
|
||||||
'SebastianBergmann\\Type\\GenericObjectType' => __DIR__ . '/..' . '/sebastian/type/src/GenericObjectType.php',
|
|
||||||
'SebastianBergmann\\Type\\IterableType' => __DIR__ . '/..' . '/sebastian/type/src/IterableType.php',
|
|
||||||
'SebastianBergmann\\Type\\LogicException' => __DIR__ . '/..' . '/sebastian/type/src/exception/LogicException.php',
|
|
||||||
'SebastianBergmann\\Type\\MixedType' => __DIR__ . '/..' . '/sebastian/type/src/MixedType.php',
|
|
||||||
'SebastianBergmann\\Type\\NullType' => __DIR__ . '/..' . '/sebastian/type/src/NullType.php',
|
|
||||||
'SebastianBergmann\\Type\\ObjectType' => __DIR__ . '/..' . '/sebastian/type/src/ObjectType.php',
|
|
||||||
'SebastianBergmann\\Type\\ReflectionMapper' => __DIR__ . '/..' . '/sebastian/type/src/ReflectionMapper.php',
|
|
||||||
'SebastianBergmann\\Type\\RuntimeException' => __DIR__ . '/..' . '/sebastian/type/src/exception/RuntimeException.php',
|
|
||||||
'SebastianBergmann\\Type\\SimpleType' => __DIR__ . '/..' . '/sebastian/type/src/SimpleType.php',
|
|
||||||
'SebastianBergmann\\Type\\StaticType' => __DIR__ . '/..' . '/sebastian/type/src/StaticType.php',
|
|
||||||
'SebastianBergmann\\Type\\Type' => __DIR__ . '/..' . '/sebastian/type/src/Type.php',
|
|
||||||
'SebastianBergmann\\Type\\TypeName' => __DIR__ . '/..' . '/sebastian/type/src/TypeName.php',
|
|
||||||
'SebastianBergmann\\Type\\UnionType' => __DIR__ . '/..' . '/sebastian/type/src/UnionType.php',
|
|
||||||
'SebastianBergmann\\Type\\UnknownType' => __DIR__ . '/..' . '/sebastian/type/src/UnknownType.php',
|
|
||||||
'SebastianBergmann\\Type\\VoidType' => __DIR__ . '/..' . '/sebastian/type/src/VoidType.php',
|
|
||||||
'SebastianBergmann\\Version' => __DIR__ . '/..' . '/sebastian/version/src/Version.php',
|
|
||||||
'TheSeer\\Tokenizer\\Exception' => __DIR__ . '/..' . '/theseer/tokenizer/src/Exception.php',
|
|
||||||
'TheSeer\\Tokenizer\\NamespaceUri' => __DIR__ . '/..' . '/theseer/tokenizer/src/NamespaceUri.php',
|
|
||||||
'TheSeer\\Tokenizer\\NamespaceUriException' => __DIR__ . '/..' . '/theseer/tokenizer/src/NamespaceUriException.php',
|
|
||||||
'TheSeer\\Tokenizer\\Token' => __DIR__ . '/..' . '/theseer/tokenizer/src/Token.php',
|
|
||||||
'TheSeer\\Tokenizer\\TokenCollection' => __DIR__ . '/..' . '/theseer/tokenizer/src/TokenCollection.php',
|
|
||||||
'TheSeer\\Tokenizer\\TokenCollectionException' => __DIR__ . '/..' . '/theseer/tokenizer/src/TokenCollectionException.php',
|
|
||||||
'TheSeer\\Tokenizer\\Tokenizer' => __DIR__ . '/..' . '/theseer/tokenizer/src/Tokenizer.php',
|
|
||||||
'TheSeer\\Tokenizer\\XMLSerializer' => __DIR__ . '/..' . '/theseer/tokenizer/src/XMLSerializer.php',
|
|
||||||
);
|
|
||||||
|
|
||||||
public static function getInitializer(ClassLoader $loader)
|
|
||||||
{
|
|
||||||
return \Closure::bind(function () use ($loader) {
|
|
||||||
$loader->prefixLengthsPsr4 = ComposerStaticInit71e57d5c4a20c2585baa01003d9d916b::$prefixLengthsPsr4;
|
|
||||||
$loader->prefixDirsPsr4 = ComposerStaticInit71e57d5c4a20c2585baa01003d9d916b::$prefixDirsPsr4;
|
|
||||||
$loader->classMap = ComposerStaticInit71e57d5c4a20c2585baa01003d9d916b::$classMap;
|
|
||||||
|
|
||||||
}, null, ClassLoader::class);
|
|
||||||
}
|
|
||||||
}
|
|
2201
vendor/composer/installed.json
vendored
2201
vendor/composer/installed.json
vendored
File diff suppressed because it is too large
Load Diff
329
vendor/composer/installed.php
vendored
329
vendor/composer/installed.php
vendored
@ -1,329 +0,0 @@
|
|||||||
<?php return array(
|
|
||||||
'root' => array(
|
|
||||||
'pretty_version' => '1.0.0+no-version-set',
|
|
||||||
'version' => '1.0.0.0',
|
|
||||||
'type' => 'project',
|
|
||||||
'install_path' => __DIR__ . '/../../',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => NULL,
|
|
||||||
'name' => 'jdg/top100stars',
|
|
||||||
'dev' => true,
|
|
||||||
),
|
|
||||||
'versions' => array(
|
|
||||||
'doctrine/instantiator' => array(
|
|
||||||
'pretty_version' => '1.4.0',
|
|
||||||
'version' => '1.4.0.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../doctrine/instantiator',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => 'd56bf6102915de5702778fe20f2de3b2fe570b5b',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'jdg/top100stars' => array(
|
|
||||||
'pretty_version' => '1.0.0+no-version-set',
|
|
||||||
'version' => '1.0.0.0',
|
|
||||||
'type' => 'project',
|
|
||||||
'install_path' => __DIR__ . '/../../',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => NULL,
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'myclabs/deep-copy' => array(
|
|
||||||
'pretty_version' => '1.10.2',
|
|
||||||
'version' => '1.10.2.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../myclabs/deep-copy',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '776f831124e9c62e1a2c601ecc52e776d8bb7220',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'nikic/php-parser' => array(
|
|
||||||
'pretty_version' => 'v4.13.2',
|
|
||||||
'version' => '4.13.2.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../nikic/php-parser',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '210577fe3cf7badcc5814d99455df46564f3c077',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'phar-io/manifest' => array(
|
|
||||||
'pretty_version' => '2.0.3',
|
|
||||||
'version' => '2.0.3.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../phar-io/manifest',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '97803eca37d319dfa7826cc2437fc020857acb53',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'phar-io/version' => array(
|
|
||||||
'pretty_version' => '3.1.0',
|
|
||||||
'version' => '3.1.0.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../phar-io/version',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => 'bae7c545bef187884426f042434e561ab1ddb182',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'phpdocumentor/reflection-common' => array(
|
|
||||||
'pretty_version' => '2.2.0',
|
|
||||||
'version' => '2.2.0.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../phpdocumentor/reflection-common',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '1d01c49d4ed62f25aa84a747ad35d5a16924662b',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'phpdocumentor/reflection-docblock' => array(
|
|
||||||
'pretty_version' => '5.3.0',
|
|
||||||
'version' => '5.3.0.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../phpdocumentor/reflection-docblock',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '622548b623e81ca6d78b721c5e029f4ce664f170',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'phpdocumentor/type-resolver' => array(
|
|
||||||
'pretty_version' => '1.6.0',
|
|
||||||
'version' => '1.6.0.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../phpdocumentor/type-resolver',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '93ebd0014cab80c4ea9f5e297ea48672f1b87706',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'phpspec/prophecy' => array(
|
|
||||||
'pretty_version' => 'v1.15.0',
|
|
||||||
'version' => '1.15.0.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../phpspec/prophecy',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => 'bbcd7380b0ebf3961ee21409db7b38bc31d69a13',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'phpunit/php-code-coverage' => array(
|
|
||||||
'pretty_version' => '9.2.10',
|
|
||||||
'version' => '9.2.10.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../phpunit/php-code-coverage',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => 'd5850aaf931743067f4bfc1ae4cbd06468400687',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'phpunit/php-file-iterator' => array(
|
|
||||||
'pretty_version' => '3.0.6',
|
|
||||||
'version' => '3.0.6.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../phpunit/php-file-iterator',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => 'cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'phpunit/php-invoker' => array(
|
|
||||||
'pretty_version' => '3.1.1',
|
|
||||||
'version' => '3.1.1.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../phpunit/php-invoker',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '5a10147d0aaf65b58940a0b72f71c9ac0423cc67',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'phpunit/php-text-template' => array(
|
|
||||||
'pretty_version' => '2.0.4',
|
|
||||||
'version' => '2.0.4.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../phpunit/php-text-template',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'phpunit/php-timer' => array(
|
|
||||||
'pretty_version' => '5.0.3',
|
|
||||||
'version' => '5.0.3.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../phpunit/php-timer',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'phpunit/phpunit' => array(
|
|
||||||
'pretty_version' => '9.5.13',
|
|
||||||
'version' => '9.5.13.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../phpunit/phpunit',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '597cb647654ede35e43b137926dfdfef0fb11743',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/cli-parser' => array(
|
|
||||||
'pretty_version' => '1.0.1',
|
|
||||||
'version' => '1.0.1.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/cli-parser',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '442e7c7e687e42adc03470c7b668bc4b2402c0b2',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/code-unit' => array(
|
|
||||||
'pretty_version' => '1.0.8',
|
|
||||||
'version' => '1.0.8.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/code-unit',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '1fc9f64c0927627ef78ba436c9b17d967e68e120',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/code-unit-reverse-lookup' => array(
|
|
||||||
'pretty_version' => '2.0.3',
|
|
||||||
'version' => '2.0.3.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/code-unit-reverse-lookup',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => 'ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/comparator' => array(
|
|
||||||
'pretty_version' => '4.0.6',
|
|
||||||
'version' => '4.0.6.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/comparator',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '55f4261989e546dc112258c7a75935a81a7ce382',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/complexity' => array(
|
|
||||||
'pretty_version' => '2.0.2',
|
|
||||||
'version' => '2.0.2.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/complexity',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '739b35e53379900cc9ac327b2147867b8b6efd88',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/diff' => array(
|
|
||||||
'pretty_version' => '4.0.4',
|
|
||||||
'version' => '4.0.4.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/diff',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '3461e3fccc7cfdfc2720be910d3bd73c69be590d',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/environment' => array(
|
|
||||||
'pretty_version' => '5.1.3',
|
|
||||||
'version' => '5.1.3.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/environment',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '388b6ced16caa751030f6a69e588299fa09200ac',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/exporter' => array(
|
|
||||||
'pretty_version' => '4.0.4',
|
|
||||||
'version' => '4.0.4.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/exporter',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '65e8b7db476c5dd267e65eea9cab77584d3cfff9',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/global-state' => array(
|
|
||||||
'pretty_version' => '5.0.3',
|
|
||||||
'version' => '5.0.3.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/global-state',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '23bd5951f7ff26f12d4e3242864df3e08dec4e49',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/lines-of-code' => array(
|
|
||||||
'pretty_version' => '1.0.3',
|
|
||||||
'version' => '1.0.3.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/lines-of-code',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => 'c1c2e997aa3146983ed888ad08b15470a2e22ecc',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/object-enumerator' => array(
|
|
||||||
'pretty_version' => '4.0.4',
|
|
||||||
'version' => '4.0.4.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/object-enumerator',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '5c9eeac41b290a3712d88851518825ad78f45c71',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/object-reflector' => array(
|
|
||||||
'pretty_version' => '2.0.4',
|
|
||||||
'version' => '2.0.4.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/object-reflector',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => 'b4f479ebdbf63ac605d183ece17d8d7fe49c15c7',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/recursion-context' => array(
|
|
||||||
'pretty_version' => '4.0.4',
|
|
||||||
'version' => '4.0.4.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/recursion-context',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => 'cd9d8cf3c5804de4341c283ed787f099f5506172',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/resource-operations' => array(
|
|
||||||
'pretty_version' => '3.0.3',
|
|
||||||
'version' => '3.0.3.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/resource-operations',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/type' => array(
|
|
||||||
'pretty_version' => '2.3.4',
|
|
||||||
'version' => '2.3.4.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/type',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => 'b8cd8a1c753c90bc1a0f5372170e3e489136f914',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'sebastian/version' => array(
|
|
||||||
'pretty_version' => '3.0.2',
|
|
||||||
'version' => '3.0.2.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../sebastian/version',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => 'c6c1022351a901512170118436c764e473f6de8c',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'symfony/polyfill-ctype' => array(
|
|
||||||
'pretty_version' => 'v1.24.0',
|
|
||||||
'version' => '1.24.0.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../symfony/polyfill-ctype',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '30885182c981ab175d4d034db0f6f469898070ab',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'theseer/tokenizer' => array(
|
|
||||||
'pretty_version' => '1.2.1',
|
|
||||||
'version' => '1.2.1.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../theseer/tokenizer',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '34a41e998c2183e22995f158c581e7b5e755ab9e',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
'webmozart/assert' => array(
|
|
||||||
'pretty_version' => '1.10.0',
|
|
||||||
'version' => '1.10.0.0',
|
|
||||||
'type' => 'library',
|
|
||||||
'install_path' => __DIR__ . '/../webmozart/assert',
|
|
||||||
'aliases' => array(),
|
|
||||||
'reference' => '6964c76c7804814a842473e0c8fd15bab0f18e25',
|
|
||||||
'dev_requirement' => false,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
26
vendor/composer/platform_check.php
vendored
26
vendor/composer/platform_check.php
vendored
@ -1,26 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
// platform_check.php @generated by Composer
|
|
||||||
|
|
||||||
$issues = array();
|
|
||||||
|
|
||||||
if (!(PHP_VERSION_ID >= 70300)) {
|
|
||||||
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.3.0". You are running ' . PHP_VERSION . '.';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($issues) {
|
|
||||||
if (!headers_sent()) {
|
|
||||||
header('HTTP/1.1 500 Internal Server Error');
|
|
||||||
}
|
|
||||||
if (!ini_get('display_errors')) {
|
|
||||||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
|
|
||||||
fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
|
|
||||||
} elseif (!headers_sent()) {
|
|
||||||
echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
trigger_error(
|
|
||||||
'Composer detected issues in your platform: ' . implode(' ', $issues),
|
|
||||||
E_USER_ERROR
|
|
||||||
);
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
{
|
|
||||||
"active": true,
|
|
||||||
"name": "Instantiator",
|
|
||||||
"slug": "instantiator",
|
|
||||||
"docsSlug": "doctrine-instantiator",
|
|
||||||
"codePath": "/src",
|
|
||||||
"versions": [
|
|
||||||
{
|
|
||||||
"name": "1.4",
|
|
||||||
"branchName": "master",
|
|
||||||
"slug": "latest",
|
|
||||||
"upcoming": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "1.3",
|
|
||||||
"branchName": "1.3.x",
|
|
||||||
"slug": "1.3",
|
|
||||||
"aliases": [
|
|
||||||
"current",
|
|
||||||
"stable"
|
|
||||||
],
|
|
||||||
"maintained": true,
|
|
||||||
"current": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "1.2",
|
|
||||||
"branchName": "1.2.x",
|
|
||||||
"slug": "1.2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "1.1",
|
|
||||||
"branchName": "1.1.x",
|
|
||||||
"slug": "1.1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "1.0",
|
|
||||||
"branchName": "1.0.x",
|
|
||||||
"slug": "1.0"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
patreon: phpdoctrine
|
|
||||||
tidelift: packagist/doctrine%2Finstantiator
|
|
||||||
custom: https://www.doctrine-project.org/sponsorship.html
|
|
@ -1,48 +0,0 @@
|
|||||||
|
|
||||||
name: "Coding Standards"
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- "*.x"
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- "*.x"
|
|
||||||
|
|
||||||
env:
|
|
||||||
COMPOSER_ROOT_VERSION: "1.4"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
coding-standards:
|
|
||||||
name: "Coding Standards"
|
|
||||||
runs-on: "ubuntu-20.04"
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
php-version:
|
|
||||||
- "7.4"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: "Checkout"
|
|
||||||
uses: "actions/checkout@v2"
|
|
||||||
|
|
||||||
- name: "Install PHP"
|
|
||||||
uses: "shivammathur/setup-php@v2"
|
|
||||||
with:
|
|
||||||
coverage: "none"
|
|
||||||
php-version: "${{ matrix.php-version }}"
|
|
||||||
tools: "cs2pr"
|
|
||||||
|
|
||||||
- name: "Cache dependencies installed with Composer"
|
|
||||||
uses: "actions/cache@v2"
|
|
||||||
with:
|
|
||||||
path: "~/.composer/cache"
|
|
||||||
key: "php-${{ matrix.php-version }}-composer-locked-${{ hashFiles('composer.lock') }}"
|
|
||||||
restore-keys: "php-${{ matrix.php-version }}-composer-locked-"
|
|
||||||
|
|
||||||
- name: "Install dependencies with Composer"
|
|
||||||
run: "composer install --no-interaction --no-progress"
|
|
||||||
|
|
||||||
# https://github.com/doctrine/.github/issues/3
|
|
||||||
- name: "Run PHP_CodeSniffer"
|
|
||||||
run: "vendor/bin/phpcs -q --no-colors --report=checkstyle | cs2pr"
|
|
@ -1,91 +0,0 @@
|
|||||||
|
|
||||||
name: "Continuous Integration"
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- "*.x"
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- "*.x"
|
|
||||||
|
|
||||||
env:
|
|
||||||
fail-fast: true
|
|
||||||
COMPOSER_ROOT_VERSION: "1.4"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
phpunit:
|
|
||||||
name: "PHPUnit with SQLite"
|
|
||||||
runs-on: "ubuntu-20.04"
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
php-version:
|
|
||||||
- "7.1"
|
|
||||||
- "7.2"
|
|
||||||
- "7.3"
|
|
||||||
- "7.4"
|
|
||||||
- "8.0"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: "Checkout"
|
|
||||||
uses: "actions/checkout@v2"
|
|
||||||
with:
|
|
||||||
fetch-depth: 2
|
|
||||||
|
|
||||||
- name: "Install PHP with XDebug"
|
|
||||||
uses: "shivammathur/setup-php@v2"
|
|
||||||
if: "${{ matrix.php-version == '7.1' }}"
|
|
||||||
with:
|
|
||||||
php-version: "${{ matrix.php-version }}"
|
|
||||||
coverage: "xdebug"
|
|
||||||
ini-values: "zend.assertions=1"
|
|
||||||
|
|
||||||
- name: "Install PHP with PCOV"
|
|
||||||
uses: "shivammathur/setup-php@v2"
|
|
||||||
if: "${{ matrix.php-version != '7.1' }}"
|
|
||||||
with:
|
|
||||||
php-version: "${{ matrix.php-version }}"
|
|
||||||
coverage: "pcov"
|
|
||||||
ini-values: "zend.assertions=1"
|
|
||||||
|
|
||||||
- name: "Cache dependencies installed with composer"
|
|
||||||
uses: "actions/cache@v2"
|
|
||||||
with:
|
|
||||||
path: "~/.composer/cache"
|
|
||||||
key: "php-${{ matrix.php-version }}-composer-locked-${{ hashFiles('composer.lock') }}"
|
|
||||||
restore-keys: "php-${{ matrix.php-version }}-composer-locked-"
|
|
||||||
|
|
||||||
- name: "Install dependencies with composer"
|
|
||||||
run: "composer update --no-interaction --no-progress"
|
|
||||||
|
|
||||||
- name: "Run PHPUnit"
|
|
||||||
run: "vendor/bin/phpunit --coverage-clover=coverage.xml"
|
|
||||||
|
|
||||||
- name: "Upload coverage file"
|
|
||||||
uses: "actions/upload-artifact@v2"
|
|
||||||
with:
|
|
||||||
name: "phpunit-${{ matrix.php-version }}.coverage"
|
|
||||||
path: "coverage.xml"
|
|
||||||
|
|
||||||
upload_coverage:
|
|
||||||
name: "Upload coverage to Codecov"
|
|
||||||
runs-on: "ubuntu-20.04"
|
|
||||||
needs:
|
|
||||||
- "phpunit"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: "Checkout"
|
|
||||||
uses: "actions/checkout@v2"
|
|
||||||
with:
|
|
||||||
fetch-depth: 2
|
|
||||||
|
|
||||||
- name: "Download coverage files"
|
|
||||||
uses: "actions/download-artifact@v2"
|
|
||||||
with:
|
|
||||||
path: "reports"
|
|
||||||
|
|
||||||
- name: "Upload to Codecov"
|
|
||||||
uses: "codecov/codecov-action@v1"
|
|
||||||
with:
|
|
||||||
directory: reports
|
|
@ -1,50 +0,0 @@
|
|||||||
|
|
||||||
name: "Performance benchmark"
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- "*.x"
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- "*.x"
|
|
||||||
|
|
||||||
env:
|
|
||||||
fail-fast: true
|
|
||||||
COMPOSER_ROOT_VERSION: "1.4"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
phpbench:
|
|
||||||
name: "PHPBench"
|
|
||||||
runs-on: "ubuntu-20.04"
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
php-version:
|
|
||||||
- "7.4"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: "Checkout"
|
|
||||||
uses: "actions/checkout@v2"
|
|
||||||
with:
|
|
||||||
fetch-depth: 2
|
|
||||||
|
|
||||||
- name: "Install PHP"
|
|
||||||
uses: "shivammathur/setup-php@v2"
|
|
||||||
with:
|
|
||||||
php-version: "${{ matrix.php-version }}"
|
|
||||||
coverage: "pcov"
|
|
||||||
ini-values: "zend.assertions=1"
|
|
||||||
|
|
||||||
- name: "Cache dependencies installed with composer"
|
|
||||||
uses: "actions/cache@v2"
|
|
||||||
with:
|
|
||||||
path: "~/.composer/cache"
|
|
||||||
key: "php-${{ matrix.php-version }}-composer-locked-${{ hashFiles('composer.lock') }}"
|
|
||||||
restore-keys: "php-${{ matrix.php-version }}-composer-locked-"
|
|
||||||
|
|
||||||
- name: "Install dependencies with composer"
|
|
||||||
run: "composer update --no-interaction --no-progress"
|
|
||||||
|
|
||||||
- name: "Run PHPBench"
|
|
||||||
run: "php ./vendor/bin/phpbench run --iterations=3 --warmup=1 --report=aggregate"
|
|
@ -1,45 +0,0 @@
|
|||||||
name: "Automatic Releases"
|
|
||||||
|
|
||||||
on:
|
|
||||||
milestone:
|
|
||||||
types:
|
|
||||||
- "closed"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
release:
|
|
||||||
name: "Git tag, release & create merge-up PR"
|
|
||||||
runs-on: "ubuntu-20.04"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: "Checkout"
|
|
||||||
uses: "actions/checkout@v2"
|
|
||||||
|
|
||||||
- name: "Release"
|
|
||||||
uses: "laminas/automatic-releases@v1"
|
|
||||||
with:
|
|
||||||
command-name: "laminas:automatic-releases:release"
|
|
||||||
env:
|
|
||||||
"GITHUB_TOKEN": ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
"SIGNING_SECRET_KEY": ${{ secrets.SIGNING_SECRET_KEY }}
|
|
||||||
"GIT_AUTHOR_NAME": ${{ secrets.GIT_AUTHOR_NAME }}
|
|
||||||
"GIT_AUTHOR_EMAIL": ${{ secrets.GIT_AUTHOR_EMAIL }}
|
|
||||||
|
|
||||||
- name: "Create Merge-Up Pull Request"
|
|
||||||
uses: "laminas/automatic-releases@v1"
|
|
||||||
with:
|
|
||||||
command-name: "laminas:automatic-releases:create-merge-up-pull-request"
|
|
||||||
env:
|
|
||||||
"GITHUB_TOKEN": ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
"SIGNING_SECRET_KEY": ${{ secrets.SIGNING_SECRET_KEY }}
|
|
||||||
"GIT_AUTHOR_NAME": ${{ secrets.GIT_AUTHOR_NAME }}
|
|
||||||
"GIT_AUTHOR_EMAIL": ${{ secrets.GIT_AUTHOR_EMAIL }}
|
|
||||||
|
|
||||||
- name: "Create new milestones"
|
|
||||||
uses: "laminas/automatic-releases@v1"
|
|
||||||
with:
|
|
||||||
command-name: "laminas:automatic-releases:create-milestones"
|
|
||||||
env:
|
|
||||||
"GITHUB_TOKEN": ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
"SIGNING_SECRET_KEY": ${{ secrets.SIGNING_SECRET_KEY }}
|
|
||||||
"GIT_AUTHOR_NAME": ${{ secrets.GIT_AUTHOR_NAME }}
|
|
||||||
"GIT_AUTHOR_EMAIL": ${{ secrets.GIT_AUTHOR_EMAIL }}
|
|
@ -1,47 +0,0 @@
|
|||||||
|
|
||||||
name: "Static Analysis"
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- "*.x"
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- "*.x"
|
|
||||||
|
|
||||||
env:
|
|
||||||
COMPOSER_ROOT_VERSION: "1.4"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
static-analysis-phpstan:
|
|
||||||
name: "Static Analysis with PHPStan"
|
|
||||||
runs-on: "ubuntu-20.04"
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
php-version:
|
|
||||||
- "7.4"
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: "Checkout code"
|
|
||||||
uses: "actions/checkout@v2"
|
|
||||||
|
|
||||||
- name: "Install PHP"
|
|
||||||
uses: "shivammathur/setup-php@v2"
|
|
||||||
with:
|
|
||||||
coverage: "none"
|
|
||||||
php-version: "${{ matrix.php-version }}"
|
|
||||||
tools: "cs2pr"
|
|
||||||
|
|
||||||
- name: "Cache dependencies installed with composer"
|
|
||||||
uses: "actions/cache@v2"
|
|
||||||
with:
|
|
||||||
path: "~/.composer/cache"
|
|
||||||
key: "php-${{ matrix.php-version }}-composer-locked-${{ hashFiles('composer.lock') }}"
|
|
||||||
restore-keys: "php-${{ matrix.php-version }}-composer-locked-"
|
|
||||||
|
|
||||||
- name: "Install dependencies with composer"
|
|
||||||
run: "composer install --no-interaction --no-progress"
|
|
||||||
|
|
||||||
- name: "Run a static analysis with phpstan/phpstan"
|
|
||||||
run: "vendor/bin/phpstan analyse --error-format=checkstyle | cs2pr"
|
|
35
vendor/doctrine/instantiator/CONTRIBUTING.md
vendored
35
vendor/doctrine/instantiator/CONTRIBUTING.md
vendored
@ -1,35 +0,0 @@
|
|||||||
# Contributing
|
|
||||||
|
|
||||||
* Follow the [Doctrine Coding Standard](https://github.com/doctrine/coding-standard)
|
|
||||||
* The project will follow strict [object calisthenics](http://www.slideshare.net/guilhermeblanco/object-calisthenics-applied-to-php)
|
|
||||||
* Any contribution must provide tests for additional introduced conditions
|
|
||||||
* Any un-confirmed issue needs a failing test case before being accepted
|
|
||||||
* Pull requests must be sent from a new hotfix/feature branch, not from `master`.
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
To install the project and run the tests, you need to clone it first:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ git clone git://github.com/doctrine/instantiator.git
|
|
||||||
```
|
|
||||||
|
|
||||||
You will then need to run a composer installation:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ cd Instantiator
|
|
||||||
$ curl -s https://getcomposer.org/installer | php
|
|
||||||
$ php composer.phar update
|
|
||||||
```
|
|
||||||
|
|
||||||
## Testing
|
|
||||||
|
|
||||||
The PHPUnit version to be used is the one installed as a dev- dependency via composer:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ ./vendor/bin/phpunit
|
|
||||||
```
|
|
||||||
|
|
||||||
Accepted coverage for new contributions is 80%. Any contribution not satisfying this requirement
|
|
||||||
won't be merged.
|
|
||||||
|
|
19
vendor/doctrine/instantiator/LICENSE
vendored
19
vendor/doctrine/instantiator/LICENSE
vendored
@ -1,19 +0,0 @@
|
|||||||
Copyright (c) 2014 Doctrine Project
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
|
||||||
the Software without restriction, including without limitation the rights to
|
|
||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
||||||
of the Software, and to permit persons to whom the Software is furnished to do
|
|
||||||
so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
38
vendor/doctrine/instantiator/README.md
vendored
38
vendor/doctrine/instantiator/README.md
vendored
@ -1,38 +0,0 @@
|
|||||||
# Instantiator
|
|
||||||
|
|
||||||
This library provides a way of avoiding usage of constructors when instantiating PHP classes.
|
|
||||||
|
|
||||||
[](https://travis-ci.org/doctrine/instantiator)
|
|
||||||
[](https://codecov.io/gh/doctrine/instantiator/branch/master)
|
|
||||||
[](https://www.versioneye.com/package/php--doctrine--instantiator)
|
|
||||||
|
|
||||||
[](https://packagist.org/packages/doctrine/instantiator)
|
|
||||||
[](https://packagist.org/packages/doctrine/instantiator)
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
The suggested installation method is via [composer](https://getcomposer.org/):
|
|
||||||
|
|
||||||
```sh
|
|
||||||
php composer.phar require "doctrine/instantiator:~1.0.3"
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
The instantiator is able to create new instances of any class without using the constructor or any API of the class
|
|
||||||
itself:
|
|
||||||
|
|
||||||
```php
|
|
||||||
$instantiator = new \Doctrine\Instantiator\Instantiator();
|
|
||||||
|
|
||||||
$instance = $instantiator->instantiate(\My\ClassName\Here::class);
|
|
||||||
```
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
Please read the [CONTRIBUTING.md](CONTRIBUTING.md) contents if you wish to help out!
|
|
||||||
|
|
||||||
## Credits
|
|
||||||
|
|
||||||
This library was migrated from [ocramius/instantiator](https://github.com/Ocramius/Instantiator), which
|
|
||||||
has been donated to the doctrine organization, and which is now deprecated in favour of this package.
|
|
42
vendor/doctrine/instantiator/composer.json
vendored
42
vendor/doctrine/instantiator/composer.json
vendored
@ -1,42 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "doctrine/instantiator",
|
|
||||||
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
|
|
||||||
"type": "library",
|
|
||||||
"license": "MIT",
|
|
||||||
"homepage": "https://www.doctrine-project.org/projects/instantiator.html",
|
|
||||||
"keywords": [
|
|
||||||
"instantiate",
|
|
||||||
"constructor"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Marco Pivetta",
|
|
||||||
"email": "ocramius@gmail.com",
|
|
||||||
"homepage": "https://ocramius.github.io/"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"require": {
|
|
||||||
"php": "^7.1 || ^8.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"ext-phar": "*",
|
|
||||||
"ext-pdo": "*",
|
|
||||||
"doctrine/coding-standard": "^8.0",
|
|
||||||
"phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
|
|
||||||
"phpstan/phpstan": "^0.12",
|
|
||||||
"phpstan/phpstan-phpunit": "^0.12",
|
|
||||||
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload-dev": {
|
|
||||||
"psr-0": {
|
|
||||||
"DoctrineTest\\InstantiatorPerformance\\": "tests",
|
|
||||||
"DoctrineTest\\InstantiatorTest\\": "tests",
|
|
||||||
"DoctrineTest\\InstantiatorTestAsset\\": "tests"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
68
vendor/doctrine/instantiator/docs/en/index.rst
vendored
68
vendor/doctrine/instantiator/docs/en/index.rst
vendored
@ -1,68 +0,0 @@
|
|||||||
Introduction
|
|
||||||
============
|
|
||||||
|
|
||||||
This library provides a way of avoiding usage of constructors when instantiating PHP classes.
|
|
||||||
|
|
||||||
Installation
|
|
||||||
============
|
|
||||||
|
|
||||||
The suggested installation method is via `composer`_:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
$ composer require doctrine/instantiator
|
|
||||||
|
|
||||||
Usage
|
|
||||||
=====
|
|
||||||
|
|
||||||
The instantiator is able to create new instances of any class without
|
|
||||||
using the constructor or any API of the class itself:
|
|
||||||
|
|
||||||
.. code-block:: php
|
|
||||||
|
|
||||||
<?php
|
|
||||||
|
|
||||||
use Doctrine\Instantiator\Instantiator;
|
|
||||||
use App\Entities\User;
|
|
||||||
|
|
||||||
$instantiator = new Instantiator();
|
|
||||||
|
|
||||||
$user = $instantiator->instantiate(User::class);
|
|
||||||
|
|
||||||
Contributing
|
|
||||||
============
|
|
||||||
|
|
||||||
- Follow the `Doctrine Coding Standard`_
|
|
||||||
- The project will follow strict `object calisthenics`_
|
|
||||||
- Any contribution must provide tests for additional introduced
|
|
||||||
conditions
|
|
||||||
- Any un-confirmed issue needs a failing test case before being
|
|
||||||
accepted
|
|
||||||
- Pull requests must be sent from a new hotfix/feature branch, not from
|
|
||||||
``master``.
|
|
||||||
|
|
||||||
Testing
|
|
||||||
=======
|
|
||||||
|
|
||||||
The PHPUnit version to be used is the one installed as a dev- dependency
|
|
||||||
via composer:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
$ ./vendor/bin/phpunit
|
|
||||||
|
|
||||||
Accepted coverage for new contributions is 80%. Any contribution not
|
|
||||||
satisfying this requirement won’t be merged.
|
|
||||||
|
|
||||||
Credits
|
|
||||||
=======
|
|
||||||
|
|
||||||
This library was migrated from `ocramius/instantiator`_, which has been
|
|
||||||
donated to the doctrine organization, and which is now deprecated in
|
|
||||||
favour of this package.
|
|
||||||
|
|
||||||
.. _composer: https://getcomposer.org/
|
|
||||||
.. _CONTRIBUTING.md: CONTRIBUTING.md
|
|
||||||
.. _ocramius/instantiator: https://github.com/Ocramius/Instantiator
|
|
||||||
.. _Doctrine Coding Standard: https://github.com/doctrine/coding-standard
|
|
||||||
.. _object calisthenics: http://www.slideshare.net/guilhermeblanco/object-calisthenics-applied-to-php
|
|
@ -1,4 +0,0 @@
|
|||||||
.. toctree::
|
|
||||||
:depth: 3
|
|
||||||
|
|
||||||
index
|
|
4
vendor/doctrine/instantiator/phpbench.json
vendored
4
vendor/doctrine/instantiator/phpbench.json
vendored
@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"bootstrap": "vendor/autoload.php",
|
|
||||||
"path": "tests/DoctrineTest/InstantiatorPerformance"
|
|
||||||
}
|
|
50
vendor/doctrine/instantiator/phpcs.xml.dist
vendored
50
vendor/doctrine/instantiator/phpcs.xml.dist
vendored
@ -1,50 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<ruleset>
|
|
||||||
<arg name="basepath" value="."/>
|
|
||||||
<arg name="extensions" value="php"/>
|
|
||||||
<arg name="parallel" value="80"/>
|
|
||||||
<arg name="cache" value=".phpcs-cache"/>
|
|
||||||
<arg name="colors"/>
|
|
||||||
|
|
||||||
<!-- Ignore warnings, show progress of the run and show sniff names -->
|
|
||||||
<arg value="nps"/>
|
|
||||||
|
|
||||||
<file>src</file>
|
|
||||||
<file>tests</file>
|
|
||||||
|
|
||||||
<rule ref="Doctrine">
|
|
||||||
<exclude name="SlevomatCodingStandard.TypeHints.DeclareStrictTypes"/>
|
|
||||||
<exclude name="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingParameterTypeHint"/>
|
|
||||||
<exclude name="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingReturnTypeHint"/>
|
|
||||||
<exclude name="SlevomatCodingStandard.Exceptions.ReferenceThrowableOnly.ReferencedGeneralException"/>
|
|
||||||
</rule>
|
|
||||||
|
|
||||||
<!-- Disable the rules that will require PHP 7.4 -->
|
|
||||||
<rule ref="SlevomatCodingStandard.TypeHints.PropertyTypeHint">
|
|
||||||
<properties>
|
|
||||||
<property name="enableNativeTypeHint" value="false"/>
|
|
||||||
</properties>
|
|
||||||
</rule>
|
|
||||||
|
|
||||||
<rule ref="SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint">
|
|
||||||
<exclude-pattern>*/src/*</exclude-pattern>
|
|
||||||
</rule>
|
|
||||||
|
|
||||||
<rule ref="SlevomatCodingStandard.TypeHints.ReturnTypeHint.MissingNativeTypeHint">
|
|
||||||
<exclude-pattern>*/src/*</exclude-pattern>
|
|
||||||
</rule>
|
|
||||||
|
|
||||||
<rule ref="SlevomatCodingStandard.Classes.SuperfluousAbstractClassNaming">
|
|
||||||
<exclude-pattern>tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php</exclude-pattern>
|
|
||||||
</rule>
|
|
||||||
|
|
||||||
<rule ref="SlevomatCodingStandard.Classes.SuperfluousExceptionNaming">
|
|
||||||
<exclude-pattern>src/Doctrine/Instantiator/Exception/UnexpectedValueException.php</exclude-pattern>
|
|
||||||
<exclude-pattern>src/Doctrine/Instantiator/Exception/InvalidArgumentException.php</exclude-pattern>
|
|
||||||
</rule>
|
|
||||||
|
|
||||||
<rule ref="SlevomatCodingStandard.Classes.SuperfluousInterfaceNaming">
|
|
||||||
<exclude-pattern>src/Doctrine/Instantiator/Exception/ExceptionInterface.php</exclude-pattern>
|
|
||||||
<exclude-pattern>src/Doctrine/Instantiator/InstantiatorInterface.php</exclude-pattern>
|
|
||||||
</rule>
|
|
||||||
</ruleset>
|
|
15
vendor/doctrine/instantiator/phpstan.neon.dist
vendored
15
vendor/doctrine/instantiator/phpstan.neon.dist
vendored
@ -1,15 +0,0 @@
|
|||||||
includes:
|
|
||||||
- vendor/phpstan/phpstan-phpunit/extension.neon
|
|
||||||
- vendor/phpstan/phpstan-phpunit/rules.neon
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
level: max
|
|
||||||
paths:
|
|
||||||
- src
|
|
||||||
- tests
|
|
||||||
|
|
||||||
ignoreErrors:
|
|
||||||
# dynamic properties confuse static analysis
|
|
||||||
-
|
|
||||||
message: '#Access to an undefined property object::\$foo\.#'
|
|
||||||
path: '*/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php'
|
|
@ -1,12 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Doctrine\Instantiator\Exception;
|
|
||||||
|
|
||||||
use Throwable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Base exception marker interface for the instantiator component
|
|
||||||
*/
|
|
||||||
interface ExceptionInterface extends Throwable
|
|
||||||
{
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Doctrine\Instantiator\Exception;
|
|
||||||
|
|
||||||
use InvalidArgumentException as BaseInvalidArgumentException;
|
|
||||||
use ReflectionClass;
|
|
||||||
|
|
||||||
use function interface_exists;
|
|
||||||
use function sprintf;
|
|
||||||
use function trait_exists;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Exception for invalid arguments provided to the instantiator
|
|
||||||
*/
|
|
||||||
class InvalidArgumentException extends BaseInvalidArgumentException implements ExceptionInterface
|
|
||||||
{
|
|
||||||
public static function fromNonExistingClass(string $className): self
|
|
||||||
{
|
|
||||||
if (interface_exists($className)) {
|
|
||||||
return new self(sprintf('The provided type "%s" is an interface, and can not be instantiated', $className));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (trait_exists($className)) {
|
|
||||||
return new self(sprintf('The provided type "%s" is a trait, and can not be instantiated', $className));
|
|
||||||
}
|
|
||||||
|
|
||||||
return new self(sprintf('The provided class "%s" does not exist', $className));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @template T of object
|
|
||||||
* @phpstan-param ReflectionClass<T> $reflectionClass
|
|
||||||
*/
|
|
||||||
public static function fromAbstractClass(ReflectionClass $reflectionClass): self
|
|
||||||
{
|
|
||||||
return new self(sprintf(
|
|
||||||
'The provided class "%s" is abstract, and can not be instantiated',
|
|
||||||
$reflectionClass->getName()
|
|
||||||
));
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,57 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Doctrine\Instantiator\Exception;
|
|
||||||
|
|
||||||
use Exception;
|
|
||||||
use ReflectionClass;
|
|
||||||
use UnexpectedValueException as BaseUnexpectedValueException;
|
|
||||||
|
|
||||||
use function sprintf;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Exception for given parameters causing invalid/unexpected state on instantiation
|
|
||||||
*/
|
|
||||||
class UnexpectedValueException extends BaseUnexpectedValueException implements ExceptionInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @template T of object
|
|
||||||
* @phpstan-param ReflectionClass<T> $reflectionClass
|
|
||||||
*/
|
|
||||||
public static function fromSerializationTriggeredException(
|
|
||||||
ReflectionClass $reflectionClass,
|
|
||||||
Exception $exception
|
|
||||||
): self {
|
|
||||||
return new self(
|
|
||||||
sprintf(
|
|
||||||
'An exception was raised while trying to instantiate an instance of "%s" via un-serialization',
|
|
||||||
$reflectionClass->getName()
|
|
||||||
),
|
|
||||||
0,
|
|
||||||
$exception
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @template T of object
|
|
||||||
* @phpstan-param ReflectionClass<T> $reflectionClass
|
|
||||||
*/
|
|
||||||
public static function fromUncleanUnSerialization(
|
|
||||||
ReflectionClass $reflectionClass,
|
|
||||||
string $errorString,
|
|
||||||
int $errorCode,
|
|
||||||
string $errorFile,
|
|
||||||
int $errorLine
|
|
||||||
): self {
|
|
||||||
return new self(
|
|
||||||
sprintf(
|
|
||||||
'Could not produce an instance of "%s" via un-serialization, since an error was triggered '
|
|
||||||
. 'in file "%s" at line "%d"',
|
|
||||||
$reflectionClass->getName(),
|
|
||||||
$errorFile,
|
|
||||||
$errorLine
|
|
||||||
),
|
|
||||||
0,
|
|
||||||
new Exception($errorString, $errorCode)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,232 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Doctrine\Instantiator;
|
|
||||||
|
|
||||||
use ArrayIterator;
|
|
||||||
use Doctrine\Instantiator\Exception\InvalidArgumentException;
|
|
||||||
use Doctrine\Instantiator\Exception\UnexpectedValueException;
|
|
||||||
use Exception;
|
|
||||||
use ReflectionClass;
|
|
||||||
use ReflectionException;
|
|
||||||
use Serializable;
|
|
||||||
|
|
||||||
use function class_exists;
|
|
||||||
use function is_subclass_of;
|
|
||||||
use function restore_error_handler;
|
|
||||||
use function set_error_handler;
|
|
||||||
use function sprintf;
|
|
||||||
use function strlen;
|
|
||||||
use function unserialize;
|
|
||||||
|
|
||||||
final class Instantiator implements InstantiatorInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Markers used internally by PHP to define whether {@see \unserialize} should invoke
|
|
||||||
* the method {@see \Serializable::unserialize()} when dealing with classes implementing
|
|
||||||
* the {@see \Serializable} interface.
|
|
||||||
*/
|
|
||||||
public const SERIALIZATION_FORMAT_USE_UNSERIALIZER = 'C';
|
|
||||||
public const SERIALIZATION_FORMAT_AVOID_UNSERIALIZER = 'O';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Used to instantiate specific classes, indexed by class name.
|
|
||||||
*
|
|
||||||
* @var callable[]
|
|
||||||
*/
|
|
||||||
private static $cachedInstantiators = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Array of objects that can directly be cloned, indexed by class name.
|
|
||||||
*
|
|
||||||
* @var object[]
|
|
||||||
*/
|
|
||||||
private static $cachedCloneables = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
public function instantiate($className)
|
|
||||||
{
|
|
||||||
if (isset(self::$cachedCloneables[$className])) {
|
|
||||||
return clone self::$cachedCloneables[$className];
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset(self::$cachedInstantiators[$className])) {
|
|
||||||
$factory = self::$cachedInstantiators[$className];
|
|
||||||
|
|
||||||
return $factory();
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->buildAndCacheFromFactory($className);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Builds the requested object and caches it in static properties for performance
|
|
||||||
*
|
|
||||||
* @return object
|
|
||||||
*
|
|
||||||
* @template T of object
|
|
||||||
* @phpstan-param class-string<T> $className
|
|
||||||
*
|
|
||||||
* @phpstan-return T
|
|
||||||
*/
|
|
||||||
private function buildAndCacheFromFactory(string $className)
|
|
||||||
{
|
|
||||||
$factory = self::$cachedInstantiators[$className] = $this->buildFactory($className);
|
|
||||||
$instance = $factory();
|
|
||||||
|
|
||||||
if ($this->isSafeToClone(new ReflectionClass($instance))) {
|
|
||||||
self::$cachedCloneables[$className] = clone $instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Builds a callable capable of instantiating the given $className without
|
|
||||||
* invoking its constructor.
|
|
||||||
*
|
|
||||||
* @throws InvalidArgumentException
|
|
||||||
* @throws UnexpectedValueException
|
|
||||||
* @throws ReflectionException
|
|
||||||
*
|
|
||||||
* @template T of object
|
|
||||||
* @phpstan-param class-string<T> $className
|
|
||||||
*
|
|
||||||
* @phpstan-return callable(): T
|
|
||||||
*/
|
|
||||||
private function buildFactory(string $className): callable
|
|
||||||
{
|
|
||||||
$reflectionClass = $this->getReflectionClass($className);
|
|
||||||
|
|
||||||
if ($this->isInstantiableViaReflection($reflectionClass)) {
|
|
||||||
return [$reflectionClass, 'newInstanceWithoutConstructor'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$serializedString = sprintf(
|
|
||||||
'%s:%d:"%s":0:{}',
|
|
||||||
is_subclass_of($className, Serializable::class) ? self::SERIALIZATION_FORMAT_USE_UNSERIALIZER : self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER,
|
|
||||||
strlen($className),
|
|
||||||
$className
|
|
||||||
);
|
|
||||||
|
|
||||||
$this->checkIfUnSerializationIsSupported($reflectionClass, $serializedString);
|
|
||||||
|
|
||||||
return static function () use ($serializedString) {
|
|
||||||
return unserialize($serializedString);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @throws InvalidArgumentException
|
|
||||||
* @throws ReflectionException
|
|
||||||
*
|
|
||||||
* @template T of object
|
|
||||||
* @phpstan-param class-string<T> $className
|
|
||||||
*
|
|
||||||
* @phpstan-return ReflectionClass<T>
|
|
||||||
*/
|
|
||||||
private function getReflectionClass(string $className): ReflectionClass
|
|
||||||
{
|
|
||||||
if (! class_exists($className)) {
|
|
||||||
throw InvalidArgumentException::fromNonExistingClass($className);
|
|
||||||
}
|
|
||||||
|
|
||||||
$reflection = new ReflectionClass($className);
|
|
||||||
|
|
||||||
if ($reflection->isAbstract()) {
|
|
||||||
throw InvalidArgumentException::fromAbstractClass($reflection);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $reflection;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @throws UnexpectedValueException
|
|
||||||
*
|
|
||||||
* @template T of object
|
|
||||||
* @phpstan-param ReflectionClass<T> $reflectionClass
|
|
||||||
*/
|
|
||||||
private function checkIfUnSerializationIsSupported(ReflectionClass $reflectionClass, string $serializedString): void
|
|
||||||
{
|
|
||||||
set_error_handler(static function (int $code, string $message, string $file, int $line) use ($reflectionClass, &$error): bool {
|
|
||||||
$error = UnexpectedValueException::fromUncleanUnSerialization(
|
|
||||||
$reflectionClass,
|
|
||||||
$message,
|
|
||||||
$code,
|
|
||||||
$file,
|
|
||||||
$line
|
|
||||||
);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
|
|
||||||
try {
|
|
||||||
$this->attemptInstantiationViaUnSerialization($reflectionClass, $serializedString);
|
|
||||||
} finally {
|
|
||||||
restore_error_handler();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($error) {
|
|
||||||
throw $error;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @throws UnexpectedValueException
|
|
||||||
*
|
|
||||||
* @template T of object
|
|
||||||
* @phpstan-param ReflectionClass<T> $reflectionClass
|
|
||||||
*/
|
|
||||||
private function attemptInstantiationViaUnSerialization(ReflectionClass $reflectionClass, string $serializedString): void
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
unserialize($serializedString);
|
|
||||||
} catch (Exception $exception) {
|
|
||||||
throw UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $exception);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @template T of object
|
|
||||||
* @phpstan-param ReflectionClass<T> $reflectionClass
|
|
||||||
*/
|
|
||||||
private function isInstantiableViaReflection(ReflectionClass $reflectionClass): bool
|
|
||||||
{
|
|
||||||
return ! ($this->hasInternalAncestors($reflectionClass) && $reflectionClass->isFinal());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Verifies whether the given class is to be considered internal
|
|
||||||
*
|
|
||||||
* @template T of object
|
|
||||||
* @phpstan-param ReflectionClass<T> $reflectionClass
|
|
||||||
*/
|
|
||||||
private function hasInternalAncestors(ReflectionClass $reflectionClass): bool
|
|
||||||
{
|
|
||||||
do {
|
|
||||||
if ($reflectionClass->isInternal()) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
$reflectionClass = $reflectionClass->getParentClass();
|
|
||||||
} while ($reflectionClass);
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks if a class is cloneable
|
|
||||||
*
|
|
||||||
* Classes implementing `__clone` cannot be safely cloned, as that may cause side-effects.
|
|
||||||
*
|
|
||||||
* @template T of object
|
|
||||||
* @phpstan-param ReflectionClass<T> $reflectionClass
|
|
||||||
*/
|
|
||||||
private function isSafeToClone(ReflectionClass $reflectionClass): bool
|
|
||||||
{
|
|
||||||
return $reflectionClass->isCloneable()
|
|
||||||
&& ! $reflectionClass->hasMethod('__clone')
|
|
||||||
&& ! $reflectionClass->isSubclassOf(ArrayIterator::class);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Doctrine\Instantiator;
|
|
||||||
|
|
||||||
use Doctrine\Instantiator\Exception\ExceptionInterface;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiator provides utility methods to build objects without invoking their constructors
|
|
||||||
*/
|
|
||||||
interface InstantiatorInterface
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @param string $className
|
|
||||||
*
|
|
||||||
* @return object
|
|
||||||
*
|
|
||||||
* @throws ExceptionInterface
|
|
||||||
*
|
|
||||||
* @template T of object
|
|
||||||
* @phpstan-param class-string<T> $className
|
|
||||||
*/
|
|
||||||
public function instantiate($className);
|
|
||||||
}
|
|
12
vendor/myclabs/deep-copy/.github/FUNDING.yml
vendored
12
vendor/myclabs/deep-copy/.github/FUNDING.yml
vendored
@ -1,12 +0,0 @@
|
|||||||
# These are supported funding model platforms
|
|
||||||
|
|
||||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
|
||||||
patreon: # Replace with a single Patreon username
|
|
||||||
open_collective: # Replace with a single Open Collective username
|
|
||||||
ko_fi: # Replace with a single Ko-fi username
|
|
||||||
tidelift: "packagist/myclabs/deep-copy"
|
|
||||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
||||||
liberapay: # Replace with a single Liberapay username
|
|
||||||
issuehunt: # Replace with a single IssueHunt username
|
|
||||||
otechie: # Replace with a single Otechie username
|
|
||||||
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
|
20
vendor/myclabs/deep-copy/LICENSE
vendored
20
vendor/myclabs/deep-copy/LICENSE
vendored
@ -1,20 +0,0 @@
|
|||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2013 My C-Sense
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
||||||
this software and associated documentation files (the "Software"), to deal in
|
|
||||||
the Software without restriction, including without limitation the rights to
|
|
||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
||||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
||||||
subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
||||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
||||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
||||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
375
vendor/myclabs/deep-copy/README.md
vendored
375
vendor/myclabs/deep-copy/README.md
vendored
@ -1,375 +0,0 @@
|
|||||||
# DeepCopy
|
|
||||||
|
|
||||||
DeepCopy helps you create deep copies (clones) of your objects. It is designed to handle cycles in the association graph.
|
|
||||||
|
|
||||||
[](https://travis-ci.org/myclabs/DeepCopy)
|
|
||||||
[](https://coveralls.io/r/myclabs/DeepCopy?branch=1.x)
|
|
||||||
[](https://scrutinizer-ci.com/g/myclabs/DeepCopy/)
|
|
||||||
[](https://packagist.org/packages/myclabs/deep-copy)
|
|
||||||
|
|
||||||
## Table of Contents
|
|
||||||
|
|
||||||
1. [How](#how)
|
|
||||||
1. [Why](#why)
|
|
||||||
1. [Using simply `clone`](#using-simply-clone)
|
|
||||||
1. [Overridding `__clone()`](#overridding-__clone)
|
|
||||||
1. [With `DeepCopy`](#with-deepcopy)
|
|
||||||
1. [How it works](#how-it-works)
|
|
||||||
1. [Going further](#going-further)
|
|
||||||
1. [Matchers](#matchers)
|
|
||||||
1. [Property name](#property-name)
|
|
||||||
1. [Specific property](#specific-property)
|
|
||||||
1. [Type](#type)
|
|
||||||
1. [Filters](#filters)
|
|
||||||
1. [`SetNullFilter`](#setnullfilter-filter)
|
|
||||||
1. [`KeepFilter`](#keepfilter-filter)
|
|
||||||
1. [`DoctrineCollectionFilter`](#doctrinecollectionfilter-filter)
|
|
||||||
1. [`DoctrineEmptyCollectionFilter`](#doctrineemptycollectionfilter-filter)
|
|
||||||
1. [`DoctrineProxyFilter`](#doctrineproxyfilter-filter)
|
|
||||||
1. [`ReplaceFilter`](#replacefilter-type-filter)
|
|
||||||
1. [`ShallowCopyFilter`](#shallowcopyfilter-type-filter)
|
|
||||||
1. [Edge cases](#edge-cases)
|
|
||||||
1. [Contributing](#contributing)
|
|
||||||
1. [Tests](#tests)
|
|
||||||
|
|
||||||
|
|
||||||
## How?
|
|
||||||
|
|
||||||
Install with Composer:
|
|
||||||
|
|
||||||
```json
|
|
||||||
composer require myclabs/deep-copy
|
|
||||||
```
|
|
||||||
|
|
||||||
Use simply:
|
|
||||||
|
|
||||||
```php
|
|
||||||
use DeepCopy\DeepCopy;
|
|
||||||
|
|
||||||
$copier = new DeepCopy();
|
|
||||||
$myCopy = $copier->copy($myObject);
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Why?
|
|
||||||
|
|
||||||
- How do you create copies of your objects?
|
|
||||||
|
|
||||||
```php
|
|
||||||
$myCopy = clone $myObject;
|
|
||||||
```
|
|
||||||
|
|
||||||
- How do you create **deep** copies of your objects (i.e. copying also all the objects referenced in the properties)?
|
|
||||||
|
|
||||||
You use [`__clone()`](http://www.php.net/manual/en/language.oop5.cloning.php#object.clone) and implement the behavior
|
|
||||||
yourself.
|
|
||||||
|
|
||||||
- But how do you handle **cycles** in the association graph?
|
|
||||||
|
|
||||||
Now you're in for a big mess :(
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
### Using simply `clone`
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
### Overridding `__clone()`
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
### With `DeepCopy`
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
|
|
||||||
## How it works
|
|
||||||
|
|
||||||
DeepCopy recursively traverses all the object's properties and clones them. To avoid cloning the same object twice it
|
|
||||||
keeps a hash map of all instances and thus preserves the object graph.
|
|
||||||
|
|
||||||
To use it:
|
|
||||||
|
|
||||||
```php
|
|
||||||
use function DeepCopy\deep_copy;
|
|
||||||
|
|
||||||
$copy = deep_copy($var);
|
|
||||||
```
|
|
||||||
|
|
||||||
Alternatively, you can create your own `DeepCopy` instance to configure it differently for example:
|
|
||||||
|
|
||||||
```php
|
|
||||||
use DeepCopy\DeepCopy;
|
|
||||||
|
|
||||||
$copier = new DeepCopy(true);
|
|
||||||
|
|
||||||
$copy = $copier->copy($var);
|
|
||||||
```
|
|
||||||
|
|
||||||
You may want to roll your own deep copy function:
|
|
||||||
|
|
||||||
```php
|
|
||||||
namespace Acme;
|
|
||||||
|
|
||||||
use DeepCopy\DeepCopy;
|
|
||||||
|
|
||||||
function deep_copy($var)
|
|
||||||
{
|
|
||||||
static $copier = null;
|
|
||||||
|
|
||||||
if (null === $copier) {
|
|
||||||
$copier = new DeepCopy(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $copier->copy($var);
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Going further
|
|
||||||
|
|
||||||
You can add filters to customize the copy process.
|
|
||||||
|
|
||||||
The method to add a filter is `DeepCopy\DeepCopy::addFilter($filter, $matcher)`,
|
|
||||||
with `$filter` implementing `DeepCopy\Filter\Filter`
|
|
||||||
and `$matcher` implementing `DeepCopy\Matcher\Matcher`.
|
|
||||||
|
|
||||||
We provide some generic filters and matchers.
|
|
||||||
|
|
||||||
|
|
||||||
### Matchers
|
|
||||||
|
|
||||||
- `DeepCopy\Matcher` applies on a object attribute.
|
|
||||||
- `DeepCopy\TypeMatcher` applies on any element found in graph, including array elements.
|
|
||||||
|
|
||||||
|
|
||||||
#### Property name
|
|
||||||
|
|
||||||
The `PropertyNameMatcher` will match a property by its name:
|
|
||||||
|
|
||||||
```php
|
|
||||||
use DeepCopy\Matcher\PropertyNameMatcher;
|
|
||||||
|
|
||||||
// Will apply a filter to any property of any objects named "id"
|
|
||||||
$matcher = new PropertyNameMatcher('id');
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
#### Specific property
|
|
||||||
|
|
||||||
The `PropertyMatcher` will match a specific property of a specific class:
|
|
||||||
|
|
||||||
```php
|
|
||||||
use DeepCopy\Matcher\PropertyMatcher;
|
|
||||||
|
|
||||||
// Will apply a filter to the property "id" of any objects of the class "MyClass"
|
|
||||||
$matcher = new PropertyMatcher('MyClass', 'id');
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
#### Type
|
|
||||||
|
|
||||||
The `TypeMatcher` will match any element by its type (instance of a class or any value that could be parameter of
|
|
||||||
[gettype()](http://php.net/manual/en/function.gettype.php) function):
|
|
||||||
|
|
||||||
```php
|
|
||||||
use DeepCopy\TypeMatcher\TypeMatcher;
|
|
||||||
|
|
||||||
// Will apply a filter to any object that is an instance of Doctrine\Common\Collections\Collection
|
|
||||||
$matcher = new TypeMatcher('Doctrine\Common\Collections\Collection');
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
### Filters
|
|
||||||
|
|
||||||
- `DeepCopy\Filter` applies a transformation to the object attribute matched by `DeepCopy\Matcher`
|
|
||||||
- `DeepCopy\TypeFilter` applies a transformation to any element matched by `DeepCopy\TypeMatcher`
|
|
||||||
|
|
||||||
|
|
||||||
#### `SetNullFilter` (filter)
|
|
||||||
|
|
||||||
Let's say for example that you are copying a database record (or a Doctrine entity), so you want the copy not to have
|
|
||||||
any ID:
|
|
||||||
|
|
||||||
```php
|
|
||||||
use DeepCopy\DeepCopy;
|
|
||||||
use DeepCopy\Filter\SetNullFilter;
|
|
||||||
use DeepCopy\Matcher\PropertyNameMatcher;
|
|
||||||
|
|
||||||
$object = MyClass::load(123);
|
|
||||||
echo $object->id; // 123
|
|
||||||
|
|
||||||
$copier = new DeepCopy();
|
|
||||||
$copier->addFilter(new SetNullFilter(), new PropertyNameMatcher('id'));
|
|
||||||
|
|
||||||
$copy = $copier->copy($object);
|
|
||||||
|
|
||||||
echo $copy->id; // null
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
#### `KeepFilter` (filter)
|
|
||||||
|
|
||||||
If you want a property to remain untouched (for example, an association to an object):
|
|
||||||
|
|
||||||
```php
|
|
||||||
use DeepCopy\DeepCopy;
|
|
||||||
use DeepCopy\Filter\KeepFilter;
|
|
||||||
use DeepCopy\Matcher\PropertyMatcher;
|
|
||||||
|
|
||||||
$copier = new DeepCopy();
|
|
||||||
$copier->addFilter(new KeepFilter(), new PropertyMatcher('MyClass', 'category'));
|
|
||||||
|
|
||||||
$copy = $copier->copy($object);
|
|
||||||
// $copy->category has not been touched
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
#### `DoctrineCollectionFilter` (filter)
|
|
||||||
|
|
||||||
If you use Doctrine and want to copy an entity, you will need to use the `DoctrineCollectionFilter`:
|
|
||||||
|
|
||||||
```php
|
|
||||||
use DeepCopy\DeepCopy;
|
|
||||||
use DeepCopy\Filter\Doctrine\DoctrineCollectionFilter;
|
|
||||||
use DeepCopy\Matcher\PropertyTypeMatcher;
|
|
||||||
|
|
||||||
$copier = new DeepCopy();
|
|
||||||
$copier->addFilter(new DoctrineCollectionFilter(), new PropertyTypeMatcher('Doctrine\Common\Collections\Collection'));
|
|
||||||
|
|
||||||
$copy = $copier->copy($object);
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
#### `DoctrineEmptyCollectionFilter` (filter)
|
|
||||||
|
|
||||||
If you use Doctrine and want to copy an entity who contains a `Collection` that you want to be reset, you can use the
|
|
||||||
`DoctrineEmptyCollectionFilter`
|
|
||||||
|
|
||||||
```php
|
|
||||||
use DeepCopy\DeepCopy;
|
|
||||||
use DeepCopy\Filter\Doctrine\DoctrineEmptyCollectionFilter;
|
|
||||||
use DeepCopy\Matcher\PropertyMatcher;
|
|
||||||
|
|
||||||
$copier = new DeepCopy();
|
|
||||||
$copier->addFilter(new DoctrineEmptyCollectionFilter(), new PropertyMatcher('MyClass', 'myProperty'));
|
|
||||||
|
|
||||||
$copy = $copier->copy($object);
|
|
||||||
|
|
||||||
// $copy->myProperty will return an empty collection
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
#### `DoctrineProxyFilter` (filter)
|
|
||||||
|
|
||||||
If you use Doctrine and use cloning on lazy loaded entities, you might encounter errors mentioning missing fields on a
|
|
||||||
Doctrine proxy class (...\\\_\_CG\_\_\Proxy).
|
|
||||||
You can use the `DoctrineProxyFilter` to load the actual entity behind the Doctrine proxy class.
|
|
||||||
**Make sure, though, to put this as one of your very first filters in the filter chain so that the entity is loaded
|
|
||||||
before other filters are applied!**
|
|
||||||
|
|
||||||
```php
|
|
||||||
use DeepCopy\DeepCopy;
|
|
||||||
use DeepCopy\Filter\Doctrine\DoctrineProxyFilter;
|
|
||||||
use DeepCopy\Matcher\Doctrine\DoctrineProxyMatcher;
|
|
||||||
|
|
||||||
$copier = new DeepCopy();
|
|
||||||
$copier->addFilter(new DoctrineProxyFilter(), new DoctrineProxyMatcher());
|
|
||||||
|
|
||||||
$copy = $copier->copy($object);
|
|
||||||
|
|
||||||
// $copy should now contain a clone of all entities, including those that were not yet fully loaded.
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
#### `ReplaceFilter` (type filter)
|
|
||||||
|
|
||||||
1. If you want to replace the value of a property:
|
|
||||||
|
|
||||||
```php
|
|
||||||
use DeepCopy\DeepCopy;
|
|
||||||
use DeepCopy\Filter\ReplaceFilter;
|
|
||||||
use DeepCopy\Matcher\PropertyMatcher;
|
|
||||||
|
|
||||||
$copier = new DeepCopy();
|
|
||||||
$callback = function ($currentValue) {
|
|
||||||
return $currentValue . ' (copy)'
|
|
||||||
};
|
|
||||||
$copier->addFilter(new ReplaceFilter($callback), new PropertyMatcher('MyClass', 'title'));
|
|
||||||
|
|
||||||
$copy = $copier->copy($object);
|
|
||||||
|
|
||||||
// $copy->title will contain the data returned by the callback, e.g. 'The title (copy)'
|
|
||||||
```
|
|
||||||
|
|
||||||
2. If you want to replace whole element:
|
|
||||||
|
|
||||||
```php
|
|
||||||
use DeepCopy\DeepCopy;
|
|
||||||
use DeepCopy\TypeFilter\ReplaceFilter;
|
|
||||||
use DeepCopy\TypeMatcher\TypeMatcher;
|
|
||||||
|
|
||||||
$copier = new DeepCopy();
|
|
||||||
$callback = function (MyClass $myClass) {
|
|
||||||
return get_class($myClass);
|
|
||||||
};
|
|
||||||
$copier->addTypeFilter(new ReplaceFilter($callback), new TypeMatcher('MyClass'));
|
|
||||||
|
|
||||||
$copy = $copier->copy([new MyClass, 'some string', new MyClass]);
|
|
||||||
|
|
||||||
// $copy will contain ['MyClass', 'some string', 'MyClass']
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
The `$callback` parameter of the `ReplaceFilter` constructor accepts any PHP callable.
|
|
||||||
|
|
||||||
|
|
||||||
#### `ShallowCopyFilter` (type filter)
|
|
||||||
|
|
||||||
Stop *DeepCopy* from recursively copying element, using standard `clone` instead:
|
|
||||||
|
|
||||||
```php
|
|
||||||
use DeepCopy\DeepCopy;
|
|
||||||
use DeepCopy\TypeFilter\ShallowCopyFilter;
|
|
||||||
use DeepCopy\TypeMatcher\TypeMatcher;
|
|
||||||
use Mockery as m;
|
|
||||||
|
|
||||||
$this->deepCopy = new DeepCopy();
|
|
||||||
$this->deepCopy->addTypeFilter(
|
|
||||||
new ShallowCopyFilter,
|
|
||||||
new TypeMatcher(m\MockInterface::class)
|
|
||||||
);
|
|
||||||
|
|
||||||
$myServiceWithMocks = new MyService(m::mock(MyDependency1::class), m::mock(MyDependency2::class));
|
|
||||||
// All mocks will be just cloned, not deep copied
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Edge cases
|
|
||||||
|
|
||||||
The following structures cannot be deep-copied with PHP Reflection. As a result they are shallow cloned and filters are
|
|
||||||
not applied. There is two ways for you to handle them:
|
|
||||||
|
|
||||||
- Implement your own `__clone()` method
|
|
||||||
- Use a filter with a type matcher
|
|
||||||
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
DeepCopy is distributed under the MIT license.
|
|
||||||
|
|
||||||
|
|
||||||
### Tests
|
|
||||||
|
|
||||||
Running the tests is simple:
|
|
||||||
|
|
||||||
```php
|
|
||||||
vendor/bin/phpunit
|
|
||||||
```
|
|
||||||
|
|
||||||
### Support
|
|
||||||
|
|
||||||
Get professional support via [the Tidelift Subscription](https://tidelift.com/subscription/pkg/packagist-myclabs-deep-copy?utm_source=packagist-myclabs-deep-copy&utm_medium=referral&utm_campaign=readme).
|
|
38
vendor/myclabs/deep-copy/composer.json
vendored
38
vendor/myclabs/deep-copy/composer.json
vendored
@ -1,38 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "myclabs/deep-copy",
|
|
||||||
"type": "library",
|
|
||||||
"description": "Create deep copies (clones) of your objects",
|
|
||||||
"keywords": ["clone", "copy", "duplicate", "object", "object graph"],
|
|
||||||
"license": "MIT",
|
|
||||||
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"DeepCopy\\": "src/DeepCopy/"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"src/DeepCopy/deep_copy.php"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"autoload-dev": {
|
|
||||||
"psr-4": {
|
|
||||||
"DeepCopy\\": "fixtures/",
|
|
||||||
"DeepCopyTest\\": "tests/DeepCopyTest/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"require": {
|
|
||||||
"php": "^7.1 || ^8.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"doctrine/collections": "^1.0",
|
|
||||||
"doctrine/common": "^2.6",
|
|
||||||
"phpunit/phpunit": "^7.1"
|
|
||||||
},
|
|
||||||
"replace": {
|
|
||||||
"myclabs/deep-copy": "self.version"
|
|
||||||
},
|
|
||||||
|
|
||||||
"config": {
|
|
||||||
"sort-packages": true
|
|
||||||
}
|
|
||||||
}
|
|
298
vendor/myclabs/deep-copy/src/DeepCopy/DeepCopy.php
vendored
298
vendor/myclabs/deep-copy/src/DeepCopy/DeepCopy.php
vendored
@ -1,298 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy;
|
|
||||||
|
|
||||||
use ArrayObject;
|
|
||||||
use DateInterval;
|
|
||||||
use DateTimeInterface;
|
|
||||||
use DateTimeZone;
|
|
||||||
use DeepCopy\Exception\CloneException;
|
|
||||||
use DeepCopy\Filter\Filter;
|
|
||||||
use DeepCopy\Matcher\Matcher;
|
|
||||||
use DeepCopy\Reflection\ReflectionHelper;
|
|
||||||
use DeepCopy\TypeFilter\Date\DateIntervalFilter;
|
|
||||||
use DeepCopy\TypeFilter\Spl\ArrayObjectFilter;
|
|
||||||
use DeepCopy\TypeFilter\Spl\SplDoublyLinkedListFilter;
|
|
||||||
use DeepCopy\TypeFilter\TypeFilter;
|
|
||||||
use DeepCopy\TypeMatcher\TypeMatcher;
|
|
||||||
use ReflectionObject;
|
|
||||||
use ReflectionProperty;
|
|
||||||
use SplDoublyLinkedList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @final
|
|
||||||
*/
|
|
||||||
class DeepCopy
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var object[] List of objects copied.
|
|
||||||
*/
|
|
||||||
private $hashMap = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Filters to apply.
|
|
||||||
*
|
|
||||||
* @var array Array of ['filter' => Filter, 'matcher' => Matcher] pairs.
|
|
||||||
*/
|
|
||||||
private $filters = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Type Filters to apply.
|
|
||||||
*
|
|
||||||
* @var array Array of ['filter' => Filter, 'matcher' => Matcher] pairs.
|
|
||||||
*/
|
|
||||||
private $typeFilters = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var bool
|
|
||||||
*/
|
|
||||||
private $skipUncloneable = false;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var bool
|
|
||||||
*/
|
|
||||||
private $useCloneMethod;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param bool $useCloneMethod If set to true, when an object implements the __clone() function, it will be used
|
|
||||||
* instead of the regular deep cloning.
|
|
||||||
*/
|
|
||||||
public function __construct($useCloneMethod = false)
|
|
||||||
{
|
|
||||||
$this->useCloneMethod = $useCloneMethod;
|
|
||||||
|
|
||||||
$this->addTypeFilter(new ArrayObjectFilter($this), new TypeMatcher(ArrayObject::class));
|
|
||||||
$this->addTypeFilter(new DateIntervalFilter(), new TypeMatcher(DateInterval::class));
|
|
||||||
$this->addTypeFilter(new SplDoublyLinkedListFilter($this), new TypeMatcher(SplDoublyLinkedList::class));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* If enabled, will not throw an exception when coming across an uncloneable property.
|
|
||||||
*
|
|
||||||
* @param $skipUncloneable
|
|
||||||
*
|
|
||||||
* @return $this
|
|
||||||
*/
|
|
||||||
public function skipUncloneable($skipUncloneable = true)
|
|
||||||
{
|
|
||||||
$this->skipUncloneable = $skipUncloneable;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Deep copies the given object.
|
|
||||||
*
|
|
||||||
* @param mixed $object
|
|
||||||
*
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
public function copy($object)
|
|
||||||
{
|
|
||||||
$this->hashMap = [];
|
|
||||||
|
|
||||||
return $this->recursiveCopy($object);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function addFilter(Filter $filter, Matcher $matcher)
|
|
||||||
{
|
|
||||||
$this->filters[] = [
|
|
||||||
'matcher' => $matcher,
|
|
||||||
'filter' => $filter,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
public function prependFilter(Filter $filter, Matcher $matcher)
|
|
||||||
{
|
|
||||||
array_unshift($this->filters, [
|
|
||||||
'matcher' => $matcher,
|
|
||||||
'filter' => $filter,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function addTypeFilter(TypeFilter $filter, TypeMatcher $matcher)
|
|
||||||
{
|
|
||||||
$this->typeFilters[] = [
|
|
||||||
'matcher' => $matcher,
|
|
||||||
'filter' => $filter,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
private function recursiveCopy($var)
|
|
||||||
{
|
|
||||||
// Matches Type Filter
|
|
||||||
if ($filter = $this->getFirstMatchedTypeFilter($this->typeFilters, $var)) {
|
|
||||||
return $filter->apply($var);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Resource
|
|
||||||
if (is_resource($var)) {
|
|
||||||
return $var;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Array
|
|
||||||
if (is_array($var)) {
|
|
||||||
return $this->copyArray($var);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Scalar
|
|
||||||
if (! is_object($var)) {
|
|
||||||
return $var;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Object
|
|
||||||
return $this->copyObject($var);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copy an array
|
|
||||||
* @param array $array
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
private function copyArray(array $array)
|
|
||||||
{
|
|
||||||
foreach ($array as $key => $value) {
|
|
||||||
$array[$key] = $this->recursiveCopy($value);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $array;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Copies an object.
|
|
||||||
*
|
|
||||||
* @param object $object
|
|
||||||
*
|
|
||||||
* @throws CloneException
|
|
||||||
*
|
|
||||||
* @return object
|
|
||||||
*/
|
|
||||||
private function copyObject($object)
|
|
||||||
{
|
|
||||||
$objectHash = spl_object_hash($object);
|
|
||||||
|
|
||||||
if (isset($this->hashMap[$objectHash])) {
|
|
||||||
return $this->hashMap[$objectHash];
|
|
||||||
}
|
|
||||||
|
|
||||||
$reflectedObject = new ReflectionObject($object);
|
|
||||||
$isCloneable = $reflectedObject->isCloneable();
|
|
||||||
|
|
||||||
if (false === $isCloneable) {
|
|
||||||
if ($this->skipUncloneable) {
|
|
||||||
$this->hashMap[$objectHash] = $object;
|
|
||||||
|
|
||||||
return $object;
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new CloneException(
|
|
||||||
sprintf(
|
|
||||||
'The class "%s" is not cloneable.',
|
|
||||||
$reflectedObject->getName()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
$newObject = clone $object;
|
|
||||||
$this->hashMap[$objectHash] = $newObject;
|
|
||||||
|
|
||||||
if ($this->useCloneMethod && $reflectedObject->hasMethod('__clone')) {
|
|
||||||
return $newObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($newObject instanceof DateTimeInterface || $newObject instanceof DateTimeZone) {
|
|
||||||
return $newObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (ReflectionHelper::getProperties($reflectedObject) as $property) {
|
|
||||||
$this->copyObjectProperty($newObject, $property);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $newObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function copyObjectProperty($object, ReflectionProperty $property)
|
|
||||||
{
|
|
||||||
// Ignore static properties
|
|
||||||
if ($property->isStatic()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply the filters
|
|
||||||
foreach ($this->filters as $item) {
|
|
||||||
/** @var Matcher $matcher */
|
|
||||||
$matcher = $item['matcher'];
|
|
||||||
/** @var Filter $filter */
|
|
||||||
$filter = $item['filter'];
|
|
||||||
|
|
||||||
if ($matcher->matches($object, $property->getName())) {
|
|
||||||
$filter->apply(
|
|
||||||
$object,
|
|
||||||
$property->getName(),
|
|
||||||
function ($object) {
|
|
||||||
return $this->recursiveCopy($object);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// If a filter matches, we stop processing this property
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$property->setAccessible(true);
|
|
||||||
|
|
||||||
// Ignore uninitialized properties (for PHP >7.4)
|
|
||||||
if (method_exists($property, 'isInitialized') && !$property->isInitialized($object)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$propertyValue = $property->getValue($object);
|
|
||||||
|
|
||||||
// Copy the property
|
|
||||||
$property->setValue($object, $this->recursiveCopy($propertyValue));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns first filter that matches variable, `null` if no such filter found.
|
|
||||||
*
|
|
||||||
* @param array $filterRecords Associative array with 2 members: 'filter' with value of type {@see TypeFilter} and
|
|
||||||
* 'matcher' with value of type {@see TypeMatcher}
|
|
||||||
* @param mixed $var
|
|
||||||
*
|
|
||||||
* @return TypeFilter|null
|
|
||||||
*/
|
|
||||||
private function getFirstMatchedTypeFilter(array $filterRecords, $var)
|
|
||||||
{
|
|
||||||
$matched = $this->first(
|
|
||||||
$filterRecords,
|
|
||||||
function (array $record) use ($var) {
|
|
||||||
/* @var TypeMatcher $matcher */
|
|
||||||
$matcher = $record['matcher'];
|
|
||||||
|
|
||||||
return $matcher->matches($var);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
return isset($matched) ? $matched['filter'] : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns first element that matches predicate, `null` if no such element found.
|
|
||||||
*
|
|
||||||
* @param array $elements Array of ['filter' => Filter, 'matcher' => Matcher] pairs.
|
|
||||||
* @param callable $predicate Predicate arguments are: element.
|
|
||||||
*
|
|
||||||
* @return array|null Associative array with 2 members: 'filter' with value of type {@see TypeFilter} and 'matcher'
|
|
||||||
* with value of type {@see TypeMatcher} or `null`.
|
|
||||||
*/
|
|
||||||
private function first(array $elements, callable $predicate)
|
|
||||||
{
|
|
||||||
foreach ($elements as $element) {
|
|
||||||
if (call_user_func($predicate, $element)) {
|
|
||||||
return $element;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Exception;
|
|
||||||
|
|
||||||
use UnexpectedValueException;
|
|
||||||
|
|
||||||
class CloneException extends UnexpectedValueException
|
|
||||||
{
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Exception;
|
|
||||||
|
|
||||||
use ReflectionException;
|
|
||||||
|
|
||||||
class PropertyException extends ReflectionException
|
|
||||||
{
|
|
||||||
}
|
|
@ -1,33 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Filter\Doctrine;
|
|
||||||
|
|
||||||
use DeepCopy\Filter\Filter;
|
|
||||||
use DeepCopy\Reflection\ReflectionHelper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @final
|
|
||||||
*/
|
|
||||||
class DoctrineCollectionFilter implements Filter
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Copies the object property doctrine collection.
|
|
||||||
*
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function apply($object, $property, $objectCopier)
|
|
||||||
{
|
|
||||||
$reflectionProperty = ReflectionHelper::getProperty($object, $property);
|
|
||||||
|
|
||||||
$reflectionProperty->setAccessible(true);
|
|
||||||
$oldCollection = $reflectionProperty->getValue($object);
|
|
||||||
|
|
||||||
$newCollection = $oldCollection->map(
|
|
||||||
function ($item) use ($objectCopier) {
|
|
||||||
return $objectCopier($item);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
$reflectionProperty->setValue($object, $newCollection);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,28 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Filter\Doctrine;
|
|
||||||
|
|
||||||
use DeepCopy\Filter\Filter;
|
|
||||||
use DeepCopy\Reflection\ReflectionHelper;
|
|
||||||
use Doctrine\Common\Collections\ArrayCollection;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @final
|
|
||||||
*/
|
|
||||||
class DoctrineEmptyCollectionFilter implements Filter
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Sets the object property to an empty doctrine collection.
|
|
||||||
*
|
|
||||||
* @param object $object
|
|
||||||
* @param string $property
|
|
||||||
* @param callable $objectCopier
|
|
||||||
*/
|
|
||||||
public function apply($object, $property, $objectCopier)
|
|
||||||
{
|
|
||||||
$reflectionProperty = ReflectionHelper::getProperty($object, $property);
|
|
||||||
$reflectionProperty->setAccessible(true);
|
|
||||||
|
|
||||||
$reflectionProperty->setValue($object, new ArrayCollection());
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Filter\Doctrine;
|
|
||||||
|
|
||||||
use DeepCopy\Filter\Filter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @final
|
|
||||||
*/
|
|
||||||
class DoctrineProxyFilter implements Filter
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Triggers the magic method __load() on a Doctrine Proxy class to load the
|
|
||||||
* actual entity from the database.
|
|
||||||
*
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function apply($object, $property, $objectCopier)
|
|
||||||
{
|
|
||||||
$object->__load();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Filter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter to apply to a property while copying an object
|
|
||||||
*/
|
|
||||||
interface Filter
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Applies the filter to the object.
|
|
||||||
*
|
|
||||||
* @param object $object
|
|
||||||
* @param string $property
|
|
||||||
* @param callable $objectCopier
|
|
||||||
*/
|
|
||||||
public function apply($object, $property, $objectCopier);
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Filter;
|
|
||||||
|
|
||||||
class KeepFilter implements Filter
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Keeps the value of the object property.
|
|
||||||
*
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function apply($object, $property, $objectCopier)
|
|
||||||
{
|
|
||||||
// Nothing to do
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,39 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Filter;
|
|
||||||
|
|
||||||
use DeepCopy\Reflection\ReflectionHelper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @final
|
|
||||||
*/
|
|
||||||
class ReplaceFilter implements Filter
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var callable
|
|
||||||
*/
|
|
||||||
protected $callback;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param callable $callable Will be called to get the new value for each property to replace
|
|
||||||
*/
|
|
||||||
public function __construct(callable $callable)
|
|
||||||
{
|
|
||||||
$this->callback = $callable;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Replaces the object property by the result of the callback called with the object property.
|
|
||||||
*
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function apply($object, $property, $objectCopier)
|
|
||||||
{
|
|
||||||
$reflectionProperty = ReflectionHelper::getProperty($object, $property);
|
|
||||||
$reflectionProperty->setAccessible(true);
|
|
||||||
|
|
||||||
$value = call_user_func($this->callback, $reflectionProperty->getValue($object));
|
|
||||||
|
|
||||||
$reflectionProperty->setValue($object, $value);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Filter;
|
|
||||||
|
|
||||||
use DeepCopy\Reflection\ReflectionHelper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @final
|
|
||||||
*/
|
|
||||||
class SetNullFilter implements Filter
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Sets the object property to null.
|
|
||||||
*
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function apply($object, $property, $objectCopier)
|
|
||||||
{
|
|
||||||
$reflectionProperty = ReflectionHelper::getProperty($object, $property);
|
|
||||||
|
|
||||||
$reflectionProperty->setAccessible(true);
|
|
||||||
$reflectionProperty->setValue($object, null);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Matcher\Doctrine;
|
|
||||||
|
|
||||||
use DeepCopy\Matcher\Matcher;
|
|
||||||
use Doctrine\Common\Persistence\Proxy;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @final
|
|
||||||
*/
|
|
||||||
class DoctrineProxyMatcher implements Matcher
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Matches a Doctrine Proxy class.
|
|
||||||
*
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function matches($object, $property)
|
|
||||||
{
|
|
||||||
return $object instanceof Proxy;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Matcher;
|
|
||||||
|
|
||||||
interface Matcher
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @param object $object
|
|
||||||
* @param string $property
|
|
||||||
*
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
public function matches($object, $property);
|
|
||||||
}
|
|
@ -1,39 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Matcher;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @final
|
|
||||||
*/
|
|
||||||
class PropertyMatcher implements Matcher
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private $class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private $property;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $class Class name
|
|
||||||
* @param string $property Property name
|
|
||||||
*/
|
|
||||||
public function __construct($class, $property)
|
|
||||||
{
|
|
||||||
$this->class = $class;
|
|
||||||
$this->property = $property;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Matches a specific property of a specific class.
|
|
||||||
*
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function matches($object, $property)
|
|
||||||
{
|
|
||||||
return ($object instanceof $this->class) && $property == $this->property;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Matcher;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @final
|
|
||||||
*/
|
|
||||||
class PropertyNameMatcher implements Matcher
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private $property;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $property Property name
|
|
||||||
*/
|
|
||||||
public function __construct($property)
|
|
||||||
{
|
|
||||||
$this->property = $property;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Matches a property by its name.
|
|
||||||
*
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function matches($object, $property)
|
|
||||||
{
|
|
||||||
return $property == $this->property;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,52 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Matcher;
|
|
||||||
|
|
||||||
use DeepCopy\Reflection\ReflectionHelper;
|
|
||||||
use ReflectionException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Matches a property by its type.
|
|
||||||
*
|
|
||||||
* It is recommended to use {@see DeepCopy\TypeFilter\TypeFilter} instead, as it applies on all occurrences
|
|
||||||
* of given type in copied context (eg. array elements), not just on object properties.
|
|
||||||
*
|
|
||||||
* @final
|
|
||||||
*/
|
|
||||||
class PropertyTypeMatcher implements Matcher
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private $propertyType;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $propertyType Property type
|
|
||||||
*/
|
|
||||||
public function __construct($propertyType)
|
|
||||||
{
|
|
||||||
$this->propertyType = $propertyType;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function matches($object, $property)
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
$reflectionProperty = ReflectionHelper::getProperty($object, $property);
|
|
||||||
} catch (ReflectionException $exception) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$reflectionProperty->setAccessible(true);
|
|
||||||
|
|
||||||
// Uninitialized properties (for PHP >7.4)
|
|
||||||
if (method_exists($reflectionProperty, 'isInitialized') && !$reflectionProperty->isInitialized($object)) {
|
|
||||||
// null instanceof $this->propertyType
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $reflectionProperty->getValue($object) instanceof $this->propertyType;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,78 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\Reflection;
|
|
||||||
|
|
||||||
use DeepCopy\Exception\PropertyException;
|
|
||||||
use ReflectionClass;
|
|
||||||
use ReflectionException;
|
|
||||||
use ReflectionObject;
|
|
||||||
use ReflectionProperty;
|
|
||||||
|
|
||||||
class ReflectionHelper
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Retrieves all properties (including private ones), from object and all its ancestors.
|
|
||||||
*
|
|
||||||
* Standard \ReflectionClass->getProperties() does not return private properties from ancestor classes.
|
|
||||||
*
|
|
||||||
* @author muratyaman@gmail.com
|
|
||||||
* @see http://php.net/manual/en/reflectionclass.getproperties.php
|
|
||||||
*
|
|
||||||
* @param ReflectionClass $ref
|
|
||||||
*
|
|
||||||
* @return ReflectionProperty[]
|
|
||||||
*/
|
|
||||||
public static function getProperties(ReflectionClass $ref)
|
|
||||||
{
|
|
||||||
$props = $ref->getProperties();
|
|
||||||
$propsArr = array();
|
|
||||||
|
|
||||||
foreach ($props as $prop) {
|
|
||||||
$propertyName = $prop->getName();
|
|
||||||
$propsArr[$propertyName] = $prop;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($parentClass = $ref->getParentClass()) {
|
|
||||||
$parentPropsArr = self::getProperties($parentClass);
|
|
||||||
foreach ($propsArr as $key => $property) {
|
|
||||||
$parentPropsArr[$key] = $property;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $parentPropsArr;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $propsArr;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieves property by name from object and all its ancestors.
|
|
||||||
*
|
|
||||||
* @param object|string $object
|
|
||||||
* @param string $name
|
|
||||||
*
|
|
||||||
* @throws PropertyException
|
|
||||||
* @throws ReflectionException
|
|
||||||
*
|
|
||||||
* @return ReflectionProperty
|
|
||||||
*/
|
|
||||||
public static function getProperty($object, $name)
|
|
||||||
{
|
|
||||||
$reflection = is_object($object) ? new ReflectionObject($object) : new ReflectionClass($object);
|
|
||||||
|
|
||||||
if ($reflection->hasProperty($name)) {
|
|
||||||
return $reflection->getProperty($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($parentClass = $reflection->getParentClass()) {
|
|
||||||
return self::getProperty($parentClass->getName(), $name);
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new PropertyException(
|
|
||||||
sprintf(
|
|
||||||
'The class "%s" doesn\'t have a property with the given name: "%s".',
|
|
||||||
is_object($object) ? get_class($object) : $object,
|
|
||||||
$name
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,33 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\TypeFilter\Date;
|
|
||||||
|
|
||||||
use DateInterval;
|
|
||||||
use DeepCopy\TypeFilter\TypeFilter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @final
|
|
||||||
*
|
|
||||||
* @deprecated Will be removed in 2.0. This filter will no longer be necessary in PHP 7.1+.
|
|
||||||
*/
|
|
||||||
class DateIntervalFilter implements TypeFilter
|
|
||||||
{
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritdoc}
|
|
||||||
*
|
|
||||||
* @param DateInterval $element
|
|
||||||
*
|
|
||||||
* @see http://news.php.net/php.bugs/205076
|
|
||||||
*/
|
|
||||||
public function apply($element)
|
|
||||||
{
|
|
||||||
$copy = new DateInterval('P0D');
|
|
||||||
|
|
||||||
foreach ($element as $propertyName => $propertyValue) {
|
|
||||||
$copy->{$propertyName} = $propertyValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $copy;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\TypeFilter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @final
|
|
||||||
*/
|
|
||||||
class ReplaceFilter implements TypeFilter
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var callable
|
|
||||||
*/
|
|
||||||
protected $callback;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param callable $callable Will be called to get the new value for each element to replace
|
|
||||||
*/
|
|
||||||
public function __construct(callable $callable)
|
|
||||||
{
|
|
||||||
$this->callback = $callable;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function apply($element)
|
|
||||||
{
|
|
||||||
return call_user_func($this->callback, $element);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\TypeFilter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @final
|
|
||||||
*/
|
|
||||||
class ShallowCopyFilter implements TypeFilter
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function apply($element)
|
|
||||||
{
|
|
||||||
return clone $element;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
<?php
|
|
||||||
namespace DeepCopy\TypeFilter\Spl;
|
|
||||||
|
|
||||||
use DeepCopy\DeepCopy;
|
|
||||||
use DeepCopy\TypeFilter\TypeFilter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* In PHP 7.4 the storage of an ArrayObject isn't returned as
|
|
||||||
* ReflectionProperty. So we deep copy its array copy.
|
|
||||||
*/
|
|
||||||
final class ArrayObjectFilter implements TypeFilter
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var DeepCopy
|
|
||||||
*/
|
|
||||||
private $copier;
|
|
||||||
|
|
||||||
public function __construct(DeepCopy $copier)
|
|
||||||
{
|
|
||||||
$this->copier = $copier;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function apply($arrayObject)
|
|
||||||
{
|
|
||||||
$clone = clone $arrayObject;
|
|
||||||
foreach ($arrayObject->getArrayCopy() as $k => $v) {
|
|
||||||
$clone->offsetSet($k, $this->copier->copy($v));
|
|
||||||
}
|
|
||||||
|
|
||||||
return $clone;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\TypeFilter\Spl;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@see SplDoublyLinkedListFilter} instead.
|
|
||||||
*/
|
|
||||||
class SplDoublyLinkedList extends SplDoublyLinkedListFilter
|
|
||||||
{
|
|
||||||
}
|
|
@ -1,51 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\TypeFilter\Spl;
|
|
||||||
|
|
||||||
use Closure;
|
|
||||||
use DeepCopy\DeepCopy;
|
|
||||||
use DeepCopy\TypeFilter\TypeFilter;
|
|
||||||
use SplDoublyLinkedList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @final
|
|
||||||
*/
|
|
||||||
class SplDoublyLinkedListFilter implements TypeFilter
|
|
||||||
{
|
|
||||||
private $copier;
|
|
||||||
|
|
||||||
public function __construct(DeepCopy $copier)
|
|
||||||
{
|
|
||||||
$this->copier = $copier;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritdoc}
|
|
||||||
*/
|
|
||||||
public function apply($element)
|
|
||||||
{
|
|
||||||
$newElement = clone $element;
|
|
||||||
|
|
||||||
$copy = $this->createCopyClosure();
|
|
||||||
|
|
||||||
return $copy($newElement);
|
|
||||||
}
|
|
||||||
|
|
||||||
private function createCopyClosure()
|
|
||||||
{
|
|
||||||
$copier = $this->copier;
|
|
||||||
|
|
||||||
$copy = function (SplDoublyLinkedList $list) use ($copier) {
|
|
||||||
// Replace each element in the list with a deep copy of itself
|
|
||||||
for ($i = 1; $i <= $list->count(); $i++) {
|
|
||||||
$copy = $copier->recursiveCopy($list->shift());
|
|
||||||
|
|
||||||
$list->push($copy);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $list;
|
|
||||||
};
|
|
||||||
|
|
||||||
return Closure::bind($copy, null, DeepCopy::class);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\TypeFilter;
|
|
||||||
|
|
||||||
interface TypeFilter
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Applies the filter to the object.
|
|
||||||
*
|
|
||||||
* @param mixed $element
|
|
||||||
*/
|
|
||||||
public function apply($element);
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy\TypeMatcher;
|
|
||||||
|
|
||||||
class TypeMatcher
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var string
|
|
||||||
*/
|
|
||||||
private $type;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $type
|
|
||||||
*/
|
|
||||||
public function __construct($type)
|
|
||||||
{
|
|
||||||
$this->type = $type;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param mixed $element
|
|
||||||
*
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
public function matches($element)
|
|
||||||
{
|
|
||||||
return is_object($element) ? is_a($element, $this->type) : gettype($element) === $this->type;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace DeepCopy;
|
|
||||||
|
|
||||||
use function function_exists;
|
|
||||||
|
|
||||||
if (false === function_exists('DeepCopy\deep_copy')) {
|
|
||||||
/**
|
|
||||||
* Deep copies the given value.
|
|
||||||
*
|
|
||||||
* @param mixed $value
|
|
||||||
* @param bool $useCloneMethod
|
|
||||||
*
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
function deep_copy($value, $useCloneMethod = false)
|
|
||||||
{
|
|
||||||
return (new DeepCopy($useCloneMethod))->copy($value);
|
|
||||||
}
|
|
||||||
}
|
|
29
vendor/nikic/php-parser/LICENSE
vendored
29
vendor/nikic/php-parser/LICENSE
vendored
@ -1,29 +0,0 @@
|
|||||||
BSD 3-Clause License
|
|
||||||
|
|
||||||
Copyright (c) 2011, Nikita Popov
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
1. Redistributions of source code must retain the above copyright notice, this
|
|
||||||
list of conditions and the following disclaimer.
|
|
||||||
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer in the documentation
|
|
||||||
and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
3. Neither the name of the copyright holder nor the names of its
|
|
||||||
contributors may be used to endorse or promote products derived from
|
|
||||||
this software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
225
vendor/nikic/php-parser/README.md
vendored
225
vendor/nikic/php-parser/README.md
vendored
@ -1,225 +0,0 @@
|
|||||||
PHP Parser
|
|
||||||
==========
|
|
||||||
|
|
||||||
[](https://coveralls.io/github/nikic/PHP-Parser?branch=master)
|
|
||||||
|
|
||||||
This is a PHP 5.2 to PHP 8.0 parser written in PHP. Its purpose is to simplify static code analysis and
|
|
||||||
manipulation.
|
|
||||||
|
|
||||||
[**Documentation for version 4.x**][doc_master] (stable; for running on PHP >= 7.0; for parsing PHP 5.2 to PHP 8.0).
|
|
||||||
|
|
||||||
[Documentation for version 3.x][doc_3_x] (unsupported; for running on PHP >= 5.5; for parsing PHP 5.2 to PHP 7.2).
|
|
||||||
|
|
||||||
Features
|
|
||||||
--------
|
|
||||||
|
|
||||||
The main features provided by this library are:
|
|
||||||
|
|
||||||
* Parsing PHP 5, PHP 7, and PHP 8 code into an abstract syntax tree (AST).
|
|
||||||
* Invalid code can be parsed into a partial AST.
|
|
||||||
* The AST contains accurate location information.
|
|
||||||
* Dumping the AST in human-readable form.
|
|
||||||
* Converting an AST back to PHP code.
|
|
||||||
* Experimental: Formatting can be preserved for partially changed ASTs.
|
|
||||||
* Infrastructure to traverse and modify ASTs.
|
|
||||||
* Resolution of namespaced names.
|
|
||||||
* Evaluation of constant expressions.
|
|
||||||
* Builders to simplify AST construction for code generation.
|
|
||||||
* Converting an AST into JSON and back.
|
|
||||||
|
|
||||||
Quick Start
|
|
||||||
-----------
|
|
||||||
|
|
||||||
Install the library using [composer](https://getcomposer.org):
|
|
||||||
|
|
||||||
php composer.phar require nikic/php-parser
|
|
||||||
|
|
||||||
Parse some PHP code into an AST and dump the result in human-readable form:
|
|
||||||
|
|
||||||
```php
|
|
||||||
<?php
|
|
||||||
use PhpParser\Error;
|
|
||||||
use PhpParser\NodeDumper;
|
|
||||||
use PhpParser\ParserFactory;
|
|
||||||
|
|
||||||
$code = <<<'CODE'
|
|
||||||
<?php
|
|
||||||
|
|
||||||
function test($foo)
|
|
||||||
{
|
|
||||||
var_dump($foo);
|
|
||||||
}
|
|
||||||
CODE;
|
|
||||||
|
|
||||||
$parser = (new ParserFactory)->create(ParserFactory::PREFER_PHP7);
|
|
||||||
try {
|
|
||||||
$ast = $parser->parse($code);
|
|
||||||
} catch (Error $error) {
|
|
||||||
echo "Parse error: {$error->getMessage()}\n";
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$dumper = new NodeDumper;
|
|
||||||
echo $dumper->dump($ast) . "\n";
|
|
||||||
```
|
|
||||||
|
|
||||||
This dumps an AST looking something like this:
|
|
||||||
|
|
||||||
```
|
|
||||||
array(
|
|
||||||
0: Stmt_Function(
|
|
||||||
byRef: false
|
|
||||||
name: Identifier(
|
|
||||||
name: test
|
|
||||||
)
|
|
||||||
params: array(
|
|
||||||
0: Param(
|
|
||||||
type: null
|
|
||||||
byRef: false
|
|
||||||
variadic: false
|
|
||||||
var: Expr_Variable(
|
|
||||||
name: foo
|
|
||||||
)
|
|
||||||
default: null
|
|
||||||
)
|
|
||||||
)
|
|
||||||
returnType: null
|
|
||||||
stmts: array(
|
|
||||||
0: Stmt_Expression(
|
|
||||||
expr: Expr_FuncCall(
|
|
||||||
name: Name(
|
|
||||||
parts: array(
|
|
||||||
0: var_dump
|
|
||||||
)
|
|
||||||
)
|
|
||||||
args: array(
|
|
||||||
0: Arg(
|
|
||||||
value: Expr_Variable(
|
|
||||||
name: foo
|
|
||||||
)
|
|
||||||
byRef: false
|
|
||||||
unpack: false
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
```
|
|
||||||
|
|
||||||
Let's traverse the AST and perform some kind of modification. For example, drop all function bodies:
|
|
||||||
|
|
||||||
```php
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Stmt\Function_;
|
|
||||||
use PhpParser\NodeTraverser;
|
|
||||||
use PhpParser\NodeVisitorAbstract;
|
|
||||||
|
|
||||||
$traverser = new NodeTraverser();
|
|
||||||
$traverser->addVisitor(new class extends NodeVisitorAbstract {
|
|
||||||
public function enterNode(Node $node) {
|
|
||||||
if ($node instanceof Function_) {
|
|
||||||
// Clean out the function body
|
|
||||||
$node->stmts = [];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$ast = $traverser->traverse($ast);
|
|
||||||
echo $dumper->dump($ast) . "\n";
|
|
||||||
```
|
|
||||||
|
|
||||||
This gives us an AST where the `Function_::$stmts` are empty:
|
|
||||||
|
|
||||||
```
|
|
||||||
array(
|
|
||||||
0: Stmt_Function(
|
|
||||||
byRef: false
|
|
||||||
name: Identifier(
|
|
||||||
name: test
|
|
||||||
)
|
|
||||||
params: array(
|
|
||||||
0: Param(
|
|
||||||
type: null
|
|
||||||
byRef: false
|
|
||||||
variadic: false
|
|
||||||
var: Expr_Variable(
|
|
||||||
name: foo
|
|
||||||
)
|
|
||||||
default: null
|
|
||||||
)
|
|
||||||
)
|
|
||||||
returnType: null
|
|
||||||
stmts: array(
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
```
|
|
||||||
|
|
||||||
Finally, we can convert the new AST back to PHP code:
|
|
||||||
|
|
||||||
```php
|
|
||||||
use PhpParser\PrettyPrinter;
|
|
||||||
|
|
||||||
$prettyPrinter = new PrettyPrinter\Standard;
|
|
||||||
echo $prettyPrinter->prettyPrintFile($ast);
|
|
||||||
```
|
|
||||||
|
|
||||||
This gives us our original code, minus the `var_dump()` call inside the function:
|
|
||||||
|
|
||||||
```php
|
|
||||||
<?php
|
|
||||||
|
|
||||||
function test($foo)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
For a more comprehensive introduction, see the documentation.
|
|
||||||
|
|
||||||
Documentation
|
|
||||||
-------------
|
|
||||||
|
|
||||||
1. [Introduction](doc/0_Introduction.markdown)
|
|
||||||
2. [Usage of basic components](doc/2_Usage_of_basic_components.markdown)
|
|
||||||
|
|
||||||
Component documentation:
|
|
||||||
|
|
||||||
* [Walking the AST](doc/component/Walking_the_AST.markdown)
|
|
||||||
* Node visitors
|
|
||||||
* Modifying the AST from a visitor
|
|
||||||
* Short-circuiting traversals
|
|
||||||
* Interleaved visitors
|
|
||||||
* Simple node finding API
|
|
||||||
* Parent and sibling references
|
|
||||||
* [Name resolution](doc/component/Name_resolution.markdown)
|
|
||||||
* Name resolver options
|
|
||||||
* Name resolution context
|
|
||||||
* [Pretty printing](doc/component/Pretty_printing.markdown)
|
|
||||||
* Converting AST back to PHP code
|
|
||||||
* Customizing formatting
|
|
||||||
* Formatting-preserving code transformations
|
|
||||||
* [AST builders](doc/component/AST_builders.markdown)
|
|
||||||
* Fluent builders for AST nodes
|
|
||||||
* [Lexer](doc/component/Lexer.markdown)
|
|
||||||
* Lexer options
|
|
||||||
* Token and file positions for nodes
|
|
||||||
* Custom attributes
|
|
||||||
* [Error handling](doc/component/Error_handling.markdown)
|
|
||||||
* Column information for errors
|
|
||||||
* Error recovery (parsing of syntactically incorrect code)
|
|
||||||
* [Constant expression evaluation](doc/component/Constant_expression_evaluation.markdown)
|
|
||||||
* Evaluating constant/property/etc initializers
|
|
||||||
* Handling errors and unsupported expressions
|
|
||||||
* [JSON representation](doc/component/JSON_representation.markdown)
|
|
||||||
* JSON encoding and decoding of ASTs
|
|
||||||
* [Performance](doc/component/Performance.markdown)
|
|
||||||
* Disabling Xdebug
|
|
||||||
* Reusing objects
|
|
||||||
* Garbage collection impact
|
|
||||||
* [Frequently asked questions](doc/component/FAQ.markdown)
|
|
||||||
* Parent and sibling references
|
|
||||||
|
|
||||||
[doc_3_x]: https://github.com/nikic/PHP-Parser/tree/3.x/doc
|
|
||||||
[doc_master]: https://github.com/nikic/PHP-Parser/tree/master/doc
|
|
205
vendor/nikic/php-parser/bin/php-parse
vendored
205
vendor/nikic/php-parser/bin/php-parse
vendored
@ -1,205 +0,0 @@
|
|||||||
#!/usr/bin/env php
|
|
||||||
<?php
|
|
||||||
|
|
||||||
foreach ([__DIR__ . '/../../../autoload.php', __DIR__ . '/../vendor/autoload.php'] as $file) {
|
|
||||||
if (file_exists($file)) {
|
|
||||||
require $file;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ini_set('xdebug.max_nesting_level', 3000);
|
|
||||||
|
|
||||||
// Disable Xdebug var_dump() output truncation
|
|
||||||
ini_set('xdebug.var_display_max_children', -1);
|
|
||||||
ini_set('xdebug.var_display_max_data', -1);
|
|
||||||
ini_set('xdebug.var_display_max_depth', -1);
|
|
||||||
|
|
||||||
list($operations, $files, $attributes) = parseArgs($argv);
|
|
||||||
|
|
||||||
/* Dump nodes by default */
|
|
||||||
if (empty($operations)) {
|
|
||||||
$operations[] = 'dump';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (empty($files)) {
|
|
||||||
showHelp("Must specify at least one file.");
|
|
||||||
}
|
|
||||||
|
|
||||||
$lexer = new PhpParser\Lexer\Emulative(['usedAttributes' => [
|
|
||||||
'startLine', 'endLine', 'startFilePos', 'endFilePos', 'comments'
|
|
||||||
]]);
|
|
||||||
$parser = (new PhpParser\ParserFactory)->create(
|
|
||||||
PhpParser\ParserFactory::PREFER_PHP7,
|
|
||||||
$lexer
|
|
||||||
);
|
|
||||||
$dumper = new PhpParser\NodeDumper([
|
|
||||||
'dumpComments' => true,
|
|
||||||
'dumpPositions' => $attributes['with-positions'],
|
|
||||||
]);
|
|
||||||
$prettyPrinter = new PhpParser\PrettyPrinter\Standard;
|
|
||||||
|
|
||||||
$traverser = new PhpParser\NodeTraverser();
|
|
||||||
$traverser->addVisitor(new PhpParser\NodeVisitor\NameResolver);
|
|
||||||
|
|
||||||
foreach ($files as $file) {
|
|
||||||
if (strpos($file, '<?php') === 0) {
|
|
||||||
$code = $file;
|
|
||||||
fwrite(STDERR, "====> Code $code\n");
|
|
||||||
} else {
|
|
||||||
if (!file_exists($file)) {
|
|
||||||
fwrite(STDERR, "File $file does not exist.\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
$code = file_get_contents($file);
|
|
||||||
fwrite(STDERR, "====> File $file:\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($attributes['with-recovery']) {
|
|
||||||
$errorHandler = new PhpParser\ErrorHandler\Collecting;
|
|
||||||
$stmts = $parser->parse($code, $errorHandler);
|
|
||||||
foreach ($errorHandler->getErrors() as $error) {
|
|
||||||
$message = formatErrorMessage($error, $code, $attributes['with-column-info']);
|
|
||||||
fwrite(STDERR, $message . "\n");
|
|
||||||
}
|
|
||||||
if (null === $stmts) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
try {
|
|
||||||
$stmts = $parser->parse($code);
|
|
||||||
} catch (PhpParser\Error $error) {
|
|
||||||
$message = formatErrorMessage($error, $code, $attributes['with-column-info']);
|
|
||||||
fwrite(STDERR, $message . "\n");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($operations as $operation) {
|
|
||||||
if ('dump' === $operation) {
|
|
||||||
fwrite(STDERR, "==> Node dump:\n");
|
|
||||||
echo $dumper->dump($stmts, $code), "\n";
|
|
||||||
} elseif ('pretty-print' === $operation) {
|
|
||||||
fwrite(STDERR, "==> Pretty print:\n");
|
|
||||||
echo $prettyPrinter->prettyPrintFile($stmts), "\n";
|
|
||||||
} elseif ('json-dump' === $operation) {
|
|
||||||
fwrite(STDERR, "==> JSON dump:\n");
|
|
||||||
echo json_encode($stmts, JSON_PRETTY_PRINT), "\n";
|
|
||||||
} elseif ('var-dump' === $operation) {
|
|
||||||
fwrite(STDERR, "==> var_dump():\n");
|
|
||||||
var_dump($stmts);
|
|
||||||
} elseif ('resolve-names' === $operation) {
|
|
||||||
fwrite(STDERR, "==> Resolved names.\n");
|
|
||||||
$stmts = $traverser->traverse($stmts);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function formatErrorMessage(PhpParser\Error $e, $code, $withColumnInfo) {
|
|
||||||
if ($withColumnInfo && $e->hasColumnInfo()) {
|
|
||||||
return $e->getMessageWithColumnInfo($code);
|
|
||||||
} else {
|
|
||||||
return $e->getMessage();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function showHelp($error = '') {
|
|
||||||
if ($error) {
|
|
||||||
fwrite(STDERR, $error . "\n\n");
|
|
||||||
}
|
|
||||||
fwrite($error ? STDERR : STDOUT, <<<OUTPUT
|
|
||||||
Usage: php-parse [operations] file1.php [file2.php ...]
|
|
||||||
or: php-parse [operations] "<?php code"
|
|
||||||
Turn PHP source code into an abstract syntax tree.
|
|
||||||
|
|
||||||
Operations is a list of the following options (--dump by default):
|
|
||||||
|
|
||||||
-d, --dump Dump nodes using NodeDumper
|
|
||||||
-p, --pretty-print Pretty print file using PrettyPrinter\Standard
|
|
||||||
-j, --json-dump Print json_encode() result
|
|
||||||
--var-dump var_dump() nodes (for exact structure)
|
|
||||||
-N, --resolve-names Resolve names using NodeVisitor\NameResolver
|
|
||||||
-c, --with-column-info Show column-numbers for errors (if available)
|
|
||||||
-P, --with-positions Show positions in node dumps
|
|
||||||
-r, --with-recovery Use parsing with error recovery
|
|
||||||
-h, --help Display this page
|
|
||||||
|
|
||||||
Example:
|
|
||||||
php-parse -d -p -N -d file.php
|
|
||||||
|
|
||||||
Dumps nodes, pretty prints them, then resolves names and dumps them again.
|
|
||||||
|
|
||||||
|
|
||||||
OUTPUT
|
|
||||||
);
|
|
||||||
exit($error ? 1 : 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
function parseArgs($args) {
|
|
||||||
$operations = [];
|
|
||||||
$files = [];
|
|
||||||
$attributes = [
|
|
||||||
'with-column-info' => false,
|
|
||||||
'with-positions' => false,
|
|
||||||
'with-recovery' => false,
|
|
||||||
];
|
|
||||||
|
|
||||||
array_shift($args);
|
|
||||||
$parseOptions = true;
|
|
||||||
foreach ($args as $arg) {
|
|
||||||
if (!$parseOptions) {
|
|
||||||
$files[] = $arg;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch ($arg) {
|
|
||||||
case '--dump':
|
|
||||||
case '-d':
|
|
||||||
$operations[] = 'dump';
|
|
||||||
break;
|
|
||||||
case '--pretty-print':
|
|
||||||
case '-p':
|
|
||||||
$operations[] = 'pretty-print';
|
|
||||||
break;
|
|
||||||
case '--json-dump':
|
|
||||||
case '-j':
|
|
||||||
$operations[] = 'json-dump';
|
|
||||||
break;
|
|
||||||
case '--var-dump':
|
|
||||||
$operations[] = 'var-dump';
|
|
||||||
break;
|
|
||||||
case '--resolve-names':
|
|
||||||
case '-N';
|
|
||||||
$operations[] = 'resolve-names';
|
|
||||||
break;
|
|
||||||
case '--with-column-info':
|
|
||||||
case '-c';
|
|
||||||
$attributes['with-column-info'] = true;
|
|
||||||
break;
|
|
||||||
case '--with-positions':
|
|
||||||
case '-P':
|
|
||||||
$attributes['with-positions'] = true;
|
|
||||||
break;
|
|
||||||
case '--with-recovery':
|
|
||||||
case '-r':
|
|
||||||
$attributes['with-recovery'] = true;
|
|
||||||
break;
|
|
||||||
case '--help':
|
|
||||||
case '-h';
|
|
||||||
showHelp();
|
|
||||||
break;
|
|
||||||
case '--':
|
|
||||||
$parseOptions = false;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
if ($arg[0] === '-') {
|
|
||||||
showHelp("Invalid operation $arg.");
|
|
||||||
} else {
|
|
||||||
$files[] = $arg;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return [$operations, $files, $attributes];
|
|
||||||
}
|
|
41
vendor/nikic/php-parser/composer.json
vendored
41
vendor/nikic/php-parser/composer.json
vendored
@ -1,41 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "nikic/php-parser",
|
|
||||||
"type": "library",
|
|
||||||
"description": "A PHP parser written in PHP",
|
|
||||||
"keywords": [
|
|
||||||
"php",
|
|
||||||
"parser"
|
|
||||||
],
|
|
||||||
"license": "BSD-3-Clause",
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Nikita Popov"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"require": {
|
|
||||||
"php": ">=7.0",
|
|
||||||
"ext-tokenizer": "*"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0",
|
|
||||||
"ircmaxell/php-yacc": "^0.0.7"
|
|
||||||
},
|
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "4.9-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"PhpParser\\": "lib/PhpParser"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload-dev": {
|
|
||||||
"psr-4": {
|
|
||||||
"PhpParser\\": "test/PhpParser/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bin": [
|
|
||||||
"bin/php-parse"
|
|
||||||
]
|
|
||||||
}
|
|
30
vendor/nikic/php-parser/grammar/README.md
vendored
30
vendor/nikic/php-parser/grammar/README.md
vendored
@ -1,30 +0,0 @@
|
|||||||
What do all those files mean?
|
|
||||||
=============================
|
|
||||||
|
|
||||||
* `php5.y`: PHP 5 grammar written in a pseudo language
|
|
||||||
* `php7.y`: PHP 7 grammar written in a pseudo language
|
|
||||||
* `tokens.y`: Tokens definition shared between PHP 5 and PHP 7 grammars
|
|
||||||
* `parser.template`: A `kmyacc` parser prototype file for PHP
|
|
||||||
* `tokens.template`: A `kmyacc` prototype file for the `Tokens` class
|
|
||||||
* `rebuildParsers.php`: Preprocesses the grammar and builds the parser using `kmyacc`
|
|
||||||
|
|
||||||
.phpy pseudo language
|
|
||||||
=====================
|
|
||||||
|
|
||||||
The `.y` file is a normal grammar in `kmyacc` (`yacc`) style, with some transformations
|
|
||||||
applied to it:
|
|
||||||
|
|
||||||
* Nodes are created using the syntax `Name[..., ...]`. This is transformed into
|
|
||||||
`new Name(..., ..., attributes())`
|
|
||||||
* Some function-like constructs are resolved (see `rebuildParsers.php` for a list)
|
|
||||||
|
|
||||||
Building the parser
|
|
||||||
===================
|
|
||||||
|
|
||||||
Run `php grammar/rebuildParsers.php` to rebuild the parsers. Additional options:
|
|
||||||
|
|
||||||
* The `KMYACC` environment variable can be used to specify an alternative `kmyacc` binary.
|
|
||||||
By default the `phpyacc` dev dependency will be used. To use the original `kmyacc`, you
|
|
||||||
need to compile [moriyoshi's fork](https://github.com/moriyoshi/kmyacc-forked).
|
|
||||||
* The `--debug` option enables emission of debug symbols and creates the `y.output` file.
|
|
||||||
* The `--keep-tmp-grammar` option preserves the preprocessed grammar file.
|
|
106
vendor/nikic/php-parser/grammar/parser.template
vendored
106
vendor/nikic/php-parser/grammar/parser.template
vendored
@ -1,106 +0,0 @@
|
|||||||
<?php
|
|
||||||
$meta #
|
|
||||||
#semval($) $this->semValue
|
|
||||||
#semval($,%t) $this->semValue
|
|
||||||
#semval(%n) $stackPos-(%l-%n)
|
|
||||||
#semval(%n,%t) $stackPos-(%l-%n)
|
|
||||||
|
|
||||||
namespace PhpParser\Parser;
|
|
||||||
|
|
||||||
use PhpParser\Error;
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Expr;
|
|
||||||
use PhpParser\Node\Name;
|
|
||||||
use PhpParser\Node\Scalar;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
#include;
|
|
||||||
|
|
||||||
/* This is an automatically GENERATED file, which should not be manually edited.
|
|
||||||
* Instead edit one of the following:
|
|
||||||
* * the grammar files grammar/php5.y or grammar/php7.y
|
|
||||||
* * the skeleton file grammar/parser.template
|
|
||||||
* * the preprocessing script grammar/rebuildParsers.php
|
|
||||||
*/
|
|
||||||
class #(-p) extends \PhpParser\ParserAbstract
|
|
||||||
{
|
|
||||||
protected $tokenToSymbolMapSize = #(YYMAXLEX);
|
|
||||||
protected $actionTableSize = #(YYLAST);
|
|
||||||
protected $gotoTableSize = #(YYGLAST);
|
|
||||||
|
|
||||||
protected $invalidSymbol = #(YYBADCH);
|
|
||||||
protected $errorSymbol = #(YYINTERRTOK);
|
|
||||||
protected $defaultAction = #(YYDEFAULT);
|
|
||||||
protected $unexpectedTokenRule = #(YYUNEXPECTED);
|
|
||||||
|
|
||||||
protected $YY2TBLSTATE = #(YY2TBLSTATE);
|
|
||||||
protected $numNonLeafStates = #(YYNLSTATES);
|
|
||||||
|
|
||||||
protected $symbolToName = array(
|
|
||||||
#listvar terminals
|
|
||||||
);
|
|
||||||
|
|
||||||
protected $tokenToSymbol = array(
|
|
||||||
#listvar yytranslate
|
|
||||||
);
|
|
||||||
|
|
||||||
protected $action = array(
|
|
||||||
#listvar yyaction
|
|
||||||
);
|
|
||||||
|
|
||||||
protected $actionCheck = array(
|
|
||||||
#listvar yycheck
|
|
||||||
);
|
|
||||||
|
|
||||||
protected $actionBase = array(
|
|
||||||
#listvar yybase
|
|
||||||
);
|
|
||||||
|
|
||||||
protected $actionDefault = array(
|
|
||||||
#listvar yydefault
|
|
||||||
);
|
|
||||||
|
|
||||||
protected $goto = array(
|
|
||||||
#listvar yygoto
|
|
||||||
);
|
|
||||||
|
|
||||||
protected $gotoCheck = array(
|
|
||||||
#listvar yygcheck
|
|
||||||
);
|
|
||||||
|
|
||||||
protected $gotoBase = array(
|
|
||||||
#listvar yygbase
|
|
||||||
);
|
|
||||||
|
|
||||||
protected $gotoDefault = array(
|
|
||||||
#listvar yygdefault
|
|
||||||
);
|
|
||||||
|
|
||||||
protected $ruleToNonTerminal = array(
|
|
||||||
#listvar yylhs
|
|
||||||
);
|
|
||||||
|
|
||||||
protected $ruleToLength = array(
|
|
||||||
#listvar yylen
|
|
||||||
);
|
|
||||||
#if -t
|
|
||||||
|
|
||||||
protected $productions = array(
|
|
||||||
#production-strings;
|
|
||||||
);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
protected function initReduceCallbacks() {
|
|
||||||
$this->reduceCallbacks = [
|
|
||||||
#reduce
|
|
||||||
%n => function ($stackPos) {
|
|
||||||
%b
|
|
||||||
},
|
|
||||||
#noact
|
|
||||||
%n => function ($stackPos) {
|
|
||||||
$this->semValue = $this->semStack[$stackPos];
|
|
||||||
},
|
|
||||||
#endreduce
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#tailcode;
|
|
1040
vendor/nikic/php-parser/grammar/php5.y
vendored
1040
vendor/nikic/php-parser/grammar/php5.y
vendored
File diff suppressed because it is too large
Load Diff
1196
vendor/nikic/php-parser/grammar/php7.y
vendored
1196
vendor/nikic/php-parser/grammar/php7.y
vendored
File diff suppressed because it is too large
Load Diff
192
vendor/nikic/php-parser/grammar/phpyLang.php
vendored
192
vendor/nikic/php-parser/grammar/phpyLang.php
vendored
@ -1,192 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
///////////////////////////////
|
|
||||||
/// Utility regex constants ///
|
|
||||||
///////////////////////////////
|
|
||||||
|
|
||||||
const LIB = '(?(DEFINE)
|
|
||||||
(?<singleQuotedString>\'[^\\\\\']*+(?:\\\\.[^\\\\\']*+)*+\')
|
|
||||||
(?<doubleQuotedString>"[^\\\\"]*+(?:\\\\.[^\\\\"]*+)*+")
|
|
||||||
(?<string>(?&singleQuotedString)|(?&doubleQuotedString))
|
|
||||||
(?<comment>/\*[^*]*+(?:\*(?!/)[^*]*+)*+\*/)
|
|
||||||
(?<code>\{[^\'"/{}]*+(?:(?:(?&string)|(?&comment)|(?&code)|/)[^\'"/{}]*+)*+})
|
|
||||||
)';
|
|
||||||
|
|
||||||
const PARAMS = '\[(?<params>[^[\]]*+(?:\[(?¶ms)\][^[\]]*+)*+)\]';
|
|
||||||
const ARGS = '\((?<args>[^()]*+(?:\((?&args)\)[^()]*+)*+)\)';
|
|
||||||
|
|
||||||
///////////////////////////////
|
|
||||||
/// Preprocessing functions ///
|
|
||||||
///////////////////////////////
|
|
||||||
|
|
||||||
function preprocessGrammar($code) {
|
|
||||||
$code = resolveNodes($code);
|
|
||||||
$code = resolveMacros($code);
|
|
||||||
$code = resolveStackAccess($code);
|
|
||||||
|
|
||||||
return $code;
|
|
||||||
}
|
|
||||||
|
|
||||||
function resolveNodes($code) {
|
|
||||||
return preg_replace_callback(
|
|
||||||
'~\b(?<name>[A-Z][a-zA-Z_\\\\]++)\s*' . PARAMS . '~',
|
|
||||||
function($matches) {
|
|
||||||
// recurse
|
|
||||||
$matches['params'] = resolveNodes($matches['params']);
|
|
||||||
|
|
||||||
$params = magicSplit(
|
|
||||||
'(?:' . PARAMS . '|' . ARGS . ')(*SKIP)(*FAIL)|,',
|
|
||||||
$matches['params']
|
|
||||||
);
|
|
||||||
|
|
||||||
$paramCode = '';
|
|
||||||
foreach ($params as $param) {
|
|
||||||
$paramCode .= $param . ', ';
|
|
||||||
}
|
|
||||||
|
|
||||||
return 'new ' . $matches['name'] . '(' . $paramCode . 'attributes())';
|
|
||||||
},
|
|
||||||
$code
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function resolveMacros($code) {
|
|
||||||
return preg_replace_callback(
|
|
||||||
'~\b(?<!::|->)(?!array\()(?<name>[a-z][A-Za-z]++)' . ARGS . '~',
|
|
||||||
function($matches) {
|
|
||||||
// recurse
|
|
||||||
$matches['args'] = resolveMacros($matches['args']);
|
|
||||||
|
|
||||||
$name = $matches['name'];
|
|
||||||
$args = magicSplit(
|
|
||||||
'(?:' . PARAMS . '|' . ARGS . ')(*SKIP)(*FAIL)|,',
|
|
||||||
$matches['args']
|
|
||||||
);
|
|
||||||
|
|
||||||
if ('attributes' === $name) {
|
|
||||||
assertArgs(0, $args, $name);
|
|
||||||
return '$this->startAttributeStack[#1] + $this->endAttributes';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('stackAttributes' === $name) {
|
|
||||||
assertArgs(1, $args, $name);
|
|
||||||
return '$this->startAttributeStack[' . $args[0] . ']'
|
|
||||||
. ' + $this->endAttributeStack[' . $args[0] . ']';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('init' === $name) {
|
|
||||||
return '$$ = array(' . implode(', ', $args) . ')';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('push' === $name) {
|
|
||||||
assertArgs(2, $args, $name);
|
|
||||||
|
|
||||||
return $args[0] . '[] = ' . $args[1] . '; $$ = ' . $args[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('pushNormalizing' === $name) {
|
|
||||||
assertArgs(2, $args, $name);
|
|
||||||
|
|
||||||
return 'if (is_array(' . $args[1] . ')) { $$ = array_merge(' . $args[0] . ', ' . $args[1] . '); }'
|
|
||||||
. ' else { ' . $args[0] . '[] = ' . $args[1] . '; $$ = ' . $args[0] . '; }';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('toArray' == $name) {
|
|
||||||
assertArgs(1, $args, $name);
|
|
||||||
|
|
||||||
return 'is_array(' . $args[0] . ') ? ' . $args[0] . ' : array(' . $args[0] . ')';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('parseVar' === $name) {
|
|
||||||
assertArgs(1, $args, $name);
|
|
||||||
|
|
||||||
return 'substr(' . $args[0] . ', 1)';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('parseEncapsed' === $name) {
|
|
||||||
assertArgs(3, $args, $name);
|
|
||||||
|
|
||||||
return 'foreach (' . $args[0] . ' as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) {'
|
|
||||||
. ' $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, ' . $args[1] . ', ' . $args[2] . '); } }';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('makeNop' === $name) {
|
|
||||||
assertArgs(3, $args, $name);
|
|
||||||
|
|
||||||
return '$startAttributes = ' . $args[1] . ';'
|
|
||||||
. ' if (isset($startAttributes[\'comments\']))'
|
|
||||||
. ' { ' . $args[0] . ' = new Stmt\Nop($startAttributes + ' . $args[2] . '); }'
|
|
||||||
. ' else { ' . $args[0] . ' = null; }';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('makeZeroLengthNop' == $name) {
|
|
||||||
assertArgs(2, $args, $name);
|
|
||||||
|
|
||||||
return '$startAttributes = ' . $args[1] . ';'
|
|
||||||
. ' if (isset($startAttributes[\'comments\']))'
|
|
||||||
. ' { ' . $args[0] . ' = new Stmt\Nop($this->createCommentNopAttributes($startAttributes[\'comments\'])); }'
|
|
||||||
. ' else { ' . $args[0] . ' = null; }';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('strKind' === $name) {
|
|
||||||
assertArgs(1, $args, $name);
|
|
||||||
|
|
||||||
return '(' . $args[0] . '[0] === "\'" || (' . $args[0] . '[1] === "\'" && '
|
|
||||||
. '(' . $args[0] . '[0] === \'b\' || ' . $args[0] . '[0] === \'B\')) '
|
|
||||||
. '? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED)';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ('prependLeadingComments' === $name) {
|
|
||||||
assertArgs(1, $args, $name);
|
|
||||||
|
|
||||||
return '$attrs = $this->startAttributeStack[#1]; $stmts = ' . $args[0] . '; '
|
|
||||||
. 'if (!empty($attrs[\'comments\'])) {'
|
|
||||||
. '$stmts[0]->setAttribute(\'comments\', '
|
|
||||||
. 'array_merge($attrs[\'comments\'], $stmts[0]->getAttribute(\'comments\', []))); }';
|
|
||||||
}
|
|
||||||
|
|
||||||
return $matches[0];
|
|
||||||
},
|
|
||||||
$code
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function assertArgs($num, $args, $name) {
|
|
||||||
if ($num != count($args)) {
|
|
||||||
die('Wrong argument count for ' . $name . '().');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function resolveStackAccess($code) {
|
|
||||||
$code = preg_replace('/\$\d+/', '$this->semStack[$0]', $code);
|
|
||||||
$code = preg_replace('/#(\d+)/', '$$1', $code);
|
|
||||||
return $code;
|
|
||||||
}
|
|
||||||
|
|
||||||
function removeTrailingWhitespace($code) {
|
|
||||||
$lines = explode("\n", $code);
|
|
||||||
$lines = array_map('rtrim', $lines);
|
|
||||||
return implode("\n", $lines);
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////
|
|
||||||
/// Regex helper functions ///
|
|
||||||
//////////////////////////////
|
|
||||||
|
|
||||||
function regex($regex) {
|
|
||||||
return '~' . LIB . '(?:' . str_replace('~', '\~', $regex) . ')~';
|
|
||||||
}
|
|
||||||
|
|
||||||
function magicSplit($regex, $string) {
|
|
||||||
$pieces = preg_split(regex('(?:(?&string)|(?&comment)|(?&code))(*SKIP)(*FAIL)|' . $regex), $string);
|
|
||||||
|
|
||||||
foreach ($pieces as &$piece) {
|
|
||||||
$piece = trim($piece);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($pieces === ['']) {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $pieces;
|
|
||||||
}
|
|
@ -1,81 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
require __DIR__ . '/phpyLang.php';
|
|
||||||
|
|
||||||
$grammarFileToName = [
|
|
||||||
__DIR__ . '/php5.y' => 'Php5',
|
|
||||||
__DIR__ . '/php7.y' => 'Php7',
|
|
||||||
];
|
|
||||||
|
|
||||||
$tokensFile = __DIR__ . '/tokens.y';
|
|
||||||
$tokensTemplate = __DIR__ . '/tokens.template';
|
|
||||||
$skeletonFile = __DIR__ . '/parser.template';
|
|
||||||
$tmpGrammarFile = __DIR__ . '/tmp_parser.phpy';
|
|
||||||
$tmpResultFile = __DIR__ . '/tmp_parser.php';
|
|
||||||
$resultDir = __DIR__ . '/../lib/PhpParser/Parser';
|
|
||||||
$tokensResultsFile = $resultDir . '/Tokens.php';
|
|
||||||
|
|
||||||
$kmyacc = getenv('KMYACC');
|
|
||||||
if (!$kmyacc) {
|
|
||||||
// Use phpyacc from dev dependencies by default.
|
|
||||||
$kmyacc = __DIR__ . '/../vendor/bin/phpyacc';
|
|
||||||
}
|
|
||||||
|
|
||||||
$options = array_flip($argv);
|
|
||||||
$optionDebug = isset($options['--debug']);
|
|
||||||
$optionKeepTmpGrammar = isset($options['--keep-tmp-grammar']);
|
|
||||||
|
|
||||||
///////////////////
|
|
||||||
/// Main script ///
|
|
||||||
///////////////////
|
|
||||||
|
|
||||||
$tokens = file_get_contents($tokensFile);
|
|
||||||
|
|
||||||
foreach ($grammarFileToName as $grammarFile => $name) {
|
|
||||||
echo "Building temporary $name grammar file.\n";
|
|
||||||
|
|
||||||
$grammarCode = file_get_contents($grammarFile);
|
|
||||||
$grammarCode = str_replace('%tokens', $tokens, $grammarCode);
|
|
||||||
$grammarCode = preprocessGrammar($grammarCode);
|
|
||||||
|
|
||||||
file_put_contents($tmpGrammarFile, $grammarCode);
|
|
||||||
|
|
||||||
$additionalArgs = $optionDebug ? '-t -v' : '';
|
|
||||||
|
|
||||||
echo "Building $name parser.\n";
|
|
||||||
$output = execCmd("$kmyacc $additionalArgs -m $skeletonFile -p $name $tmpGrammarFile");
|
|
||||||
|
|
||||||
$resultCode = file_get_contents($tmpResultFile);
|
|
||||||
$resultCode = removeTrailingWhitespace($resultCode);
|
|
||||||
|
|
||||||
ensureDirExists($resultDir);
|
|
||||||
file_put_contents("$resultDir/$name.php", $resultCode);
|
|
||||||
unlink($tmpResultFile);
|
|
||||||
|
|
||||||
echo "Building token definition.\n";
|
|
||||||
$output = execCmd("$kmyacc -m $tokensTemplate $tmpGrammarFile");
|
|
||||||
rename($tmpResultFile, $tokensResultsFile);
|
|
||||||
|
|
||||||
if (!$optionKeepTmpGrammar) {
|
|
||||||
unlink($tmpGrammarFile);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////
|
|
||||||
/// Utility helper functions ///
|
|
||||||
////////////////////////////////
|
|
||||||
|
|
||||||
function ensureDirExists($dir) {
|
|
||||||
if (!is_dir($dir)) {
|
|
||||||
mkdir($dir, 0777, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function execCmd($cmd) {
|
|
||||||
$output = trim(shell_exec("$cmd 2>&1"));
|
|
||||||
if ($output !== "") {
|
|
||||||
echo "> " . $cmd . "\n";
|
|
||||||
echo $output;
|
|
||||||
}
|
|
||||||
return $output;
|
|
||||||
}
|
|
17
vendor/nikic/php-parser/grammar/tokens.template
vendored
17
vendor/nikic/php-parser/grammar/tokens.template
vendored
@ -1,17 +0,0 @@
|
|||||||
<?php
|
|
||||||
$meta #
|
|
||||||
#semval($) $this->semValue
|
|
||||||
#semval($,%t) $this->semValue
|
|
||||||
#semval(%n) $this->stackPos-(%l-%n)
|
|
||||||
#semval(%n,%t) $this->stackPos-(%l-%n)
|
|
||||||
|
|
||||||
namespace PhpParser\Parser;
|
|
||||||
#include;
|
|
||||||
|
|
||||||
/* GENERATED file based on grammar/tokens.y */
|
|
||||||
final class Tokens
|
|
||||||
{
|
|
||||||
#tokenval
|
|
||||||
const %s = %n;
|
|
||||||
#endtokenval
|
|
||||||
}
|
|
115
vendor/nikic/php-parser/grammar/tokens.y
vendored
115
vendor/nikic/php-parser/grammar/tokens.y
vendored
@ -1,115 +0,0 @@
|
|||||||
/* We currently rely on the token ID mapping to be the same between PHP 5 and PHP 7 - so the same lexer can be used for
|
|
||||||
* both. This is enforced by sharing this token file. */
|
|
||||||
|
|
||||||
%right T_THROW
|
|
||||||
%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE
|
|
||||||
%left ','
|
|
||||||
%left T_LOGICAL_OR
|
|
||||||
%left T_LOGICAL_XOR
|
|
||||||
%left T_LOGICAL_AND
|
|
||||||
%right T_PRINT
|
|
||||||
%right T_YIELD
|
|
||||||
%right T_DOUBLE_ARROW
|
|
||||||
%right T_YIELD_FROM
|
|
||||||
%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL T_POW_EQUAL T_COALESCE_EQUAL
|
|
||||||
%left '?' ':'
|
|
||||||
%right T_COALESCE
|
|
||||||
%left T_BOOLEAN_OR
|
|
||||||
%left T_BOOLEAN_AND
|
|
||||||
%left '|'
|
|
||||||
%left '^'
|
|
||||||
%left T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG
|
|
||||||
%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL T_SPACESHIP
|
|
||||||
%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL
|
|
||||||
%left T_SL T_SR
|
|
||||||
%left '+' '-' '.'
|
|
||||||
%left '*' '/' '%'
|
|
||||||
%right '!'
|
|
||||||
%nonassoc T_INSTANCEOF
|
|
||||||
%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@'
|
|
||||||
%right T_POW
|
|
||||||
%right '['
|
|
||||||
%nonassoc T_NEW T_CLONE
|
|
||||||
%token T_EXIT
|
|
||||||
%token T_IF
|
|
||||||
%left T_ELSEIF
|
|
||||||
%left T_ELSE
|
|
||||||
%left T_ENDIF
|
|
||||||
%token T_LNUMBER
|
|
||||||
%token T_DNUMBER
|
|
||||||
%token T_STRING
|
|
||||||
%token T_STRING_VARNAME
|
|
||||||
%token T_VARIABLE
|
|
||||||
%token T_NUM_STRING
|
|
||||||
%token T_INLINE_HTML
|
|
||||||
%token T_ENCAPSED_AND_WHITESPACE
|
|
||||||
%token T_CONSTANT_ENCAPSED_STRING
|
|
||||||
%token T_ECHO
|
|
||||||
%token T_DO
|
|
||||||
%token T_WHILE
|
|
||||||
%token T_ENDWHILE
|
|
||||||
%token T_FOR
|
|
||||||
%token T_ENDFOR
|
|
||||||
%token T_FOREACH
|
|
||||||
%token T_ENDFOREACH
|
|
||||||
%token T_DECLARE
|
|
||||||
%token T_ENDDECLARE
|
|
||||||
%token T_AS
|
|
||||||
%token T_SWITCH
|
|
||||||
%token T_MATCH
|
|
||||||
%token T_ENDSWITCH
|
|
||||||
%token T_CASE
|
|
||||||
%token T_DEFAULT
|
|
||||||
%token T_BREAK
|
|
||||||
%token T_CONTINUE
|
|
||||||
%token T_GOTO
|
|
||||||
%token T_FUNCTION
|
|
||||||
%token T_FN
|
|
||||||
%token T_CONST
|
|
||||||
%token T_RETURN
|
|
||||||
%token T_TRY
|
|
||||||
%token T_CATCH
|
|
||||||
%token T_FINALLY
|
|
||||||
%token T_THROW
|
|
||||||
%token T_USE
|
|
||||||
%token T_INSTEADOF
|
|
||||||
%token T_GLOBAL
|
|
||||||
%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC T_READONLY
|
|
||||||
%token T_VAR
|
|
||||||
%token T_UNSET
|
|
||||||
%token T_ISSET
|
|
||||||
%token T_EMPTY
|
|
||||||
%token T_HALT_COMPILER
|
|
||||||
%token T_CLASS
|
|
||||||
%token T_TRAIT
|
|
||||||
%token T_INTERFACE
|
|
||||||
%token T_ENUM
|
|
||||||
%token T_EXTENDS
|
|
||||||
%token T_IMPLEMENTS
|
|
||||||
%token T_OBJECT_OPERATOR
|
|
||||||
%token T_NULLSAFE_OBJECT_OPERATOR
|
|
||||||
%token T_DOUBLE_ARROW
|
|
||||||
%token T_LIST
|
|
||||||
%token T_ARRAY
|
|
||||||
%token T_CALLABLE
|
|
||||||
%token T_CLASS_C
|
|
||||||
%token T_TRAIT_C
|
|
||||||
%token T_METHOD_C
|
|
||||||
%token T_FUNC_C
|
|
||||||
%token T_LINE
|
|
||||||
%token T_FILE
|
|
||||||
%token T_START_HEREDOC
|
|
||||||
%token T_END_HEREDOC
|
|
||||||
%token T_DOLLAR_OPEN_CURLY_BRACES
|
|
||||||
%token T_CURLY_OPEN
|
|
||||||
%token T_PAAMAYIM_NEKUDOTAYIM
|
|
||||||
%token T_NAMESPACE
|
|
||||||
%token T_NS_C
|
|
||||||
%token T_DIR
|
|
||||||
%token T_NS_SEPARATOR
|
|
||||||
%token T_ELLIPSIS
|
|
||||||
%token T_NAME_FULLY_QUALIFIED
|
|
||||||
%token T_NAME_QUALIFIED
|
|
||||||
%token T_NAME_RELATIVE
|
|
||||||
%token T_ATTRIBUTE
|
|
||||||
%token T_ENUM
|
|
@ -1,13 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser;
|
|
||||||
|
|
||||||
interface Builder
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Returns the built node.
|
|
||||||
*
|
|
||||||
* @return Node The built node
|
|
||||||
*/
|
|
||||||
public function getNode() : Node;
|
|
||||||
}
|
|
@ -1,132 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Const_;
|
|
||||||
use PhpParser\Node\Identifier;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
|
|
||||||
class ClassConst implements PhpParser\Builder
|
|
||||||
{
|
|
||||||
protected $flags = 0;
|
|
||||||
protected $attributes = [];
|
|
||||||
protected $constants = [];
|
|
||||||
|
|
||||||
/** @var Node\AttributeGroup[] */
|
|
||||||
protected $attributeGroups = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a class constant builder
|
|
||||||
*
|
|
||||||
* @param string|Identifier $name Name
|
|
||||||
* @param Node\Expr|bool|null|int|float|string|array $value Value
|
|
||||||
*/
|
|
||||||
public function __construct($name, $value) {
|
|
||||||
$this->constants = [new Const_($name, BuilderHelpers::normalizeValue($value))];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add another constant to const group
|
|
||||||
*
|
|
||||||
* @param string|Identifier $name Name
|
|
||||||
* @param Node\Expr|bool|null|int|float|string|array $value Value
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addConst($name, $value) {
|
|
||||||
$this->constants[] = new Const_($name, BuilderHelpers::normalizeValue($value));
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the constant public.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makePublic() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PUBLIC);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the constant protected.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeProtected() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PROTECTED);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the constant private.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makePrivate() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PRIVATE);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the constant final.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeFinal() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_FINAL);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets doc comment for the constant.
|
|
||||||
*
|
|
||||||
* @param PhpParser\Comment\Doc|string $docComment Doc comment to set
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function setDocComment($docComment) {
|
|
||||||
$this->attributes = [
|
|
||||||
'comments' => [BuilderHelpers::normalizeDocComment($docComment)]
|
|
||||||
];
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds an attribute group.
|
|
||||||
*
|
|
||||||
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addAttribute($attribute) {
|
|
||||||
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the built class node.
|
|
||||||
*
|
|
||||||
* @return Stmt\ClassConst The built constant node
|
|
||||||
*/
|
|
||||||
public function getNode(): PhpParser\Node {
|
|
||||||
return new Stmt\ClassConst(
|
|
||||||
$this->constants,
|
|
||||||
$this->flags,
|
|
||||||
$this->attributes,
|
|
||||||
$this->attributeGroups
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,140 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Name;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
|
|
||||||
class Class_ extends Declaration
|
|
||||||
{
|
|
||||||
protected $name;
|
|
||||||
|
|
||||||
protected $extends = null;
|
|
||||||
protected $implements = [];
|
|
||||||
protected $flags = 0;
|
|
||||||
|
|
||||||
protected $uses = [];
|
|
||||||
protected $constants = [];
|
|
||||||
protected $properties = [];
|
|
||||||
protected $methods = [];
|
|
||||||
|
|
||||||
/** @var Node\AttributeGroup[] */
|
|
||||||
protected $attributeGroups = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a class builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the class
|
|
||||||
*/
|
|
||||||
public function __construct(string $name) {
|
|
||||||
$this->name = $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extends a class.
|
|
||||||
*
|
|
||||||
* @param Name|string $class Name of class to extend
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function extend($class) {
|
|
||||||
$this->extends = BuilderHelpers::normalizeName($class);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Implements one or more interfaces.
|
|
||||||
*
|
|
||||||
* @param Name|string ...$interfaces Names of interfaces to implement
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function implement(...$interfaces) {
|
|
||||||
foreach ($interfaces as $interface) {
|
|
||||||
$this->implements[] = BuilderHelpers::normalizeName($interface);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the class abstract.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeAbstract() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_ABSTRACT);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the class final.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeFinal() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_FINAL);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a statement.
|
|
||||||
*
|
|
||||||
* @param Stmt|PhpParser\Builder $stmt The statement to add
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addStmt($stmt) {
|
|
||||||
$stmt = BuilderHelpers::normalizeNode($stmt);
|
|
||||||
|
|
||||||
$targets = [
|
|
||||||
Stmt\TraitUse::class => &$this->uses,
|
|
||||||
Stmt\ClassConst::class => &$this->constants,
|
|
||||||
Stmt\Property::class => &$this->properties,
|
|
||||||
Stmt\ClassMethod::class => &$this->methods,
|
|
||||||
];
|
|
||||||
|
|
||||||
$class = \get_class($stmt);
|
|
||||||
if (!isset($targets[$class])) {
|
|
||||||
throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType()));
|
|
||||||
}
|
|
||||||
|
|
||||||
$targets[$class][] = $stmt;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds an attribute group.
|
|
||||||
*
|
|
||||||
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addAttribute($attribute) {
|
|
||||||
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the built class node.
|
|
||||||
*
|
|
||||||
* @return Stmt\Class_ The built class node
|
|
||||||
*/
|
|
||||||
public function getNode() : PhpParser\Node {
|
|
||||||
return new Stmt\Class_($this->name, [
|
|
||||||
'flags' => $this->flags,
|
|
||||||
'extends' => $this->extends,
|
|
||||||
'implements' => $this->implements,
|
|
||||||
'stmts' => array_merge($this->uses, $this->constants, $this->properties, $this->methods),
|
|
||||||
'attrGroups' => $this->attributeGroups,
|
|
||||||
], $this->attributes);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,43 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
|
|
||||||
abstract class Declaration implements PhpParser\Builder
|
|
||||||
{
|
|
||||||
protected $attributes = [];
|
|
||||||
|
|
||||||
abstract public function addStmt($stmt);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds multiple statements.
|
|
||||||
*
|
|
||||||
* @param array $stmts The statements to add
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addStmts(array $stmts) {
|
|
||||||
foreach ($stmts as $stmt) {
|
|
||||||
$this->addStmt($stmt);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets doc comment for the declaration.
|
|
||||||
*
|
|
||||||
* @param PhpParser\Comment\Doc|string $docComment Doc comment to set
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function setDocComment($docComment) {
|
|
||||||
$this->attributes['comments'] = [
|
|
||||||
BuilderHelpers::normalizeDocComment($docComment)
|
|
||||||
];
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,85 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Identifier;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
|
|
||||||
class EnumCase implements PhpParser\Builder
|
|
||||||
{
|
|
||||||
protected $name;
|
|
||||||
protected $value = null;
|
|
||||||
protected $attributes = [];
|
|
||||||
|
|
||||||
/** @var Node\AttributeGroup[] */
|
|
||||||
protected $attributeGroups = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an enum case builder.
|
|
||||||
*
|
|
||||||
* @param string|Identifier $name Name
|
|
||||||
*/
|
|
||||||
public function __construct($name) {
|
|
||||||
$this->name = $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the value.
|
|
||||||
*
|
|
||||||
* @param Node\Expr|string|int $value
|
|
||||||
*
|
|
||||||
* @return $this
|
|
||||||
*/
|
|
||||||
public function setValue($value) {
|
|
||||||
$this->value = BuilderHelpers::normalizeValue($value);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets doc comment for the constant.
|
|
||||||
*
|
|
||||||
* @param PhpParser\Comment\Doc|string $docComment Doc comment to set
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function setDocComment($docComment) {
|
|
||||||
$this->attributes = [
|
|
||||||
'comments' => [BuilderHelpers::normalizeDocComment($docComment)]
|
|
||||||
];
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds an attribute group.
|
|
||||||
*
|
|
||||||
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addAttribute($attribute) {
|
|
||||||
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the built enum case node.
|
|
||||||
*
|
|
||||||
* @return Stmt\EnumCase The built constant node
|
|
||||||
*/
|
|
||||||
public function getNode(): PhpParser\Node {
|
|
||||||
return new Stmt\EnumCase(
|
|
||||||
$this->name,
|
|
||||||
$this->value,
|
|
||||||
$this->attributes,
|
|
||||||
$this->attributeGroups
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,117 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Identifier;
|
|
||||||
use PhpParser\Node\Name;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
|
|
||||||
class Enum_ extends Declaration
|
|
||||||
{
|
|
||||||
protected $name;
|
|
||||||
protected $scalarType = null;
|
|
||||||
|
|
||||||
protected $implements = [];
|
|
||||||
|
|
||||||
protected $uses = [];
|
|
||||||
protected $enumCases = [];
|
|
||||||
protected $constants = [];
|
|
||||||
protected $methods = [];
|
|
||||||
|
|
||||||
/** @var Node\AttributeGroup[] */
|
|
||||||
protected $attributeGroups = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an enum builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the enum
|
|
||||||
*/
|
|
||||||
public function __construct(string $name) {
|
|
||||||
$this->name = $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the scalar type.
|
|
||||||
*
|
|
||||||
* @param string|Identifier $type
|
|
||||||
*
|
|
||||||
* @return $this
|
|
||||||
*/
|
|
||||||
public function setScalarType($scalarType) {
|
|
||||||
$this->scalarType = BuilderHelpers::normalizeType($scalarType);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Implements one or more interfaces.
|
|
||||||
*
|
|
||||||
* @param Name|string ...$interfaces Names of interfaces to implement
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function implement(...$interfaces) {
|
|
||||||
foreach ($interfaces as $interface) {
|
|
||||||
$this->implements[] = BuilderHelpers::normalizeName($interface);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a statement.
|
|
||||||
*
|
|
||||||
* @param Stmt|PhpParser\Builder $stmt The statement to add
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addStmt($stmt) {
|
|
||||||
$stmt = BuilderHelpers::normalizeNode($stmt);
|
|
||||||
|
|
||||||
$targets = [
|
|
||||||
Stmt\TraitUse::class => &$this->uses,
|
|
||||||
Stmt\EnumCase::class => &$this->enumCases,
|
|
||||||
Stmt\ClassConst::class => &$this->constants,
|
|
||||||
Stmt\ClassMethod::class => &$this->methods,
|
|
||||||
];
|
|
||||||
|
|
||||||
$class = \get_class($stmt);
|
|
||||||
if (!isset($targets[$class])) {
|
|
||||||
throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType()));
|
|
||||||
}
|
|
||||||
|
|
||||||
$targets[$class][] = $stmt;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds an attribute group.
|
|
||||||
*
|
|
||||||
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addAttribute($attribute) {
|
|
||||||
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the built class node.
|
|
||||||
*
|
|
||||||
* @return Stmt\Enum_ The built enum node
|
|
||||||
*/
|
|
||||||
public function getNode() : PhpParser\Node {
|
|
||||||
return new Stmt\Enum_($this->name, [
|
|
||||||
'scalarType' => $this->scalarType,
|
|
||||||
'implements' => $this->implements,
|
|
||||||
'stmts' => array_merge($this->uses, $this->enumCases, $this->constants, $this->methods),
|
|
||||||
'attrGroups' => $this->attributeGroups,
|
|
||||||
], $this->attributes);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,73 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
|
|
||||||
abstract class FunctionLike extends Declaration
|
|
||||||
{
|
|
||||||
protected $returnByRef = false;
|
|
||||||
protected $params = [];
|
|
||||||
|
|
||||||
/** @var string|Node\Name|Node\NullableType|null */
|
|
||||||
protected $returnType = null;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Make the function return by reference.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeReturnByRef() {
|
|
||||||
$this->returnByRef = true;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a parameter.
|
|
||||||
*
|
|
||||||
* @param Node\Param|Param $param The parameter to add
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addParam($param) {
|
|
||||||
$param = BuilderHelpers::normalizeNode($param);
|
|
||||||
|
|
||||||
if (!$param instanceof Node\Param) {
|
|
||||||
throw new \LogicException(sprintf('Expected parameter node, got "%s"', $param->getType()));
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->params[] = $param;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds multiple parameters.
|
|
||||||
*
|
|
||||||
* @param array $params The parameters to add
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addParams(array $params) {
|
|
||||||
foreach ($params as $param) {
|
|
||||||
$this->addParam($param);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the return type for PHP 7.
|
|
||||||
*
|
|
||||||
* @param string|Node\Name|Node\Identifier|Node\ComplexType $type
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function setReturnType($type) {
|
|
||||||
$this->returnType = BuilderHelpers::normalizeType($type);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,67 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
|
|
||||||
class Function_ extends FunctionLike
|
|
||||||
{
|
|
||||||
protected $name;
|
|
||||||
protected $stmts = [];
|
|
||||||
|
|
||||||
/** @var Node\AttributeGroup[] */
|
|
||||||
protected $attributeGroups = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a function builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the function
|
|
||||||
*/
|
|
||||||
public function __construct(string $name) {
|
|
||||||
$this->name = $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a statement.
|
|
||||||
*
|
|
||||||
* @param Node|PhpParser\Builder $stmt The statement to add
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addStmt($stmt) {
|
|
||||||
$this->stmts[] = BuilderHelpers::normalizeStmt($stmt);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds an attribute group.
|
|
||||||
*
|
|
||||||
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addAttribute($attribute) {
|
|
||||||
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the built function node.
|
|
||||||
*
|
|
||||||
* @return Stmt\Function_ The built function node
|
|
||||||
*/
|
|
||||||
public function getNode() : Node {
|
|
||||||
return new Stmt\Function_($this->name, [
|
|
||||||
'byRef' => $this->returnByRef,
|
|
||||||
'params' => $this->params,
|
|
||||||
'returnType' => $this->returnType,
|
|
||||||
'stmts' => $this->stmts,
|
|
||||||
'attrGroups' => $this->attributeGroups,
|
|
||||||
], $this->attributes);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,93 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Name;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
|
|
||||||
class Interface_ extends Declaration
|
|
||||||
{
|
|
||||||
protected $name;
|
|
||||||
protected $extends = [];
|
|
||||||
protected $constants = [];
|
|
||||||
protected $methods = [];
|
|
||||||
|
|
||||||
/** @var Node\AttributeGroup[] */
|
|
||||||
protected $attributeGroups = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an interface builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the interface
|
|
||||||
*/
|
|
||||||
public function __construct(string $name) {
|
|
||||||
$this->name = $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extends one or more interfaces.
|
|
||||||
*
|
|
||||||
* @param Name|string ...$interfaces Names of interfaces to extend
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function extend(...$interfaces) {
|
|
||||||
foreach ($interfaces as $interface) {
|
|
||||||
$this->extends[] = BuilderHelpers::normalizeName($interface);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a statement.
|
|
||||||
*
|
|
||||||
* @param Stmt|PhpParser\Builder $stmt The statement to add
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addStmt($stmt) {
|
|
||||||
$stmt = BuilderHelpers::normalizeNode($stmt);
|
|
||||||
|
|
||||||
if ($stmt instanceof Stmt\ClassConst) {
|
|
||||||
$this->constants[] = $stmt;
|
|
||||||
} elseif ($stmt instanceof Stmt\ClassMethod) {
|
|
||||||
// we erase all statements in the body of an interface method
|
|
||||||
$stmt->stmts = null;
|
|
||||||
$this->methods[] = $stmt;
|
|
||||||
} else {
|
|
||||||
throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType()));
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds an attribute group.
|
|
||||||
*
|
|
||||||
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addAttribute($attribute) {
|
|
||||||
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the built interface node.
|
|
||||||
*
|
|
||||||
* @return Stmt\Interface_ The built interface node
|
|
||||||
*/
|
|
||||||
public function getNode() : PhpParser\Node {
|
|
||||||
return new Stmt\Interface_($this->name, [
|
|
||||||
'extends' => $this->extends,
|
|
||||||
'stmts' => array_merge($this->constants, $this->methods),
|
|
||||||
'attrGroups' => $this->attributeGroups,
|
|
||||||
], $this->attributes);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,146 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
|
|
||||||
class Method extends FunctionLike
|
|
||||||
{
|
|
||||||
protected $name;
|
|
||||||
protected $flags = 0;
|
|
||||||
|
|
||||||
/** @var array|null */
|
|
||||||
protected $stmts = [];
|
|
||||||
|
|
||||||
/** @var Node\AttributeGroup[] */
|
|
||||||
protected $attributeGroups = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a method builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the method
|
|
||||||
*/
|
|
||||||
public function __construct(string $name) {
|
|
||||||
$this->name = $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the method public.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makePublic() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PUBLIC);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the method protected.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeProtected() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PROTECTED);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the method private.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makePrivate() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PRIVATE);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the method static.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeStatic() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_STATIC);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the method abstract.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeAbstract() {
|
|
||||||
if (!empty($this->stmts)) {
|
|
||||||
throw new \LogicException('Cannot make method with statements abstract');
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_ABSTRACT);
|
|
||||||
$this->stmts = null; // abstract methods don't have statements
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the method final.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeFinal() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_FINAL);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a statement.
|
|
||||||
*
|
|
||||||
* @param Node|PhpParser\Builder $stmt The statement to add
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addStmt($stmt) {
|
|
||||||
if (null === $this->stmts) {
|
|
||||||
throw new \LogicException('Cannot add statements to an abstract method');
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->stmts[] = BuilderHelpers::normalizeStmt($stmt);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds an attribute group.
|
|
||||||
*
|
|
||||||
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addAttribute($attribute) {
|
|
||||||
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the built method node.
|
|
||||||
*
|
|
||||||
* @return Stmt\ClassMethod The built method node
|
|
||||||
*/
|
|
||||||
public function getNode() : Node {
|
|
||||||
return new Stmt\ClassMethod($this->name, [
|
|
||||||
'flags' => $this->flags,
|
|
||||||
'byRef' => $this->returnByRef,
|
|
||||||
'params' => $this->params,
|
|
||||||
'returnType' => $this->returnType,
|
|
||||||
'stmts' => $this->stmts,
|
|
||||||
'attrGroups' => $this->attributeGroups,
|
|
||||||
], $this->attributes);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,45 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
|
|
||||||
class Namespace_ extends Declaration
|
|
||||||
{
|
|
||||||
private $name;
|
|
||||||
private $stmts = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a namespace builder.
|
|
||||||
*
|
|
||||||
* @param Node\Name|string|null $name Name of the namespace
|
|
||||||
*/
|
|
||||||
public function __construct($name) {
|
|
||||||
$this->name = null !== $name ? BuilderHelpers::normalizeName($name) : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a statement.
|
|
||||||
*
|
|
||||||
* @param Node|PhpParser\Builder $stmt The statement to add
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addStmt($stmt) {
|
|
||||||
$this->stmts[] = BuilderHelpers::normalizeStmt($stmt);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the built node.
|
|
||||||
*
|
|
||||||
* @return Stmt\Namespace_ The built node
|
|
||||||
*/
|
|
||||||
public function getNode() : Node {
|
|
||||||
return new Stmt\Namespace_($this->name, $this->stmts, $this->attributes);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,122 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
|
|
||||||
class Param implements PhpParser\Builder
|
|
||||||
{
|
|
||||||
protected $name;
|
|
||||||
|
|
||||||
protected $default = null;
|
|
||||||
|
|
||||||
/** @var Node\Identifier|Node\Name|Node\NullableType|null */
|
|
||||||
protected $type = null;
|
|
||||||
|
|
||||||
protected $byRef = false;
|
|
||||||
|
|
||||||
protected $variadic = false;
|
|
||||||
|
|
||||||
/** @var Node\AttributeGroup[] */
|
|
||||||
protected $attributeGroups = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a parameter builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the parameter
|
|
||||||
*/
|
|
||||||
public function __construct(string $name) {
|
|
||||||
$this->name = $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets default value for the parameter.
|
|
||||||
*
|
|
||||||
* @param mixed $value Default value to use
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function setDefault($value) {
|
|
||||||
$this->default = BuilderHelpers::normalizeValue($value);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets type for the parameter.
|
|
||||||
*
|
|
||||||
* @param string|Node\Name|Node\Identifier|Node\ComplexType $type Parameter type
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function setType($type) {
|
|
||||||
$this->type = BuilderHelpers::normalizeType($type);
|
|
||||||
if ($this->type == 'void') {
|
|
||||||
throw new \LogicException('Parameter type cannot be void');
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets type for the parameter.
|
|
||||||
*
|
|
||||||
* @param string|Node\Name|Node\Identifier|Node\ComplexType $type Parameter type
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*
|
|
||||||
* @deprecated Use setType() instead
|
|
||||||
*/
|
|
||||||
public function setTypeHint($type) {
|
|
||||||
return $this->setType($type);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Make the parameter accept the value by reference.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeByRef() {
|
|
||||||
$this->byRef = true;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Make the parameter variadic
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeVariadic() {
|
|
||||||
$this->variadic = true;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds an attribute group.
|
|
||||||
*
|
|
||||||
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addAttribute($attribute) {
|
|
||||||
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the built parameter node.
|
|
||||||
*
|
|
||||||
* @return Node\Param The built parameter node
|
|
||||||
*/
|
|
||||||
public function getNode() : Node {
|
|
||||||
return new Node\Param(
|
|
||||||
new Node\Expr\Variable($this->name),
|
|
||||||
$this->default, $this->type, $this->byRef, $this->variadic, [], 0, $this->attributeGroups
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,161 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Identifier;
|
|
||||||
use PhpParser\Node\Name;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
use PhpParser\Node\ComplexType;
|
|
||||||
|
|
||||||
class Property implements PhpParser\Builder
|
|
||||||
{
|
|
||||||
protected $name;
|
|
||||||
|
|
||||||
protected $flags = 0;
|
|
||||||
protected $default = null;
|
|
||||||
protected $attributes = [];
|
|
||||||
|
|
||||||
/** @var null|Identifier|Name|NullableType */
|
|
||||||
protected $type;
|
|
||||||
|
|
||||||
/** @var Node\AttributeGroup[] */
|
|
||||||
protected $attributeGroups = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a property builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the property
|
|
||||||
*/
|
|
||||||
public function __construct(string $name) {
|
|
||||||
$this->name = $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the property public.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makePublic() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PUBLIC);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the property protected.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeProtected() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PROTECTED);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the property private.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makePrivate() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PRIVATE);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the property static.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeStatic() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_STATIC);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Makes the property readonly.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeReadonly() {
|
|
||||||
$this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_READONLY);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets default value for the property.
|
|
||||||
*
|
|
||||||
* @param mixed $value Default value to use
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function setDefault($value) {
|
|
||||||
$this->default = BuilderHelpers::normalizeValue($value);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets doc comment for the property.
|
|
||||||
*
|
|
||||||
* @param PhpParser\Comment\Doc|string $docComment Doc comment to set
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function setDocComment($docComment) {
|
|
||||||
$this->attributes = [
|
|
||||||
'comments' => [BuilderHelpers::normalizeDocComment($docComment)]
|
|
||||||
];
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the property type for PHP 7.4+.
|
|
||||||
*
|
|
||||||
* @param string|Name|Identifier|ComplexType $type
|
|
||||||
*
|
|
||||||
* @return $this
|
|
||||||
*/
|
|
||||||
public function setType($type) {
|
|
||||||
$this->type = BuilderHelpers::normalizeType($type);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds an attribute group.
|
|
||||||
*
|
|
||||||
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addAttribute($attribute) {
|
|
||||||
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the built class node.
|
|
||||||
*
|
|
||||||
* @return Stmt\Property The built property node
|
|
||||||
*/
|
|
||||||
public function getNode() : PhpParser\Node {
|
|
||||||
return new Stmt\Property(
|
|
||||||
$this->flags !== 0 ? $this->flags : Stmt\Class_::MODIFIER_PUBLIC,
|
|
||||||
[
|
|
||||||
new Stmt\PropertyProperty($this->name, $this->default)
|
|
||||||
],
|
|
||||||
$this->attributes,
|
|
||||||
$this->type,
|
|
||||||
$this->attributeGroups
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,64 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser\Builder;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
|
|
||||||
class TraitUse implements Builder
|
|
||||||
{
|
|
||||||
protected $traits = [];
|
|
||||||
protected $adaptations = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a trait use builder.
|
|
||||||
*
|
|
||||||
* @param Node\Name|string ...$traits Names of used traits
|
|
||||||
*/
|
|
||||||
public function __construct(...$traits) {
|
|
||||||
foreach ($traits as $trait) {
|
|
||||||
$this->and($trait);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds used trait.
|
|
||||||
*
|
|
||||||
* @param Node\Name|string $trait Trait name
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function and($trait) {
|
|
||||||
$this->traits[] = BuilderHelpers::normalizeName($trait);
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds trait adaptation.
|
|
||||||
*
|
|
||||||
* @param Stmt\TraitUseAdaptation|Builder\TraitUseAdaptation $adaptation Trait adaptation
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function with($adaptation) {
|
|
||||||
$adaptation = BuilderHelpers::normalizeNode($adaptation);
|
|
||||||
|
|
||||||
if (!$adaptation instanceof Stmt\TraitUseAdaptation) {
|
|
||||||
throw new \LogicException('Adaptation must have type TraitUseAdaptation');
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->adaptations[] = $adaptation;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the built node.
|
|
||||||
*
|
|
||||||
* @return Node The built node
|
|
||||||
*/
|
|
||||||
public function getNode() : Node {
|
|
||||||
return new Stmt\TraitUse($this->traits, $this->adaptations);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,148 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser\Builder;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
|
|
||||||
class TraitUseAdaptation implements Builder
|
|
||||||
{
|
|
||||||
const TYPE_UNDEFINED = 0;
|
|
||||||
const TYPE_ALIAS = 1;
|
|
||||||
const TYPE_PRECEDENCE = 2;
|
|
||||||
|
|
||||||
/** @var int Type of building adaptation */
|
|
||||||
protected $type;
|
|
||||||
|
|
||||||
protected $trait;
|
|
||||||
protected $method;
|
|
||||||
|
|
||||||
protected $modifier = null;
|
|
||||||
protected $alias = null;
|
|
||||||
|
|
||||||
protected $insteadof = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a trait use adaptation builder.
|
|
||||||
*
|
|
||||||
* @param Node\Name|string|null $trait Name of adaptated trait
|
|
||||||
* @param Node\Identifier|string $method Name of adaptated method
|
|
||||||
*/
|
|
||||||
public function __construct($trait, $method) {
|
|
||||||
$this->type = self::TYPE_UNDEFINED;
|
|
||||||
|
|
||||||
$this->trait = is_null($trait)? null: BuilderHelpers::normalizeName($trait);
|
|
||||||
$this->method = BuilderHelpers::normalizeIdentifier($method);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets alias of method.
|
|
||||||
*
|
|
||||||
* @param Node\Identifier|string $alias Alias for adaptated method
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function as($alias) {
|
|
||||||
if ($this->type === self::TYPE_UNDEFINED) {
|
|
||||||
$this->type = self::TYPE_ALIAS;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->type !== self::TYPE_ALIAS) {
|
|
||||||
throw new \LogicException('Cannot set alias for not alias adaptation buider');
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->alias = $alias;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets adaptated method public.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makePublic() {
|
|
||||||
$this->setModifier(Stmt\Class_::MODIFIER_PUBLIC);
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets adaptated method protected.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makeProtected() {
|
|
||||||
$this->setModifier(Stmt\Class_::MODIFIER_PROTECTED);
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets adaptated method private.
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function makePrivate() {
|
|
||||||
$this->setModifier(Stmt\Class_::MODIFIER_PRIVATE);
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds overwritten traits.
|
|
||||||
*
|
|
||||||
* @param Node\Name|string ...$traits Traits for overwrite
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function insteadof(...$traits) {
|
|
||||||
if ($this->type === self::TYPE_UNDEFINED) {
|
|
||||||
if (is_null($this->trait)) {
|
|
||||||
throw new \LogicException('Precedence adaptation must have trait');
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->type = self::TYPE_PRECEDENCE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->type !== self::TYPE_PRECEDENCE) {
|
|
||||||
throw new \LogicException('Cannot add overwritten traits for not precedence adaptation buider');
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($traits as $trait) {
|
|
||||||
$this->insteadof[] = BuilderHelpers::normalizeName($trait);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function setModifier(int $modifier) {
|
|
||||||
if ($this->type === self::TYPE_UNDEFINED) {
|
|
||||||
$this->type = self::TYPE_ALIAS;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($this->type !== self::TYPE_ALIAS) {
|
|
||||||
throw new \LogicException('Cannot set access modifier for not alias adaptation buider');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (is_null($this->modifier)) {
|
|
||||||
$this->modifier = $modifier;
|
|
||||||
} else {
|
|
||||||
throw new \LogicException('Multiple access type modifiers are not allowed');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the built node.
|
|
||||||
*
|
|
||||||
* @return Node The built node
|
|
||||||
*/
|
|
||||||
public function getNode() : Node {
|
|
||||||
switch ($this->type) {
|
|
||||||
case self::TYPE_ALIAS:
|
|
||||||
return new Stmt\TraitUseAdaptation\Alias($this->trait, $this->method, $this->modifier, $this->alias);
|
|
||||||
case self::TYPE_PRECEDENCE:
|
|
||||||
return new Stmt\TraitUseAdaptation\Precedence($this->trait, $this->method, $this->insteadof);
|
|
||||||
default:
|
|
||||||
throw new \LogicException('Type of adaptation is not defined');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,78 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
|
|
||||||
class Trait_ extends Declaration
|
|
||||||
{
|
|
||||||
protected $name;
|
|
||||||
protected $uses = [];
|
|
||||||
protected $properties = [];
|
|
||||||
protected $methods = [];
|
|
||||||
|
|
||||||
/** @var Node\AttributeGroup[] */
|
|
||||||
protected $attributeGroups = [];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an interface builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the interface
|
|
||||||
*/
|
|
||||||
public function __construct(string $name) {
|
|
||||||
$this->name = $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a statement.
|
|
||||||
*
|
|
||||||
* @param Stmt|PhpParser\Builder $stmt The statement to add
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addStmt($stmt) {
|
|
||||||
$stmt = BuilderHelpers::normalizeNode($stmt);
|
|
||||||
|
|
||||||
if ($stmt instanceof Stmt\Property) {
|
|
||||||
$this->properties[] = $stmt;
|
|
||||||
} elseif ($stmt instanceof Stmt\ClassMethod) {
|
|
||||||
$this->methods[] = $stmt;
|
|
||||||
} elseif ($stmt instanceof Stmt\TraitUse) {
|
|
||||||
$this->uses[] = $stmt;
|
|
||||||
} else {
|
|
||||||
throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType()));
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds an attribute group.
|
|
||||||
*
|
|
||||||
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function addAttribute($attribute) {
|
|
||||||
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the built trait node.
|
|
||||||
*
|
|
||||||
* @return Stmt\Trait_ The built interface node
|
|
||||||
*/
|
|
||||||
public function getNode() : PhpParser\Node {
|
|
||||||
return new Stmt\Trait_(
|
|
||||||
$this->name, [
|
|
||||||
'stmts' => array_merge($this->uses, $this->properties, $this->methods),
|
|
||||||
'attrGroups' => $this->attributeGroups,
|
|
||||||
], $this->attributes
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,49 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser\Builder;
|
|
||||||
|
|
||||||
use PhpParser\Builder;
|
|
||||||
use PhpParser\BuilderHelpers;
|
|
||||||
use PhpParser\Node;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
|
|
||||||
class Use_ implements Builder
|
|
||||||
{
|
|
||||||
protected $name;
|
|
||||||
protected $type;
|
|
||||||
protected $alias = null;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a name use (alias) builder.
|
|
||||||
*
|
|
||||||
* @param Node\Name|string $name Name of the entity (namespace, class, function, constant) to alias
|
|
||||||
* @param int $type One of the Stmt\Use_::TYPE_* constants
|
|
||||||
*/
|
|
||||||
public function __construct($name, int $type) {
|
|
||||||
$this->name = BuilderHelpers::normalizeName($name);
|
|
||||||
$this->type = $type;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets alias for used name.
|
|
||||||
*
|
|
||||||
* @param string $alias Alias to use (last component of full name by default)
|
|
||||||
*
|
|
||||||
* @return $this The builder instance (for fluid interface)
|
|
||||||
*/
|
|
||||||
public function as(string $alias) {
|
|
||||||
$this->alias = $alias;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the built node.
|
|
||||||
*
|
|
||||||
* @return Stmt\Use_ The built node
|
|
||||||
*/
|
|
||||||
public function getNode() : Node {
|
|
||||||
return new Stmt\Use_([
|
|
||||||
new Stmt\UseUse($this->name, $this->alias)
|
|
||||||
], $this->type);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,399 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser;
|
|
||||||
|
|
||||||
use PhpParser\Node\Arg;
|
|
||||||
use PhpParser\Node\Expr;
|
|
||||||
use PhpParser\Node\Expr\BinaryOp\Concat;
|
|
||||||
use PhpParser\Node\Identifier;
|
|
||||||
use PhpParser\Node\Name;
|
|
||||||
use PhpParser\Node\Scalar\String_;
|
|
||||||
use PhpParser\Node\Stmt\Use_;
|
|
||||||
|
|
||||||
class BuilderFactory
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Creates an attribute node.
|
|
||||||
*
|
|
||||||
* @param string|Name $name Name of the attribute
|
|
||||||
* @param array $args Attribute named arguments
|
|
||||||
*
|
|
||||||
* @return Node\Attribute
|
|
||||||
*/
|
|
||||||
public function attribute($name, array $args = []) : Node\Attribute {
|
|
||||||
return new Node\Attribute(
|
|
||||||
BuilderHelpers::normalizeName($name),
|
|
||||||
$this->args($args)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a namespace builder.
|
|
||||||
*
|
|
||||||
* @param null|string|Node\Name $name Name of the namespace
|
|
||||||
*
|
|
||||||
* @return Builder\Namespace_ The created namespace builder
|
|
||||||
*/
|
|
||||||
public function namespace($name) : Builder\Namespace_ {
|
|
||||||
return new Builder\Namespace_($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a class builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the class
|
|
||||||
*
|
|
||||||
* @return Builder\Class_ The created class builder
|
|
||||||
*/
|
|
||||||
public function class(string $name) : Builder\Class_ {
|
|
||||||
return new Builder\Class_($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an interface builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the interface
|
|
||||||
*
|
|
||||||
* @return Builder\Interface_ The created interface builder
|
|
||||||
*/
|
|
||||||
public function interface(string $name) : Builder\Interface_ {
|
|
||||||
return new Builder\Interface_($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a trait builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the trait
|
|
||||||
*
|
|
||||||
* @return Builder\Trait_ The created trait builder
|
|
||||||
*/
|
|
||||||
public function trait(string $name) : Builder\Trait_ {
|
|
||||||
return new Builder\Trait_($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an enum builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the enum
|
|
||||||
*
|
|
||||||
* @return Builder\Enum_ The created enum builder
|
|
||||||
*/
|
|
||||||
public function enum(string $name) : Builder\Enum_ {
|
|
||||||
return new Builder\Enum_($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a trait use builder.
|
|
||||||
*
|
|
||||||
* @param Node\Name|string ...$traits Trait names
|
|
||||||
*
|
|
||||||
* @return Builder\TraitUse The create trait use builder
|
|
||||||
*/
|
|
||||||
public function useTrait(...$traits) : Builder\TraitUse {
|
|
||||||
return new Builder\TraitUse(...$traits);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a trait use adaptation builder.
|
|
||||||
*
|
|
||||||
* @param Node\Name|string|null $trait Trait name
|
|
||||||
* @param Node\Identifier|string $method Method name
|
|
||||||
*
|
|
||||||
* @return Builder\TraitUseAdaptation The create trait use adaptation builder
|
|
||||||
*/
|
|
||||||
public function traitUseAdaptation($trait, $method = null) : Builder\TraitUseAdaptation {
|
|
||||||
if ($method === null) {
|
|
||||||
$method = $trait;
|
|
||||||
$trait = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Builder\TraitUseAdaptation($trait, $method);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a method builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the method
|
|
||||||
*
|
|
||||||
* @return Builder\Method The created method builder
|
|
||||||
*/
|
|
||||||
public function method(string $name) : Builder\Method {
|
|
||||||
return new Builder\Method($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a parameter builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the parameter
|
|
||||||
*
|
|
||||||
* @return Builder\Param The created parameter builder
|
|
||||||
*/
|
|
||||||
public function param(string $name) : Builder\Param {
|
|
||||||
return new Builder\Param($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a property builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the property
|
|
||||||
*
|
|
||||||
* @return Builder\Property The created property builder
|
|
||||||
*/
|
|
||||||
public function property(string $name) : Builder\Property {
|
|
||||||
return new Builder\Property($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a function builder.
|
|
||||||
*
|
|
||||||
* @param string $name Name of the function
|
|
||||||
*
|
|
||||||
* @return Builder\Function_ The created function builder
|
|
||||||
*/
|
|
||||||
public function function(string $name) : Builder\Function_ {
|
|
||||||
return new Builder\Function_($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a namespace/class use builder.
|
|
||||||
*
|
|
||||||
* @param Node\Name|string $name Name of the entity (namespace or class) to alias
|
|
||||||
*
|
|
||||||
* @return Builder\Use_ The created use builder
|
|
||||||
*/
|
|
||||||
public function use($name) : Builder\Use_ {
|
|
||||||
return new Builder\Use_($name, Use_::TYPE_NORMAL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a function use builder.
|
|
||||||
*
|
|
||||||
* @param Node\Name|string $name Name of the function to alias
|
|
||||||
*
|
|
||||||
* @return Builder\Use_ The created use function builder
|
|
||||||
*/
|
|
||||||
public function useFunction($name) : Builder\Use_ {
|
|
||||||
return new Builder\Use_($name, Use_::TYPE_FUNCTION);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a constant use builder.
|
|
||||||
*
|
|
||||||
* @param Node\Name|string $name Name of the const to alias
|
|
||||||
*
|
|
||||||
* @return Builder\Use_ The created use const builder
|
|
||||||
*/
|
|
||||||
public function useConst($name) : Builder\Use_ {
|
|
||||||
return new Builder\Use_($name, Use_::TYPE_CONSTANT);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a class constant builder.
|
|
||||||
*
|
|
||||||
* @param string|Identifier $name Name
|
|
||||||
* @param Node\Expr|bool|null|int|float|string|array $value Value
|
|
||||||
*
|
|
||||||
* @return Builder\ClassConst The created use const builder
|
|
||||||
*/
|
|
||||||
public function classConst($name, $value) : Builder\ClassConst {
|
|
||||||
return new Builder\ClassConst($name, $value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an enum case builder.
|
|
||||||
*
|
|
||||||
* @param string|Identifier $name Name
|
|
||||||
*
|
|
||||||
* @return Builder\EnumCase The created use const builder
|
|
||||||
*/
|
|
||||||
public function enumCase($name) : Builder\EnumCase {
|
|
||||||
return new Builder\EnumCase($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates node a for a literal value.
|
|
||||||
*
|
|
||||||
* @param Expr|bool|null|int|float|string|array $value $value
|
|
||||||
*
|
|
||||||
* @return Expr
|
|
||||||
*/
|
|
||||||
public function val($value) : Expr {
|
|
||||||
return BuilderHelpers::normalizeValue($value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates variable node.
|
|
||||||
*
|
|
||||||
* @param string|Expr $name Name
|
|
||||||
*
|
|
||||||
* @return Expr\Variable
|
|
||||||
*/
|
|
||||||
public function var($name) : Expr\Variable {
|
|
||||||
if (!\is_string($name) && !$name instanceof Expr) {
|
|
||||||
throw new \LogicException('Variable name must be string or Expr');
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Expr\Variable($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Normalizes an argument list.
|
|
||||||
*
|
|
||||||
* Creates Arg nodes for all arguments and converts literal values to expressions.
|
|
||||||
*
|
|
||||||
* @param array $args List of arguments to normalize
|
|
||||||
*
|
|
||||||
* @return Arg[]
|
|
||||||
*/
|
|
||||||
public function args(array $args) : array {
|
|
||||||
$normalizedArgs = [];
|
|
||||||
foreach ($args as $key => $arg) {
|
|
||||||
if (!($arg instanceof Arg)) {
|
|
||||||
$arg = new Arg(BuilderHelpers::normalizeValue($arg));
|
|
||||||
}
|
|
||||||
if (\is_string($key)) {
|
|
||||||
$arg->name = BuilderHelpers::normalizeIdentifier($key);
|
|
||||||
}
|
|
||||||
$normalizedArgs[] = $arg;
|
|
||||||
}
|
|
||||||
return $normalizedArgs;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a function call node.
|
|
||||||
*
|
|
||||||
* @param string|Name|Expr $name Function name
|
|
||||||
* @param array $args Function arguments
|
|
||||||
*
|
|
||||||
* @return Expr\FuncCall
|
|
||||||
*/
|
|
||||||
public function funcCall($name, array $args = []) : Expr\FuncCall {
|
|
||||||
return new Expr\FuncCall(
|
|
||||||
BuilderHelpers::normalizeNameOrExpr($name),
|
|
||||||
$this->args($args)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a method call node.
|
|
||||||
*
|
|
||||||
* @param Expr $var Variable the method is called on
|
|
||||||
* @param string|Identifier|Expr $name Method name
|
|
||||||
* @param array $args Method arguments
|
|
||||||
*
|
|
||||||
* @return Expr\MethodCall
|
|
||||||
*/
|
|
||||||
public function methodCall(Expr $var, $name, array $args = []) : Expr\MethodCall {
|
|
||||||
return new Expr\MethodCall(
|
|
||||||
$var,
|
|
||||||
BuilderHelpers::normalizeIdentifierOrExpr($name),
|
|
||||||
$this->args($args)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a static method call node.
|
|
||||||
*
|
|
||||||
* @param string|Name|Expr $class Class name
|
|
||||||
* @param string|Identifier|Expr $name Method name
|
|
||||||
* @param array $args Method arguments
|
|
||||||
*
|
|
||||||
* @return Expr\StaticCall
|
|
||||||
*/
|
|
||||||
public function staticCall($class, $name, array $args = []) : Expr\StaticCall {
|
|
||||||
return new Expr\StaticCall(
|
|
||||||
BuilderHelpers::normalizeNameOrExpr($class),
|
|
||||||
BuilderHelpers::normalizeIdentifierOrExpr($name),
|
|
||||||
$this->args($args)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates an object creation node.
|
|
||||||
*
|
|
||||||
* @param string|Name|Expr $class Class name
|
|
||||||
* @param array $args Constructor arguments
|
|
||||||
*
|
|
||||||
* @return Expr\New_
|
|
||||||
*/
|
|
||||||
public function new($class, array $args = []) : Expr\New_ {
|
|
||||||
return new Expr\New_(
|
|
||||||
BuilderHelpers::normalizeNameOrExpr($class),
|
|
||||||
$this->args($args)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a constant fetch node.
|
|
||||||
*
|
|
||||||
* @param string|Name $name Constant name
|
|
||||||
*
|
|
||||||
* @return Expr\ConstFetch
|
|
||||||
*/
|
|
||||||
public function constFetch($name) : Expr\ConstFetch {
|
|
||||||
return new Expr\ConstFetch(BuilderHelpers::normalizeName($name));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a property fetch node.
|
|
||||||
*
|
|
||||||
* @param Expr $var Variable holding object
|
|
||||||
* @param string|Identifier|Expr $name Property name
|
|
||||||
*
|
|
||||||
* @return Expr\PropertyFetch
|
|
||||||
*/
|
|
||||||
public function propertyFetch(Expr $var, $name) : Expr\PropertyFetch {
|
|
||||||
return new Expr\PropertyFetch($var, BuilderHelpers::normalizeIdentifierOrExpr($name));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a class constant fetch node.
|
|
||||||
*
|
|
||||||
* @param string|Name|Expr $class Class name
|
|
||||||
* @param string|Identifier $name Constant name
|
|
||||||
*
|
|
||||||
* @return Expr\ClassConstFetch
|
|
||||||
*/
|
|
||||||
public function classConstFetch($class, $name): Expr\ClassConstFetch {
|
|
||||||
return new Expr\ClassConstFetch(
|
|
||||||
BuilderHelpers::normalizeNameOrExpr($class),
|
|
||||||
BuilderHelpers::normalizeIdentifier($name)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates nested Concat nodes from a list of expressions.
|
|
||||||
*
|
|
||||||
* @param Expr|string ...$exprs Expressions or literal strings
|
|
||||||
*
|
|
||||||
* @return Concat
|
|
||||||
*/
|
|
||||||
public function concat(...$exprs) : Concat {
|
|
||||||
$numExprs = count($exprs);
|
|
||||||
if ($numExprs < 2) {
|
|
||||||
throw new \LogicException('Expected at least two expressions');
|
|
||||||
}
|
|
||||||
|
|
||||||
$lastConcat = $this->normalizeStringExpr($exprs[0]);
|
|
||||||
for ($i = 1; $i < $numExprs; $i++) {
|
|
||||||
$lastConcat = new Concat($lastConcat, $this->normalizeStringExpr($exprs[$i]));
|
|
||||||
}
|
|
||||||
return $lastConcat;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string|Expr $expr
|
|
||||||
* @return Expr
|
|
||||||
*/
|
|
||||||
private function normalizeStringExpr($expr) : Expr {
|
|
||||||
if ($expr instanceof Expr) {
|
|
||||||
return $expr;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (\is_string($expr)) {
|
|
||||||
return new String_($expr);
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new \LogicException('Expected string or Expr');
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,313 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser;
|
|
||||||
|
|
||||||
use PhpParser\Node\ComplexType;
|
|
||||||
use PhpParser\Node\Expr;
|
|
||||||
use PhpParser\Node\Identifier;
|
|
||||||
use PhpParser\Node\Name;
|
|
||||||
use PhpParser\Node\NullableType;
|
|
||||||
use PhpParser\Node\Scalar;
|
|
||||||
use PhpParser\Node\Stmt;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class defines helpers used in the implementation of builders. Don't use it directly.
|
|
||||||
*
|
|
||||||
* @internal
|
|
||||||
*/
|
|
||||||
final class BuilderHelpers
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Normalizes a node: Converts builder objects to nodes.
|
|
||||||
*
|
|
||||||
* @param Node|Builder $node The node to normalize
|
|
||||||
*
|
|
||||||
* @return Node The normalized node
|
|
||||||
*/
|
|
||||||
public static function normalizeNode($node) : Node {
|
|
||||||
if ($node instanceof Builder) {
|
|
||||||
return $node->getNode();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($node instanceof Node) {
|
|
||||||
return $node;
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new \LogicException('Expected node or builder object');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Normalizes a node to a statement.
|
|
||||||
*
|
|
||||||
* Expressions are wrapped in a Stmt\Expression node.
|
|
||||||
*
|
|
||||||
* @param Node|Builder $node The node to normalize
|
|
||||||
*
|
|
||||||
* @return Stmt The normalized statement node
|
|
||||||
*/
|
|
||||||
public static function normalizeStmt($node) : Stmt {
|
|
||||||
$node = self::normalizeNode($node);
|
|
||||||
if ($node instanceof Stmt) {
|
|
||||||
return $node;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($node instanceof Expr) {
|
|
||||||
return new Stmt\Expression($node);
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new \LogicException('Expected statement or expression node');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Normalizes strings to Identifier.
|
|
||||||
*
|
|
||||||
* @param string|Identifier $name The identifier to normalize
|
|
||||||
*
|
|
||||||
* @return Identifier The normalized identifier
|
|
||||||
*/
|
|
||||||
public static function normalizeIdentifier($name) : Identifier {
|
|
||||||
if ($name instanceof Identifier) {
|
|
||||||
return $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (\is_string($name)) {
|
|
||||||
return new Identifier($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new \LogicException('Expected string or instance of Node\Identifier');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Normalizes strings to Identifier, also allowing expressions.
|
|
||||||
*
|
|
||||||
* @param string|Identifier|Expr $name The identifier to normalize
|
|
||||||
*
|
|
||||||
* @return Identifier|Expr The normalized identifier or expression
|
|
||||||
*/
|
|
||||||
public static function normalizeIdentifierOrExpr($name) {
|
|
||||||
if ($name instanceof Identifier || $name instanceof Expr) {
|
|
||||||
return $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (\is_string($name)) {
|
|
||||||
return new Identifier($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new \LogicException('Expected string or instance of Node\Identifier or Node\Expr');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Normalizes a name: Converts string names to Name nodes.
|
|
||||||
*
|
|
||||||
* @param Name|string $name The name to normalize
|
|
||||||
*
|
|
||||||
* @return Name The normalized name
|
|
||||||
*/
|
|
||||||
public static function normalizeName($name) : Name {
|
|
||||||
if ($name instanceof Name) {
|
|
||||||
return $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (is_string($name)) {
|
|
||||||
if (!$name) {
|
|
||||||
throw new \LogicException('Name cannot be empty');
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($name[0] === '\\') {
|
|
||||||
return new Name\FullyQualified(substr($name, 1));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (0 === strpos($name, 'namespace\\')) {
|
|
||||||
return new Name\Relative(substr($name, strlen('namespace\\')));
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Name($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new \LogicException('Name must be a string or an instance of Node\Name');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Normalizes a name: Converts string names to Name nodes, while also allowing expressions.
|
|
||||||
*
|
|
||||||
* @param Expr|Name|string $name The name to normalize
|
|
||||||
*
|
|
||||||
* @return Name|Expr The normalized name or expression
|
|
||||||
*/
|
|
||||||
public static function normalizeNameOrExpr($name) {
|
|
||||||
if ($name instanceof Expr) {
|
|
||||||
return $name;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!is_string($name) && !($name instanceof Name)) {
|
|
||||||
throw new \LogicException(
|
|
||||||
'Name must be a string or an instance of Node\Name or Node\Expr'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return self::normalizeName($name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Normalizes a type: Converts plain-text type names into proper AST representation.
|
|
||||||
*
|
|
||||||
* In particular, builtin types become Identifiers, custom types become Names and nullables
|
|
||||||
* are wrapped in NullableType nodes.
|
|
||||||
*
|
|
||||||
* @param string|Name|Identifier|ComplexType $type The type to normalize
|
|
||||||
*
|
|
||||||
* @return Name|Identifier|ComplexType The normalized type
|
|
||||||
*/
|
|
||||||
public static function normalizeType($type) {
|
|
||||||
if (!is_string($type)) {
|
|
||||||
if (
|
|
||||||
!$type instanceof Name && !$type instanceof Identifier &&
|
|
||||||
!$type instanceof ComplexType
|
|
||||||
) {
|
|
||||||
throw new \LogicException(
|
|
||||||
'Type must be a string, or an instance of Name, Identifier or ComplexType'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return $type;
|
|
||||||
}
|
|
||||||
|
|
||||||
$nullable = false;
|
|
||||||
if (strlen($type) > 0 && $type[0] === '?') {
|
|
||||||
$nullable = true;
|
|
||||||
$type = substr($type, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
$builtinTypes = [
|
|
||||||
'array', 'callable', 'string', 'int', 'float', 'bool', 'iterable', 'void', 'object', 'mixed', 'never',
|
|
||||||
];
|
|
||||||
|
|
||||||
$lowerType = strtolower($type);
|
|
||||||
if (in_array($lowerType, $builtinTypes)) {
|
|
||||||
$type = new Identifier($lowerType);
|
|
||||||
} else {
|
|
||||||
$type = self::normalizeName($type);
|
|
||||||
}
|
|
||||||
|
|
||||||
$notNullableTypes = [
|
|
||||||
'void', 'mixed', 'never',
|
|
||||||
];
|
|
||||||
if ($nullable && in_array((string) $type, $notNullableTypes)) {
|
|
||||||
throw new \LogicException(sprintf('%s type cannot be nullable', $type));
|
|
||||||
}
|
|
||||||
|
|
||||||
return $nullable ? new NullableType($type) : $type;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Normalizes a value: Converts nulls, booleans, integers,
|
|
||||||
* floats, strings and arrays into their respective nodes
|
|
||||||
*
|
|
||||||
* @param Node\Expr|bool|null|int|float|string|array $value The value to normalize
|
|
||||||
*
|
|
||||||
* @return Expr The normalized value
|
|
||||||
*/
|
|
||||||
public static function normalizeValue($value) : Expr {
|
|
||||||
if ($value instanceof Node\Expr) {
|
|
||||||
return $value;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (is_null($value)) {
|
|
||||||
return new Expr\ConstFetch(
|
|
||||||
new Name('null')
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (is_bool($value)) {
|
|
||||||
return new Expr\ConstFetch(
|
|
||||||
new Name($value ? 'true' : 'false')
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (is_int($value)) {
|
|
||||||
return new Scalar\LNumber($value);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (is_float($value)) {
|
|
||||||
return new Scalar\DNumber($value);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (is_string($value)) {
|
|
||||||
return new Scalar\String_($value);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (is_array($value)) {
|
|
||||||
$items = [];
|
|
||||||
$lastKey = -1;
|
|
||||||
foreach ($value as $itemKey => $itemValue) {
|
|
||||||
// for consecutive, numeric keys don't generate keys
|
|
||||||
if (null !== $lastKey && ++$lastKey === $itemKey) {
|
|
||||||
$items[] = new Expr\ArrayItem(
|
|
||||||
self::normalizeValue($itemValue)
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
$lastKey = null;
|
|
||||||
$items[] = new Expr\ArrayItem(
|
|
||||||
self::normalizeValue($itemValue),
|
|
||||||
self::normalizeValue($itemKey)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Expr\Array_($items);
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new \LogicException('Invalid value');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Normalizes a doc comment: Converts plain strings to PhpParser\Comment\Doc.
|
|
||||||
*
|
|
||||||
* @param Comment\Doc|string $docComment The doc comment to normalize
|
|
||||||
*
|
|
||||||
* @return Comment\Doc The normalized doc comment
|
|
||||||
*/
|
|
||||||
public static function normalizeDocComment($docComment) : Comment\Doc {
|
|
||||||
if ($docComment instanceof Comment\Doc) {
|
|
||||||
return $docComment;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (is_string($docComment)) {
|
|
||||||
return new Comment\Doc($docComment);
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new \LogicException('Doc comment must be a string or an instance of PhpParser\Comment\Doc');
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Normalizes a attribute: Converts attribute to the Attribute Group if needed.
|
|
||||||
*
|
|
||||||
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
||||||
*
|
|
||||||
* @return Node\AttributeGroup The Attribute Group
|
|
||||||
*/
|
|
||||||
public static function normalizeAttribute($attribute) : Node\AttributeGroup
|
|
||||||
{
|
|
||||||
if ($attribute instanceof Node\AttributeGroup) {
|
|
||||||
return $attribute;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!($attribute instanceof Node\Attribute)) {
|
|
||||||
throw new \LogicException('Attribute must be an instance of PhpParser\Node\Attribute or PhpParser\Node\AttributeGroup');
|
|
||||||
}
|
|
||||||
|
|
||||||
return new Node\AttributeGroup([$attribute]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a modifier and returns new modifier bitmask.
|
|
||||||
*
|
|
||||||
* @param int $modifiers Existing modifiers
|
|
||||||
* @param int $modifier Modifier to set
|
|
||||||
*
|
|
||||||
* @return int New modifiers
|
|
||||||
*/
|
|
||||||
public static function addModifier(int $modifiers, int $modifier) : int {
|
|
||||||
Stmt\Class_::verifyModifier($modifiers, $modifier);
|
|
||||||
return $modifiers | $modifier;
|
|
||||||
}
|
|
||||||
}
|
|
239
vendor/nikic/php-parser/lib/PhpParser/Comment.php
vendored
239
vendor/nikic/php-parser/lib/PhpParser/Comment.php
vendored
@ -1,239 +0,0 @@
|
|||||||
<?php declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace PhpParser;
|
|
||||||
|
|
||||||
class Comment implements \JsonSerializable
|
|
||||||
{
|
|
||||||
protected $text;
|
|
||||||
protected $startLine;
|
|
||||||
protected $startFilePos;
|
|
||||||
protected $startTokenPos;
|
|
||||||
protected $endLine;
|
|
||||||
protected $endFilePos;
|
|
||||||
protected $endTokenPos;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructs a comment node.
|
|
||||||
*
|
|
||||||
* @param string $text Comment text (including comment delimiters like /*)
|
|
||||||
* @param int $startLine Line number the comment started on
|
|
||||||
* @param int $startFilePos File offset the comment started on
|
|
||||||
* @param int $startTokenPos Token offset the comment started on
|
|
||||||
*/
|
|
||||||
public function __construct(
|
|
||||||
string $text,
|
|
||||||
int $startLine = -1, int $startFilePos = -1, int $startTokenPos = -1,
|
|
||||||
int $endLine = -1, int $endFilePos = -1, int $endTokenPos = -1
|
|
||||||
) {
|
|
||||||
$this->text = $text;
|
|
||||||
$this->startLine = $startLine;
|
|
||||||
$this->startFilePos = $startFilePos;
|
|
||||||
$this->startTokenPos = $startTokenPos;
|
|
||||||
$this->endLine = $endLine;
|
|
||||||
$this->endFilePos = $endFilePos;
|
|
||||||
$this->endTokenPos = $endTokenPos;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the comment text.
|
|
||||||
*
|
|
||||||
* @return string The comment text (including comment delimiters like /*)
|
|
||||||
*/
|
|
||||||
public function getText() : string {
|
|
||||||
return $this->text;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the line number the comment started on.
|
|
||||||
*
|
|
||||||
* @return int Line number (or -1 if not available)
|
|
||||||
*/
|
|
||||||
public function getStartLine() : int {
|
|
||||||
return $this->startLine;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the file offset the comment started on.
|
|
||||||
*
|
|
||||||
* @return int File offset (or -1 if not available)
|
|
||||||
*/
|
|
||||||
public function getStartFilePos() : int {
|
|
||||||
return $this->startFilePos;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the token offset the comment started on.
|
|
||||||
*
|
|
||||||
* @return int Token offset (or -1 if not available)
|
|
||||||
*/
|
|
||||||
public function getStartTokenPos() : int {
|
|
||||||
return $this->startTokenPos;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the line number the comment ends on.
|
|
||||||
*
|
|
||||||
* @return int Line number (or -1 if not available)
|
|
||||||
*/
|
|
||||||
public function getEndLine() : int {
|
|
||||||
return $this->endLine;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the file offset the comment ends on.
|
|
||||||
*
|
|
||||||
* @return int File offset (or -1 if not available)
|
|
||||||
*/
|
|
||||||
public function getEndFilePos() : int {
|
|
||||||
return $this->endFilePos;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the token offset the comment ends on.
|
|
||||||
*
|
|
||||||
* @return int Token offset (or -1 if not available)
|
|
||||||
*/
|
|
||||||
public function getEndTokenPos() : int {
|
|
||||||
return $this->endTokenPos;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the line number the comment started on.
|
|
||||||
*
|
|
||||||
* @deprecated Use getStartLine() instead
|
|
||||||
*
|
|
||||||
* @return int Line number
|
|
||||||
*/
|
|
||||||
public function getLine() : int {
|
|
||||||
return $this->startLine;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the file offset the comment started on.
|
|
||||||
*
|
|
||||||
* @deprecated Use getStartFilePos() instead
|
|
||||||
*
|
|
||||||
* @return int File offset
|
|
||||||
*/
|
|
||||||
public function getFilePos() : int {
|
|
||||||
return $this->startFilePos;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the token offset the comment started on.
|
|
||||||
*
|
|
||||||
* @deprecated Use getStartTokenPos() instead
|
|
||||||
*
|
|
||||||
* @return int Token offset
|
|
||||||
*/
|
|
||||||
public function getTokenPos() : int {
|
|
||||||
return $this->startTokenPos;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the comment text.
|
|
||||||
*
|
|
||||||
* @return string The comment text (including comment delimiters like /*)
|
|
||||||
*/
|
|
||||||
public function __toString() : string {
|
|
||||||
return $this->text;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the reformatted comment text.
|
|
||||||
*
|
|
||||||
* "Reformatted" here means that we try to clean up the whitespace at the
|
|
||||||
* starts of the lines. This is necessary because we receive the comments
|
|
||||||
* without trailing whitespace on the first line, but with trailing whitespace
|
|
||||||
* on all subsequent lines.
|
|
||||||
*
|
|
||||||
* @return mixed|string
|
|
||||||
*/
|
|
||||||
public function getReformattedText() {
|
|
||||||
$text = trim($this->text);
|
|
||||||
$newlinePos = strpos($text, "\n");
|
|
||||||
if (false === $newlinePos) {
|
|
||||||
// Single line comments don't need further processing
|
|
||||||
return $text;
|
|
||||||
} elseif (preg_match('((*BSR_ANYCRLF)(*ANYCRLF)^.*(?:\R\s+\*.*)+$)', $text)) {
|
|
||||||
// Multi line comment of the type
|
|
||||||
//
|
|
||||||
// /*
|
|
||||||
// * Some text.
|
|
||||||
// * Some more text.
|
|
||||||
// */
|
|
||||||
//
|
|
||||||
// is handled by replacing the whitespace sequences before the * by a single space
|
|
||||||
return preg_replace('(^\s+\*)m', ' *', $this->text);
|
|
||||||
} elseif (preg_match('(^/\*\*?\s*[\r\n])', $text) && preg_match('(\n(\s*)\*/$)', $text, $matches)) {
|
|
||||||
// Multi line comment of the type
|
|
||||||
//
|
|
||||||
// /*
|
|
||||||
// Some text.
|
|
||||||
// Some more text.
|
|
||||||
// */
|
|
||||||
//
|
|
||||||
// is handled by removing the whitespace sequence on the line before the closing
|
|
||||||
// */ on all lines. So if the last line is " */", then " " is removed at the
|
|
||||||
// start of all lines.
|
|
||||||
return preg_replace('(^' . preg_quote($matches[1]) . ')m', '', $text);
|
|
||||||
} elseif (preg_match('(^/\*\*?\s*(?!\s))', $text, $matches)) {
|
|
||||||
// Multi line comment of the type
|
|
||||||
//
|
|
||||||
// /* Some text.
|
|
||||||
// Some more text.
|
|
||||||
// Indented text.
|
|
||||||
// Even more text. */
|
|
||||||
//
|
|
||||||
// is handled by removing the difference between the shortest whitespace prefix on all
|
|
||||||
// lines and the length of the "/* " opening sequence.
|
|
||||||
$prefixLen = $this->getShortestWhitespacePrefixLen(substr($text, $newlinePos + 1));
|
|
||||||
$removeLen = $prefixLen - strlen($matches[0]);
|
|
||||||
return preg_replace('(^\s{' . $removeLen . '})m', '', $text);
|
|
||||||
}
|
|
||||||
|
|
||||||
// No idea how to format this comment, so simply return as is
|
|
||||||
return $text;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get length of shortest whitespace prefix (at the start of a line).
|
|
||||||
*
|
|
||||||
* If there is a line with no prefix whitespace, 0 is a valid return value.
|
|
||||||
*
|
|
||||||
* @param string $str String to check
|
|
||||||
* @return int Length in characters. Tabs count as single characters.
|
|
||||||
*/
|
|
||||||
private function getShortestWhitespacePrefixLen(string $str) : int {
|
|
||||||
$lines = explode("\n", $str);
|
|
||||||
$shortestPrefixLen = \INF;
|
|
||||||
foreach ($lines as $line) {
|
|
||||||
preg_match('(^\s*)', $line, $matches);
|
|
||||||
$prefixLen = strlen($matches[0]);
|
|
||||||
if ($prefixLen < $shortestPrefixLen) {
|
|
||||||
$shortestPrefixLen = $prefixLen;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $shortestPrefixLen;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return array
|
|
||||||
* @psalm-return array{nodeType:string, text:mixed, line:mixed, filePos:mixed}
|
|
||||||
*/
|
|
||||||
public function jsonSerialize() : array {
|
|
||||||
// Technically not a node, but we make it look like one anyway
|
|
||||||
$type = $this instanceof Comment\Doc ? 'Comment_Doc' : 'Comment';
|
|
||||||
return [
|
|
||||||
'nodeType' => $type,
|
|
||||||
'text' => $this->text,
|
|
||||||
// TODO: Rename these to include "start".
|
|
||||||
'line' => $this->startLine,
|
|
||||||
'filePos' => $this->startFilePos,
|
|
||||||
'tokenPos' => $this->startTokenPos,
|
|
||||||
'endLine' => $this->endLine,
|
|
||||||
'endFilePos' => $this->endFilePos,
|
|
||||||
'endTokenPos' => $this->endTokenPos,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user