first commit - working
This commit is contained in:
		
							
								
								
									
										9
									
								
								Readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								Readme.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					Acabo de ver este video en youtube, y como pasatiempo he probado a hacerlo en PHP:
 | 
				
			||||||
 | 
					(no he encontrado el documento que usan, al menos el repositorio con el CSV si que esta ahi)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					https://www.youtube.com/watch?v=Gei8PYEPqyw
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					``` 
 | 
				
			||||||
 | 
					$ ./vendor/bin/phpunit tests/TestCases.php
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
							
								
								
									
										26
									
								
								composer.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								composer.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "name": "jdg/top100stars",
 | 
				
			||||||
 | 
					    "description": "https://www.youtube.com/watch?v=Gei8PYEPqyw",
 | 
				
			||||||
 | 
					    "type": "project",
 | 
				
			||||||
 | 
					    "require": {
 | 
				
			||||||
 | 
					        "phpunit/phpunit": "^9.5"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "autoload": {
 | 
				
			||||||
 | 
					        "psr-4": {
 | 
				
			||||||
 | 
					            "Top100stars\\": "src/"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "autoload-dev": {
 | 
				
			||||||
 | 
					        "psr-4": {
 | 
				
			||||||
 | 
					            "Top100stars\\Tests\\": "tests/"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "authors": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "name": "jdg",
 | 
				
			||||||
 | 
					            "email": "jd@infdj.com"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										2112
									
								
								composer.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										2112
									
								
								composer.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2701
									
								
								github-ranking-2018-12-18.csv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2701
									
								
								github-ranking-2018-12-18.csv
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										9
									
								
								src/Interfaces/IGitTop100CSV.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								src/Interfaces/IGitTop100CSV.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Top100stars\Interfaces;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface IGitTop100CSV {
 | 
				
			||||||
 | 
					    public function __construct(?string $fileName);
 | 
				
			||||||
 | 
					    public function getCSV(): ?array;
 | 
				
			||||||
 | 
					    public function setCSV($csv): IGitTop100CSV;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										37
									
								
								src/Models/GitTop100.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								src/Models/GitTop100.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,37 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Top100stars\Models;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use Top100stars\Interfaces\IGitTop100CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class GitTop100 implements IGitTop100CSV {
 | 
				
			||||||
 | 
					    private $csv = null;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function __construct(?string $fileName) {
 | 
				
			||||||
 | 
					        if ($fileName!=null) $this->loadCSV($fileName);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private function loadCSV(string $fileName) {
 | 
				
			||||||
 | 
					        if (($gestor = fopen($fileName, "r")) !== FALSE) {
 | 
				
			||||||
 | 
					            $this->csv = [];
 | 
				
			||||||
 | 
					            while (($datos = fgetcsv($gestor, 1000, ",")) !== FALSE) {
 | 
				
			||||||
 | 
					                $this->csv[] = $datos;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            fclose($gestor);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function setCSV($csv): IGitTop100CSV
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $this->csv = $csv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return $this;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function getCSV(): ?array {
 | 
				
			||||||
 | 
					        return $this->csv;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										28
									
								
								src/Models/TopNLanguage.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								src/Models/TopNLanguage.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Top100stars\Models;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use Top100stars\Interfaces\IGitTop100CSV;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class TopNLanguage {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function __construct(IGitTop100CSV $gitTop100CSV) {
 | 
				
			||||||
 | 
					        $this->gitTop100CSV = $gitTop100CSV;
 | 
				
			||||||
 | 
					    }    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function getNLanguage(int $top, string $language): IGitTop100CSV {
 | 
				
			||||||
 | 
					        $results = new GitTop100(null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        $i=0;
 | 
				
			||||||
 | 
					        $csv = $this->gitTop100CSV->getCSV();
 | 
				
			||||||
 | 
					        $csv_output = [];
 | 
				
			||||||
 | 
					        foreach($csv as $row) {
 | 
				
			||||||
 | 
					        if ($row[1]=='top-100-stars' && $row[5]==$language) {
 | 
				
			||||||
 | 
					                $csv_output[] = $row;
 | 
				
			||||||
 | 
					                if (++$i>=$top) break;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        $results->setCSV($csv_output);
 | 
				
			||||||
 | 
					        return $results;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										27
									
								
								tests/TestCases.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								tests/TestCases.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Top100stars\Tests;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use Top100stars\Models\GitTop100;
 | 
				
			||||||
 | 
					use Top100stars\Models\TopNLanguage;
 | 
				
			||||||
 | 
					use Top100stars\Interfaces\IGitTop100CSV;
 | 
				
			||||||
 | 
					use PHPUnit\Framework\TestCase;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class TestCases extends TestCase
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Get the top 2 of JavaScript
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function testTop2Javascript()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        $gitTop100 = new GitTop100('github-ranking-2018-12-18.csv');
 | 
				
			||||||
 | 
					        $topNLanguage = new TopNLanguage($gitTop100);
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        $results = $topNLanguage->getNLanguage(2, 'JavaScript')->getCSV();
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        // Test 
 | 
				
			||||||
 | 
					        $this->assertEquals(2, count($results));
 | 
				
			||||||
 | 
					        $expected = unserialize('a:2:{i:0;a:11:{i:0;s:1:"1";i:1;s:13:"top-100-stars";i:2;s:12:"freeCodeCamp";i:3;s:6:"296554";i:4;s:5:"20629";i:5;s:10:"JavaScript";i:6;s:44:"https://github.com/freeCodeCamp/freeCodeCamp";i:7;s:12:"freeCodeCamp";i:8;s:4:"6572";i:9;s:20:"2018-12-18T12:16:12Z";i:10;s:126:"The https://www.freeCodeCamp.org open source codebase and curriculum. Learn to code for free together with millions of people.";}i:1;a:11:{i:0;s:1:"3";i:1;s:13:"top-100-stars";i:2;s:3:"vue";i:3;s:6:"122454";i:4;s:5:"17507";i:5;s:10:"JavaScript";i:6;s:28:"https://github.com/vuejs/vue";i:7;s:5:"vuejs";i:8;s:3:"233";i:9;s:20:"2018-12-18T07:38:59Z";i:10;s:92:"🖖 A progressive, incrementally-adoptable JavaScript framework for building UI on the web.";}}');
 | 
				
			||||||
 | 
					        $this->assertEquals($expected, $results);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										7
									
								
								vendor/autoload.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								vendor/autoload.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// autoload.php @generated by Composer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require_once __DIR__ . '/composer/autoload_real.php';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					return ComposerAutoloaderInit71e57d5c4a20c2585baa01003d9d916b::getLoader();
 | 
				
			||||||
							
								
								
									
										1
									
								
								vendor/bin/.phpunit.result.cache
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								vendor/bin/.phpunit.result.cache
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					{"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
									
									
										Executable file
									
								
							
							
						
						
									
										107
									
								
								vendor/bin/php-parse
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@ -0,0 +1,107 @@
 | 
				
			|||||||
 | 
					#!/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
									
									
										Executable file
									
								
							
							
						
						
									
										110
									
								
								vendor/bin/phpunit
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@ -0,0 +1,110 @@
 | 
				
			|||||||
 | 
					#!/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
									
									
										Normal file
									
								
							
							
						
						
									
										572
									
								
								vendor/composer/ClassLoader.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,572 @@
 | 
				
			|||||||
 | 
					<?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
									
									
										Normal file
									
								
							
							
						
						
									
										350
									
								
								vendor/composer/InstalledVersions.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,350 @@
 | 
				
			|||||||
 | 
					<?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
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								vendor/composer/LICENSE
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					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
									
									
										Normal file
									
								
							
							
						
						
									
										635
									
								
								vendor/composer/autoload_classmap.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,635 @@
 | 
				
			|||||||
 | 
					<?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
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								vendor/composer/autoload_files.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					<?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
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								vendor/composer/autoload_namespaces.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// autoload_namespaces.php @generated by Composer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$vendorDir = dirname(dirname(__FILE__));
 | 
				
			||||||
 | 
					$baseDir = dirname($vendorDir);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					return array(
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
							
								
								
									
										18
									
								
								vendor/composer/autoload_psr4.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								vendor/composer/autoload_psr4.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					<?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
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								vendor/composer/autoload_real.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,80 @@
 | 
				
			|||||||
 | 
					<?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
									
									
										Normal file
									
								
							
							
						
						
									
										724
									
								
								vendor/composer/autoload_static.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,724 @@
 | 
				
			|||||||
 | 
					<?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
									
									
										Normal file
									
								
							
							
						
						
									
										2201
									
								
								vendor/composer/installed.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										329
									
								
								vendor/composer/installed.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										329
									
								
								vendor/composer/installed.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,329 @@
 | 
				
			|||||||
 | 
					<?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
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								vendor/composer/platform_check.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					<?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
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										41
									
								
								vendor/doctrine/instantiator/.doctrine-project.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								vendor/doctrine/instantiator/.doctrine-project.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "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"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										3
									
								
								vendor/doctrine/instantiator/.github/FUNDING.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								vendor/doctrine/instantiator/.github/FUNDING.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					patreon: phpdoctrine
 | 
				
			||||||
 | 
					tidelift: packagist/doctrine%2Finstantiator
 | 
				
			||||||
 | 
					custom: https://www.doctrine-project.org/sponsorship.html
 | 
				
			||||||
							
								
								
									
										48
									
								
								vendor/doctrine/instantiator/.github/workflows/coding-standards.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								vendor/doctrine/instantiator/.github/workflows/coding-standards.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,48 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					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"
 | 
				
			||||||
							
								
								
									
										91
									
								
								vendor/doctrine/instantiator/.github/workflows/continuous-integration.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								vendor/doctrine/instantiator/.github/workflows/continuous-integration.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,91 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
							
								
								
									
										50
									
								
								vendor/doctrine/instantiator/.github/workflows/phpbench.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								vendor/doctrine/instantiator/.github/workflows/phpbench.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,50 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					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"
 | 
				
			||||||
							
								
								
									
										45
									
								
								vendor/doctrine/instantiator/.github/workflows/release-on-milestone-closed.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								vendor/doctrine/instantiator/.github/workflows/release-on-milestone-closed.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
				
			|||||||
 | 
					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 }}
 | 
				
			||||||
							
								
								
									
										47
									
								
								vendor/doctrine/instantiator/.github/workflows/static-analysis.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								vendor/doctrine/instantiator/.github/workflows/static-analysis.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					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
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								vendor/doctrine/instantiator/CONTRIBUTING.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,35 @@
 | 
				
			|||||||
 | 
					# 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
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								vendor/doctrine/instantiator/LICENSE
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					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
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								vendor/doctrine/instantiator/README.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					# 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
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								vendor/doctrine/instantiator/composer.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "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
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								vendor/doctrine/instantiator/docs/en/index.rst
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,68 @@
 | 
				
			|||||||
 | 
					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
 | 
				
			||||||
							
								
								
									
										4
									
								
								vendor/doctrine/instantiator/docs/en/sidebar.rst
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								vendor/doctrine/instantiator/docs/en/sidebar.rst
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					.. toctree::
 | 
				
			||||||
 | 
					    :depth: 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    index
 | 
				
			||||||
							
								
								
									
										4
									
								
								vendor/doctrine/instantiator/phpbench.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								vendor/doctrine/instantiator/phpbench.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "bootstrap": "vendor/autoload.php",
 | 
				
			||||||
 | 
					    "path": "tests/DoctrineTest/InstantiatorPerformance"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										50
									
								
								vendor/doctrine/instantiator/phpcs.xml.dist
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								vendor/doctrine/instantiator/phpcs.xml.dist
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,50 @@
 | 
				
			|||||||
 | 
					<?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
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								vendor/doctrine/instantiator/phpstan.neon.dist
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					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'
 | 
				
			||||||
							
								
								
									
										12
									
								
								vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Doctrine\Instantiator\Exception;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use Throwable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Base exception marker interface for the instantiator component
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					interface ExceptionInterface extends Throwable
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										41
									
								
								vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					<?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()
 | 
				
			||||||
 | 
					        ));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										57
									
								
								vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,57 @@
 | 
				
			|||||||
 | 
					<?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)
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										232
									
								
								vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										232
									
								
								vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,232 @@
 | 
				
			|||||||
 | 
					<?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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										23
									
								
								vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					<?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
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								vendor/myclabs/deep-copy/.github/FUNDING.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					# 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
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								vendor/myclabs/deep-copy/LICENSE
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					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
									
									
										Normal file
									
								
							
							
						
						
									
										375
									
								
								vendor/myclabs/deep-copy/README.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,375 @@
 | 
				
			|||||||
 | 
					# 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
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								vendor/myclabs/deep-copy/composer.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "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
									
									
										Normal file
									
								
							
							
						
						
									
										298
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/DeepCopy.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,298 @@
 | 
				
			|||||||
 | 
					<?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;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										9
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Exception/CloneException.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Exception/CloneException.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace DeepCopy\Exception;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use UnexpectedValueException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class CloneException extends UnexpectedValueException
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					} 
 | 
				
			||||||
							
								
								
									
										9
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Exception/PropertyException.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Exception/PropertyException.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace DeepCopy\Exception;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use ReflectionException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class PropertyException extends ReflectionException
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										33
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineCollectionFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineCollectionFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					<?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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										28
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					<?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());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					} 
 | 
				
			||||||
							
								
								
									
										22
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineProxyFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineProxyFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					<?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();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										18
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Filter/Filter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Filter/Filter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					<?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);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										16
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Filter/KeepFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Filter/KeepFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					<?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
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										39
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Filter/ReplaceFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Filter/ReplaceFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					<?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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										24
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Filter/SetNullFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Filter/SetNullFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					<?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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										22
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Matcher/Doctrine/DoctrineProxyMatcher.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Matcher/Doctrine/DoctrineProxyMatcher.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					<?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;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										14
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Matcher/Matcher.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Matcher/Matcher.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace DeepCopy\Matcher;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface Matcher
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * @param object $object
 | 
				
			||||||
 | 
					     * @param string $property
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return boolean
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function matches($object, $property);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										39
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyMatcher.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyMatcher.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					<?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;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										32
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyNameMatcher.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyNameMatcher.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					<?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;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										52
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,52 @@
 | 
				
			|||||||
 | 
					<?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;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										78
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,78 @@
 | 
				
			|||||||
 | 
					<?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
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										33
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					<?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;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										30
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					<?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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										17
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace DeepCopy\TypeFilter;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @final
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					class ShallowCopyFilter implements TypeFilter
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * {@inheritdoc}
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function apply($element)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return clone $element;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										36
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					<?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;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										10
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedList.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedList.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace DeepCopy\TypeFilter\Spl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @deprecated Use {@see SplDoublyLinkedListFilter} instead.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					class SplDoublyLinkedList extends SplDoublyLinkedListFilter
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										51
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedListFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedListFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,51 @@
 | 
				
			|||||||
 | 
					<?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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										13
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/TypeFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/TypeFilter.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					<?php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace DeepCopy\TypeFilter;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface TypeFilter
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Applies the filter to the object.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param mixed $element
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function apply($element);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										29
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeMatcher/TypeMatcher.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/TypeMatcher/TypeMatcher.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					<?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;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										20
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/deep_copy.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								vendor/myclabs/deep-copy/src/DeepCopy/deep_copy.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					<?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
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								vendor/nikic/php-parser/LICENSE
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					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
									
									
										Normal file
									
								
							
							
						
						
									
										225
									
								
								vendor/nikic/php-parser/README.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,225 @@
 | 
				
			|||||||
 | 
					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
									
									
										Executable file
									
								
							
							
						
						
									
										205
									
								
								vendor/nikic/php-parser/bin/php-parse
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@ -0,0 +1,205 @@
 | 
				
			|||||||
 | 
					#!/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
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								vendor/nikic/php-parser/composer.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "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
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								vendor/nikic/php-parser/grammar/README.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					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
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								vendor/nikic/php-parser/grammar/parser.template
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,106 @@
 | 
				
			|||||||
 | 
					<?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
									
									
										Normal file
									
								
							
							
						
						
									
										1040
									
								
								vendor/nikic/php-parser/grammar/php5.y
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1196
									
								
								vendor/nikic/php-parser/grammar/php7.y
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1196
									
								
								vendor/nikic/php-parser/grammar/php7.y
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										192
									
								
								vendor/nikic/php-parser/grammar/phpyLang.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										192
									
								
								vendor/nikic/php-parser/grammar/phpyLang.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,192 @@
 | 
				
			|||||||
 | 
					<?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;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										81
									
								
								vendor/nikic/php-parser/grammar/rebuildParsers.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								vendor/nikic/php-parser/grammar/rebuildParsers.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,81 @@
 | 
				
			|||||||
 | 
					<?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
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								vendor/nikic/php-parser/grammar/tokens.template
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					<?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
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								vendor/nikic/php-parser/grammar/tokens.y
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,115 @@
 | 
				
			|||||||
 | 
					/* 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
 | 
				
			||||||
							
								
								
									
										13
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					<?php declare(strict_types=1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace PhpParser;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface Builder
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Returns the built node.
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return Node The built node
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public function getNode() : Node;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										132
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,132 @@
 | 
				
			|||||||
 | 
					<?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
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										140
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Class_.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										140
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Class_.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,140 @@
 | 
				
			|||||||
 | 
					<?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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										43
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,43 @@
 | 
				
			|||||||
 | 
					<?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;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										85
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,85 @@
 | 
				
			|||||||
 | 
					<?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
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										117
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Enum_.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Enum_.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,117 @@
 | 
				
			|||||||
 | 
					<?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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										73
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,73 @@
 | 
				
			|||||||
 | 
					<?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;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										67
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,67 @@
 | 
				
			|||||||
 | 
					<?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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										93
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,93 @@
 | 
				
			|||||||
 | 
					<?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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										146
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										146
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,146 @@
 | 
				
			|||||||
 | 
					<?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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										45
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
				
			|||||||
 | 
					<?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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										122
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,122 @@
 | 
				
			|||||||
 | 
					<?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
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										161
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,161 @@
 | 
				
			|||||||
 | 
					<?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
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										64
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,64 @@
 | 
				
			|||||||
 | 
					<?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);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user