作者 liyuhang

csdm

正在显示 37 个修改的文件 包含 4862 行增加1 行删除

要显示太多修改。

为保证性能只显示 37 of 37+ 个文件。

1 -*  
2 !.gitignore 1 !.gitignore
  1 +<?php
  2 +
  3 +// autoload.php @generated by Composer
  4 +
  5 +require_once __DIR__ . '/composer' . '/autoload_real.php';
  6 +
  7 +return ComposerAutoloaderInit72a85f69782724a9ddb9dfee0362af6f::getLoader();
  1 +#!/usr/bin/env sh
  2 +
  3 +dir=$(d=${0%[/\\]*}; cd "$d"; cd "../phpunit/phpunit" && pwd)
  4 +
  5 +# See if we are running in Cygwin by checking for cygpath program
  6 +if command -v 'cygpath' >/dev/null 2>&1; then
  7 + # Cygwin paths start with /cygdrive/ which will break windows PHP,
  8 + # so we need to translate the dir path to windows format. However
  9 + # we could be using cygwin PHP which does not require this, so we
  10 + # test if the path to PHP starts with /cygdrive/ rather than /usr/bin
  11 + if [[ $(which php) == /cygdrive/* ]]; then
  12 + dir=$(cygpath -m "$dir");
  13 + fi
  14 +fi
  15 +
  16 +dir=$(echo $dir | sed 's/ /\ /g')
  17 +"${dir}/phpunit" "$@"
  1 +@ECHO OFF
  2 +setlocal DISABLEDELAYEDEXPANSION
  3 +SET BIN_TARGET=%~dp0/../phpunit/phpunit/phpunit
  4 +php "%BIN_TARGET%" %*
  1 +<?php
  2 +
  3 +/*
  4 + * This file is part of Composer.
  5 + *
  6 + * (c) Nils Adermann <naderman@naderman.de>
  7 + * Jordi Boggiano <j.boggiano@seld.be>
  8 + *
  9 + * For the full copyright and license information, please view the LICENSE
  10 + * file that was distributed with this source code.
  11 + */
  12 +
  13 +namespace Composer\Autoload;
  14 +
  15 +/**
  16 + * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
  17 + *
  18 + * $loader = new \Composer\Autoload\ClassLoader();
  19 + *
  20 + * // register classes with namespaces
  21 + * $loader->add('Symfony\Component', __DIR__.'/component');
  22 + * $loader->add('Symfony', __DIR__.'/framework');
  23 + *
  24 + * // activate the autoloader
  25 + * $loader->register();
  26 + *
  27 + * // to enable searching the include path (eg. for PEAR packages)
  28 + * $loader->setUseIncludePath(true);
  29 + *
  30 + * In this example, if you try to use a class in the Symfony\Component
  31 + * namespace or one of its children (Symfony\Component\Console for instance),
  32 + * the autoloader will first look for the class under the component/
  33 + * directory, and it will then fallback to the framework/ directory if not
  34 + * found before giving up.
  35 + *
  36 + * This class is loosely based on the Symfony UniversalClassLoader.
  37 + *
  38 + * @author Fabien Potencier <fabien@symfony.com>
  39 + * @author Jordi Boggiano <j.boggiano@seld.be>
  40 + * @see http://www.php-fig.org/psr/psr-0/
  41 + * @see http://www.php-fig.org/psr/psr-4/
  42 + */
  43 +class ClassLoader
  44 +{
  45 + // PSR-4
  46 + private $prefixLengthsPsr4 = array();
  47 + private $prefixDirsPsr4 = array();
  48 + private $fallbackDirsPsr4 = array();
  49 +
  50 + // PSR-0
  51 + private $prefixesPsr0 = array();
  52 + private $fallbackDirsPsr0 = array();
  53 +
  54 + private $useIncludePath = false;
  55 + private $classMap = array();
  56 + private $classMapAuthoritative = false;
  57 + private $missingClasses = array();
  58 +
  59 + public function getPrefixes()
  60 + {
  61 + if (!empty($this->prefixesPsr0)) {
  62 + return call_user_func_array('array_merge', $this->prefixesPsr0);
  63 + }
  64 +
  65 + return array();
  66 + }
  67 +
  68 + public function getPrefixesPsr4()
  69 + {
  70 + return $this->prefixDirsPsr4;
  71 + }
  72 +
  73 + public function getFallbackDirs()
  74 + {
  75 + return $this->fallbackDirsPsr0;
  76 + }
  77 +
  78 + public function getFallbackDirsPsr4()
  79 + {
  80 + return $this->fallbackDirsPsr4;
  81 + }
  82 +
  83 + public function getClassMap()
  84 + {
  85 + return $this->classMap;
  86 + }
  87 +
  88 + /**
  89 + * @param array $classMap Class to filename map
  90 + */
  91 + public function addClassMap(array $classMap)
  92 + {
  93 + if ($this->classMap) {
  94 + $this->classMap = array_merge($this->classMap, $classMap);
  95 + } else {
  96 + $this->classMap = $classMap;
  97 + }
  98 + }
  99 +
  100 + /**
  101 + * Registers a set of PSR-0 directories for a given prefix, either
  102 + * appending or prepending to the ones previously set for this prefix.
  103 + *
  104 + * @param string $prefix The prefix
  105 + * @param array|string $paths The PSR-0 root directories
  106 + * @param bool $prepend Whether to prepend the directories
  107 + */
  108 + public function add($prefix, $paths, $prepend = false)
  109 + {
  110 + if (!$prefix) {
  111 + if ($prepend) {
  112 + $this->fallbackDirsPsr0 = array_merge(
  113 + (array) $paths,
  114 + $this->fallbackDirsPsr0
  115 + );
  116 + } else {
  117 + $this->fallbackDirsPsr0 = array_merge(
  118 + $this->fallbackDirsPsr0,
  119 + (array) $paths
  120 + );
  121 + }
  122 +
  123 + return;
  124 + }
  125 +
  126 + $first = $prefix[0];
  127 + if (!isset($this->prefixesPsr0[$first][$prefix])) {
  128 + $this->prefixesPsr0[$first][$prefix] = (array) $paths;
  129 +
  130 + return;
  131 + }
  132 + if ($prepend) {
  133 + $this->prefixesPsr0[$first][$prefix] = array_merge(
  134 + (array) $paths,
  135 + $this->prefixesPsr0[$first][$prefix]
  136 + );
  137 + } else {
  138 + $this->prefixesPsr0[$first][$prefix] = array_merge(
  139 + $this->prefixesPsr0[$first][$prefix],
  140 + (array) $paths
  141 + );
  142 + }
  143 + }
  144 +
  145 + /**
  146 + * Registers a set of PSR-4 directories for a given namespace, either
  147 + * appending or prepending to the ones previously set for this namespace.
  148 + *
  149 + * @param string $prefix The prefix/namespace, with trailing '\\'
  150 + * @param array|string $paths The PSR-4 base directories
  151 + * @param bool $prepend Whether to prepend the directories
  152 + *
  153 + * @throws \InvalidArgumentException
  154 + */
  155 + public function addPsr4($prefix, $paths, $prepend = false)
  156 + {
  157 + if (!$prefix) {
  158 + // Register directories for the root namespace.
  159 + if ($prepend) {
  160 + $this->fallbackDirsPsr4 = array_merge(
  161 + (array) $paths,
  162 + $this->fallbackDirsPsr4
  163 + );
  164 + } else {
  165 + $this->fallbackDirsPsr4 = array_merge(
  166 + $this->fallbackDirsPsr4,
  167 + (array) $paths
  168 + );
  169 + }
  170 + } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
  171 + // Register directories for a new namespace.
  172 + $length = strlen($prefix);
  173 + if ('\\' !== $prefix[$length - 1]) {
  174 + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
  175 + }
  176 + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
  177 + $this->prefixDirsPsr4[$prefix] = (array) $paths;
  178 + } elseif ($prepend) {
  179 + // Prepend directories for an already registered namespace.
  180 + $this->prefixDirsPsr4[$prefix] = array_merge(
  181 + (array) $paths,
  182 + $this->prefixDirsPsr4[$prefix]
  183 + );
  184 + } else {
  185 + // Append directories for an already registered namespace.
  186 + $this->prefixDirsPsr4[$prefix] = array_merge(
  187 + $this->prefixDirsPsr4[$prefix],
  188 + (array) $paths
  189 + );
  190 + }
  191 + }
  192 +
  193 + /**
  194 + * Registers a set of PSR-0 directories for a given prefix,
  195 + * replacing any others previously set for this prefix.
  196 + *
  197 + * @param string $prefix The prefix
  198 + * @param array|string $paths The PSR-0 base directories
  199 + */
  200 + public function set($prefix, $paths)
  201 + {
  202 + if (!$prefix) {
  203 + $this->fallbackDirsPsr0 = (array) $paths;
  204 + } else {
  205 + $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
  206 + }
  207 + }
  208 +
  209 + /**
  210 + * Registers a set of PSR-4 directories for a given namespace,
  211 + * replacing any others previously set for this namespace.
  212 + *
  213 + * @param string $prefix The prefix/namespace, with trailing '\\'
  214 + * @param array|string $paths The PSR-4 base directories
  215 + *
  216 + * @throws \InvalidArgumentException
  217 + */
  218 + public function setPsr4($prefix, $paths)
  219 + {
  220 + if (!$prefix) {
  221 + $this->fallbackDirsPsr4 = (array) $paths;
  222 + } else {
  223 + $length = strlen($prefix);
  224 + if ('\\' !== $prefix[$length - 1]) {
  225 + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
  226 + }
  227 + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
  228 + $this->prefixDirsPsr4[$prefix] = (array) $paths;
  229 + }
  230 + }
  231 +
  232 + /**
  233 + * Turns on searching the include path for class files.
  234 + *
  235 + * @param bool $useIncludePath
  236 + */
  237 + public function setUseIncludePath($useIncludePath)
  238 + {
  239 + $this->useIncludePath = $useIncludePath;
  240 + }
  241 +
  242 + /**
  243 + * Can be used to check if the autoloader uses the include path to check
  244 + * for classes.
  245 + *
  246 + * @return bool
  247 + */
  248 + public function getUseIncludePath()
  249 + {
  250 + return $this->useIncludePath;
  251 + }
  252 +
  253 + /**
  254 + * Turns off searching the prefix and fallback directories for classes
  255 + * that have not been registered with the class map.
  256 + *
  257 + * @param bool $classMapAuthoritative
  258 + */
  259 + public function setClassMapAuthoritative($classMapAuthoritative)
  260 + {
  261 + $this->classMapAuthoritative = $classMapAuthoritative;
  262 + }
  263 +
  264 + /**
  265 + * Should class lookup fail if not found in the current class map?
  266 + *
  267 + * @return bool
  268 + */
  269 + public function isClassMapAuthoritative()
  270 + {
  271 + return $this->classMapAuthoritative;
  272 + }
  273 +
  274 + /**
  275 + * Registers this instance as an autoloader.
  276 + *
  277 + * @param bool $prepend Whether to prepend the autoloader or not
  278 + */
  279 + public function register($prepend = false)
  280 + {
  281 + spl_autoload_register(array($this, 'loadClass'), true, $prepend);
  282 + }
  283 +
  284 + /**
  285 + * Unregisters this instance as an autoloader.
  286 + */
  287 + public function unregister()
  288 + {
  289 + spl_autoload_unregister(array($this, 'loadClass'));
  290 + }
  291 +
  292 + /**
  293 + * Loads the given class or interface.
  294 + *
  295 + * @param string $class The name of the class
  296 + * @return bool|null True if loaded, null otherwise
  297 + */
  298 + public function loadClass($class)
  299 + {
  300 + if ($file = $this->findFile($class)) {
  301 + includeFile($file);
  302 +
  303 + return true;
  304 + }
  305 + }
  306 +
  307 + /**
  308 + * Finds the path to the file where the class is defined.
  309 + *
  310 + * @param string $class The name of the class
  311 + *
  312 + * @return string|false The path if found, false otherwise
  313 + */
  314 + public function findFile($class)
  315 + {
  316 + // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
  317 + if ('\\' == $class[0]) {
  318 + $class = substr($class, 1);
  319 + }
  320 +
  321 + // class map lookup
  322 + if (isset($this->classMap[$class])) {
  323 + return $this->classMap[$class];
  324 + }
  325 + if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
  326 + return false;
  327 + }
  328 +
  329 + $file = $this->findFileWithExtension($class, '.php');
  330 +
  331 + // Search for Hack files if we are running on HHVM
  332 + if (false === $file && defined('HHVM_VERSION')) {
  333 + $file = $this->findFileWithExtension($class, '.hh');
  334 + }
  335 +
  336 + if (false === $file) {
  337 + // Remember that this class does not exist.
  338 + $this->missingClasses[$class] = true;
  339 + }
  340 +
  341 + return $file;
  342 + }
  343 +
  344 + private function findFileWithExtension($class, $ext)
  345 + {
  346 + // PSR-4 lookup
  347 + $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
  348 +
  349 + $first = $class[0];
  350 + if (isset($this->prefixLengthsPsr4[$first])) {
  351 + foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
  352 + if (0 === strpos($class, $prefix)) {
  353 + foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
  354 + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
  355 + return $file;
  356 + }
  357 + }
  358 + }
  359 + }
  360 + }
  361 +
  362 + // PSR-4 fallback dirs
  363 + foreach ($this->fallbackDirsPsr4 as $dir) {
  364 + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
  365 + return $file;
  366 + }
  367 + }
  368 +
  369 + // PSR-0 lookup
  370 + if (false !== $pos = strrpos($class, '\\')) {
  371 + // namespaced class name
  372 + $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
  373 + . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
  374 + } else {
  375 + // PEAR-like class name
  376 + $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
  377 + }
  378 +
  379 + if (isset($this->prefixesPsr0[$first])) {
  380 + foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
  381 + if (0 === strpos($class, $prefix)) {
  382 + foreach ($dirs as $dir) {
  383 + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
  384 + return $file;
  385 + }
  386 + }
  387 + }
  388 + }
  389 + }
  390 +
  391 + // PSR-0 fallback dirs
  392 + foreach ($this->fallbackDirsPsr0 as $dir) {
  393 + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
  394 + return $file;
  395 + }
  396 + }
  397 +
  398 + // PSR-0 include paths.
  399 + if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
  400 + return $file;
  401 + }
  402 +
  403 + return false;
  404 + }
  405 +}
  406 +
  407 +/**
  408 + * Scope isolated include.
  409 + *
  410 + * Prevents access to $this/self from included files.
  411 + */
  412 +function includeFile($file)
  413 +{
  414 + include $file;
  415 +}
  1 +
  2 +Copyright (c) 2016 Nils Adermann, Jordi Boggiano
  3 +
  4 +Permission is hereby granted, free of charge, to any person obtaining a copy
  5 +of this software and associated documentation files (the "Software"), to deal
  6 +in the Software without restriction, including without limitation the rights
  7 +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  8 +copies of the Software, and to permit persons to whom the Software is furnished
  9 +to do so, subject to the following conditions:
  10 +
  11 +The above copyright notice and this permission notice shall be included in all
  12 +copies or substantial portions of the Software.
  13 +
  14 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16 +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  17 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18 +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  19 +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  20 +THE SOFTWARE.
  21 +
  1 +<?php
  2 +
  3 +// autoload_classmap.php @generated by Composer
  4 +
  5 +$vendorDir = dirname(dirname(__FILE__));
  6 +$baseDir = dirname($vendorDir);
  7 +
  8 +return array(
  9 + 'File_Iterator' => $vendorDir . '/phpunit/php-file-iterator/src/Iterator.php',
  10 + 'File_Iterator_Facade' => $vendorDir . '/phpunit/php-file-iterator/src/Facade.php',
  11 + 'File_Iterator_Factory' => $vendorDir . '/phpunit/php-file-iterator/src/Factory.php',
  12 + 'PHPUnit_Exception' => $vendorDir . '/phpunit/phpunit/src/Exception.php',
  13 + 'PHPUnit_Extensions_GroupTestSuite' => $vendorDir . '/phpunit/phpunit/src/Extensions/GroupTestSuite.php',
  14 + 'PHPUnit_Extensions_PhptTestCase' => $vendorDir . '/phpunit/phpunit/src/Extensions/PhptTestCase.php',
  15 + 'PHPUnit_Extensions_PhptTestSuite' => $vendorDir . '/phpunit/phpunit/src/Extensions/PhptTestSuite.php',
  16 + 'PHPUnit_Extensions_RepeatedTest' => $vendorDir . '/phpunit/phpunit/src/Extensions/RepeatedTest.php',
  17 + 'PHPUnit_Extensions_TestDecorator' => $vendorDir . '/phpunit/phpunit/src/Extensions/TestDecorator.php',
  18 + 'PHPUnit_Extensions_TicketListener' => $vendorDir . '/phpunit/phpunit/src/Extensions/TicketListener.php',
  19 + 'PHPUnit_Framework_Assert' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert.php',
  20 + 'PHPUnit_Framework_AssertionFailedError' => $vendorDir . '/phpunit/phpunit/src/Framework/AssertionFailedError.php',
  21 + 'PHPUnit_Framework_BaseTestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/BaseTestListener.php',
  22 + 'PHPUnit_Framework_CodeCoverageException' => $vendorDir . '/phpunit/phpunit/src/Framework/CodeCoverageException.php',
  23 + 'PHPUnit_Framework_Constraint' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint.php',
  24 + 'PHPUnit_Framework_Constraint_And' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/And.php',
  25 + 'PHPUnit_Framework_Constraint_ArrayHasKey' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php',
  26 + 'PHPUnit_Framework_Constraint_ArraySubset' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php',
  27 + 'PHPUnit_Framework_Constraint_Attribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Attribute.php',
  28 + 'PHPUnit_Framework_Constraint_Callback' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Callback.php',
  29 + 'PHPUnit_Framework_Constraint_ClassHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php',
  30 + 'PHPUnit_Framework_Constraint_ClassHasStaticAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php',
  31 + 'PHPUnit_Framework_Constraint_Composite' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Composite.php',
  32 + 'PHPUnit_Framework_Constraint_Count' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Count.php',
  33 + 'PHPUnit_Framework_Constraint_Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception.php',
  34 + 'PHPUnit_Framework_Constraint_ExceptionCode' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php',
  35 + 'PHPUnit_Framework_Constraint_ExceptionMessage' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php',
  36 + 'PHPUnit_Framework_Constraint_ExceptionMessageRegExp' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php',
  37 + 'PHPUnit_Framework_Constraint_FileExists' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/FileExists.php',
  38 + 'PHPUnit_Framework_Constraint_GreaterThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php',
  39 + 'PHPUnit_Framework_Constraint_IsAnything' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php',
  40 + 'PHPUnit_Framework_Constraint_IsEmpty' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php',
  41 + 'PHPUnit_Framework_Constraint_IsEqual' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsEqual.php',
  42 + 'PHPUnit_Framework_Constraint_IsFalse' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsFalse.php',
  43 + 'PHPUnit_Framework_Constraint_IsIdentical' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php',
  44 + 'PHPUnit_Framework_Constraint_IsInstanceOf' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php',
  45 + 'PHPUnit_Framework_Constraint_IsJson' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsJson.php',
  46 + 'PHPUnit_Framework_Constraint_IsNull' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsNull.php',
  47 + 'PHPUnit_Framework_Constraint_IsTrue' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsTrue.php',
  48 + 'PHPUnit_Framework_Constraint_IsType' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsType.php',
  49 + 'PHPUnit_Framework_Constraint_JsonMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php',
  50 + 'PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php',
  51 + 'PHPUnit_Framework_Constraint_LessThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/LessThan.php',
  52 + 'PHPUnit_Framework_Constraint_Not' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Not.php',
  53 + 'PHPUnit_Framework_Constraint_ObjectHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php',
  54 + 'PHPUnit_Framework_Constraint_Or' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Or.php',
  55 + 'PHPUnit_Framework_Constraint_PCREMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php',
  56 + 'PHPUnit_Framework_Constraint_SameSize' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/SameSize.php',
  57 + 'PHPUnit_Framework_Constraint_StringContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringContains.php',
  58 + 'PHPUnit_Framework_Constraint_StringEndsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php',
  59 + 'PHPUnit_Framework_Constraint_StringMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringMatches.php',
  60 + 'PHPUnit_Framework_Constraint_StringStartsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php',
  61 + 'PHPUnit_Framework_Constraint_TraversableContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php',
  62 + 'PHPUnit_Framework_Constraint_TraversableContainsOnly' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php',
  63 + 'PHPUnit_Framework_Constraint_Xor' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Xor.php',
  64 + 'PHPUnit_Framework_Error' => $vendorDir . '/phpunit/phpunit/src/Framework/Error.php',
  65 + 'PHPUnit_Framework_Error_Deprecated' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Deprecated.php',
  66 + 'PHPUnit_Framework_Error_Notice' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Notice.php',
  67 + 'PHPUnit_Framework_Error_Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Warning.php',
  68 + 'PHPUnit_Framework_Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception.php',
  69 + 'PHPUnit_Framework_ExceptionWrapper' => $vendorDir . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php',
  70 + 'PHPUnit_Framework_ExpectationFailedException' => $vendorDir . '/phpunit/phpunit/src/Framework/ExpectationFailedException.php',
  71 + 'PHPUnit_Framework_IncompleteTest' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTest.php',
  72 + 'PHPUnit_Framework_IncompleteTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php',
  73 + 'PHPUnit_Framework_IncompleteTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestError.php',
  74 + 'PHPUnit_Framework_InvalidCoversTargetError' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php',
  75 + 'PHPUnit_Framework_InvalidCoversTargetException' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php',
  76 + 'PHPUnit_Framework_MockObject_BadMethodCallException' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php',
  77 + 'PHPUnit_Framework_MockObject_Builder_Identity' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php',
  78 + 'PHPUnit_Framework_MockObject_Builder_InvocationMocker' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php',
  79 + 'PHPUnit_Framework_MockObject_Builder_Match' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php',
  80 + 'PHPUnit_Framework_MockObject_Builder_MethodNameMatch' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php',
  81 + 'PHPUnit_Framework_MockObject_Builder_Namespace' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php',
  82 + 'PHPUnit_Framework_MockObject_Builder_ParametersMatch' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php',
  83 + 'PHPUnit_Framework_MockObject_Builder_Stub' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php',
  84 + 'PHPUnit_Framework_MockObject_Exception' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php',
  85 + 'PHPUnit_Framework_MockObject_Generator' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php',
  86 + 'PHPUnit_Framework_MockObject_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php',
  87 + 'PHPUnit_Framework_MockObject_InvocationMocker' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php',
  88 + 'PHPUnit_Framework_MockObject_Invocation_Object' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php',
  89 + 'PHPUnit_Framework_MockObject_Invocation_Static' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php',
  90 + 'PHPUnit_Framework_MockObject_Invokable' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php',
  91 + 'PHPUnit_Framework_MockObject_Matcher' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php',
  92 + 'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php',
  93 + 'PHPUnit_Framework_MockObject_Matcher_AnyParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php',
  94 + 'PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php',
  95 + 'PHPUnit_Framework_MockObject_Matcher_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php',
  96 + 'PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php',
  97 + 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php',
  98 + 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php',
  99 + 'PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php',
  100 + 'PHPUnit_Framework_MockObject_Matcher_InvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php',
  101 + 'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php',
  102 + 'PHPUnit_Framework_MockObject_Matcher_MethodName' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php',
  103 + 'PHPUnit_Framework_MockObject_Matcher_Parameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php',
  104 + 'PHPUnit_Framework_MockObject_Matcher_StatelessInvocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php',
  105 + 'PHPUnit_Framework_MockObject_MockBuilder' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php',
  106 + 'PHPUnit_Framework_MockObject_MockObject' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php',
  107 + 'PHPUnit_Framework_MockObject_RuntimeException' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php',
  108 + 'PHPUnit_Framework_MockObject_Stub' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php',
  109 + 'PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php',
  110 + 'PHPUnit_Framework_MockObject_Stub_Exception' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php',
  111 + 'PHPUnit_Framework_MockObject_Stub_MatcherCollection' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php',
  112 + 'PHPUnit_Framework_MockObject_Stub_Return' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php',
  113 + 'PHPUnit_Framework_MockObject_Stub_ReturnArgument' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php',
  114 + 'PHPUnit_Framework_MockObject_Stub_ReturnCallback' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php',
  115 + 'PHPUnit_Framework_MockObject_Stub_ReturnSelf' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php',
  116 + 'PHPUnit_Framework_MockObject_Stub_ReturnValueMap' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php',
  117 + 'PHPUnit_Framework_MockObject_Verifiable' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php',
  118 + 'PHPUnit_Framework_OutputError' => $vendorDir . '/phpunit/phpunit/src/Framework/OutputError.php',
  119 + 'PHPUnit_Framework_RiskyTest' => $vendorDir . '/phpunit/phpunit/src/Framework/RiskyTest.php',
  120 + 'PHPUnit_Framework_RiskyTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/RiskyTestError.php',
  121 + 'PHPUnit_Framework_SelfDescribing' => $vendorDir . '/phpunit/phpunit/src/Framework/SelfDescribing.php',
  122 + 'PHPUnit_Framework_SkippedTest' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTest.php',
  123 + 'PHPUnit_Framework_SkippedTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestCase.php',
  124 + 'PHPUnit_Framework_SkippedTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestError.php',
  125 + 'PHPUnit_Framework_SkippedTestSuiteError' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php',
  126 + 'PHPUnit_Framework_SyntheticError' => $vendorDir . '/phpunit/phpunit/src/Framework/SyntheticError.php',
  127 + 'PHPUnit_Framework_Test' => $vendorDir . '/phpunit/phpunit/src/Framework/Test.php',
  128 + 'PHPUnit_Framework_TestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/TestCase.php',
  129 + 'PHPUnit_Framework_TestFailure' => $vendorDir . '/phpunit/phpunit/src/Framework/TestFailure.php',
  130 + 'PHPUnit_Framework_TestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/TestListener.php',
  131 + 'PHPUnit_Framework_TestResult' => $vendorDir . '/phpunit/phpunit/src/Framework/TestResult.php',
  132 + 'PHPUnit_Framework_TestSuite' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite.php',
  133 + 'PHPUnit_Framework_TestSuite_DataProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php',
  134 + 'PHPUnit_Framework_UnintentionallyCoveredCodeError' => $vendorDir . '/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php',
  135 + 'PHPUnit_Framework_Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Warning.php',
  136 + 'PHPUnit_Runner_BaseTestRunner' => $vendorDir . '/phpunit/phpunit/src/Runner/BaseTestRunner.php',
  137 + 'PHPUnit_Runner_Exception' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception.php',
  138 + 'PHPUnit_Runner_Filter_Factory' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Factory.php',
  139 + 'PHPUnit_Runner_Filter_GroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group.php',
  140 + 'PHPUnit_Runner_Filter_Group_Exclude' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php',
  141 + 'PHPUnit_Runner_Filter_Group_Include' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group/Include.php',
  142 + 'PHPUnit_Runner_Filter_Test' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Test.php',
  143 + 'PHPUnit_Runner_StandardTestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php',
  144 + 'PHPUnit_Runner_TestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php',
  145 + 'PHPUnit_Runner_Version' => $vendorDir . '/phpunit/phpunit/src/Runner/Version.php',
  146 + 'PHPUnit_TextUI_Command' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command.php',
  147 + 'PHPUnit_TextUI_ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/ResultPrinter.php',
  148 + 'PHPUnit_TextUI_TestRunner' => $vendorDir . '/phpunit/phpunit/src/TextUI/TestRunner.php',
  149 + 'PHPUnit_Util_Blacklist' => $vendorDir . '/phpunit/phpunit/src/Util/Blacklist.php',
  150 + 'PHPUnit_Util_Configuration' => $vendorDir . '/phpunit/phpunit/src/Util/Configuration.php',
  151 + 'PHPUnit_Util_ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Util/ErrorHandler.php',
  152 + 'PHPUnit_Util_Fileloader' => $vendorDir . '/phpunit/phpunit/src/Util/Fileloader.php',
  153 + 'PHPUnit_Util_Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php',
  154 + 'PHPUnit_Util_Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php',
  155 + 'PHPUnit_Util_Getopt' => $vendorDir . '/phpunit/phpunit/src/Util/Getopt.php',
  156 + 'PHPUnit_Util_GlobalState' => $vendorDir . '/phpunit/phpunit/src/Util/GlobalState.php',
  157 + 'PHPUnit_Util_InvalidArgumentHelper' => $vendorDir . '/phpunit/phpunit/src/Util/InvalidArgumentHelper.php',
  158 + 'PHPUnit_Util_Log_JSON' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JSON.php',
  159 + 'PHPUnit_Util_Log_JUnit' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JUnit.php',
  160 + 'PHPUnit_Util_Log_TAP' => $vendorDir . '/phpunit/phpunit/src/Util/Log/TAP.php',
  161 + 'PHPUnit_Util_PHP' => $vendorDir . '/phpunit/phpunit/src/Util/PHP.php',
  162 + 'PHPUnit_Util_PHP_Default' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/Default.php',
  163 + 'PHPUnit_Util_PHP_Windows' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/Windows.php',
  164 + 'PHPUnit_Util_Printer' => $vendorDir . '/phpunit/phpunit/src/Util/Printer.php',
  165 + 'PHPUnit_Util_Regex' => $vendorDir . '/phpunit/phpunit/src/Util/Regex.php',
  166 + 'PHPUnit_Util_String' => $vendorDir . '/phpunit/phpunit/src/Util/String.php',
  167 + 'PHPUnit_Util_Test' => $vendorDir . '/phpunit/phpunit/src/Util/Test.php',
  168 + 'PHPUnit_Util_TestDox_NamePrettifier' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php',
  169 + 'PHPUnit_Util_TestDox_ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php',
  170 + 'PHPUnit_Util_TestDox_ResultPrinter_HTML' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php',
  171 + 'PHPUnit_Util_TestDox_ResultPrinter_Text' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php',
  172 + 'PHPUnit_Util_TestSuiteIterator' => $vendorDir . '/phpunit/phpunit/src/Util/TestSuiteIterator.php',
  173 + 'PHPUnit_Util_Type' => $vendorDir . '/phpunit/phpunit/src/Util/Type.php',
  174 + 'PHPUnit_Util_XML' => $vendorDir . '/phpunit/phpunit/src/Util/XML.php',
  175 + 'PHP_CodeCoverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage.php',
  176 + 'PHP_CodeCoverage_Driver' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver.php',
  177 + 'PHP_CodeCoverage_Driver_HHVM' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php',
  178 + 'PHP_CodeCoverage_Driver_PHPDBG' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php',
  179 + 'PHP_CodeCoverage_Driver_Xdebug' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php',
  180 + 'PHP_CodeCoverage_Exception' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Exception.php',
  181 + 'PHP_CodeCoverage_Exception_UnintentionallyCoveredCode' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php',
  182 + 'PHP_CodeCoverage_Filter' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Filter.php',
  183 + 'PHP_CodeCoverage_Report_Clover' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php',
  184 + 'PHP_CodeCoverage_Report_Crap4j' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php',
  185 + 'PHP_CodeCoverage_Report_Factory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php',
  186 + 'PHP_CodeCoverage_Report_HTML' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php',
  187 + 'PHP_CodeCoverage_Report_HTML_Renderer' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php',
  188 + 'PHP_CodeCoverage_Report_HTML_Renderer_Dashboard' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php',
  189 + 'PHP_CodeCoverage_Report_HTML_Renderer_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php',
  190 + 'PHP_CodeCoverage_Report_HTML_Renderer_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php',
  191 + 'PHP_CodeCoverage_Report_Node' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php',
  192 + 'PHP_CodeCoverage_Report_Node_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php',
  193 + 'PHP_CodeCoverage_Report_Node_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php',
  194 + 'PHP_CodeCoverage_Report_Node_Iterator' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php',
  195 + 'PHP_CodeCoverage_Report_PHP' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php',
  196 + 'PHP_CodeCoverage_Report_Text' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php',
  197 + 'PHP_CodeCoverage_Report_XML' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php',
  198 + 'PHP_CodeCoverage_Report_XML_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php',
  199 + 'PHP_CodeCoverage_Report_XML_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php',
  200 + 'PHP_CodeCoverage_Report_XML_File_Coverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php',
  201 + 'PHP_CodeCoverage_Report_XML_File_Method' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php',
  202 + 'PHP_CodeCoverage_Report_XML_File_Report' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php',
  203 + 'PHP_CodeCoverage_Report_XML_File_Unit' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php',
  204 + 'PHP_CodeCoverage_Report_XML_Node' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php',
  205 + 'PHP_CodeCoverage_Report_XML_Project' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php',
  206 + 'PHP_CodeCoverage_Report_XML_Tests' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php',
  207 + 'PHP_CodeCoverage_Report_XML_Totals' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php',
  208 + 'PHP_CodeCoverage_Util' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Util.php',
  209 + 'PHP_CodeCoverage_Util_InvalidArgumentHelper' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php',
  210 + 'PHP_Timer' => $vendorDir . '/phpunit/php-timer/src/Timer.php',
  211 + 'PHP_Token' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  212 + 'PHP_TokenWithScope' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  213 + 'PHP_TokenWithScopeAndVisibility' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  214 + 'PHP_Token_ABSTRACT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  215 + 'PHP_Token_AMPERSAND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  216 + 'PHP_Token_AND_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  217 + 'PHP_Token_ARRAY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  218 + 'PHP_Token_ARRAY_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  219 + 'PHP_Token_AS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  220 + 'PHP_Token_ASYNC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  221 + 'PHP_Token_AT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  222 + 'PHP_Token_AWAIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  223 + 'PHP_Token_BACKTICK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  224 + 'PHP_Token_BAD_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  225 + 'PHP_Token_BOOLEAN_AND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  226 + 'PHP_Token_BOOLEAN_OR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  227 + 'PHP_Token_BOOL_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  228 + 'PHP_Token_BREAK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  229 + 'PHP_Token_CALLABLE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  230 + 'PHP_Token_CARET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  231 + 'PHP_Token_CASE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  232 + 'PHP_Token_CATCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  233 + 'PHP_Token_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  234 + 'PHP_Token_CLASS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  235 + 'PHP_Token_CLASS_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  236 + 'PHP_Token_CLASS_NAME_CONSTANT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  237 + 'PHP_Token_CLONE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  238 + 'PHP_Token_CLOSE_BRACKET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  239 + 'PHP_Token_CLOSE_CURLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  240 + 'PHP_Token_CLOSE_SQUARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  241 + 'PHP_Token_CLOSE_TAG' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  242 + 'PHP_Token_COALESCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  243 + 'PHP_Token_COLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  244 + 'PHP_Token_COMMA' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  245 + 'PHP_Token_COMMENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  246 + 'PHP_Token_COMPILER_HALT_OFFSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  247 + 'PHP_Token_CONCAT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  248 + 'PHP_Token_CONST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  249 + 'PHP_Token_CONSTANT_ENCAPSED_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  250 + 'PHP_Token_CONTINUE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  251 + 'PHP_Token_CURLY_OPEN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  252 + 'PHP_Token_DEC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  253 + 'PHP_Token_DECLARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  254 + 'PHP_Token_DEFAULT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  255 + 'PHP_Token_DIR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  256 + 'PHP_Token_DIV' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  257 + 'PHP_Token_DIV_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  258 + 'PHP_Token_DNUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  259 + 'PHP_Token_DO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  260 + 'PHP_Token_DOC_COMMENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  261 + 'PHP_Token_DOLLAR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  262 + 'PHP_Token_DOLLAR_OPEN_CURLY_BRACES' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  263 + 'PHP_Token_DOT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  264 + 'PHP_Token_DOUBLE_ARROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  265 + 'PHP_Token_DOUBLE_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  266 + 'PHP_Token_DOUBLE_COLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  267 + 'PHP_Token_DOUBLE_QUOTES' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  268 + 'PHP_Token_ECHO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  269 + 'PHP_Token_ELLIPSIS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  270 + 'PHP_Token_ELSE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  271 + 'PHP_Token_ELSEIF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  272 + 'PHP_Token_EMPTY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  273 + 'PHP_Token_ENCAPSED_AND_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  274 + 'PHP_Token_ENDDECLARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  275 + 'PHP_Token_ENDFOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  276 + 'PHP_Token_ENDFOREACH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  277 + 'PHP_Token_ENDIF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  278 + 'PHP_Token_ENDSWITCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  279 + 'PHP_Token_ENDWHILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  280 + 'PHP_Token_END_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  281 + 'PHP_Token_ENUM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  282 + 'PHP_Token_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  283 + 'PHP_Token_EQUALS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  284 + 'PHP_Token_EVAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  285 + 'PHP_Token_EXCLAMATION_MARK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  286 + 'PHP_Token_EXIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  287 + 'PHP_Token_EXTENDS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  288 + 'PHP_Token_FILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  289 + 'PHP_Token_FINAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  290 + 'PHP_Token_FINALLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  291 + 'PHP_Token_FOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  292 + 'PHP_Token_FOREACH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  293 + 'PHP_Token_FUNCTION' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  294 + 'PHP_Token_FUNC_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  295 + 'PHP_Token_GLOBAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  296 + 'PHP_Token_GOTO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  297 + 'PHP_Token_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  298 + 'PHP_Token_HALT_COMPILER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  299 + 'PHP_Token_IF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  300 + 'PHP_Token_IMPLEMENTS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  301 + 'PHP_Token_IN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  302 + 'PHP_Token_INC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  303 + 'PHP_Token_INCLUDE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  304 + 'PHP_Token_INCLUDE_ONCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  305 + 'PHP_Token_INLINE_HTML' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  306 + 'PHP_Token_INSTANCEOF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  307 + 'PHP_Token_INSTEADOF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  308 + 'PHP_Token_INTERFACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  309 + 'PHP_Token_INT_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  310 + 'PHP_Token_ISSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  311 + 'PHP_Token_IS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  312 + 'PHP_Token_IS_GREATER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  313 + 'PHP_Token_IS_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  314 + 'PHP_Token_IS_NOT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  315 + 'PHP_Token_IS_NOT_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  316 + 'PHP_Token_IS_SMALLER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  317 + 'PHP_Token_Includes' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  318 + 'PHP_Token_JOIN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  319 + 'PHP_Token_LAMBDA_ARROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  320 + 'PHP_Token_LAMBDA_CP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  321 + 'PHP_Token_LAMBDA_OP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  322 + 'PHP_Token_LINE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  323 + 'PHP_Token_LIST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  324 + 'PHP_Token_LNUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  325 + 'PHP_Token_LOGICAL_AND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  326 + 'PHP_Token_LOGICAL_OR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  327 + 'PHP_Token_LOGICAL_XOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  328 + 'PHP_Token_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  329 + 'PHP_Token_METHOD_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  330 + 'PHP_Token_MINUS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  331 + 'PHP_Token_MINUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  332 + 'PHP_Token_MOD_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  333 + 'PHP_Token_MULT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  334 + 'PHP_Token_MUL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  335 + 'PHP_Token_NAMESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  336 + 'PHP_Token_NEW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  337 + 'PHP_Token_NS_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  338 + 'PHP_Token_NS_SEPARATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  339 + 'PHP_Token_NUM_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  340 + 'PHP_Token_OBJECT_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  341 + 'PHP_Token_OBJECT_OPERATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  342 + 'PHP_Token_ONUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  343 + 'PHP_Token_OPEN_BRACKET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  344 + 'PHP_Token_OPEN_CURLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  345 + 'PHP_Token_OPEN_SQUARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  346 + 'PHP_Token_OPEN_TAG' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  347 + 'PHP_Token_OPEN_TAG_WITH_ECHO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  348 + 'PHP_Token_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  349 + 'PHP_Token_PAAMAYIM_NEKUDOTAYIM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  350 + 'PHP_Token_PERCENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  351 + 'PHP_Token_PIPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  352 + 'PHP_Token_PLUS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  353 + 'PHP_Token_PLUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  354 + 'PHP_Token_POW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  355 + 'PHP_Token_POW_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  356 + 'PHP_Token_PRINT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  357 + 'PHP_Token_PRIVATE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  358 + 'PHP_Token_PROTECTED' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  359 + 'PHP_Token_PUBLIC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  360 + 'PHP_Token_QUESTION_MARK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  361 + 'PHP_Token_REQUIRE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  362 + 'PHP_Token_REQUIRE_ONCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  363 + 'PHP_Token_RETURN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  364 + 'PHP_Token_SEMICOLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  365 + 'PHP_Token_SHAPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  366 + 'PHP_Token_SL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  367 + 'PHP_Token_SL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  368 + 'PHP_Token_SPACESHIP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  369 + 'PHP_Token_SR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  370 + 'PHP_Token_SR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  371 + 'PHP_Token_START_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  372 + 'PHP_Token_STATIC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  373 + 'PHP_Token_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  374 + 'PHP_Token_STRING_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  375 + 'PHP_Token_STRING_VARNAME' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  376 + 'PHP_Token_SUPER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  377 + 'PHP_Token_SWITCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  378 + 'PHP_Token_Stream' => $vendorDir . '/phpunit/php-token-stream/src/Token/Stream.php',
  379 + 'PHP_Token_Stream_CachingFactory' => $vendorDir . '/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php',
  380 + 'PHP_Token_THROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  381 + 'PHP_Token_TILDE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  382 + 'PHP_Token_TRAIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  383 + 'PHP_Token_TRAIT_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  384 + 'PHP_Token_TRY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  385 + 'PHP_Token_TYPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  386 + 'PHP_Token_TYPELIST_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  387 + 'PHP_Token_TYPELIST_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  388 + 'PHP_Token_UNSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  389 + 'PHP_Token_UNSET_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  390 + 'PHP_Token_USE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  391 + 'PHP_Token_USE_FUNCTION' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  392 + 'PHP_Token_VAR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  393 + 'PHP_Token_VARIABLE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  394 + 'PHP_Token_WHERE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  395 + 'PHP_Token_WHILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  396 + 'PHP_Token_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  397 + 'PHP_Token_XHP_ATTRIBUTE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  398 + 'PHP_Token_XHP_CATEGORY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  399 + 'PHP_Token_XHP_CATEGORY_LABEL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  400 + 'PHP_Token_XHP_CHILDREN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  401 + 'PHP_Token_XHP_LABEL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  402 + 'PHP_Token_XHP_REQUIRED' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  403 + 'PHP_Token_XHP_TAG_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  404 + 'PHP_Token_XHP_TAG_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  405 + 'PHP_Token_XHP_TEXT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  406 + 'PHP_Token_XOR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  407 + 'PHP_Token_YIELD' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  408 + 'PHP_Token_YIELD_FROM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
  409 + 'SebastianBergmann\\Comparator\\ArrayComparator' => $vendorDir . '/sebastian/comparator/src/ArrayComparator.php',
  410 + 'SebastianBergmann\\Comparator\\Comparator' => $vendorDir . '/sebastian/comparator/src/Comparator.php',
  411 + 'SebastianBergmann\\Comparator\\ComparisonFailure' => $vendorDir . '/sebastian/comparator/src/ComparisonFailure.php',
  412 + 'SebastianBergmann\\Comparator\\DOMNodeComparator' => $vendorDir . '/sebastian/comparator/src/DOMNodeComparator.php',
  413 + 'SebastianBergmann\\Comparator\\DateTimeComparator' => $vendorDir . '/sebastian/comparator/src/DateTimeComparator.php',
  414 + 'SebastianBergmann\\Comparator\\DoubleComparator' => $vendorDir . '/sebastian/comparator/src/DoubleComparator.php',
  415 + 'SebastianBergmann\\Comparator\\ExceptionComparator' => $vendorDir . '/sebastian/comparator/src/ExceptionComparator.php',
  416 + 'SebastianBergmann\\Comparator\\Factory' => $vendorDir . '/sebastian/comparator/src/Factory.php',
  417 + 'SebastianBergmann\\Comparator\\MockObjectComparator' => $vendorDir . '/sebastian/comparator/src/MockObjectComparator.php',
  418 + 'SebastianBergmann\\Comparator\\NumericComparator' => $vendorDir . '/sebastian/comparator/src/NumericComparator.php',
  419 + 'SebastianBergmann\\Comparator\\ObjectComparator' => $vendorDir . '/sebastian/comparator/src/ObjectComparator.php',
  420 + 'SebastianBergmann\\Comparator\\ResourceComparator' => $vendorDir . '/sebastian/comparator/src/ResourceComparator.php',
  421 + 'SebastianBergmann\\Comparator\\ScalarComparator' => $vendorDir . '/sebastian/comparator/src/ScalarComparator.php',
  422 + 'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => $vendorDir . '/sebastian/comparator/src/SplObjectStorageComparator.php',
  423 + 'SebastianBergmann\\Comparator\\TypeComparator' => $vendorDir . '/sebastian/comparator/src/TypeComparator.php',
  424 + 'SebastianBergmann\\Diff\\Chunk' => $vendorDir . '/sebastian/diff/src/Chunk.php',
  425 + 'SebastianBergmann\\Diff\\Diff' => $vendorDir . '/sebastian/diff/src/Diff.php',
  426 + 'SebastianBergmann\\Diff\\Differ' => $vendorDir . '/sebastian/diff/src/Differ.php',
  427 + 'SebastianBergmann\\Diff\\LCS\\LongestCommonSubsequence' => $vendorDir . '/sebastian/diff/src/LCS/LongestCommonSubsequence.php',
  428 + 'SebastianBergmann\\Diff\\LCS\\MemoryEfficientImplementation' => $vendorDir . '/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php',
  429 + 'SebastianBergmann\\Diff\\LCS\\TimeEfficientImplementation' => $vendorDir . '/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php',
  430 + 'SebastianBergmann\\Diff\\Line' => $vendorDir . '/sebastian/diff/src/Line.php',
  431 + 'SebastianBergmann\\Diff\\Parser' => $vendorDir . '/sebastian/diff/src/Parser.php',
  432 + 'SebastianBergmann\\Environment\\Console' => $vendorDir . '/sebastian/environment/src/Console.php',
  433 + 'SebastianBergmann\\Environment\\Runtime' => $vendorDir . '/sebastian/environment/src/Runtime.php',
  434 + 'SebastianBergmann\\Exporter\\Exporter' => $vendorDir . '/sebastian/exporter/src/Exporter.php',
  435 + 'SebastianBergmann\\GlobalState\\Blacklist' => $vendorDir . '/sebastian/global-state/src/Blacklist.php',
  436 + 'SebastianBergmann\\GlobalState\\CodeExporter' => $vendorDir . '/sebastian/global-state/src/CodeExporter.php',
  437 + 'SebastianBergmann\\GlobalState\\Exception' => $vendorDir . '/sebastian/global-state/src/Exception.php',
  438 + 'SebastianBergmann\\GlobalState\\Restorer' => $vendorDir . '/sebastian/global-state/src/Restorer.php',
  439 + 'SebastianBergmann\\GlobalState\\RuntimeException' => $vendorDir . '/sebastian/global-state/src/RuntimeException.php',
  440 + 'SebastianBergmann\\GlobalState\\Snapshot' => $vendorDir . '/sebastian/global-state/src/Snapshot.php',
  441 + 'SebastianBergmann\\RecursionContext\\Context' => $vendorDir . '/sebastian/recursion-context/src/Context.php',
  442 + 'SebastianBergmann\\RecursionContext\\Exception' => $vendorDir . '/sebastian/recursion-context/src/Exception.php',
  443 + 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => $vendorDir . '/sebastian/recursion-context/src/InvalidArgumentException.php',
  444 + 'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php',
  445 + 'Text_Template' => $vendorDir . '/phpunit/php-text-template/src/Template.php',
  446 + 'think\\view\\driver\\Angular' => $vendorDir . '/topthink/think-angular/drivers/thinkphp5/Angular.php',
  447 +);
  1 +<?php
  2 +
  3 +// autoload_files.php @generated by Composer
  4 +
  5 +$vendorDir = dirname(dirname(__FILE__));
  6 +$baseDir = dirname($vendorDir);
  7 +
  8 +return array(
  9 + '9b552a3cc426e3287cc811caefa3cf53' => $vendorDir . '/topthink/think-helper/src/helper.php',
  10 + '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
  11 + '1cfd2761b63b0a29ed23657ea394cb2d' => $vendorDir . '/topthink/think-captcha/src/helper.php',
  12 + 'ddc3cd2a04224f9638c5d0de6a69c7e3' => $vendorDir . '/topthink/think-migration/src/config.php',
  13 + 'cc56288302d9df745d97c934d6a6e5f0' => $vendorDir . '/topthink/think-queue/src/common.php',
  14 + '72c97b53391125cae04082a81029f42d' => $vendorDir . '/topthink/think-testing/src/config.php',
  15 +);
  1 +<?php
  2 +
  3 +// autoload_namespaces.php @generated by Composer
  4 +
  5 +$vendorDir = dirname(dirname(__FILE__));
  6 +$baseDir = dirname($vendorDir);
  7 +
  8 +return array(
  9 + 'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src'),
  10 +);
  1 +<?php
  2 +
  3 +// autoload_psr4.php @generated by Composer
  4 +
  5 +$vendorDir = dirname(dirname(__FILE__));
  6 +$baseDir = dirname($vendorDir);
  7 +
  8 +return array(
  9 + 'think\\worker\\' => array($vendorDir . '/topthink/think-worker/src'),
  10 + 'think\\testing\\' => array($vendorDir . '/topthink/think-testing/src'),
  11 + 'think\\sae\\' => array($vendorDir . '/topthink/think-sae/src'),
  12 + 'think\\mongo\\' => array($vendorDir . '/topthink/think-mongo/src'),
  13 + 'think\\migration\\' => array($vendorDir . '/topthink/think-migration/src'),
  14 + 'think\\helper\\' => array($vendorDir . '/topthink/think-helper/src'),
  15 + 'think\\composer\\' => array($vendorDir . '/topthink/think-installer/src'),
  16 + 'think\\captcha\\' => array($vendorDir . '/topthink/think-captcha/src'),
  17 + 'think\\angular\\' => array($vendorDir . '/topthink/think-angular/src'),
  18 + 'think\\' => array($baseDir . '/thinkphp/library/think', $vendorDir . '/topthink/think-image/src', $vendorDir . '/topthink/think-queue/src'),
  19 + 'phpDocumentor\\Reflection\\' => array($vendorDir . '/phpdocumentor/reflection-common/src', $vendorDir . '/phpdocumentor/type-resolver/src', $vendorDir . '/phpdocumentor/reflection-docblock/src'),
  20 + 'Workerman\\' => array($vendorDir . '/workerman/workerman'),
  21 + 'Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'),
  22 + 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
  23 + 'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'),
  24 + 'Symfony\\Component\\DomCrawler\\' => array($vendorDir . '/symfony/dom-crawler'),
  25 + 'Phinx\\' => array($vendorDir . '/topthink/think-migration/phinx/src/Phinx'),
  26 + 'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'),
  27 +);
  1 +<?php
  2 +
  3 +// autoload_real.php @generated by Composer
  4 +
  5 +class ComposerAutoloaderInit72a85f69782724a9ddb9dfee0362af6f
  6 +{
  7 + private static $loader;
  8 +
  9 + public static function loadClassLoader($class)
  10 + {
  11 + if ('Composer\Autoload\ClassLoader' === $class) {
  12 + require __DIR__ . '/ClassLoader.php';
  13 + }
  14 + }
  15 +
  16 + public static function getLoader()
  17 + {
  18 + if (null !== self::$loader) {
  19 + return self::$loader;
  20 + }
  21 +
  22 + spl_autoload_register(array('ComposerAutoloaderInit72a85f69782724a9ddb9dfee0362af6f', 'loadClassLoader'), true, true);
  23 + self::$loader = $loader = new \Composer\Autoload\ClassLoader();
  24 + spl_autoload_unregister(array('ComposerAutoloaderInit72a85f69782724a9ddb9dfee0362af6f', 'loadClassLoader'));
  25 +
  26 + $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION');
  27 + if ($useStaticLoader) {
  28 + require_once __DIR__ . '/autoload_static.php';
  29 +
  30 + call_user_func(\Composer\Autoload\ComposerStaticInit72a85f69782724a9ddb9dfee0362af6f::getInitializer($loader));
  31 + } else {
  32 + $map = require __DIR__ . '/autoload_namespaces.php';
  33 + foreach ($map as $namespace => $path) {
  34 + $loader->set($namespace, $path);
  35 + }
  36 +
  37 + $map = require __DIR__ . '/autoload_psr4.php';
  38 + foreach ($map as $namespace => $path) {
  39 + $loader->setPsr4($namespace, $path);
  40 + }
  41 +
  42 + $classMap = require __DIR__ . '/autoload_classmap.php';
  43 + if ($classMap) {
  44 + $loader->addClassMap($classMap);
  45 + }
  46 + }
  47 +
  48 + $loader->register(true);
  49 +
  50 + if ($useStaticLoader) {
  51 + $includeFiles = Composer\Autoload\ComposerStaticInit72a85f69782724a9ddb9dfee0362af6f::$files;
  52 + } else {
  53 + $includeFiles = require __DIR__ . '/autoload_files.php';
  54 + }
  55 + foreach ($includeFiles as $fileIdentifier => $file) {
  56 + composerRequire72a85f69782724a9ddb9dfee0362af6f($fileIdentifier, $file);
  57 + }
  58 +
  59 + return $loader;
  60 + }
  61 +}
  62 +
  63 +function composerRequire72a85f69782724a9ddb9dfee0362af6f($fileIdentifier, $file)
  64 +{
  65 + if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
  66 + require $file;
  67 +
  68 + $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
  69 + }
  70 +}
  1 +<?php
  2 +
  3 +// autoload_static.php @generated by Composer
  4 +
  5 +namespace Composer\Autoload;
  6 +
  7 +class ComposerStaticInit72a85f69782724a9ddb9dfee0362af6f
  8 +{
  9 + public static $files = array (
  10 + '9b552a3cc426e3287cc811caefa3cf53' => __DIR__ . '/..' . '/topthink/think-helper/src/helper.php',
  11 + '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
  12 + '1cfd2761b63b0a29ed23657ea394cb2d' => __DIR__ . '/..' . '/topthink/think-captcha/src/helper.php',
  13 + 'ddc3cd2a04224f9638c5d0de6a69c7e3' => __DIR__ . '/..' . '/topthink/think-migration/src/config.php',
  14 + 'cc56288302d9df745d97c934d6a6e5f0' => __DIR__ . '/..' . '/topthink/think-queue/src/common.php',
  15 + '72c97b53391125cae04082a81029f42d' => __DIR__ . '/..' . '/topthink/think-testing/src/config.php',
  16 + );
  17 +
  18 + public static $prefixLengthsPsr4 = array (
  19 + 't' =>
  20 + array (
  21 + 'think\\worker\\' => 13,
  22 + 'think\\testing\\' => 14,
  23 + 'think\\sae\\' => 10,
  24 + 'think\\mongo\\' => 12,
  25 + 'think\\migration\\' => 16,
  26 + 'think\\helper\\' => 13,
  27 + 'think\\composer\\' => 15,
  28 + 'think\\captcha\\' => 14,
  29 + 'think\\angular\\' => 14,
  30 + 'think\\' => 6,
  31 + ),
  32 + 'p' =>
  33 + array (
  34 + 'phpDocumentor\\Reflection\\' => 25,
  35 + ),
  36 + 'W' =>
  37 + array (
  38 + 'Workerman\\' => 10,
  39 + 'Webmozart\\Assert\\' => 17,
  40 + ),
  41 + 'S' =>
  42 + array (
  43 + 'Symfony\\Polyfill\\Mbstring\\' => 26,
  44 + 'Symfony\\Component\\Yaml\\' => 23,
  45 + 'Symfony\\Component\\DomCrawler\\' => 29,
  46 + ),
  47 + 'P' =>
  48 + array (
  49 + 'Phinx\\' => 6,
  50 + ),
  51 + 'D' =>
  52 + array (
  53 + 'Doctrine\\Instantiator\\' => 22,
  54 + ),
  55 + );
  56 +
  57 + public static $prefixDirsPsr4 = array (
  58 + 'think\\worker\\' =>
  59 + array (
  60 + 0 => __DIR__ . '/..' . '/topthink/think-worker/src',
  61 + ),
  62 + 'think\\testing\\' =>
  63 + array (
  64 + 0 => __DIR__ . '/..' . '/topthink/think-testing/src',
  65 + ),
  66 + 'think\\sae\\' =>
  67 + array (
  68 + 0 => __DIR__ . '/..' . '/topthink/think-sae/src',
  69 + ),
  70 + 'think\\mongo\\' =>
  71 + array (
  72 + 0 => __DIR__ . '/..' . '/topthink/think-mongo/src',
  73 + ),
  74 + 'think\\migration\\' =>
  75 + array (
  76 + 0 => __DIR__ . '/..' . '/topthink/think-migration/src',
  77 + ),
  78 + 'think\\helper\\' =>
  79 + array (
  80 + 0 => __DIR__ . '/..' . '/topthink/think-helper/src',
  81 + ),
  82 + 'think\\composer\\' =>
  83 + array (
  84 + 0 => __DIR__ . '/..' . '/topthink/think-installer/src',
  85 + ),
  86 + 'think\\captcha\\' =>
  87 + array (
  88 + 0 => __DIR__ . '/..' . '/topthink/think-captcha/src',
  89 + ),
  90 + 'think\\angular\\' =>
  91 + array (
  92 + 0 => __DIR__ . '/..' . '/topthink/think-angular/src',
  93 + ),
  94 + 'think\\' =>
  95 + array (
  96 + 0 => __DIR__ . '/../..' . '/thinkphp/library/think',
  97 + 1 => __DIR__ . '/..' . '/topthink/think-image/src',
  98 + 2 => __DIR__ . '/..' . '/topthink/think-queue/src',
  99 + ),
  100 + 'phpDocumentor\\Reflection\\' =>
  101 + array (
  102 + 0 => __DIR__ . '/..' . '/phpdocumentor/reflection-common/src',
  103 + 1 => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src',
  104 + 2 => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src',
  105 + ),
  106 + 'Workerman\\' =>
  107 + array (
  108 + 0 => __DIR__ . '/..' . '/workerman/workerman',
  109 + ),
  110 + 'Webmozart\\Assert\\' =>
  111 + array (
  112 + 0 => __DIR__ . '/..' . '/webmozart/assert/src',
  113 + ),
  114 + 'Symfony\\Polyfill\\Mbstring\\' =>
  115 + array (
  116 + 0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring',
  117 + ),
  118 + 'Symfony\\Component\\Yaml\\' =>
  119 + array (
  120 + 0 => __DIR__ . '/..' . '/symfony/yaml',
  121 + ),
  122 + 'Symfony\\Component\\DomCrawler\\' =>
  123 + array (
  124 + 0 => __DIR__ . '/..' . '/symfony/dom-crawler',
  125 + ),
  126 + 'Phinx\\' =>
  127 + array (
  128 + 0 => __DIR__ . '/..' . '/topthink/think-migration/phinx/src/Phinx',
  129 + ),
  130 + 'Doctrine\\Instantiator\\' =>
  131 + array (
  132 + 0 => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator',
  133 + ),
  134 + );
  135 +
  136 + public static $prefixesPsr0 = array (
  137 + 'P' =>
  138 + array (
  139 + 'Prophecy\\' =>
  140 + array (
  141 + 0 => __DIR__ . '/..' . '/phpspec/prophecy/src',
  142 + ),
  143 + ),
  144 + );
  145 +
  146 + public static $classMap = array (
  147 + 'File_Iterator' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Iterator.php',
  148 + 'File_Iterator_Facade' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Facade.php',
  149 + 'File_Iterator_Factory' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Factory.php',
  150 + 'PHPUnit_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Exception.php',
  151 + 'PHPUnit_Extensions_GroupTestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/GroupTestSuite.php',
  152 + 'PHPUnit_Extensions_PhptTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/PhptTestCase.php',
  153 + 'PHPUnit_Extensions_PhptTestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/PhptTestSuite.php',
  154 + 'PHPUnit_Extensions_RepeatedTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/RepeatedTest.php',
  155 + 'PHPUnit_Extensions_TestDecorator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/TestDecorator.php',
  156 + 'PHPUnit_Extensions_TicketListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Extensions/TicketListener.php',
  157 + 'PHPUnit_Framework_Assert' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert.php',
  158 + 'PHPUnit_Framework_AssertionFailedError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/AssertionFailedError.php',
  159 + 'PHPUnit_Framework_BaseTestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/BaseTestListener.php',
  160 + 'PHPUnit_Framework_CodeCoverageException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/CodeCoverageException.php',
  161 + 'PHPUnit_Framework_Constraint' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint.php',
  162 + 'PHPUnit_Framework_Constraint_And' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/And.php',
  163 + 'PHPUnit_Framework_Constraint_ArrayHasKey' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php',
  164 + 'PHPUnit_Framework_Constraint_ArraySubset' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php',
  165 + 'PHPUnit_Framework_Constraint_Attribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Attribute.php',
  166 + 'PHPUnit_Framework_Constraint_Callback' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Callback.php',
  167 + 'PHPUnit_Framework_Constraint_ClassHasAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php',
  168 + 'PHPUnit_Framework_Constraint_ClassHasStaticAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php',
  169 + 'PHPUnit_Framework_Constraint_Composite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Composite.php',
  170 + 'PHPUnit_Framework_Constraint_Count' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Count.php',
  171 + 'PHPUnit_Framework_Constraint_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Exception.php',
  172 + 'PHPUnit_Framework_Constraint_ExceptionCode' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php',
  173 + 'PHPUnit_Framework_Constraint_ExceptionMessage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php',
  174 + 'PHPUnit_Framework_Constraint_ExceptionMessageRegExp' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php',
  175 + 'PHPUnit_Framework_Constraint_FileExists' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/FileExists.php',
  176 + 'PHPUnit_Framework_Constraint_GreaterThan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php',
  177 + 'PHPUnit_Framework_Constraint_IsAnything' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php',
  178 + 'PHPUnit_Framework_Constraint_IsEmpty' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php',
  179 + 'PHPUnit_Framework_Constraint_IsEqual' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsEqual.php',
  180 + 'PHPUnit_Framework_Constraint_IsFalse' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsFalse.php',
  181 + 'PHPUnit_Framework_Constraint_IsIdentical' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php',
  182 + 'PHPUnit_Framework_Constraint_IsInstanceOf' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php',
  183 + 'PHPUnit_Framework_Constraint_IsJson' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsJson.php',
  184 + 'PHPUnit_Framework_Constraint_IsNull' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsNull.php',
  185 + 'PHPUnit_Framework_Constraint_IsTrue' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsTrue.php',
  186 + 'PHPUnit_Framework_Constraint_IsType' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/IsType.php',
  187 + 'PHPUnit_Framework_Constraint_JsonMatches' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php',
  188 + 'PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php',
  189 + 'PHPUnit_Framework_Constraint_LessThan' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/LessThan.php',
  190 + 'PHPUnit_Framework_Constraint_Not' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Not.php',
  191 + 'PHPUnit_Framework_Constraint_ObjectHasAttribute' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php',
  192 + 'PHPUnit_Framework_Constraint_Or' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Or.php',
  193 + 'PHPUnit_Framework_Constraint_PCREMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php',
  194 + 'PHPUnit_Framework_Constraint_SameSize' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/SameSize.php',
  195 + 'PHPUnit_Framework_Constraint_StringContains' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringContains.php',
  196 + 'PHPUnit_Framework_Constraint_StringEndsWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php',
  197 + 'PHPUnit_Framework_Constraint_StringMatches' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringMatches.php',
  198 + 'PHPUnit_Framework_Constraint_StringStartsWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php',
  199 + 'PHPUnit_Framework_Constraint_TraversableContains' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php',
  200 + 'PHPUnit_Framework_Constraint_TraversableContainsOnly' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php',
  201 + 'PHPUnit_Framework_Constraint_Xor' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Constraint/Xor.php',
  202 + 'PHPUnit_Framework_Error' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error.php',
  203 + 'PHPUnit_Framework_Error_Deprecated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Deprecated.php',
  204 + 'PHPUnit_Framework_Error_Notice' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Notice.php',
  205 + 'PHPUnit_Framework_Error_Warning' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Error/Warning.php',
  206 + 'PHPUnit_Framework_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception.php',
  207 + 'PHPUnit_Framework_ExceptionWrapper' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php',
  208 + 'PHPUnit_Framework_ExpectationFailedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/ExpectationFailedException.php',
  209 + 'PHPUnit_Framework_IncompleteTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTest.php',
  210 + 'PHPUnit_Framework_IncompleteTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php',
  211 + 'PHPUnit_Framework_IncompleteTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/IncompleteTestError.php',
  212 + 'PHPUnit_Framework_InvalidCoversTargetError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php',
  213 + 'PHPUnit_Framework_InvalidCoversTargetException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php',
  214 + 'PHPUnit_Framework_MockObject_BadMethodCallException' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php',
  215 + 'PHPUnit_Framework_MockObject_Builder_Identity' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php',
  216 + 'PHPUnit_Framework_MockObject_Builder_InvocationMocker' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php',
  217 + 'PHPUnit_Framework_MockObject_Builder_Match' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php',
  218 + 'PHPUnit_Framework_MockObject_Builder_MethodNameMatch' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php',
  219 + 'PHPUnit_Framework_MockObject_Builder_Namespace' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php',
  220 + 'PHPUnit_Framework_MockObject_Builder_ParametersMatch' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php',
  221 + 'PHPUnit_Framework_MockObject_Builder_Stub' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php',
  222 + 'PHPUnit_Framework_MockObject_Exception' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php',
  223 + 'PHPUnit_Framework_MockObject_Generator' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php',
  224 + 'PHPUnit_Framework_MockObject_Invocation' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php',
  225 + 'PHPUnit_Framework_MockObject_InvocationMocker' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php',
  226 + 'PHPUnit_Framework_MockObject_Invocation_Object' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php',
  227 + 'PHPUnit_Framework_MockObject_Invocation_Static' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php',
  228 + 'PHPUnit_Framework_MockObject_Invokable' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php',
  229 + 'PHPUnit_Framework_MockObject_Matcher' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php',
  230 + 'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php',
  231 + 'PHPUnit_Framework_MockObject_Matcher_AnyParameters' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php',
  232 + 'PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php',
  233 + 'PHPUnit_Framework_MockObject_Matcher_Invocation' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php',
  234 + 'PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php',
  235 + 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php',
  236 + 'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php',
  237 + 'PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php',
  238 + 'PHPUnit_Framework_MockObject_Matcher_InvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php',
  239 + 'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php',
  240 + 'PHPUnit_Framework_MockObject_Matcher_MethodName' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php',
  241 + 'PHPUnit_Framework_MockObject_Matcher_Parameters' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php',
  242 + 'PHPUnit_Framework_MockObject_Matcher_StatelessInvocation' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php',
  243 + 'PHPUnit_Framework_MockObject_MockBuilder' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php',
  244 + 'PHPUnit_Framework_MockObject_MockObject' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php',
  245 + 'PHPUnit_Framework_MockObject_RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php',
  246 + 'PHPUnit_Framework_MockObject_Stub' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php',
  247 + 'PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php',
  248 + 'PHPUnit_Framework_MockObject_Stub_Exception' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php',
  249 + 'PHPUnit_Framework_MockObject_Stub_MatcherCollection' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php',
  250 + 'PHPUnit_Framework_MockObject_Stub_Return' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php',
  251 + 'PHPUnit_Framework_MockObject_Stub_ReturnArgument' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php',
  252 + 'PHPUnit_Framework_MockObject_Stub_ReturnCallback' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php',
  253 + 'PHPUnit_Framework_MockObject_Stub_ReturnSelf' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php',
  254 + 'PHPUnit_Framework_MockObject_Stub_ReturnValueMap' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php',
  255 + 'PHPUnit_Framework_MockObject_Verifiable' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php',
  256 + 'PHPUnit_Framework_OutputError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/OutputError.php',
  257 + 'PHPUnit_Framework_RiskyTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/RiskyTest.php',
  258 + 'PHPUnit_Framework_RiskyTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/RiskyTestError.php',
  259 + 'PHPUnit_Framework_SelfDescribing' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SelfDescribing.php',
  260 + 'PHPUnit_Framework_SkippedTest' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTest.php',
  261 + 'PHPUnit_Framework_SkippedTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestCase.php',
  262 + 'PHPUnit_Framework_SkippedTestError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestError.php',
  263 + 'PHPUnit_Framework_SkippedTestSuiteError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php',
  264 + 'PHPUnit_Framework_SyntheticError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/SyntheticError.php',
  265 + 'PHPUnit_Framework_Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Test.php',
  266 + 'PHPUnit_Framework_TestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestCase.php',
  267 + 'PHPUnit_Framework_TestFailure' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestFailure.php',
  268 + 'PHPUnit_Framework_TestListener' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestListener.php',
  269 + 'PHPUnit_Framework_TestResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestResult.php',
  270 + 'PHPUnit_Framework_TestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuite.php',
  271 + 'PHPUnit_Framework_TestSuite_DataProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php',
  272 + 'PHPUnit_Framework_UnintentionallyCoveredCodeError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php',
  273 + 'PHPUnit_Framework_Warning' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Warning.php',
  274 + 'PHPUnit_Runner_BaseTestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/BaseTestRunner.php',
  275 + 'PHPUnit_Runner_Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception.php',
  276 + 'PHPUnit_Runner_Filter_Factory' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Factory.php',
  277 + 'PHPUnit_Runner_Filter_GroupFilterIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Group.php',
  278 + 'PHPUnit_Runner_Filter_Group_Exclude' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php',
  279 + 'PHPUnit_Runner_Filter_Group_Include' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Group/Include.php',
  280 + 'PHPUnit_Runner_Filter_Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Filter/Test.php',
  281 + 'PHPUnit_Runner_StandardTestSuiteLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php',
  282 + 'PHPUnit_Runner_TestSuiteLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php',
  283 + 'PHPUnit_Runner_Version' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Version.php',
  284 + 'PHPUnit_TextUI_Command' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Command.php',
  285 + 'PHPUnit_TextUI_ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/ResultPrinter.php',
  286 + 'PHPUnit_TextUI_TestRunner' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/TestRunner.php',
  287 + 'PHPUnit_Util_Blacklist' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Blacklist.php',
  288 + 'PHPUnit_Util_Configuration' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Configuration.php',
  289 + 'PHPUnit_Util_ErrorHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/ErrorHandler.php',
  290 + 'PHPUnit_Util_Fileloader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Fileloader.php',
  291 + 'PHPUnit_Util_Filesystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filesystem.php',
  292 + 'PHPUnit_Util_Filter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filter.php',
  293 + 'PHPUnit_Util_Getopt' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Getopt.php',
  294 + 'PHPUnit_Util_GlobalState' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/GlobalState.php',
  295 + 'PHPUnit_Util_InvalidArgumentHelper' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/InvalidArgumentHelper.php',
  296 + 'PHPUnit_Util_Log_JSON' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/JSON.php',
  297 + 'PHPUnit_Util_Log_JUnit' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/JUnit.php',
  298 + 'PHPUnit_Util_Log_TAP' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Log/TAP.php',
  299 + 'PHPUnit_Util_PHP' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP.php',
  300 + 'PHPUnit_Util_PHP_Default' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/Default.php',
  301 + 'PHPUnit_Util_PHP_Windows' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/PHP/Windows.php',
  302 + 'PHPUnit_Util_Printer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Printer.php',
  303 + 'PHPUnit_Util_Regex' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Regex.php',
  304 + 'PHPUnit_Util_String' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/String.php',
  305 + 'PHPUnit_Util_Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Test.php',
  306 + 'PHPUnit_Util_TestDox_NamePrettifier' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php',
  307 + 'PHPUnit_Util_TestDox_ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php',
  308 + 'PHPUnit_Util_TestDox_ResultPrinter_HTML' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php',
  309 + 'PHPUnit_Util_TestDox_ResultPrinter_Text' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php',
  310 + 'PHPUnit_Util_TestSuiteIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestSuiteIterator.php',
  311 + 'PHPUnit_Util_Type' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Type.php',
  312 + 'PHPUnit_Util_XML' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XML.php',
  313 + 'PHP_CodeCoverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage.php',
  314 + 'PHP_CodeCoverage_Driver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver.php',
  315 + 'PHP_CodeCoverage_Driver_HHVM' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php',
  316 + 'PHP_CodeCoverage_Driver_PHPDBG' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php',
  317 + 'PHP_CodeCoverage_Driver_Xdebug' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php',
  318 + 'PHP_CodeCoverage_Exception' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Exception.php',
  319 + 'PHP_CodeCoverage_Exception_UnintentionallyCoveredCode' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php',
  320 + 'PHP_CodeCoverage_Filter' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Filter.php',
  321 + 'PHP_CodeCoverage_Report_Clover' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php',
  322 + 'PHP_CodeCoverage_Report_Crap4j' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php',
  323 + 'PHP_CodeCoverage_Report_Factory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php',
  324 + 'PHP_CodeCoverage_Report_HTML' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php',
  325 + 'PHP_CodeCoverage_Report_HTML_Renderer' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php',
  326 + 'PHP_CodeCoverage_Report_HTML_Renderer_Dashboard' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php',
  327 + 'PHP_CodeCoverage_Report_HTML_Renderer_Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php',
  328 + 'PHP_CodeCoverage_Report_HTML_Renderer_File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php',
  329 + 'PHP_CodeCoverage_Report_Node' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php',
  330 + 'PHP_CodeCoverage_Report_Node_Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php',
  331 + 'PHP_CodeCoverage_Report_Node_File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php',
  332 + 'PHP_CodeCoverage_Report_Node_Iterator' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php',
  333 + 'PHP_CodeCoverage_Report_PHP' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php',
  334 + 'PHP_CodeCoverage_Report_Text' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php',
  335 + 'PHP_CodeCoverage_Report_XML' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php',
  336 + 'PHP_CodeCoverage_Report_XML_Directory' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php',
  337 + 'PHP_CodeCoverage_Report_XML_File' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php',
  338 + 'PHP_CodeCoverage_Report_XML_File_Coverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php',
  339 + 'PHP_CodeCoverage_Report_XML_File_Method' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php',
  340 + 'PHP_CodeCoverage_Report_XML_File_Report' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php',
  341 + 'PHP_CodeCoverage_Report_XML_File_Unit' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php',
  342 + 'PHP_CodeCoverage_Report_XML_Node' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php',
  343 + 'PHP_CodeCoverage_Report_XML_Project' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php',
  344 + 'PHP_CodeCoverage_Report_XML_Tests' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php',
  345 + 'PHP_CodeCoverage_Report_XML_Totals' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php',
  346 + 'PHP_CodeCoverage_Util' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Util.php',
  347 + 'PHP_CodeCoverage_Util_InvalidArgumentHelper' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php',
  348 + 'PHP_Timer' => __DIR__ . '/..' . '/phpunit/php-timer/src/Timer.php',
  349 + 'PHP_Token' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  350 + 'PHP_TokenWithScope' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  351 + 'PHP_TokenWithScopeAndVisibility' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  352 + 'PHP_Token_ABSTRACT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  353 + 'PHP_Token_AMPERSAND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  354 + 'PHP_Token_AND_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  355 + 'PHP_Token_ARRAY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  356 + 'PHP_Token_ARRAY_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  357 + 'PHP_Token_AS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  358 + 'PHP_Token_ASYNC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  359 + 'PHP_Token_AT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  360 + 'PHP_Token_AWAIT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  361 + 'PHP_Token_BACKTICK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  362 + 'PHP_Token_BAD_CHARACTER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  363 + 'PHP_Token_BOOLEAN_AND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  364 + 'PHP_Token_BOOLEAN_OR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  365 + 'PHP_Token_BOOL_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  366 + 'PHP_Token_BREAK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  367 + 'PHP_Token_CALLABLE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  368 + 'PHP_Token_CARET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  369 + 'PHP_Token_CASE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  370 + 'PHP_Token_CATCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  371 + 'PHP_Token_CHARACTER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  372 + 'PHP_Token_CLASS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  373 + 'PHP_Token_CLASS_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  374 + 'PHP_Token_CLASS_NAME_CONSTANT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  375 + 'PHP_Token_CLONE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  376 + 'PHP_Token_CLOSE_BRACKET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  377 + 'PHP_Token_CLOSE_CURLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  378 + 'PHP_Token_CLOSE_SQUARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  379 + 'PHP_Token_CLOSE_TAG' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  380 + 'PHP_Token_COALESCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  381 + 'PHP_Token_COLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  382 + 'PHP_Token_COMMA' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  383 + 'PHP_Token_COMMENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  384 + 'PHP_Token_COMPILER_HALT_OFFSET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  385 + 'PHP_Token_CONCAT_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  386 + 'PHP_Token_CONST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  387 + 'PHP_Token_CONSTANT_ENCAPSED_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  388 + 'PHP_Token_CONTINUE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  389 + 'PHP_Token_CURLY_OPEN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  390 + 'PHP_Token_DEC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  391 + 'PHP_Token_DECLARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  392 + 'PHP_Token_DEFAULT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  393 + 'PHP_Token_DIR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  394 + 'PHP_Token_DIV' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  395 + 'PHP_Token_DIV_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  396 + 'PHP_Token_DNUMBER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  397 + 'PHP_Token_DO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  398 + 'PHP_Token_DOC_COMMENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  399 + 'PHP_Token_DOLLAR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  400 + 'PHP_Token_DOLLAR_OPEN_CURLY_BRACES' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  401 + 'PHP_Token_DOT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  402 + 'PHP_Token_DOUBLE_ARROW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  403 + 'PHP_Token_DOUBLE_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  404 + 'PHP_Token_DOUBLE_COLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  405 + 'PHP_Token_DOUBLE_QUOTES' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  406 + 'PHP_Token_ECHO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  407 + 'PHP_Token_ELLIPSIS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  408 + 'PHP_Token_ELSE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  409 + 'PHP_Token_ELSEIF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  410 + 'PHP_Token_EMPTY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  411 + 'PHP_Token_ENCAPSED_AND_WHITESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  412 + 'PHP_Token_ENDDECLARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  413 + 'PHP_Token_ENDFOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  414 + 'PHP_Token_ENDFOREACH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  415 + 'PHP_Token_ENDIF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  416 + 'PHP_Token_ENDSWITCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  417 + 'PHP_Token_ENDWHILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  418 + 'PHP_Token_END_HEREDOC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  419 + 'PHP_Token_ENUM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  420 + 'PHP_Token_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  421 + 'PHP_Token_EQUALS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  422 + 'PHP_Token_EVAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  423 + 'PHP_Token_EXCLAMATION_MARK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  424 + 'PHP_Token_EXIT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  425 + 'PHP_Token_EXTENDS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  426 + 'PHP_Token_FILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  427 + 'PHP_Token_FINAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  428 + 'PHP_Token_FINALLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  429 + 'PHP_Token_FOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  430 + 'PHP_Token_FOREACH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  431 + 'PHP_Token_FUNCTION' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  432 + 'PHP_Token_FUNC_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  433 + 'PHP_Token_GLOBAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  434 + 'PHP_Token_GOTO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  435 + 'PHP_Token_GT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  436 + 'PHP_Token_HALT_COMPILER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  437 + 'PHP_Token_IF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  438 + 'PHP_Token_IMPLEMENTS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  439 + 'PHP_Token_IN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  440 + 'PHP_Token_INC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  441 + 'PHP_Token_INCLUDE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  442 + 'PHP_Token_INCLUDE_ONCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  443 + 'PHP_Token_INLINE_HTML' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  444 + 'PHP_Token_INSTANCEOF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  445 + 'PHP_Token_INSTEADOF' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  446 + 'PHP_Token_INTERFACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  447 + 'PHP_Token_INT_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  448 + 'PHP_Token_ISSET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  449 + 'PHP_Token_IS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  450 + 'PHP_Token_IS_GREATER_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  451 + 'PHP_Token_IS_IDENTICAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  452 + 'PHP_Token_IS_NOT_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  453 + 'PHP_Token_IS_NOT_IDENTICAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  454 + 'PHP_Token_IS_SMALLER_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  455 + 'PHP_Token_Includes' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  456 + 'PHP_Token_JOIN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  457 + 'PHP_Token_LAMBDA_ARROW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  458 + 'PHP_Token_LAMBDA_CP' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  459 + 'PHP_Token_LAMBDA_OP' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  460 + 'PHP_Token_LINE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  461 + 'PHP_Token_LIST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  462 + 'PHP_Token_LNUMBER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  463 + 'PHP_Token_LOGICAL_AND' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  464 + 'PHP_Token_LOGICAL_OR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  465 + 'PHP_Token_LOGICAL_XOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  466 + 'PHP_Token_LT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  467 + 'PHP_Token_METHOD_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  468 + 'PHP_Token_MINUS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  469 + 'PHP_Token_MINUS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  470 + 'PHP_Token_MOD_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  471 + 'PHP_Token_MULT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  472 + 'PHP_Token_MUL_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  473 + 'PHP_Token_NAMESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  474 + 'PHP_Token_NEW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  475 + 'PHP_Token_NS_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  476 + 'PHP_Token_NS_SEPARATOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  477 + 'PHP_Token_NUM_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  478 + 'PHP_Token_OBJECT_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  479 + 'PHP_Token_OBJECT_OPERATOR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  480 + 'PHP_Token_ONUMBER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  481 + 'PHP_Token_OPEN_BRACKET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  482 + 'PHP_Token_OPEN_CURLY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  483 + 'PHP_Token_OPEN_SQUARE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  484 + 'PHP_Token_OPEN_TAG' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  485 + 'PHP_Token_OPEN_TAG_WITH_ECHO' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  486 + 'PHP_Token_OR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  487 + 'PHP_Token_PAAMAYIM_NEKUDOTAYIM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  488 + 'PHP_Token_PERCENT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  489 + 'PHP_Token_PIPE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  490 + 'PHP_Token_PLUS' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  491 + 'PHP_Token_PLUS_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  492 + 'PHP_Token_POW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  493 + 'PHP_Token_POW_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  494 + 'PHP_Token_PRINT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  495 + 'PHP_Token_PRIVATE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  496 + 'PHP_Token_PROTECTED' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  497 + 'PHP_Token_PUBLIC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  498 + 'PHP_Token_QUESTION_MARK' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  499 + 'PHP_Token_REQUIRE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  500 + 'PHP_Token_REQUIRE_ONCE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  501 + 'PHP_Token_RETURN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  502 + 'PHP_Token_SEMICOLON' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  503 + 'PHP_Token_SHAPE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  504 + 'PHP_Token_SL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  505 + 'PHP_Token_SL_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  506 + 'PHP_Token_SPACESHIP' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  507 + 'PHP_Token_SR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  508 + 'PHP_Token_SR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  509 + 'PHP_Token_START_HEREDOC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  510 + 'PHP_Token_STATIC' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  511 + 'PHP_Token_STRING' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  512 + 'PHP_Token_STRING_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  513 + 'PHP_Token_STRING_VARNAME' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  514 + 'PHP_Token_SUPER' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  515 + 'PHP_Token_SWITCH' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  516 + 'PHP_Token_Stream' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token/Stream.php',
  517 + 'PHP_Token_Stream_CachingFactory' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php',
  518 + 'PHP_Token_THROW' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  519 + 'PHP_Token_TILDE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  520 + 'PHP_Token_TRAIT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  521 + 'PHP_Token_TRAIT_C' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  522 + 'PHP_Token_TRY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  523 + 'PHP_Token_TYPE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  524 + 'PHP_Token_TYPELIST_GT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  525 + 'PHP_Token_TYPELIST_LT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  526 + 'PHP_Token_UNSET' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  527 + 'PHP_Token_UNSET_CAST' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  528 + 'PHP_Token_USE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  529 + 'PHP_Token_USE_FUNCTION' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  530 + 'PHP_Token_VAR' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  531 + 'PHP_Token_VARIABLE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  532 + 'PHP_Token_WHERE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  533 + 'PHP_Token_WHILE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  534 + 'PHP_Token_WHITESPACE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  535 + 'PHP_Token_XHP_ATTRIBUTE' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  536 + 'PHP_Token_XHP_CATEGORY' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  537 + 'PHP_Token_XHP_CATEGORY_LABEL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  538 + 'PHP_Token_XHP_CHILDREN' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  539 + 'PHP_Token_XHP_LABEL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  540 + 'PHP_Token_XHP_REQUIRED' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  541 + 'PHP_Token_XHP_TAG_GT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  542 + 'PHP_Token_XHP_TAG_LT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  543 + 'PHP_Token_XHP_TEXT' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  544 + 'PHP_Token_XOR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  545 + 'PHP_Token_YIELD' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  546 + 'PHP_Token_YIELD_FROM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
  547 + 'SebastianBergmann\\Comparator\\ArrayComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ArrayComparator.php',
  548 + 'SebastianBergmann\\Comparator\\Comparator' => __DIR__ . '/..' . '/sebastian/comparator/src/Comparator.php',
  549 + 'SebastianBergmann\\Comparator\\ComparisonFailure' => __DIR__ . '/..' . '/sebastian/comparator/src/ComparisonFailure.php',
  550 + 'SebastianBergmann\\Comparator\\DOMNodeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DOMNodeComparator.php',
  551 + 'SebastianBergmann\\Comparator\\DateTimeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DateTimeComparator.php',
  552 + 'SebastianBergmann\\Comparator\\DoubleComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/DoubleComparator.php',
  553 + 'SebastianBergmann\\Comparator\\ExceptionComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ExceptionComparator.php',
  554 + 'SebastianBergmann\\Comparator\\Factory' => __DIR__ . '/..' . '/sebastian/comparator/src/Factory.php',
  555 + 'SebastianBergmann\\Comparator\\MockObjectComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/MockObjectComparator.php',
  556 + 'SebastianBergmann\\Comparator\\NumericComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/NumericComparator.php',
  557 + 'SebastianBergmann\\Comparator\\ObjectComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ObjectComparator.php',
  558 + 'SebastianBergmann\\Comparator\\ResourceComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ResourceComparator.php',
  559 + 'SebastianBergmann\\Comparator\\ScalarComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ScalarComparator.php',
  560 + 'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/SplObjectStorageComparator.php',
  561 + 'SebastianBergmann\\Comparator\\TypeComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/TypeComparator.php',
  562 + 'SebastianBergmann\\Diff\\Chunk' => __DIR__ . '/..' . '/sebastian/diff/src/Chunk.php',
  563 + 'SebastianBergmann\\Diff\\Diff' => __DIR__ . '/..' . '/sebastian/diff/src/Diff.php',
  564 + 'SebastianBergmann\\Diff\\Differ' => __DIR__ . '/..' . '/sebastian/diff/src/Differ.php',
  565 + 'SebastianBergmann\\Diff\\LCS\\LongestCommonSubsequence' => __DIR__ . '/..' . '/sebastian/diff/src/LCS/LongestCommonSubsequence.php',
  566 + 'SebastianBergmann\\Diff\\LCS\\MemoryEfficientImplementation' => __DIR__ . '/..' . '/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php',
  567 + 'SebastianBergmann\\Diff\\LCS\\TimeEfficientImplementation' => __DIR__ . '/..' . '/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php',
  568 + 'SebastianBergmann\\Diff\\Line' => __DIR__ . '/..' . '/sebastian/diff/src/Line.php',
  569 + 'SebastianBergmann\\Diff\\Parser' => __DIR__ . '/..' . '/sebastian/diff/src/Parser.php',
  570 + 'SebastianBergmann\\Environment\\Console' => __DIR__ . '/..' . '/sebastian/environment/src/Console.php',
  571 + 'SebastianBergmann\\Environment\\Runtime' => __DIR__ . '/..' . '/sebastian/environment/src/Runtime.php',
  572 + 'SebastianBergmann\\Exporter\\Exporter' => __DIR__ . '/..' . '/sebastian/exporter/src/Exporter.php',
  573 + 'SebastianBergmann\\GlobalState\\Blacklist' => __DIR__ . '/..' . '/sebastian/global-state/src/Blacklist.php',
  574 + 'SebastianBergmann\\GlobalState\\CodeExporter' => __DIR__ . '/..' . '/sebastian/global-state/src/CodeExporter.php',
  575 + 'SebastianBergmann\\GlobalState\\Exception' => __DIR__ . '/..' . '/sebastian/global-state/src/Exception.php',
  576 + 'SebastianBergmann\\GlobalState\\Restorer' => __DIR__ . '/..' . '/sebastian/global-state/src/Restorer.php',
  577 + 'SebastianBergmann\\GlobalState\\RuntimeException' => __DIR__ . '/..' . '/sebastian/global-state/src/RuntimeException.php',
  578 + 'SebastianBergmann\\GlobalState\\Snapshot' => __DIR__ . '/..' . '/sebastian/global-state/src/Snapshot.php',
  579 + 'SebastianBergmann\\RecursionContext\\Context' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Context.php',
  580 + 'SebastianBergmann\\RecursionContext\\Exception' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Exception.php',
  581 + 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/recursion-context/src/InvalidArgumentException.php',
  582 + 'SebastianBergmann\\Version' => __DIR__ . '/..' . '/sebastian/version/src/Version.php',
  583 + 'Text_Template' => __DIR__ . '/..' . '/phpunit/php-text-template/src/Template.php',
  584 + 'think\\view\\driver\\Angular' => __DIR__ . '/..' . '/topthink/think-angular/drivers/thinkphp5/Angular.php',
  585 + );
  586 +
  587 + public static function getInitializer(ClassLoader $loader)
  588 + {
  589 + return \Closure::bind(function () use ($loader) {
  590 + $loader->prefixLengthsPsr4 = ComposerStaticInit72a85f69782724a9ddb9dfee0362af6f::$prefixLengthsPsr4;
  591 + $loader->prefixDirsPsr4 = ComposerStaticInit72a85f69782724a9ddb9dfee0362af6f::$prefixDirsPsr4;
  592 + $loader->prefixesPsr0 = ComposerStaticInit72a85f69782724a9ddb9dfee0362af6f::$prefixesPsr0;
  593 + $loader->classMap = ComposerStaticInit72a85f69782724a9ddb9dfee0362af6f::$classMap;
  594 +
  595 + }, null, ClassLoader::class);
  596 + }
  597 +}
  1 +[
  2 + {
  3 + "name": "topthink/think-installer",
  4 + "version": "v1.0.11",
  5 + "version_normalized": "1.0.11.0",
  6 + "source": {
  7 + "type": "git",
  8 + "url": "https://github.com/top-think/think-installer.git",
  9 + "reference": "4c6e1ebecd1afce3f4ccc47e147d61bbe1bf641d"
  10 + },
  11 + "dist": {
  12 + "type": "zip",
  13 + "url": "https://packagist.phpcomposer.com/files/top-think/think-installer/4c6e1ebecd1afce3f4ccc47e147d61bbe1bf641d.zip",
  14 + "reference": "4c6e1ebecd1afce3f4ccc47e147d61bbe1bf641d",
  15 + "shasum": ""
  16 + },
  17 + "require": {
  18 + "composer-plugin-api": "^1.0"
  19 + },
  20 + "require-dev": {
  21 + "composer/composer": "1.0.*@dev"
  22 + },
  23 + "time": "2016-12-01 09:08:45",
  24 + "type": "composer-plugin",
  25 + "extra": {
  26 + "class": "think\\composer\\Plugin"
  27 + },
  28 + "installation-source": "dist",
  29 + "autoload": {
  30 + "psr-4": {
  31 + "think\\composer\\": "src"
  32 + }
  33 + },
  34 + "notification-url": "https://packagist.org/downloads/",
  35 + "license": [
  36 + "Apache-2.0"
  37 + ],
  38 + "authors": [
  39 + {
  40 + "name": "yunwuxin",
  41 + "email": "448901948@qq.com"
  42 + }
  43 + ]
  44 + },
  45 + {
  46 + "name": "topthink/framework",
  47 + "version": "v5.0.5",
  48 + "version_normalized": "5.0.5.0",
  49 + "source": {
  50 + "type": "git",
  51 + "url": "https://github.com/top-think/framework.git",
  52 + "reference": "86cc9378a0c46e66dabed6681f8b8de758585ae1"
  53 + },
  54 + "dist": {
  55 + "type": "zip",
  56 + "url": "https://packagist.phpcomposer.com/files/top-think/framework/86cc9378a0c46e66dabed6681f8b8de758585ae1.zip",
  57 + "reference": "86cc9378a0c46e66dabed6681f8b8de758585ae1",
  58 + "shasum": ""
  59 + },
  60 + "require": {
  61 + "php": ">=5.4.0",
  62 + "topthink/think-installer": "~1.0"
  63 + },
  64 + "require-dev": {
  65 + "johnkary/phpunit-speedtrap": "^1.0",
  66 + "mikey179/vfsstream": "~1.6",
  67 + "phpdocumentor/reflection-docblock": "^2.0",
  68 + "phploc/phploc": "2.*",
  69 + "phpunit/phpunit": "4.8.*",
  70 + "sebastian/phpcpd": "2.*"
  71 + },
  72 + "time": "2017-01-23 05:59:21",
  73 + "type": "think-framework",
  74 + "installation-source": "dist",
  75 + "autoload": {
  76 + "psr-4": {
  77 + "think\\": "library/think"
  78 + }
  79 + },
  80 + "notification-url": "https://packagist.org/downloads/",
  81 + "license": [
  82 + "Apache-2.0"
  83 + ],
  84 + "authors": [
  85 + {
  86 + "name": "liu21st",
  87 + "email": "liu21st@gmail.com"
  88 + }
  89 + ],
  90 + "description": "the new thinkphp framework",
  91 + "homepage": "http://thinkphp.cn/",
  92 + "keywords": [
  93 + "framework",
  94 + "orm",
  95 + "thinkphp"
  96 + ]
  97 + },
  98 + {
  99 + "name": "topthink/think-image",
  100 + "version": "v1.0.7",
  101 + "version_normalized": "1.0.7.0",
  102 + "source": {
  103 + "type": "git",
  104 + "url": "https://github.com/top-think/think-image.git",
  105 + "reference": "8586cf47f117481c6d415b20f7dedf62e79d5512"
  106 + },
  107 + "dist": {
  108 + "type": "zip",
  109 + "url": "https://packagist.phpcomposer.com/files/top-think/think-image/8586cf47f117481c6d415b20f7dedf62e79d5512.zip",
  110 + "reference": "8586cf47f117481c6d415b20f7dedf62e79d5512",
  111 + "shasum": ""
  112 + },
  113 + "require": {
  114 + "ext-gd": "*"
  115 + },
  116 + "require-dev": {
  117 + "phpunit/phpunit": "4.8.*",
  118 + "topthink/framework": "^5.0"
  119 + },
  120 + "time": "2016-09-29 06:05:43",
  121 + "type": "library",
  122 + "installation-source": "dist",
  123 + "autoload": {
  124 + "psr-4": {
  125 + "think\\": "src"
  126 + }
  127 + },
  128 + "notification-url": "https://packagist.org/downloads/",
  129 + "license": [
  130 + "Apache-2.0"
  131 + ],
  132 + "authors": [
  133 + {
  134 + "name": "yunwuxin",
  135 + "email": "448901948@qq.com"
  136 + }
  137 + ],
  138 + "description": "The ThinkPHP5 Image Package"
  139 + },
  140 + {
  141 + "name": "topthink/think-captcha",
  142 + "version": "v1.0.7",
  143 + "version_normalized": "1.0.7.0",
  144 + "source": {
  145 + "type": "git",
  146 + "url": "https://github.com/top-think/think-captcha.git",
  147 + "reference": "0c55455df26a1626a60d0dc35d2d89002b741d44"
  148 + },
  149 + "dist": {
  150 + "type": "zip",
  151 + "url": "https://packagist.phpcomposer.com/files/top-think/think-captcha/0c55455df26a1626a60d0dc35d2d89002b741d44.zip",
  152 + "reference": "0c55455df26a1626a60d0dc35d2d89002b741d44",
  153 + "shasum": ""
  154 + },
  155 + "time": "2016-07-06 01:47:11",
  156 + "type": "library",
  157 + "installation-source": "dist",
  158 + "autoload": {
  159 + "psr-4": {
  160 + "think\\captcha\\": "src/"
  161 + },
  162 + "files": [
  163 + "src/helper.php"
  164 + ]
  165 + },
  166 + "notification-url": "https://packagist.org/downloads/",
  167 + "license": [
  168 + "Apache-2.0"
  169 + ],
  170 + "authors": [
  171 + {
  172 + "name": "yunwuxin",
  173 + "email": "448901948@qq.com"
  174 + }
  175 + ],
  176 + "description": "captcha package for thinkphp5"
  177 + },
  178 + {
  179 + "name": "topthink/think-mongo",
  180 + "version": "v1.2",
  181 + "version_normalized": "1.2.0.0",
  182 + "source": {
  183 + "type": "git",
  184 + "url": "https://github.com/top-think/think-mongo.git",
  185 + "reference": "d26ddc47e85d2a1a41a6e38f155610a1c8f66f70"
  186 + },
  187 + "dist": {
  188 + "type": "zip",
  189 + "url": "https://packagist.phpcomposer.com/files/top-think/think-mongo/d26ddc47e85d2a1a41a6e38f155610a1c8f66f70.zip",
  190 + "reference": "d26ddc47e85d2a1a41a6e38f155610a1c8f66f70",
  191 + "shasum": ""
  192 + },
  193 + "time": "2016-11-17 13:20:01",
  194 + "type": "library",
  195 + "installation-source": "dist",
  196 + "autoload": {
  197 + "psr-4": {
  198 + "think\\mongo\\": "src"
  199 + },
  200 + "files": []
  201 + },
  202 + "notification-url": "https://packagist.org/downloads/",
  203 + "license": [
  204 + "Apache-2.0"
  205 + ],
  206 + "authors": [
  207 + {
  208 + "name": "liu21st",
  209 + "email": "liu21st@gmail.com"
  210 + }
  211 + ],
  212 + "description": "mongodb driver for thinkphp5"
  213 + },
  214 + {
  215 + "name": "topthink/think-migration",
  216 + "version": "v1.0.6",
  217 + "version_normalized": "1.0.6.0",
  218 + "source": {
  219 + "type": "git",
  220 + "url": "https://github.com/top-think/think-migration.git",
  221 + "reference": "b2960f9b86c9231f593d5cfb84798176e332c987"
  222 + },
  223 + "dist": {
  224 + "type": "zip",
  225 + "url": "https://packagist.phpcomposer.com/files/top-think/think-migration/b2960f9b86c9231f593d5cfb84798176e332c987.zip",
  226 + "reference": "b2960f9b86c9231f593d5cfb84798176e332c987",
  227 + "shasum": ""
  228 + },
  229 + "time": "2016-10-17 03:31:17",
  230 + "type": "library",
  231 + "installation-source": "dist",
  232 + "autoload": {
  233 + "psr-4": {
  234 + "Phinx\\": "phinx/src/Phinx",
  235 + "think\\migration\\": "src"
  236 + },
  237 + "files": [
  238 + "src/config.php"
  239 + ]
  240 + },
  241 + "notification-url": "https://packagist.org/downloads/",
  242 + "license": [
  243 + "Apache-2.0"
  244 + ],
  245 + "authors": [
  246 + {
  247 + "name": "yunwuxin",
  248 + "email": "448901948@qq.com"
  249 + }
  250 + ]
  251 + },
  252 + {
  253 + "name": "topthink/think-angular",
  254 + "version": "1.0.9",
  255 + "version_normalized": "1.0.9.0",
  256 + "source": {
  257 + "type": "git",
  258 + "url": "https://github.com/top-think/think-angular.git",
  259 + "reference": "71c5d575f654b16fe708a22315612ed92cc42dc5"
  260 + },
  261 + "dist": {
  262 + "type": "zip",
  263 + "url": "https://packagist.phpcomposer.com/files/top-think/think-angular/71c5d575f654b16fe708a22315612ed92cc42dc5.zip",
  264 + "reference": "71c5d575f654b16fe708a22315612ed92cc42dc5",
  265 + "shasum": ""
  266 + },
  267 + "require": {
  268 + "php": ">=5.4.0"
  269 + },
  270 + "time": "2016-12-21 04:21:12",
  271 + "type": "library",
  272 + "installation-source": "dist",
  273 + "autoload": {
  274 + "classmap": {
  275 + "think\\view\\driver\\Angular": "drivers/thinkphp5/Angular.php"
  276 + },
  277 + "psr-4": {
  278 + "think\\angular\\": "src/"
  279 + }
  280 + },
  281 + "notification-url": "https://packagist.org/downloads/",
  282 + "license": [
  283 + "Apache2"
  284 + ],
  285 + "authors": [
  286 + {
  287 + "name": "玩具机器人",
  288 + "email": "zhaishuaigan@qq.com"
  289 + }
  290 + ],
  291 + "description": "think angular view engine",
  292 + "homepage": "http://kancloud.cn/shuai/php-angular"
  293 + },
  294 + {
  295 + "name": "topthink/think-sae",
  296 + "version": "v1.1",
  297 + "version_normalized": "1.1.0.0",
  298 + "source": {
  299 + "type": "git",
  300 + "url": "https://github.com/top-think/think-sae.git",
  301 + "reference": "e31ee4ec073c0ffc5dbc7292f8268661e5265091"
  302 + },
  303 + "dist": {
  304 + "type": "zip",
  305 + "url": "https://packagist.phpcomposer.com/files/top-think/think-sae/e31ee4ec073c0ffc5dbc7292f8268661e5265091.zip",
  306 + "reference": "e31ee4ec073c0ffc5dbc7292f8268661e5265091",
  307 + "shasum": ""
  308 + },
  309 + "time": "2016-10-08 10:53:21",
  310 + "type": "library",
  311 + "installation-source": "dist",
  312 + "autoload": {
  313 + "psr-4": {
  314 + "think\\sae\\": "src"
  315 + },
  316 + "files": []
  317 + },
  318 + "notification-url": "https://packagist.org/downloads/",
  319 + "license": [
  320 + "Apache-2.0"
  321 + ],
  322 + "authors": [
  323 + {
  324 + "name": "liu21st",
  325 + "email": "liu21st@gmail.com"
  326 + }
  327 + ],
  328 + "description": "sae support for thinkphp5"
  329 + },
  330 + {
  331 + "name": "workerman/workerman",
  332 + "version": "v3.3.6",
  333 + "version_normalized": "3.3.6.0",
  334 + "source": {
  335 + "type": "git",
  336 + "url": "https://github.com/walkor/Workerman.git",
  337 + "reference": "cc02f47bb7bd5f2ce053cf75fcac02565aa729cf"
  338 + },
  339 + "dist": {
  340 + "type": "zip",
  341 + "url": "https://packagist.phpcomposer.com/files/walkor/Workerman/cc02f47bb7bd5f2ce053cf75fcac02565aa729cf.zip",
  342 + "reference": "cc02f47bb7bd5f2ce053cf75fcac02565aa729cf",
  343 + "shasum": ""
  344 + },
  345 + "require": {
  346 + "php": ">=5.3"
  347 + },
  348 + "suggest": {
  349 + "ext-event": "For better performance."
  350 + },
  351 + "time": "2016-12-22 14:28:34",
  352 + "type": "library",
  353 + "installation-source": "dist",
  354 + "autoload": {
  355 + "psr-4": {
  356 + "Workerman\\": "./"
  357 + }
  358 + },
  359 + "notification-url": "https://packagist.org/downloads/",
  360 + "license": [
  361 + "MIT"
  362 + ],
  363 + "authors": [
  364 + {
  365 + "name": "walkor",
  366 + "email": "walkor@workerman.net",
  367 + "homepage": "http://www.workerman.net",
  368 + "role": "Developer"
  369 + }
  370 + ],
  371 + "description": "An asynchronous event driven PHP framework for easily building fast, scalable network applications.",
  372 + "homepage": "http://www.workerman.net",
  373 + "keywords": [
  374 + "asynchronous",
  375 + "event-loop"
  376 + ]
  377 + },
  378 + {
  379 + "name": "topthink/think-worker",
  380 + "version": "v1.0.1",
  381 + "version_normalized": "1.0.1.0",
  382 + "source": {
  383 + "type": "git",
  384 + "url": "https://github.com/top-think/think-worker.git",
  385 + "reference": "b609ff5e38dbb7194aab027d2b2c6b31a7ed1bd1"
  386 + },
  387 + "dist": {
  388 + "type": "zip",
  389 + "url": "https://packagist.phpcomposer.com/files/top-think/think-worker/b609ff5e38dbb7194aab027d2b2c6b31a7ed1bd1.zip",
  390 + "reference": "b609ff5e38dbb7194aab027d2b2c6b31a7ed1bd1",
  391 + "shasum": ""
  392 + },
  393 + "require": {
  394 + "workerman/workerman": "^3.3.0"
  395 + },
  396 + "time": "2016-10-08 06:07:03",
  397 + "type": "library",
  398 + "installation-source": "dist",
  399 + "autoload": {
  400 + "psr-4": {
  401 + "think\\worker\\": "src"
  402 + },
  403 + "files": []
  404 + },
  405 + "notification-url": "https://packagist.org/downloads/",
  406 + "license": [
  407 + "Apache-2.0"
  408 + ],
  409 + "authors": [
  410 + {
  411 + "name": "liu21st",
  412 + "email": "liu21st@gmail.com"
  413 + }
  414 + ],
  415 + "description": "workerman extend for thinkphp5"
  416 + },
  417 + {
  418 + "name": "topthink/think-helper",
  419 + "version": "v1.0.5",
  420 + "version_normalized": "1.0.5.0",
  421 + "source": {
  422 + "type": "git",
  423 + "url": "https://github.com/top-think/think-helper.git",
  424 + "reference": "ed64408cdc4cdbd390365ba0906d208b987af520"
  425 + },
  426 + "dist": {
  427 + "type": "zip",
  428 + "url": "https://packagist.phpcomposer.com/files/top-think/think-helper/ed64408cdc4cdbd390365ba0906d208b987af520.zip",
  429 + "reference": "ed64408cdc4cdbd390365ba0906d208b987af520",
  430 + "shasum": ""
  431 + },
  432 + "time": "2016-12-01 07:08:40",
  433 + "type": "library",
  434 + "installation-source": "dist",
  435 + "autoload": {
  436 + "psr-4": {
  437 + "think\\helper\\": "src"
  438 + },
  439 + "files": [
  440 + "src/helper.php"
  441 + ]
  442 + },
  443 + "notification-url": "https://packagist.org/downloads/",
  444 + "license": [
  445 + "Apache-2.0"
  446 + ],
  447 + "authors": [
  448 + {
  449 + "name": "yunwuxin",
  450 + "email": "448901948@qq.com"
  451 + }
  452 + ],
  453 + "description": "The ThinkPHP5 Helper Package"
  454 + },
  455 + {
  456 + "name": "topthink/think-queue",
  457 + "version": "v1.1.2",
  458 + "version_normalized": "1.1.2.0",
  459 + "source": {
  460 + "type": "git",
  461 + "url": "https://github.com/top-think/think-queue.git",
  462 + "reference": "503c5b809585ca60cba9485a233aa8be4b22c990"
  463 + },
  464 + "dist": {
  465 + "type": "zip",
  466 + "url": "https://packagist.phpcomposer.com/files/top-think/think-queue/503c5b809585ca60cba9485a233aa8be4b22c990.zip",
  467 + "reference": "503c5b809585ca60cba9485a233aa8be4b22c990",
  468 + "shasum": ""
  469 + },
  470 + "require": {
  471 + "topthink/think-helper": ">=1.0.4",
  472 + "topthink/think-installer": ">=1.0.10"
  473 + },
  474 + "time": "2016-12-01 04:29:39",
  475 + "type": "think-extend",
  476 + "extra": {
  477 + "think-config": {
  478 + "queue": "src/config.php"
  479 + }
  480 + },
  481 + "installation-source": "dist",
  482 + "autoload": {
  483 + "psr-4": {
  484 + "think\\": "src"
  485 + },
  486 + "files": [
  487 + "src/common.php"
  488 + ]
  489 + },
  490 + "notification-url": "https://packagist.org/downloads/",
  491 + "license": [
  492 + "Apache-2.0"
  493 + ],
  494 + "authors": [
  495 + {
  496 + "name": "yunwuxin",
  497 + "email": "448901948@qq.com"
  498 + }
  499 + ],
  500 + "description": "The ThinkPHP5 Queue Package"
  501 + },
  502 + {
  503 + "name": "symfony/polyfill-mbstring",
  504 + "version": "v1.3.0",
  505 + "version_normalized": "1.3.0.0",
  506 + "source": {
  507 + "type": "git",
  508 + "url": "https://github.com/symfony/polyfill-mbstring.git",
  509 + "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4"
  510 + },
  511 + "dist": {
  512 + "type": "zip",
  513 + "url": "https://packagist.phpcomposer.com/files/symfony/polyfill-mbstring/e79d363049d1c2128f133a2667e4f4190904f7f4.zip",
  514 + "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4",
  515 + "shasum": ""
  516 + },
  517 + "require": {
  518 + "php": ">=5.3.3"
  519 + },
  520 + "suggest": {
  521 + "ext-mbstring": "For best performance"
  522 + },
  523 + "time": "2016-11-14 01:06:16",
  524 + "type": "library",
  525 + "extra": {
  526 + "branch-alias": {
  527 + "dev-master": "1.3-dev"
  528 + }
  529 + },
  530 + "installation-source": "dist",
  531 + "autoload": {
  532 + "psr-4": {
  533 + "Symfony\\Polyfill\\Mbstring\\": ""
  534 + },
  535 + "files": [
  536 + "bootstrap.php"
  537 + ]
  538 + },
  539 + "notification-url": "https://packagist.org/downloads/",
  540 + "license": [
  541 + "MIT"
  542 + ],
  543 + "authors": [
  544 + {
  545 + "name": "Nicolas Grekas",
  546 + "email": "p@tchwork.com"
  547 + },
  548 + {
  549 + "name": "Symfony Community",
  550 + "homepage": "https://symfony.com/contributors"
  551 + }
  552 + ],
  553 + "description": "Symfony polyfill for the Mbstring extension",
  554 + "homepage": "https://symfony.com",
  555 + "keywords": [
  556 + "compatibility",
  557 + "mbstring",
  558 + "polyfill",
  559 + "portable",
  560 + "shim"
  561 + ]
  562 + },
  563 + {
  564 + "name": "symfony/dom-crawler",
  565 + "version": "v2.8.16",
  566 + "version_normalized": "2.8.16.0",
  567 + "source": {
  568 + "type": "git",
  569 + "url": "https://github.com/symfony/dom-crawler.git",
  570 + "reference": "52cc211afa9458c0a54c478010a55f44892c1c02"
  571 + },
  572 + "dist": {
  573 + "type": "zip",
  574 + "url": "https://packagist.phpcomposer.com/files/symfony/dom-crawler/52cc211afa9458c0a54c478010a55f44892c1c02.zip",
  575 + "reference": "52cc211afa9458c0a54c478010a55f44892c1c02",
  576 + "shasum": ""
  577 + },
  578 + "require": {
  579 + "php": ">=5.3.9",
  580 + "symfony/polyfill-mbstring": "~1.0"
  581 + },
  582 + "require-dev": {
  583 + "symfony/css-selector": "~2.8|~3.0.0"
  584 + },
  585 + "suggest": {
  586 + "symfony/css-selector": ""
  587 + },
  588 + "time": "2017-01-02 20:30:24",
  589 + "type": "library",
  590 + "extra": {
  591 + "branch-alias": {
  592 + "dev-master": "2.8-dev"
  593 + }
  594 + },
  595 + "installation-source": "dist",
  596 + "autoload": {
  597 + "psr-4": {
  598 + "Symfony\\Component\\DomCrawler\\": ""
  599 + },
  600 + "exclude-from-classmap": [
  601 + "/Tests/"
  602 + ]
  603 + },
  604 + "notification-url": "https://packagist.org/downloads/",
  605 + "license": [
  606 + "MIT"
  607 + ],
  608 + "authors": [
  609 + {
  610 + "name": "Fabien Potencier",
  611 + "email": "fabien@symfony.com"
  612 + },
  613 + {
  614 + "name": "Symfony Community",
  615 + "homepage": "https://symfony.com/contributors"
  616 + }
  617 + ],
  618 + "description": "Symfony DomCrawler Component",
  619 + "homepage": "https://symfony.com"
  620 + },
  621 + {
  622 + "name": "symfony/yaml",
  623 + "version": "v3.2.2",
  624 + "version_normalized": "3.2.2.0",
  625 + "source": {
  626 + "type": "git",
  627 + "url": "https://github.com/symfony/yaml.git",
  628 + "reference": "50eadbd7926e31842893c957eca362b21592a97d"
  629 + },
  630 + "dist": {
  631 + "type": "zip",
  632 + "url": "https://packagist.phpcomposer.com/files/symfony/yaml/50eadbd7926e31842893c957eca362b21592a97d.zip",
  633 + "reference": "50eadbd7926e31842893c957eca362b21592a97d",
  634 + "shasum": ""
  635 + },
  636 + "require": {
  637 + "php": ">=5.5.9"
  638 + },
  639 + "require-dev": {
  640 + "symfony/console": "~2.8|~3.0"
  641 + },
  642 + "suggest": {
  643 + "symfony/console": "For validating YAML files using the lint command"
  644 + },
  645 + "time": "2017-01-03 13:51:32",
  646 + "type": "library",
  647 + "extra": {
  648 + "branch-alias": {
  649 + "dev-master": "3.2-dev"
  650 + }
  651 + },
  652 + "installation-source": "dist",
  653 + "autoload": {
  654 + "psr-4": {
  655 + "Symfony\\Component\\Yaml\\": ""
  656 + },
  657 + "exclude-from-classmap": [
  658 + "/Tests/"
  659 + ]
  660 + },
  661 + "notification-url": "https://packagist.org/downloads/",
  662 + "license": [
  663 + "MIT"
  664 + ],
  665 + "authors": [
  666 + {
  667 + "name": "Fabien Potencier",
  668 + "email": "fabien@symfony.com"
  669 + },
  670 + {
  671 + "name": "Symfony Community",
  672 + "homepage": "https://symfony.com/contributors"
  673 + }
  674 + ],
  675 + "description": "Symfony Yaml Component",
  676 + "homepage": "https://symfony.com"
  677 + },
  678 + {
  679 + "name": "sebastian/version",
  680 + "version": "1.0.6",
  681 + "version_normalized": "1.0.6.0",
  682 + "source": {
  683 + "type": "git",
  684 + "url": "https://github.com/sebastianbergmann/version.git",
  685 + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
  686 + },
  687 + "dist": {
  688 + "type": "zip",
  689 + "url": "https://packagist.phpcomposer.com/files/sebastianbergmann/version/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6.zip",
  690 + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
  691 + "shasum": ""
  692 + },
  693 + "time": "2015-06-21 13:59:46",
  694 + "type": "library",
  695 + "installation-source": "dist",
  696 + "autoload": {
  697 + "classmap": [
  698 + "src/"
  699 + ]
  700 + },
  701 + "notification-url": "https://packagist.org/downloads/",
  702 + "license": [
  703 + "BSD-3-Clause"
  704 + ],
  705 + "authors": [
  706 + {
  707 + "name": "Sebastian Bergmann",
  708 + "email": "sebastian@phpunit.de",
  709 + "role": "lead"
  710 + }
  711 + ],
  712 + "description": "Library that helps with managing the version number of Git-hosted PHP projects",
  713 + "homepage": "https://github.com/sebastianbergmann/version"
  714 + },
  715 + {
  716 + "name": "sebastian/global-state",
  717 + "version": "1.1.1",
  718 + "version_normalized": "1.1.1.0",
  719 + "source": {
  720 + "type": "git",
  721 + "url": "https://github.com/sebastianbergmann/global-state.git",
  722 + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
  723 + },
  724 + "dist": {
  725 + "type": "zip",
  726 + "url": "https://packagist.phpcomposer.com/files/sebastianbergmann/global-state/bc37d50fea7d017d3d340f230811c9f1d7280af4.zip",
  727 + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
  728 + "shasum": ""
  729 + },
  730 + "require": {
  731 + "php": ">=5.3.3"
  732 + },
  733 + "require-dev": {
  734 + "phpunit/phpunit": "~4.2"
  735 + },
  736 + "suggest": {
  737 + "ext-uopz": "*"
  738 + },
  739 + "time": "2015-10-12 03:26:01",
  740 + "type": "library",
  741 + "extra": {
  742 + "branch-alias": {
  743 + "dev-master": "1.0-dev"
  744 + }
  745 + },
  746 + "installation-source": "dist",
  747 + "autoload": {
  748 + "classmap": [
  749 + "src/"
  750 + ]
  751 + },
  752 + "notification-url": "https://packagist.org/downloads/",
  753 + "license": [
  754 + "BSD-3-Clause"
  755 + ],
  756 + "authors": [
  757 + {
  758 + "name": "Sebastian Bergmann",
  759 + "email": "sebastian@phpunit.de"
  760 + }
  761 + ],
  762 + "description": "Snapshotting of global state",
  763 + "homepage": "http://www.github.com/sebastianbergmann/global-state",
  764 + "keywords": [
  765 + "global state"
  766 + ]
  767 + },
  768 + {
  769 + "name": "sebastian/recursion-context",
  770 + "version": "1.0.2",
  771 + "version_normalized": "1.0.2.0",
  772 + "source": {
  773 + "type": "git",
  774 + "url": "https://github.com/sebastianbergmann/recursion-context.git",
  775 + "reference": "913401df809e99e4f47b27cdd781f4a258d58791"
  776 + },
  777 + "dist": {
  778 + "type": "zip",
  779 + "url": "https://packagist.phpcomposer.com/files/sebastianbergmann/recursion-context/913401df809e99e4f47b27cdd781f4a258d58791.zip",
  780 + "reference": "913401df809e99e4f47b27cdd781f4a258d58791",
  781 + "shasum": ""
  782 + },
  783 + "require": {
  784 + "php": ">=5.3.3"
  785 + },
  786 + "require-dev": {
  787 + "phpunit/phpunit": "~4.4"
  788 + },
  789 + "time": "2015-11-11 19:50:13",
  790 + "type": "library",
  791 + "extra": {
  792 + "branch-alias": {
  793 + "dev-master": "1.0.x-dev"
  794 + }
  795 + },
  796 + "installation-source": "dist",
  797 + "autoload": {
  798 + "classmap": [
  799 + "src/"
  800 + ]
  801 + },
  802 + "notification-url": "https://packagist.org/downloads/",
  803 + "license": [
  804 + "BSD-3-Clause"
  805 + ],
  806 + "authors": [
  807 + {
  808 + "name": "Jeff Welch",
  809 + "email": "whatthejeff@gmail.com"
  810 + },
  811 + {
  812 + "name": "Sebastian Bergmann",
  813 + "email": "sebastian@phpunit.de"
  814 + },
  815 + {
  816 + "name": "Adam Harvey",
  817 + "email": "aharvey@php.net"
  818 + }
  819 + ],
  820 + "description": "Provides functionality to recursively process PHP variables",
  821 + "homepage": "http://www.github.com/sebastianbergmann/recursion-context"
  822 + },
  823 + {
  824 + "name": "sebastian/exporter",
  825 + "version": "1.2.2",
  826 + "version_normalized": "1.2.2.0",
  827 + "source": {
  828 + "type": "git",
  829 + "url": "https://github.com/sebastianbergmann/exporter.git",
  830 + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
  831 + },
  832 + "dist": {
  833 + "type": "zip",
  834 + "url": "https://packagist.phpcomposer.com/files/sebastianbergmann/exporter/42c4c2eec485ee3e159ec9884f95b431287edde4.zip",
  835 + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
  836 + "shasum": ""
  837 + },
  838 + "require": {
  839 + "php": ">=5.3.3",
  840 + "sebastian/recursion-context": "~1.0"
  841 + },
  842 + "require-dev": {
  843 + "ext-mbstring": "*",
  844 + "phpunit/phpunit": "~4.4"
  845 + },
  846 + "time": "2016-06-17 09:04:28",
  847 + "type": "library",
  848 + "extra": {
  849 + "branch-alias": {
  850 + "dev-master": "1.3.x-dev"
  851 + }
  852 + },
  853 + "installation-source": "dist",
  854 + "autoload": {
  855 + "classmap": [
  856 + "src/"
  857 + ]
  858 + },
  859 + "notification-url": "https://packagist.org/downloads/",
  860 + "license": [
  861 + "BSD-3-Clause"
  862 + ],
  863 + "authors": [
  864 + {
  865 + "name": "Jeff Welch",
  866 + "email": "whatthejeff@gmail.com"
  867 + },
  868 + {
  869 + "name": "Volker Dusch",
  870 + "email": "github@wallbash.com"
  871 + },
  872 + {
  873 + "name": "Bernhard Schussek",
  874 + "email": "bschussek@2bepublished.at"
  875 + },
  876 + {
  877 + "name": "Sebastian Bergmann",
  878 + "email": "sebastian@phpunit.de"
  879 + },
  880 + {
  881 + "name": "Adam Harvey",
  882 + "email": "aharvey@php.net"
  883 + }
  884 + ],
  885 + "description": "Provides the functionality to export PHP variables for visualization",
  886 + "homepage": "http://www.github.com/sebastianbergmann/exporter",
  887 + "keywords": [
  888 + "export",
  889 + "exporter"
  890 + ]
  891 + },
  892 + {
  893 + "name": "sebastian/environment",
  894 + "version": "1.3.8",
  895 + "version_normalized": "1.3.8.0",
  896 + "source": {
  897 + "type": "git",
  898 + "url": "https://github.com/sebastianbergmann/environment.git",
  899 + "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea"
  900 + },
  901 + "dist": {
  902 + "type": "zip",
  903 + "url": "https://packagist.phpcomposer.com/files/sebastianbergmann/environment/be2c607e43ce4c89ecd60e75c6a85c126e754aea.zip",
  904 + "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea",
  905 + "shasum": ""
  906 + },
  907 + "require": {
  908 + "php": "^5.3.3 || ^7.0"
  909 + },
  910 + "require-dev": {
  911 + "phpunit/phpunit": "^4.8 || ^5.0"
  912 + },
  913 + "time": "2016-08-18 05:49:44",
  914 + "type": "library",
  915 + "extra": {
  916 + "branch-alias": {
  917 + "dev-master": "1.3.x-dev"
  918 + }
  919 + },
  920 + "installation-source": "dist",
  921 + "autoload": {
  922 + "classmap": [
  923 + "src/"
  924 + ]
  925 + },
  926 + "notification-url": "https://packagist.org/downloads/",
  927 + "license": [
  928 + "BSD-3-Clause"
  929 + ],
  930 + "authors": [
  931 + {
  932 + "name": "Sebastian Bergmann",
  933 + "email": "sebastian@phpunit.de"
  934 + }
  935 + ],
  936 + "description": "Provides functionality to handle HHVM/PHP environments",
  937 + "homepage": "http://www.github.com/sebastianbergmann/environment",
  938 + "keywords": [
  939 + "Xdebug",
  940 + "environment",
  941 + "hhvm"
  942 + ]
  943 + },
  944 + {
  945 + "name": "sebastian/diff",
  946 + "version": "1.4.1",
  947 + "version_normalized": "1.4.1.0",
  948 + "source": {
  949 + "type": "git",
  950 + "url": "https://github.com/sebastianbergmann/diff.git",
  951 + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
  952 + },
  953 + "dist": {
  954 + "type": "zip",
  955 + "url": "https://packagist.phpcomposer.com/files/sebastianbergmann/diff/13edfd8706462032c2f52b4b862974dd46b71c9e.zip",
  956 + "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
  957 + "shasum": ""
  958 + },
  959 + "require": {
  960 + "php": ">=5.3.3"
  961 + },
  962 + "require-dev": {
  963 + "phpunit/phpunit": "~4.8"
  964 + },
  965 + "time": "2015-12-08 07:14:41",
  966 + "type": "library",
  967 + "extra": {
  968 + "branch-alias": {
  969 + "dev-master": "1.4-dev"
  970 + }
  971 + },
  972 + "installation-source": "dist",
  973 + "autoload": {
  974 + "classmap": [
  975 + "src/"
  976 + ]
  977 + },
  978 + "notification-url": "https://packagist.org/downloads/",
  979 + "license": [
  980 + "BSD-3-Clause"
  981 + ],
  982 + "authors": [
  983 + {
  984 + "name": "Kore Nordmann",
  985 + "email": "mail@kore-nordmann.de"
  986 + },
  987 + {
  988 + "name": "Sebastian Bergmann",
  989 + "email": "sebastian@phpunit.de"
  990 + }
  991 + ],
  992 + "description": "Diff implementation",
  993 + "homepage": "https://github.com/sebastianbergmann/diff",
  994 + "keywords": [
  995 + "diff"
  996 + ]
  997 + },
  998 + {
  999 + "name": "sebastian/comparator",
  1000 + "version": "1.2.2",
  1001 + "version_normalized": "1.2.2.0",
  1002 + "source": {
  1003 + "type": "git",
  1004 + "url": "https://github.com/sebastianbergmann/comparator.git",
  1005 + "reference": "6a1ed12e8b2409076ab22e3897126211ff8b1f7f"
  1006 + },
  1007 + "dist": {
  1008 + "type": "zip",
  1009 + "url": "https://packagist.phpcomposer.com/files/sebastianbergmann/comparator/6a1ed12e8b2409076ab22e3897126211ff8b1f7f.zip",
  1010 + "reference": "6a1ed12e8b2409076ab22e3897126211ff8b1f7f",
  1011 + "shasum": ""
  1012 + },
  1013 + "require": {
  1014 + "php": ">=5.3.3",
  1015 + "sebastian/diff": "~1.2",
  1016 + "sebastian/exporter": "~1.2 || ~2.0"
  1017 + },
  1018 + "require-dev": {
  1019 + "phpunit/phpunit": "~4.4"
  1020 + },
  1021 + "time": "2016-11-19 09:18:40",
  1022 + "type": "library",
  1023 + "extra": {
  1024 + "branch-alias": {
  1025 + "dev-master": "1.2.x-dev"
  1026 + }
  1027 + },
  1028 + "installation-source": "dist",
  1029 + "autoload": {
  1030 + "classmap": [
  1031 + "src/"
  1032 + ]
  1033 + },
  1034 + "notification-url": "https://packagist.org/downloads/",
  1035 + "license": [
  1036 + "BSD-3-Clause"
  1037 + ],
  1038 + "authors": [
  1039 + {
  1040 + "name": "Jeff Welch",
  1041 + "email": "whatthejeff@gmail.com"
  1042 + },
  1043 + {
  1044 + "name": "Volker Dusch",
  1045 + "email": "github@wallbash.com"
  1046 + },
  1047 + {
  1048 + "name": "Bernhard Schussek",
  1049 + "email": "bschussek@2bepublished.at"
  1050 + },
  1051 + {
  1052 + "name": "Sebastian Bergmann",
  1053 + "email": "sebastian@phpunit.de"
  1054 + }
  1055 + ],
  1056 + "description": "Provides the functionality to compare PHP values for equality",
  1057 + "homepage": "http://www.github.com/sebastianbergmann/comparator",
  1058 + "keywords": [
  1059 + "comparator",
  1060 + "compare",
  1061 + "equality"
  1062 + ]
  1063 + },
  1064 + {
  1065 + "name": "doctrine/instantiator",
  1066 + "version": "1.0.5",
  1067 + "version_normalized": "1.0.5.0",
  1068 + "source": {
  1069 + "type": "git",
  1070 + "url": "https://github.com/doctrine/instantiator.git",
  1071 + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
  1072 + },
  1073 + "dist": {
  1074 + "type": "zip",
  1075 + "url": "https://packagist.phpcomposer.com/files/doctrine/instantiator/8e884e78f9f0eb1329e445619e04456e64d8051d.zip",
  1076 + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
  1077 + "shasum": ""
  1078 + },
  1079 + "require": {
  1080 + "php": ">=5.3,<8.0-DEV"
  1081 + },
  1082 + "require-dev": {
  1083 + "athletic/athletic": "~0.1.8",
  1084 + "ext-pdo": "*",
  1085 + "ext-phar": "*",
  1086 + "phpunit/phpunit": "~4.0",
  1087 + "squizlabs/php_codesniffer": "~2.0"
  1088 + },
  1089 + "time": "2015-06-14 21:17:01",
  1090 + "type": "library",
  1091 + "extra": {
  1092 + "branch-alias": {
  1093 + "dev-master": "1.0.x-dev"
  1094 + }
  1095 + },
  1096 + "installation-source": "dist",
  1097 + "autoload": {
  1098 + "psr-4": {
  1099 + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
  1100 + }
  1101 + },
  1102 + "notification-url": "https://packagist.org/downloads/",
  1103 + "license": [
  1104 + "MIT"
  1105 + ],
  1106 + "authors": [
  1107 + {
  1108 + "name": "Marco Pivetta",
  1109 + "email": "ocramius@gmail.com",
  1110 + "homepage": "http://ocramius.github.com/"
  1111 + }
  1112 + ],
  1113 + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
  1114 + "homepage": "https://github.com/doctrine/instantiator",
  1115 + "keywords": [
  1116 + "constructor",
  1117 + "instantiate"
  1118 + ]
  1119 + },
  1120 + {
  1121 + "name": "phpunit/php-text-template",
  1122 + "version": "1.2.1",
  1123 + "version_normalized": "1.2.1.0",
  1124 + "source": {
  1125 + "type": "git",
  1126 + "url": "https://github.com/sebastianbergmann/php-text-template.git",
  1127 + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
  1128 + },
  1129 + "dist": {
  1130 + "type": "zip",
  1131 + "url": "https://packagist.phpcomposer.com/files/sebastianbergmann/php-text-template/31f8b717e51d9a2afca6c9f046f5d69fc27c8686.zip",
  1132 + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
  1133 + "shasum": ""
  1134 + },
  1135 + "require": {
  1136 + "php": ">=5.3.3"
  1137 + },
  1138 + "time": "2015-06-21 13:50:34",
  1139 + "type": "library",
  1140 + "installation-source": "dist",
  1141 + "autoload": {
  1142 + "classmap": [
  1143 + "src/"
  1144 + ]
  1145 + },
  1146 + "notification-url": "https://packagist.org/downloads/",
  1147 + "license": [
  1148 + "BSD-3-Clause"
  1149 + ],
  1150 + "authors": [
  1151 + {
  1152 + "name": "Sebastian Bergmann",
  1153 + "email": "sebastian@phpunit.de",
  1154 + "role": "lead"
  1155 + }
  1156 + ],
  1157 + "description": "Simple template engine.",
  1158 + "homepage": "https://github.com/sebastianbergmann/php-text-template/",
  1159 + "keywords": [
  1160 + "template"
  1161 + ]
  1162 + },
  1163 + {
  1164 + "name": "phpunit/phpunit-mock-objects",
  1165 + "version": "2.3.8",
  1166 + "version_normalized": "2.3.8.0",
  1167 + "source": {
  1168 + "type": "git",
  1169 + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
  1170 + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
  1171 + },
  1172 + "dist": {
  1173 + "type": "zip",
  1174 + "url": "https://packagist.phpcomposer.com/files/sebastianbergmann/phpunit-mock-objects/ac8e7a3db35738d56ee9a76e78a4e03d97628983.zip",
  1175 + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
  1176 + "shasum": ""
  1177 + },
  1178 + "require": {
  1179 + "doctrine/instantiator": "^1.0.2",
  1180 + "php": ">=5.3.3",
  1181 + "phpunit/php-text-template": "~1.2",
  1182 + "sebastian/exporter": "~1.2"
  1183 + },
  1184 + "require-dev": {
  1185 + "phpunit/phpunit": "~4.4"
  1186 + },
  1187 + "suggest": {
  1188 + "ext-soap": "*"
  1189 + },
  1190 + "time": "2015-10-02 06:51:40",
  1191 + "type": "library",
  1192 + "extra": {
  1193 + "branch-alias": {
  1194 + "dev-master": "2.3.x-dev"
  1195 + }
  1196 + },
  1197 + "installation-source": "dist",
  1198 + "autoload": {
  1199 + "classmap": [
  1200 + "src/"
  1201 + ]
  1202 + },
  1203 + "notification-url": "https://packagist.org/downloads/",
  1204 + "license": [
  1205 + "BSD-3-Clause"
  1206 + ],
  1207 + "authors": [
  1208 + {
  1209 + "name": "Sebastian Bergmann",
  1210 + "email": "sb@sebastian-bergmann.de",
  1211 + "role": "lead"
  1212 + }
  1213 + ],
  1214 + "description": "Mock Object library for PHPUnit",
  1215 + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
  1216 + "keywords": [
  1217 + "mock",
  1218 + "xunit"
  1219 + ]
  1220 + },
  1221 + {
  1222 + "name": "phpunit/php-timer",
  1223 + "version": "1.0.8",
  1224 + "version_normalized": "1.0.8.0",
  1225 + "source": {
  1226 + "type": "git",
  1227 + "url": "https://github.com/sebastianbergmann/php-timer.git",
  1228 + "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260"
  1229 + },
  1230 + "dist": {
  1231 + "type": "zip",
  1232 + "url": "https://packagist.phpcomposer.com/files/sebastianbergmann/php-timer/38e9124049cf1a164f1e4537caf19c99bf1eb260.zip",
  1233 + "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260",
  1234 + "shasum": ""
  1235 + },
  1236 + "require": {
  1237 + "php": ">=5.3.3"
  1238 + },
  1239 + "require-dev": {
  1240 + "phpunit/phpunit": "~4|~5"
  1241 + },
  1242 + "time": "2016-05-12 18:03:57",
  1243 + "type": "library",
  1244 + "installation-source": "dist",
  1245 + "autoload": {
  1246 + "classmap": [
  1247 + "src/"
  1248 + ]
  1249 + },
  1250 + "notification-url": "https://packagist.org/downloads/",
  1251 + "license": [
  1252 + "BSD-3-Clause"
  1253 + ],
  1254 + "authors": [
  1255 + {
  1256 + "name": "Sebastian Bergmann",
  1257 + "email": "sb@sebastian-bergmann.de",
  1258 + "role": "lead"
  1259 + }
  1260 + ],
  1261 + "description": "Utility class for timing",
  1262 + "homepage": "https://github.com/sebastianbergmann/php-timer/",
  1263 + "keywords": [
  1264 + "timer"
  1265 + ]
  1266 + },
  1267 + {
  1268 + "name": "phpunit/php-file-iterator",
  1269 + "version": "1.4.2",
  1270 + "version_normalized": "1.4.2.0",
  1271 + "source": {
  1272 + "type": "git",
  1273 + "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
  1274 + "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5"
  1275 + },
  1276 + "dist": {
  1277 + "type": "zip",
  1278 + "url": "https://packagist.phpcomposer.com/files/sebastianbergmann/php-file-iterator/3cc8f69b3028d0f96a9078e6295d86e9bf019be5.zip",
  1279 + "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
  1280 + "shasum": ""
  1281 + },
  1282 + "require": {
  1283 + "php": ">=5.3.3"
  1284 + },
  1285 + "time": "2016-10-03 07:40:28",
  1286 + "type": "library",
  1287 + "extra": {
  1288 + "branch-alias": {
  1289 + "dev-master": "1.4.x-dev"
  1290 + }
  1291 + },
  1292 + "installation-source": "dist",
  1293 + "autoload": {
  1294 + "classmap": [
  1295 + "src/"
  1296 + ]
  1297 + },
  1298 + "notification-url": "https://packagist.org/downloads/",
  1299 + "license": [
  1300 + "BSD-3-Clause"
  1301 + ],
  1302 + "authors": [
  1303 + {
  1304 + "name": "Sebastian Bergmann",
  1305 + "email": "sb@sebastian-bergmann.de",
  1306 + "role": "lead"
  1307 + }
  1308 + ],
  1309 + "description": "FilterIterator implementation that filters files based on a list of suffixes.",
  1310 + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
  1311 + "keywords": [
  1312 + "filesystem",
  1313 + "iterator"
  1314 + ]
  1315 + },
  1316 + {
  1317 + "name": "phpunit/php-token-stream",
  1318 + "version": "1.4.9",
  1319 + "version_normalized": "1.4.9.0",
  1320 + "source": {
  1321 + "type": "git",
  1322 + "url": "https://github.com/sebastianbergmann/php-token-stream.git",
  1323 + "reference": "3b402f65a4cc90abf6e1104e388b896ce209631b"
  1324 + },
  1325 + "dist": {
  1326 + "type": "zip",
  1327 + "url": "https://packagist.phpcomposer.com/files/sebastianbergmann/php-token-stream/3b402f65a4cc90abf6e1104e388b896ce209631b.zip",
  1328 + "reference": "3b402f65a4cc90abf6e1104e388b896ce209631b",
  1329 + "shasum": ""
  1330 + },
  1331 + "require": {
  1332 + "ext-tokenizer": "*",
  1333 + "php": ">=5.3.3"
  1334 + },
  1335 + "require-dev": {
  1336 + "phpunit/phpunit": "~4.2"
  1337 + },
  1338 + "time": "2016-11-15 14:06:22",
  1339 + "type": "library",
  1340 + "extra": {
  1341 + "branch-alias": {
  1342 + "dev-master": "1.4-dev"
  1343 + }
  1344 + },
  1345 + "installation-source": "dist",
  1346 + "autoload": {
  1347 + "classmap": [
  1348 + "src/"
  1349 + ]
  1350 + },
  1351 + "notification-url": "https://packagist.org/downloads/",
  1352 + "license": [
  1353 + "BSD-3-Clause"
  1354 + ],
  1355 + "authors": [
  1356 + {
  1357 + "name": "Sebastian Bergmann",
  1358 + "email": "sebastian@phpunit.de"
  1359 + }
  1360 + ],
  1361 + "description": "Wrapper around PHP's tokenizer extension.",
  1362 + "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
  1363 + "keywords": [
  1364 + "tokenizer"
  1365 + ]
  1366 + },
  1367 + {
  1368 + "name": "phpunit/php-code-coverage",
  1369 + "version": "2.2.4",
  1370 + "version_normalized": "2.2.4.0",
  1371 + "source": {
  1372 + "type": "git",
  1373 + "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
  1374 + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
  1375 + },
  1376 + "dist": {
  1377 + "type": "zip",
  1378 + "url": "https://packagist.phpcomposer.com/files/sebastianbergmann/php-code-coverage/eabf68b476ac7d0f73793aada060f1c1a9bf8979.zip",
  1379 + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
  1380 + "shasum": ""
  1381 + },
  1382 + "require": {
  1383 + "php": ">=5.3.3",
  1384 + "phpunit/php-file-iterator": "~1.3",
  1385 + "phpunit/php-text-template": "~1.2",
  1386 + "phpunit/php-token-stream": "~1.3",
  1387 + "sebastian/environment": "^1.3.2",
  1388 + "sebastian/version": "~1.0"
  1389 + },
  1390 + "require-dev": {
  1391 + "ext-xdebug": ">=2.1.4",
  1392 + "phpunit/phpunit": "~4"
  1393 + },
  1394 + "suggest": {
  1395 + "ext-dom": "*",
  1396 + "ext-xdebug": ">=2.2.1",
  1397 + "ext-xmlwriter": "*"
  1398 + },
  1399 + "time": "2015-10-06 15:47:00",
  1400 + "type": "library",
  1401 + "extra": {
  1402 + "branch-alias": {
  1403 + "dev-master": "2.2.x-dev"
  1404 + }
  1405 + },
  1406 + "installation-source": "dist",
  1407 + "autoload": {
  1408 + "classmap": [
  1409 + "src/"
  1410 + ]
  1411 + },
  1412 + "notification-url": "https://packagist.org/downloads/",
  1413 + "license": [
  1414 + "BSD-3-Clause"
  1415 + ],
  1416 + "authors": [
  1417 + {
  1418 + "name": "Sebastian Bergmann",
  1419 + "email": "sb@sebastian-bergmann.de",
  1420 + "role": "lead"
  1421 + }
  1422 + ],
  1423 + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
  1424 + "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
  1425 + "keywords": [
  1426 + "coverage",
  1427 + "testing",
  1428 + "xunit"
  1429 + ]
  1430 + },
  1431 + {
  1432 + "name": "webmozart/assert",
  1433 + "version": "1.2.0",
  1434 + "version_normalized": "1.2.0.0",
  1435 + "source": {
  1436 + "type": "git",
  1437 + "url": "https://github.com/webmozart/assert.git",
  1438 + "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f"
  1439 + },
  1440 + "dist": {
  1441 + "type": "zip",
  1442 + "url": "https://packagist.phpcomposer.com/files/webmozart/assert/2db61e59ff05fe5126d152bd0655c9ea113e550f.zip",
  1443 + "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f",
  1444 + "shasum": ""
  1445 + },
  1446 + "require": {
  1447 + "php": "^5.3.3 || ^7.0"
  1448 + },
  1449 + "require-dev": {
  1450 + "phpunit/phpunit": "^4.6",
  1451 + "sebastian/version": "^1.0.1"
  1452 + },
  1453 + "time": "2016-11-23 20:04:58",
  1454 + "type": "library",
  1455 + "extra": {
  1456 + "branch-alias": {
  1457 + "dev-master": "1.3-dev"
  1458 + }
  1459 + },
  1460 + "installation-source": "dist",
  1461 + "autoload": {
  1462 + "psr-4": {
  1463 + "Webmozart\\Assert\\": "src/"
  1464 + }
  1465 + },
  1466 + "notification-url": "https://packagist.org/downloads/",
  1467 + "license": [
  1468 + "MIT"
  1469 + ],
  1470 + "authors": [
  1471 + {
  1472 + "name": "Bernhard Schussek",
  1473 + "email": "bschussek@gmail.com"
  1474 + }
  1475 + ],
  1476 + "description": "Assertions to validate method input/output with nice error messages.",
  1477 + "keywords": [
  1478 + "assert",
  1479 + "check",
  1480 + "validate"
  1481 + ]
  1482 + },
  1483 + {
  1484 + "name": "phpdocumentor/reflection-common",
  1485 + "version": "1.0",
  1486 + "version_normalized": "1.0.0.0",
  1487 + "source": {
  1488 + "type": "git",
  1489 + "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
  1490 + "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c"
  1491 + },
  1492 + "dist": {
  1493 + "type": "zip",
  1494 + "url": "https://packagist.phpcomposer.com/files/phpDocumentor/ReflectionCommon/144c307535e82c8fdcaacbcfc1d6d8eeb896687c.zip",
  1495 + "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
  1496 + "shasum": ""
  1497 + },
  1498 + "require": {
  1499 + "php": ">=5.5"
  1500 + },
  1501 + "require-dev": {
  1502 + "phpunit/phpunit": "^4.6"
  1503 + },
  1504 + "time": "2015-12-27 11:43:31",
  1505 + "type": "library",
  1506 + "extra": {
  1507 + "branch-alias": {
  1508 + "dev-master": "1.0.x-dev"
  1509 + }
  1510 + },
  1511 + "installation-source": "dist",
  1512 + "autoload": {
  1513 + "psr-4": {
  1514 + "phpDocumentor\\Reflection\\": [
  1515 + "src"
  1516 + ]
  1517 + }
  1518 + },
  1519 + "notification-url": "https://packagist.org/downloads/",
  1520 + "license": [
  1521 + "MIT"
  1522 + ],
  1523 + "authors": [
  1524 + {
  1525 + "name": "Jaap van Otterdijk",
  1526 + "email": "opensource@ijaap.nl"
  1527 + }
  1528 + ],
  1529 + "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
  1530 + "homepage": "http://www.phpdoc.org",
  1531 + "keywords": [
  1532 + "FQSEN",
  1533 + "phpDocumentor",
  1534 + "phpdoc",
  1535 + "reflection",
  1536 + "static analysis"
  1537 + ]
  1538 + },
  1539 + {
  1540 + "name": "phpdocumentor/type-resolver",
  1541 + "version": "0.2.1",
  1542 + "version_normalized": "0.2.1.0",
  1543 + "source": {
  1544 + "type": "git",
  1545 + "url": "https://github.com/phpDocumentor/TypeResolver.git",
  1546 + "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb"
  1547 + },
  1548 + "dist": {
  1549 + "type": "zip",
  1550 + "url": "https://packagist.phpcomposer.com/files/phpDocumentor/TypeResolver/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb.zip",
  1551 + "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb",
  1552 + "shasum": ""
  1553 + },
  1554 + "require": {
  1555 + "php": ">=5.5",
  1556 + "phpdocumentor/reflection-common": "^1.0"
  1557 + },
  1558 + "require-dev": {
  1559 + "mockery/mockery": "^0.9.4",
  1560 + "phpunit/phpunit": "^5.2||^4.8.24"
  1561 + },
  1562 + "time": "2016-11-25 06:54:22",
  1563 + "type": "library",
  1564 + "extra": {
  1565 + "branch-alias": {
  1566 + "dev-master": "1.0.x-dev"
  1567 + }
  1568 + },
  1569 + "installation-source": "dist",
  1570 + "autoload": {
  1571 + "psr-4": {
  1572 + "phpDocumentor\\Reflection\\": [
  1573 + "src/"
  1574 + ]
  1575 + }
  1576 + },
  1577 + "notification-url": "https://packagist.org/downloads/",
  1578 + "license": [
  1579 + "MIT"
  1580 + ],
  1581 + "authors": [
  1582 + {
  1583 + "name": "Mike van Riel",
  1584 + "email": "me@mikevanriel.com"
  1585 + }
  1586 + ]
  1587 + },
  1588 + {
  1589 + "name": "phpdocumentor/reflection-docblock",
  1590 + "version": "3.1.1",
  1591 + "version_normalized": "3.1.1.0",
  1592 + "source": {
  1593 + "type": "git",
  1594 + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
  1595 + "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e"
  1596 + },
  1597 + "dist": {
  1598 + "type": "zip",
  1599 + "url": "https://packagist.phpcomposer.com/files/phpDocumentor/ReflectionDocBlock/8331b5efe816ae05461b7ca1e721c01b46bafb3e.zip",
  1600 + "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e",
  1601 + "shasum": ""
  1602 + },
  1603 + "require": {
  1604 + "php": ">=5.5",
  1605 + "phpdocumentor/reflection-common": "^1.0@dev",
  1606 + "phpdocumentor/type-resolver": "^0.2.0",
  1607 + "webmozart/assert": "^1.0"
  1608 + },
  1609 + "require-dev": {
  1610 + "mockery/mockery": "^0.9.4",
  1611 + "phpunit/phpunit": "^4.4"
  1612 + },
  1613 + "time": "2016-09-30 07:12:33",
  1614 + "type": "library",
  1615 + "installation-source": "dist",
  1616 + "autoload": {
  1617 + "psr-4": {
  1618 + "phpDocumentor\\Reflection\\": [
  1619 + "src/"
  1620 + ]
  1621 + }
  1622 + },
  1623 + "notification-url": "https://packagist.org/downloads/",
  1624 + "license": [
  1625 + "MIT"
  1626 + ],
  1627 + "authors": [
  1628 + {
  1629 + "name": "Mike van Riel",
  1630 + "email": "me@mikevanriel.com"
  1631 + }
  1632 + ],
  1633 + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock."
  1634 + },
  1635 + {
  1636 + "name": "phpspec/prophecy",
  1637 + "version": "v1.6.2",
  1638 + "version_normalized": "1.6.2.0",
  1639 + "source": {
  1640 + "type": "git",
  1641 + "url": "https://github.com/phpspec/prophecy.git",
  1642 + "reference": "6c52c2722f8460122f96f86346600e1077ce22cb"
  1643 + },
  1644 + "dist": {
  1645 + "type": "zip",
  1646 + "url": "https://packagist.phpcomposer.com/files/phpspec/prophecy/6c52c2722f8460122f96f86346600e1077ce22cb.zip",
  1647 + "reference": "6c52c2722f8460122f96f86346600e1077ce22cb",
  1648 + "shasum": ""
  1649 + },
  1650 + "require": {
  1651 + "doctrine/instantiator": "^1.0.2",
  1652 + "php": "^5.3|^7.0",
  1653 + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2",
  1654 + "sebastian/comparator": "^1.1",
  1655 + "sebastian/recursion-context": "^1.0|^2.0"
  1656 + },
  1657 + "require-dev": {
  1658 + "phpspec/phpspec": "^2.0",
  1659 + "phpunit/phpunit": "^4.8 || ^5.6.5"
  1660 + },
  1661 + "time": "2016-11-21 14:58:47",
  1662 + "type": "library",
  1663 + "extra": {
  1664 + "branch-alias": {
  1665 + "dev-master": "1.6.x-dev"
  1666 + }
  1667 + },
  1668 + "installation-source": "dist",
  1669 + "autoload": {
  1670 + "psr-0": {
  1671 + "Prophecy\\": "src/"
  1672 + }
  1673 + },
  1674 + "notification-url": "https://packagist.org/downloads/",
  1675 + "license": [
  1676 + "MIT"
  1677 + ],
  1678 + "authors": [
  1679 + {
  1680 + "name": "Konstantin Kudryashov",
  1681 + "email": "ever.zet@gmail.com",
  1682 + "homepage": "http://everzet.com"
  1683 + },
  1684 + {
  1685 + "name": "Marcello Duarte",
  1686 + "email": "marcello.duarte@gmail.com"
  1687 + }
  1688 + ],
  1689 + "description": "Highly opinionated mocking framework for PHP 5.3+",
  1690 + "homepage": "https://github.com/phpspec/prophecy",
  1691 + "keywords": [
  1692 + "Double",
  1693 + "Dummy",
  1694 + "fake",
  1695 + "mock",
  1696 + "spy",
  1697 + "stub"
  1698 + ]
  1699 + },
  1700 + {
  1701 + "name": "phpunit/phpunit",
  1702 + "version": "4.8.32",
  1703 + "version_normalized": "4.8.32.0",
  1704 + "source": {
  1705 + "type": "git",
  1706 + "url": "https://github.com/sebastianbergmann/phpunit.git",
  1707 + "reference": "f5e1941a8dacf0d904753ff2895c6f68e54bcee1"
  1708 + },
  1709 + "dist": {
  1710 + "type": "zip",
  1711 + "url": "https://packagist.phpcomposer.com/files/sebastianbergmann/phpunit/f5e1941a8dacf0d904753ff2895c6f68e54bcee1.zip",
  1712 + "reference": "f5e1941a8dacf0d904753ff2895c6f68e54bcee1",
  1713 + "shasum": ""
  1714 + },
  1715 + "require": {
  1716 + "ext-dom": "*",
  1717 + "ext-json": "*",
  1718 + "ext-pcre": "*",
  1719 + "ext-reflection": "*",
  1720 + "ext-spl": "*",
  1721 + "php": ">=5.3.3",
  1722 + "phpspec/prophecy": "^1.3.1",
  1723 + "phpunit/php-code-coverage": "~2.1",
  1724 + "phpunit/php-file-iterator": "~1.4",
  1725 + "phpunit/php-text-template": "~1.2",
  1726 + "phpunit/php-timer": "^1.0.6",
  1727 + "phpunit/phpunit-mock-objects": "~2.3",
  1728 + "sebastian/comparator": "~1.2.2",
  1729 + "sebastian/diff": "~1.2",
  1730 + "sebastian/environment": "~1.3",
  1731 + "sebastian/exporter": "~1.2",
  1732 + "sebastian/global-state": "~1.0",
  1733 + "sebastian/version": "~1.0",
  1734 + "symfony/yaml": "~2.1|~3.0"
  1735 + },
  1736 + "suggest": {
  1737 + "phpunit/php-invoker": "~1.1"
  1738 + },
  1739 + "time": "2017-01-22 08:37:05",
  1740 + "bin": [
  1741 + "phpunit"
  1742 + ],
  1743 + "type": "library",
  1744 + "extra": {
  1745 + "branch-alias": {
  1746 + "dev-master": "4.8.x-dev"
  1747 + }
  1748 + },
  1749 + "installation-source": "dist",
  1750 + "autoload": {
  1751 + "classmap": [
  1752 + "src/"
  1753 + ]
  1754 + },
  1755 + "notification-url": "https://packagist.org/downloads/",
  1756 + "license": [
  1757 + "BSD-3-Clause"
  1758 + ],
  1759 + "authors": [
  1760 + {
  1761 + "name": "Sebastian Bergmann",
  1762 + "email": "sebastian@phpunit.de",
  1763 + "role": "lead"
  1764 + }
  1765 + ],
  1766 + "description": "The PHP Unit Testing framework.",
  1767 + "homepage": "https://phpunit.de/",
  1768 + "keywords": [
  1769 + "phpunit",
  1770 + "testing",
  1771 + "xunit"
  1772 + ]
  1773 + },
  1774 + {
  1775 + "name": "topthink/think-testing",
  1776 + "version": "v1.0.6",
  1777 + "version_normalized": "1.0.6.0",
  1778 + "source": {
  1779 + "type": "git",
  1780 + "url": "https://github.com/top-think/think-testing.git",
  1781 + "reference": "e89794e5c58aa5587f7b08038e9468150870b185"
  1782 + },
  1783 + "dist": {
  1784 + "type": "zip",
  1785 + "url": "https://packagist.phpcomposer.com/files/top-think/think-testing/e89794e5c58aa5587f7b08038e9468150870b185.zip",
  1786 + "reference": "e89794e5c58aa5587f7b08038e9468150870b185",
  1787 + "shasum": ""
  1788 + },
  1789 + "require": {
  1790 + "phpunit/phpunit": "^4.8.26",
  1791 + "symfony/dom-crawler": "^2.8.8",
  1792 + "topthink/think-helper": "~1.0",
  1793 + "topthink/think-installer": "~1.0"
  1794 + },
  1795 + "time": "2016-08-08 09:43:56",
  1796 + "type": "think-testing",
  1797 + "installation-source": "dist",
  1798 + "autoload": {
  1799 + "psr-4": {
  1800 + "think\\testing\\": "src"
  1801 + },
  1802 + "files": [
  1803 + "src/config.php"
  1804 + ]
  1805 + },
  1806 + "notification-url": "https://packagist.org/downloads/",
  1807 + "license": [
  1808 + "Apache-2.0"
  1809 + ],
  1810 + "authors": [
  1811 + {
  1812 + "name": "yunwuxin",
  1813 + "email": "448901948@qq.com"
  1814 + }
  1815 + ]
  1816 + }
  1817 +]
  1 +phpunit.xml
  2 +composer.lock
  3 +build
  4 +vendor
  5 +coverage.clover
  1 +before_commands:
  2 + - "composer install --prefer-source"
  3 +
  4 +tools:
  5 + external_code_coverage:
  6 + timeout: 600
  7 + php_code_coverage:
  8 + enabled: true
  9 + test_command: ./vendor/bin/phpunit
  10 + php_code_sniffer:
  11 + enabled: true
  12 + config:
  13 + standard: PSR2
  14 + filter:
  15 + paths: ["src/*", "tests/*"]
  16 + php_cpd:
  17 + enabled: true
  18 + excluded_dirs: ["build/*", "tests", "vendor"]
  19 + php_cs_fixer:
  20 + enabled: true
  21 + config:
  22 + level: all
  23 + filter:
  24 + paths: ["src/*", "tests/*"]
  25 + php_loc:
  26 + enabled: true
  27 + excluded_dirs: ["build", "tests", "vendor"]
  28 + php_mess_detector:
  29 + enabled: true
  30 + config:
  31 + ruleset: phpmd.xml.dist
  32 + design_rules: { eval_expression: false }
  33 + filter:
  34 + paths: ["src/*"]
  35 + php_pdepend:
  36 + enabled: true
  37 + excluded_dirs: ["build", "tests", "vendor"]
  38 + php_analyzer:
  39 + enabled: true
  40 + filter:
  41 + paths: ["src/*", "tests/*"]
  42 + php_hhvm:
  43 + enabled: true
  44 + filter:
  45 + paths: ["src/*", "tests/*"]
  46 + sensiolabs_security_checker: true
  1 +#!/bin/sh
  2 +set -x
  3 +if [ "$TRAVIS_PHP_VERSION" = 'hhvm' ] || [ "$TRAVIS_PHP_VERSION" = 'hhvm-nightly' ] ; then
  4 + curl -sS https://getcomposer.org/installer > composer-installer.php
  5 + hhvm composer-installer.php
  6 + hhvm -v ResourceLimit.SocketDefaultTimeout=30 -v Http.SlowQueryThreshold=30000 composer.phar update --prefer-source
  7 +elif [ "$TRAVIS_PHP_VERSION" = '5.3.3' ] ; then
  8 + composer self-update
  9 + composer update --prefer-source --no-dev
  10 + composer dump-autoload
  11 +else
  12 + composer self-update
  13 + composer update --prefer-source
  14 +fi
  1 +language: php
  2 +
  3 +php:
  4 + - 5.3.3
  5 + - 5.3
  6 + - 5.4
  7 + - 5.5
  8 + - 5.6
  9 + - hhvm
  10 +
  11 +before_script:
  12 + - ./.travis.install.sh
  13 + - if [ $TRAVIS_PHP_VERSION = '5.6' ]; then PHPUNIT_FLAGS="--coverage-clover coverage.clover"; else PHPUNIT_FLAGS=""; fi
  14 +
  15 +script:
  16 + - if [ $TRAVIS_PHP_VERSION = '5.3.3' ]; then phpunit; fi
  17 + - if [ $TRAVIS_PHP_VERSION != '5.3.3' ]; then ./vendor/bin/phpunit $PHPUNIT_FLAGS; fi
  18 + - if [ $TRAVIS_PHP_VERSION != '5.3.3' ]; then ./vendor/bin/phpcs --standard=PSR2 ./src/ ./tests/; fi
  19 + - if [[ $TRAVIS_PHP_VERSION != '5.3.3' && $TRAVIS_PHP_VERSION != '5.4.29' && $TRAVIS_PHP_VERSION != '5.5.13' ]]; then php -n ./vendor/bin/athletic -p ./tests/DoctrineTest/InstantiatorPerformance/ -f GroupedFormatter; fi
  20 +
  21 +after_script:
  22 + - if [ $TRAVIS_PHP_VERSION = '5.6' ]; then wget https://scrutinizer-ci.com/ocular.phar; php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi
  1 +# Contributing
  2 +
  3 + * Coding standard for the project is [PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)
  4 + * The project will follow strict [object calisthenics](http://www.slideshare.net/guilhermeblanco/object-calisthenics-applied-to-php)
  5 + * Any contribution must provide tests for additional introduced conditions
  6 + * Any un-confirmed issue needs a failing test case before being accepted
  7 + * Pull requests must be sent from a new hotfix/feature branch, not from `master`.
  8 +
  9 +## Installation
  10 +
  11 +To install the project and run the tests, you need to clone it first:
  12 +
  13 +```sh
  14 +$ git clone git://github.com/doctrine/instantiator.git
  15 +```
  16 +
  17 +You will then need to run a composer installation:
  18 +
  19 +```sh
  20 +$ cd Instantiator
  21 +$ curl -s https://getcomposer.org/installer | php
  22 +$ php composer.phar update
  23 +```
  24 +
  25 +## Testing
  26 +
  27 +The PHPUnit version to be used is the one installed as a dev- dependency via composer:
  28 +
  29 +```sh
  30 +$ ./vendor/bin/phpunit
  31 +```
  32 +
  33 +Accepted coverage for new contributions is 80%. Any contribution not satisfying this requirement
  34 +won't be merged.
  35 +
  1 +Copyright (c) 2014 Doctrine Project
  2 +
  3 +Permission is hereby granted, free of charge, to any person obtaining a copy of
  4 +this software and associated documentation files (the "Software"), to deal in
  5 +the Software without restriction, including without limitation the rights to
  6 +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
  7 +of the Software, and to permit persons to whom the Software is furnished to do
  8 +so, subject to the following conditions:
  9 +
  10 +The above copyright notice and this permission notice shall be included in all
  11 +copies or substantial portions of the Software.
  12 +
  13 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  14 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  15 +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  16 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  17 +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  18 +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  19 +SOFTWARE.
  1 +# Instantiator
  2 +
  3 +This library provides a way of avoiding usage of constructors when instantiating PHP classes.
  4 +
  5 +[![Build Status](https://travis-ci.org/doctrine/instantiator.svg?branch=master)](https://travis-ci.org/doctrine/instantiator)
  6 +[![Code Coverage](https://scrutinizer-ci.com/g/doctrine/instantiator/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/doctrine/instantiator/?branch=master)
  7 +[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/doctrine/instantiator/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/doctrine/instantiator/?branch=master)
  8 +[![Dependency Status](https://www.versioneye.com/package/php--doctrine--instantiator/badge.svg)](https://www.versioneye.com/package/php--doctrine--instantiator)
  9 +[![HHVM Status](http://hhvm.h4cc.de/badge/doctrine/instantiator.png)](http://hhvm.h4cc.de/package/doctrine/instantiator)
  10 +
  11 +[![Latest Stable Version](https://poser.pugx.org/doctrine/instantiator/v/stable.png)](https://packagist.org/packages/doctrine/instantiator)
  12 +[![Latest Unstable Version](https://poser.pugx.org/doctrine/instantiator/v/unstable.png)](https://packagist.org/packages/doctrine/instantiator)
  13 +
  14 +## Installation
  15 +
  16 +The suggested installation method is via [composer](https://getcomposer.org/):
  17 +
  18 +```sh
  19 +php composer.phar require "doctrine/instantiator:~1.0.3"
  20 +```
  21 +
  22 +## Usage
  23 +
  24 +The instantiator is able to create new instances of any class without using the constructor or any API of the class
  25 +itself:
  26 +
  27 +```php
  28 +$instantiator = new \Doctrine\Instantiator\Instantiator();
  29 +
  30 +$instance = $instantiator->instantiate('My\\ClassName\\Here');
  31 +```
  32 +
  33 +## Contributing
  34 +
  35 +Please read the [CONTRIBUTING.md](CONTRIBUTING.md) contents if you wish to help out!
  36 +
  37 +## Credits
  38 +
  39 +This library was migrated from [ocramius/instantiator](https://github.com/Ocramius/Instantiator), which
  40 +has been donated to the doctrine organization, and which is now deprecated in favour of this package.
  1 +{
  2 + "name": "doctrine/instantiator",
  3 + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
  4 + "type": "library",
  5 + "license": "MIT",
  6 + "homepage": "https://github.com/doctrine/instantiator",
  7 + "keywords": [
  8 + "instantiate",
  9 + "constructor"
  10 + ],
  11 + "authors": [
  12 + {
  13 + "name": "Marco Pivetta",
  14 + "email": "ocramius@gmail.com",
  15 + "homepage": "http://ocramius.github.com/"
  16 + }
  17 + ],
  18 + "require": {
  19 + "php": ">=5.3,<8.0-DEV"
  20 + },
  21 + "require-dev": {
  22 + "ext-phar": "*",
  23 + "ext-pdo": "*",
  24 + "phpunit/phpunit": "~4.0",
  25 + "squizlabs/php_codesniffer": "~2.0",
  26 + "athletic/athletic": "~0.1.8"
  27 + },
  28 + "autoload": {
  29 + "psr-4": {
  30 + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
  31 + }
  32 + },
  33 + "autoload-dev": {
  34 + "psr-0": {
  35 + "DoctrineTest\\InstantiatorPerformance\\": "tests",
  36 + "DoctrineTest\\InstantiatorTest\\": "tests",
  37 + "DoctrineTest\\InstantiatorTestAsset\\": "tests"
  38 + }
  39 + },
  40 + "extra": {
  41 + "branch-alias": {
  42 + "dev-master": "1.0.x-dev"
  43 + }
  44 + }
  45 +}
  1 +<?xml version="1.0" encoding="UTF-8" ?>
  2 +<ruleset
  3 + name="Instantiator rules"
  4 + xmlns="http://pmd.sf.net/ruleset/1.0.0"
  5 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  6 + xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
  7 + xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd"
  8 +>
  9 + <rule ref="rulesets/cleancode.xml">
  10 + <!-- static access is used for caching purposes -->
  11 + <exclude name="StaticAccess"/>
  12 + </rule>
  13 + <rule ref="rulesets/codesize.xml"/>
  14 + <rule ref="rulesets/controversial.xml"/>
  15 + <rule ref="rulesets/design.xml"/>
  16 + <rule ref="rulesets/naming.xml"/>
  17 + <rule ref="rulesets/unusedcode.xml"/>
  18 + <rule
  19 + name="NPathComplexity"
  20 + message="The {0} {1}() has an NPath complexity of {2}. The configured NPath complexity threshold is {3}."
  21 + class="PHP_PMD_Rule_Design_NpathComplexity"
  22 + >
  23 + <properties>
  24 + <property name="minimum" description="The npath reporting threshold" value="10"/>
  25 + </properties>
  26 + </rule>
  27 +</ruleset>
  1 +<?xml version="1.0"?>
  2 +<phpunit
  3 + bootstrap="./vendor/autoload.php"
  4 + colors="true"
  5 + convertErrorsToExceptions="true"
  6 + convertNoticesToExceptions="true"
  7 + convertWarningsToExceptions="true"
  8 + verbose="true"
  9 + stopOnFailure="false"
  10 + processIsolation="false"
  11 + backupGlobals="false"
  12 + syntaxCheck="true"
  13 +>
  14 + <testsuite name="Doctrine\Instantiator tests">
  15 + <directory>./tests/DoctrineTest/InstantiatorTest</directory>
  16 + </testsuite>
  17 + <filter>
  18 + <whitelist addUncoveredFilesFromWhitelist="true">
  19 + <directory suffix=".php">./src</directory>
  20 + </whitelist>
  21 + </filter>
  22 +</phpunit>
  1 +<?php
  2 +/*
  3 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  4 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  5 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  6 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  7 + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  8 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  9 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  10 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  11 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  12 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  13 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14 + *
  15 + * This software consists of voluntary contributions made by many individuals
  16 + * and is licensed under the MIT license. For more information, see
  17 + * <http://www.doctrine-project.org>.
  18 + */
  19 +
  20 +namespace Doctrine\Instantiator\Exception;
  21 +
  22 +/**
  23 + * Base exception marker interface for the instantiator component
  24 + *
  25 + * @author Marco Pivetta <ocramius@gmail.com>
  26 + */
  27 +interface ExceptionInterface
  28 +{
  29 +}
  1 +<?php
  2 +/*
  3 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  4 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  5 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  6 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  7 + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  8 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  9 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  10 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  11 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  12 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  13 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14 + *
  15 + * This software consists of voluntary contributions made by many individuals
  16 + * and is licensed under the MIT license. For more information, see
  17 + * <http://www.doctrine-project.org>.
  18 + */
  19 +
  20 +namespace Doctrine\Instantiator\Exception;
  21 +
  22 +use InvalidArgumentException as BaseInvalidArgumentException;
  23 +use ReflectionClass;
  24 +
  25 +/**
  26 + * Exception for invalid arguments provided to the instantiator
  27 + *
  28 + * @author Marco Pivetta <ocramius@gmail.com>
  29 + */
  30 +class InvalidArgumentException extends BaseInvalidArgumentException implements ExceptionInterface
  31 +{
  32 + /**
  33 + * @param string $className
  34 + *
  35 + * @return self
  36 + */
  37 + public static function fromNonExistingClass($className)
  38 + {
  39 + if (interface_exists($className)) {
  40 + return new self(sprintf('The provided type "%s" is an interface, and can not be instantiated', $className));
  41 + }
  42 +
  43 + if (PHP_VERSION_ID >= 50400 && trait_exists($className)) {
  44 + return new self(sprintf('The provided type "%s" is a trait, and can not be instantiated', $className));
  45 + }
  46 +
  47 + return new self(sprintf('The provided class "%s" does not exist', $className));
  48 + }
  49 +
  50 + /**
  51 + * @param ReflectionClass $reflectionClass
  52 + *
  53 + * @return self
  54 + */
  55 + public static function fromAbstractClass(ReflectionClass $reflectionClass)
  56 + {
  57 + return new self(sprintf(
  58 + 'The provided class "%s" is abstract, and can not be instantiated',
  59 + $reflectionClass->getName()
  60 + ));
  61 + }
  62 +}
  1 +<?php
  2 +/*
  3 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  4 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  5 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  6 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  7 + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  8 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  9 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  10 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  11 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  12 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  13 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14 + *
  15 + * This software consists of voluntary contributions made by many individuals
  16 + * and is licensed under the MIT license. For more information, see
  17 + * <http://www.doctrine-project.org>.
  18 + */
  19 +
  20 +namespace Doctrine\Instantiator\Exception;
  21 +
  22 +use Exception;
  23 +use ReflectionClass;
  24 +use UnexpectedValueException as BaseUnexpectedValueException;
  25 +
  26 +/**
  27 + * Exception for given parameters causing invalid/unexpected state on instantiation
  28 + *
  29 + * @author Marco Pivetta <ocramius@gmail.com>
  30 + */
  31 +class UnexpectedValueException extends BaseUnexpectedValueException implements ExceptionInterface
  32 +{
  33 + /**
  34 + * @param ReflectionClass $reflectionClass
  35 + * @param Exception $exception
  36 + *
  37 + * @return self
  38 + */
  39 + public static function fromSerializationTriggeredException(ReflectionClass $reflectionClass, Exception $exception)
  40 + {
  41 + return new self(
  42 + sprintf(
  43 + 'An exception was raised while trying to instantiate an instance of "%s" via un-serialization',
  44 + $reflectionClass->getName()
  45 + ),
  46 + 0,
  47 + $exception
  48 + );
  49 + }
  50 +
  51 + /**
  52 + * @param ReflectionClass $reflectionClass
  53 + * @param string $errorString
  54 + * @param int $errorCode
  55 + * @param string $errorFile
  56 + * @param int $errorLine
  57 + *
  58 + * @return UnexpectedValueException
  59 + */
  60 + public static function fromUncleanUnSerialization(
  61 + ReflectionClass $reflectionClass,
  62 + $errorString,
  63 + $errorCode,
  64 + $errorFile,
  65 + $errorLine
  66 + ) {
  67 + return new self(
  68 + sprintf(
  69 + 'Could not produce an instance of "%s" via un-serialization, since an error was triggered '
  70 + . 'in file "%s" at line "%d"',
  71 + $reflectionClass->getName(),
  72 + $errorFile,
  73 + $errorLine
  74 + ),
  75 + 0,
  76 + new Exception($errorString, $errorCode)
  77 + );
  78 + }
  79 +}
  1 +<?php
  2 +/*
  3 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  4 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  5 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  6 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  7 + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  8 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  9 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  10 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  11 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  12 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  13 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14 + *
  15 + * This software consists of voluntary contributions made by many individuals
  16 + * and is licensed under the MIT license. For more information, see
  17 + * <http://www.doctrine-project.org>.
  18 + */
  19 +
  20 +namespace Doctrine\Instantiator;
  21 +
  22 +use Closure;
  23 +use Doctrine\Instantiator\Exception\InvalidArgumentException;
  24 +use Doctrine\Instantiator\Exception\UnexpectedValueException;
  25 +use Exception;
  26 +use ReflectionClass;
  27 +
  28 +/**
  29 + * {@inheritDoc}
  30 + *
  31 + * @author Marco Pivetta <ocramius@gmail.com>
  32 + */
  33 +final class Instantiator implements InstantiatorInterface
  34 +{
  35 + /**
  36 + * Markers used internally by PHP to define whether {@see \unserialize} should invoke
  37 + * the method {@see \Serializable::unserialize()} when dealing with classes implementing
  38 + * the {@see \Serializable} interface.
  39 + */
  40 + const SERIALIZATION_FORMAT_USE_UNSERIALIZER = 'C';
  41 + const SERIALIZATION_FORMAT_AVOID_UNSERIALIZER = 'O';
  42 +
  43 + /**
  44 + * @var \Closure[] of {@see \Closure} instances used to instantiate specific classes
  45 + */
  46 + private static $cachedInstantiators = array();
  47 +
  48 + /**
  49 + * @var object[] of objects that can directly be cloned
  50 + */
  51 + private static $cachedCloneables = array();
  52 +
  53 + /**
  54 + * {@inheritDoc}
  55 + */
  56 + public function instantiate($className)
  57 + {
  58 + if (isset(self::$cachedCloneables[$className])) {
  59 + return clone self::$cachedCloneables[$className];
  60 + }
  61 +
  62 + if (isset(self::$cachedInstantiators[$className])) {
  63 + $factory = self::$cachedInstantiators[$className];
  64 +
  65 + return $factory();
  66 + }
  67 +
  68 + return $this->buildAndCacheFromFactory($className);
  69 + }
  70 +
  71 + /**
  72 + * Builds the requested object and caches it in static properties for performance
  73 + *
  74 + * @param string $className
  75 + *
  76 + * @return object
  77 + */
  78 + private function buildAndCacheFromFactory($className)
  79 + {
  80 + $factory = self::$cachedInstantiators[$className] = $this->buildFactory($className);
  81 + $instance = $factory();
  82 +
  83 + if ($this->isSafeToClone(new ReflectionClass($instance))) {
  84 + self::$cachedCloneables[$className] = clone $instance;
  85 + }
  86 +
  87 + return $instance;
  88 + }
  89 +
  90 + /**
  91 + * Builds a {@see \Closure} capable of instantiating the given $className without
  92 + * invoking its constructor.
  93 + *
  94 + * @param string $className
  95 + *
  96 + * @return Closure
  97 + */
  98 + private function buildFactory($className)
  99 + {
  100 + $reflectionClass = $this->getReflectionClass($className);
  101 +
  102 + if ($this->isInstantiableViaReflection($reflectionClass)) {
  103 + return function () use ($reflectionClass) {
  104 + return $reflectionClass->newInstanceWithoutConstructor();
  105 + };
  106 + }
  107 +
  108 + $serializedString = sprintf(
  109 + '%s:%d:"%s":0:{}',
  110 + $this->getSerializationFormat($reflectionClass),
  111 + strlen($className),
  112 + $className
  113 + );
  114 +
  115 + $this->checkIfUnSerializationIsSupported($reflectionClass, $serializedString);
  116 +
  117 + return function () use ($serializedString) {
  118 + return unserialize($serializedString);
  119 + };
  120 + }
  121 +
  122 + /**
  123 + * @param string $className
  124 + *
  125 + * @return ReflectionClass
  126 + *
  127 + * @throws InvalidArgumentException
  128 + */
  129 + private function getReflectionClass($className)
  130 + {
  131 + if (! class_exists($className)) {
  132 + throw InvalidArgumentException::fromNonExistingClass($className);
  133 + }
  134 +
  135 + $reflection = new ReflectionClass($className);
  136 +
  137 + if ($reflection->isAbstract()) {
  138 + throw InvalidArgumentException::fromAbstractClass($reflection);
  139 + }
  140 +
  141 + return $reflection;
  142 + }
  143 +
  144 + /**
  145 + * @param ReflectionClass $reflectionClass
  146 + * @param string $serializedString
  147 + *
  148 + * @throws UnexpectedValueException
  149 + *
  150 + * @return void
  151 + */
  152 + private function checkIfUnSerializationIsSupported(ReflectionClass $reflectionClass, $serializedString)
  153 + {
  154 + set_error_handler(function ($code, $message, $file, $line) use ($reflectionClass, & $error) {
  155 + $error = UnexpectedValueException::fromUncleanUnSerialization(
  156 + $reflectionClass,
  157 + $message,
  158 + $code,
  159 + $file,
  160 + $line
  161 + );
  162 + });
  163 +
  164 + $this->attemptInstantiationViaUnSerialization($reflectionClass, $serializedString);
  165 +
  166 + restore_error_handler();
  167 +
  168 + if ($error) {
  169 + throw $error;
  170 + }
  171 + }
  172 +
  173 + /**
  174 + * @param ReflectionClass $reflectionClass
  175 + * @param string $serializedString
  176 + *
  177 + * @throws UnexpectedValueException
  178 + *
  179 + * @return void
  180 + */
  181 + private function attemptInstantiationViaUnSerialization(ReflectionClass $reflectionClass, $serializedString)
  182 + {
  183 + try {
  184 + unserialize($serializedString);
  185 + } catch (Exception $exception) {
  186 + restore_error_handler();
  187 +
  188 + throw UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $exception);
  189 + }
  190 + }
  191 +
  192 + /**
  193 + * @param ReflectionClass $reflectionClass
  194 + *
  195 + * @return bool
  196 + */
  197 + private function isInstantiableViaReflection(ReflectionClass $reflectionClass)
  198 + {
  199 + if (\PHP_VERSION_ID >= 50600) {
  200 + return ! ($this->hasInternalAncestors($reflectionClass) && $reflectionClass->isFinal());
  201 + }
  202 +
  203 + return \PHP_VERSION_ID >= 50400 && ! $this->hasInternalAncestors($reflectionClass);
  204 + }
  205 +
  206 + /**
  207 + * Verifies whether the given class is to be considered internal
  208 + *
  209 + * @param ReflectionClass $reflectionClass
  210 + *
  211 + * @return bool
  212 + */
  213 + private function hasInternalAncestors(ReflectionClass $reflectionClass)
  214 + {
  215 + do {
  216 + if ($reflectionClass->isInternal()) {
  217 + return true;
  218 + }
  219 + } while ($reflectionClass = $reflectionClass->getParentClass());
  220 +
  221 + return false;
  222 + }
  223 +
  224 + /**
  225 + * Verifies if the given PHP version implements the `Serializable` interface serialization
  226 + * with an incompatible serialization format. If that's the case, use serialization marker
  227 + * "C" instead of "O".
  228 + *
  229 + * @link http://news.php.net/php.internals/74654
  230 + *
  231 + * @param ReflectionClass $reflectionClass
  232 + *
  233 + * @return string the serialization format marker, either self::SERIALIZATION_FORMAT_USE_UNSERIALIZER
  234 + * or self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER
  235 + */
  236 + private function getSerializationFormat(ReflectionClass $reflectionClass)
  237 + {
  238 + if ($this->isPhpVersionWithBrokenSerializationFormat()
  239 + && $reflectionClass->implementsInterface('Serializable')
  240 + ) {
  241 + return self::SERIALIZATION_FORMAT_USE_UNSERIALIZER;
  242 + }
  243 +
  244 + return self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER;
  245 + }
  246 +
  247 + /**
  248 + * Checks whether the current PHP runtime uses an incompatible serialization format
  249 + *
  250 + * @return bool
  251 + */
  252 + private function isPhpVersionWithBrokenSerializationFormat()
  253 + {
  254 + return PHP_VERSION_ID === 50429 || PHP_VERSION_ID === 50513;
  255 + }
  256 +
  257 + /**
  258 + * Checks if a class is cloneable
  259 + *
  260 + * @param ReflectionClass $reflection
  261 + *
  262 + * @return bool
  263 + */
  264 + private function isSafeToClone(ReflectionClass $reflection)
  265 + {
  266 + if (method_exists($reflection, 'isCloneable') && ! $reflection->isCloneable()) {
  267 + return false;
  268 + }
  269 +
  270 + // not cloneable if it implements `__clone`, as we want to avoid calling it
  271 + return ! $reflection->hasMethod('__clone');
  272 + }
  273 +}
  1 +<?php
  2 +/*
  3 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  4 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  5 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  6 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  7 + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  8 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  9 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  10 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  11 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  12 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  13 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14 + *
  15 + * This software consists of voluntary contributions made by many individuals
  16 + * and is licensed under the MIT license. For more information, see
  17 + * <http://www.doctrine-project.org>.
  18 + */
  19 +
  20 +namespace Doctrine\Instantiator;
  21 +
  22 +/**
  23 + * Instantiator provides utility methods to build objects without invoking their constructors
  24 + *
  25 + * @author Marco Pivetta <ocramius@gmail.com>
  26 + */
  27 +interface InstantiatorInterface
  28 +{
  29 + /**
  30 + * @param string $className
  31 + *
  32 + * @return object
  33 + *
  34 + * @throws \Doctrine\Instantiator\Exception\ExceptionInterface
  35 + */
  36 + public function instantiate($className);
  37 +}
  1 +<?php
  2 +/*
  3 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  4 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  5 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  6 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  7 + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  8 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  9 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  10 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  11 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  12 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  13 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14 + *
  15 + * This software consists of voluntary contributions made by many individuals
  16 + * and is licensed under the MIT license. For more information, see
  17 + * <http://www.doctrine-project.org>.
  18 + */
  19 +
  20 +namespace DoctrineTest\InstantiatorPerformance;
  21 +
  22 +use Athletic\AthleticEvent;
  23 +use Doctrine\Instantiator\Instantiator;
  24 +
  25 +/**
  26 + * Performance tests for {@see \Doctrine\Instantiator\Instantiator}
  27 + *
  28 + * @author Marco Pivetta <ocramius@gmail.com>
  29 + */
  30 +class InstantiatorPerformanceEvent extends AthleticEvent
  31 +{
  32 + /**
  33 + * @var \Doctrine\Instantiator\Instantiator
  34 + */
  35 + private $instantiator;
  36 +
  37 + /**
  38 + * {@inheritDoc}
  39 + */
  40 + protected function setUp()
  41 + {
  42 + $this->instantiator = new Instantiator();
  43 +
  44 + $this->instantiator->instantiate(__CLASS__);
  45 + $this->instantiator->instantiate('ArrayObject');
  46 + $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\SimpleSerializableAsset');
  47 + $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\SerializableArrayObjectAsset');
  48 + $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\UnCloneableAsset');
  49 + }
  50 +
  51 + /**
  52 + * @iterations 20000
  53 + * @baseline
  54 + * @group instantiation
  55 + */
  56 + public function testInstantiateSelf()
  57 + {
  58 + $this->instantiator->instantiate(__CLASS__);
  59 + }
  60 +
  61 + /**
  62 + * @iterations 20000
  63 + * @group instantiation
  64 + */
  65 + public function testInstantiateInternalClass()
  66 + {
  67 + $this->instantiator->instantiate('ArrayObject');
  68 + }
  69 +
  70 + /**
  71 + * @iterations 20000
  72 + * @group instantiation
  73 + */
  74 + public function testInstantiateSimpleSerializableAssetClass()
  75 + {
  76 + $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\SimpleSerializableAsset');
  77 + }
  78 +
  79 + /**
  80 + * @iterations 20000
  81 + * @group instantiation
  82 + */
  83 + public function testInstantiateSerializableArrayObjectAsset()
  84 + {
  85 + $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\SerializableArrayObjectAsset');
  86 + }
  87 +
  88 + /**
  89 + * @iterations 20000
  90 + * @group instantiation
  91 + */
  92 + public function testInstantiateUnCloneableAsset()
  93 + {
  94 + $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\UnCloneableAsset');
  95 + }
  96 +}
  1 +<?php
  2 +/*
  3 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  4 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  5 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  6 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  7 + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  8 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  9 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  10 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  11 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  12 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  13 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14 + *
  15 + * This software consists of voluntary contributions made by many individuals
  16 + * and is licensed under the MIT license. For more information, see
  17 + * <http://www.doctrine-project.org>.
  18 + */
  19 +
  20 +namespace DoctrineTest\InstantiatorTest\Exception;
  21 +
  22 +use Doctrine\Instantiator\Exception\InvalidArgumentException;
  23 +use PHPUnit_Framework_TestCase;
  24 +use ReflectionClass;
  25 +
  26 +/**
  27 + * Tests for {@see \Doctrine\Instantiator\Exception\InvalidArgumentException}
  28 + *
  29 + * @author Marco Pivetta <ocramius@gmail.com>
  30 + *
  31 + * @covers \Doctrine\Instantiator\Exception\InvalidArgumentException
  32 + */
  33 +class InvalidArgumentExceptionTest extends PHPUnit_Framework_TestCase
  34 +{
  35 + public function testFromNonExistingTypeWithNonExistingClass()
  36 + {
  37 + $className = __CLASS__ . uniqid();
  38 + $exception = InvalidArgumentException::fromNonExistingClass($className);
  39 +
  40 + $this->assertInstanceOf('Doctrine\\Instantiator\\Exception\\InvalidArgumentException', $exception);
  41 + $this->assertSame('The provided class "' . $className . '" does not exist', $exception->getMessage());
  42 + }
  43 +
  44 + public function testFromNonExistingTypeWithTrait()
  45 + {
  46 + if (PHP_VERSION_ID < 50400) {
  47 + $this->markTestSkipped('Need at least PHP 5.4.0, as this test requires traits support to run');
  48 + }
  49 +
  50 + $exception = InvalidArgumentException::fromNonExistingClass(
  51 + 'DoctrineTest\\InstantiatorTestAsset\\SimpleTraitAsset'
  52 + );
  53 +
  54 + $this->assertSame(
  55 + 'The provided type "DoctrineTest\\InstantiatorTestAsset\\SimpleTraitAsset" is a trait, '
  56 + . 'and can not be instantiated',
  57 + $exception->getMessage()
  58 + );
  59 + }
  60 +
  61 + public function testFromNonExistingTypeWithInterface()
  62 + {
  63 + $exception = InvalidArgumentException::fromNonExistingClass('Doctrine\\Instantiator\\InstantiatorInterface');
  64 +
  65 + $this->assertSame(
  66 + 'The provided type "Doctrine\\Instantiator\\InstantiatorInterface" is an interface, '
  67 + . 'and can not be instantiated',
  68 + $exception->getMessage()
  69 + );
  70 + }
  71 +
  72 + public function testFromAbstractClass()
  73 + {
  74 + $reflection = new ReflectionClass('DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset');
  75 + $exception = InvalidArgumentException::fromAbstractClass($reflection);
  76 +
  77 + $this->assertSame(
  78 + 'The provided class "DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset" is abstract, '
  79 + . 'and can not be instantiated',
  80 + $exception->getMessage()
  81 + );
  82 + }
  83 +}
  1 +<?php
  2 +/*
  3 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  4 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  5 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  6 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  7 + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  8 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  9 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  10 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  11 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  12 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  13 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14 + *
  15 + * This software consists of voluntary contributions made by many individuals
  16 + * and is licensed under the MIT license. For more information, see
  17 + * <http://www.doctrine-project.org>.
  18 + */
  19 +
  20 +namespace DoctrineTest\InstantiatorTest\Exception;
  21 +
  22 +use Doctrine\Instantiator\Exception\UnexpectedValueException;
  23 +use Exception;
  24 +use PHPUnit_Framework_TestCase;
  25 +use ReflectionClass;
  26 +
  27 +/**
  28 + * Tests for {@see \Doctrine\Instantiator\Exception\UnexpectedValueException}
  29 + *
  30 + * @author Marco Pivetta <ocramius@gmail.com>
  31 + *
  32 + * @covers \Doctrine\Instantiator\Exception\UnexpectedValueException
  33 + */
  34 +class UnexpectedValueExceptionTest extends PHPUnit_Framework_TestCase
  35 +{
  36 + public function testFromSerializationTriggeredException()
  37 + {
  38 + $reflectionClass = new ReflectionClass($this);
  39 + $previous = new Exception();
  40 + $exception = UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $previous);
  41 +
  42 + $this->assertInstanceOf('Doctrine\\Instantiator\\Exception\\UnexpectedValueException', $exception);
  43 + $this->assertSame($previous, $exception->getPrevious());
  44 + $this->assertSame(
  45 + 'An exception was raised while trying to instantiate an instance of "'
  46 + . __CLASS__ . '" via un-serialization',
  47 + $exception->getMessage()
  48 + );
  49 + }
  50 +
  51 + public function testFromUncleanUnSerialization()
  52 + {
  53 + $reflection = new ReflectionClass('DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset');
  54 + $exception = UnexpectedValueException::fromUncleanUnSerialization($reflection, 'foo', 123, 'bar', 456);
  55 +
  56 + $this->assertInstanceOf('Doctrine\\Instantiator\\Exception\\UnexpectedValueException', $exception);
  57 + $this->assertSame(
  58 + 'Could not produce an instance of "DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset" '
  59 + . 'via un-serialization, since an error was triggered in file "bar" at line "456"',
  60 + $exception->getMessage()
  61 + );
  62 +
  63 + $previous = $exception->getPrevious();
  64 +
  65 + $this->assertInstanceOf('Exception', $previous);
  66 + $this->assertSame('foo', $previous->getMessage());
  67 + $this->assertSame(123, $previous->getCode());
  68 + }
  69 +}
  1 +<?php
  2 +/*
  3 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  4 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  5 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  6 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  7 + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  8 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  9 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  10 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  11 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  12 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  13 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14 + *
  15 + * This software consists of voluntary contributions made by many individuals
  16 + * and is licensed under the MIT license. For more information, see
  17 + * <http://www.doctrine-project.org>.
  18 + */
  19 +
  20 +namespace DoctrineTest\InstantiatorTest;
  21 +
  22 +use Doctrine\Instantiator\Exception\UnexpectedValueException;
  23 +use Doctrine\Instantiator\Instantiator;
  24 +use PHPUnit_Framework_TestCase;
  25 +use ReflectionClass;
  26 +
  27 +/**
  28 + * Tests for {@see \Doctrine\Instantiator\Instantiator}
  29 + *
  30 + * @author Marco Pivetta <ocramius@gmail.com>
  31 + *
  32 + * @covers \Doctrine\Instantiator\Instantiator
  33 + */
  34 +class InstantiatorTest extends PHPUnit_Framework_TestCase
  35 +{
  36 + /**
  37 + * @var Instantiator
  38 + */
  39 + private $instantiator;
  40 +
  41 + /**
  42 + * {@inheritDoc}
  43 + */
  44 + protected function setUp()
  45 + {
  46 + $this->instantiator = new Instantiator();
  47 + }
  48 +
  49 + /**
  50 + * @param string $className
  51 + *
  52 + * @dataProvider getInstantiableClasses
  53 + */
  54 + public function testCanInstantiate($className)
  55 + {
  56 + $this->assertInstanceOf($className, $this->instantiator->instantiate($className));
  57 + }
  58 +
  59 + /**
  60 + * @param string $className
  61 + *
  62 + * @dataProvider getInstantiableClasses
  63 + */
  64 + public function testInstantiatesSeparateInstances($className)
  65 + {
  66 + $instance1 = $this->instantiator->instantiate($className);
  67 + $instance2 = $this->instantiator->instantiate($className);
  68 +
  69 + $this->assertEquals($instance1, $instance2);
  70 + $this->assertNotSame($instance1, $instance2);
  71 + }
  72 +
  73 + public function testExceptionOnUnSerializationException()
  74 + {
  75 + if (defined('HHVM_VERSION')) {
  76 + $this->markTestSkipped(
  77 + 'As of facebook/hhvm#3432, HHVM has no PDORow, and therefore '
  78 + . ' no internal final classes that cannot be instantiated'
  79 + );
  80 + }
  81 +
  82 + $className = 'DoctrineTest\\InstantiatorTestAsset\\UnserializeExceptionArrayObjectAsset';
  83 +
  84 + if (\PHP_VERSION_ID >= 50600) {
  85 + $className = 'PDORow';
  86 + }
  87 +
  88 + if (\PHP_VERSION_ID === 50429 || \PHP_VERSION_ID === 50513) {
  89 + $className = 'DoctrineTest\\InstantiatorTestAsset\\SerializableArrayObjectAsset';
  90 + }
  91 +
  92 + $this->setExpectedException('Doctrine\\Instantiator\\Exception\\UnexpectedValueException');
  93 +
  94 + $this->instantiator->instantiate($className);
  95 + }
  96 +
  97 + public function testNoticeOnUnSerializationException()
  98 + {
  99 + if (\PHP_VERSION_ID >= 50600) {
  100 + $this->markTestSkipped(
  101 + 'PHP 5.6 supports `ReflectionClass#newInstanceWithoutConstructor()` for some internal classes'
  102 + );
  103 + }
  104 +
  105 + try {
  106 + $this->instantiator->instantiate('DoctrineTest\\InstantiatorTestAsset\\WakeUpNoticesAsset');
  107 +
  108 + $this->fail('No exception was raised');
  109 + } catch (UnexpectedValueException $exception) {
  110 + $wakeUpNoticesReflection = new ReflectionClass('DoctrineTest\\InstantiatorTestAsset\\WakeUpNoticesAsset');
  111 + $previous = $exception->getPrevious();
  112 +
  113 + $this->assertInstanceOf('Exception', $previous);
  114 +
  115 + // in PHP 5.4.29 and PHP 5.5.13, this case is not a notice, but an exception being thrown
  116 + if (! (\PHP_VERSION_ID === 50429 || \PHP_VERSION_ID === 50513)) {
  117 + $this->assertSame(
  118 + 'Could not produce an instance of "DoctrineTest\\InstantiatorTestAsset\WakeUpNoticesAsset" '
  119 + . 'via un-serialization, since an error was triggered in file "'
  120 + . $wakeUpNoticesReflection->getFileName() . '" at line "36"',
  121 + $exception->getMessage()
  122 + );
  123 +
  124 + $this->assertSame('Something went bananas while un-serializing this instance', $previous->getMessage());
  125 + $this->assertSame(\E_USER_NOTICE, $previous->getCode());
  126 + }
  127 + }
  128 + }
  129 +
  130 + /**
  131 + * @param string $invalidClassName
  132 + *
  133 + * @dataProvider getInvalidClassNames
  134 + */
  135 + public function testInstantiationFromNonExistingClass($invalidClassName)
  136 + {
  137 + $this->setExpectedException('Doctrine\\Instantiator\\Exception\\InvalidArgumentException');
  138 +
  139 + $this->instantiator->instantiate($invalidClassName);
  140 + }
  141 +
  142 + public function testInstancesAreNotCloned()
  143 + {
  144 + $className = 'TemporaryClass' . uniqid();
  145 +
  146 + eval('namespace ' . __NAMESPACE__ . '; class ' . $className . '{}');
  147 +
  148 + $instance = $this->instantiator->instantiate(__NAMESPACE__ . '\\' . $className);
  149 +
  150 + $instance->foo = 'bar';
  151 +
  152 + $instance2 = $this->instantiator->instantiate(__NAMESPACE__ . '\\' . $className);
  153 +
  154 + $this->assertObjectNotHasAttribute('foo', $instance2);
  155 + }
  156 +
  157 + /**
  158 + * Provides a list of instantiable classes (existing)
  159 + *
  160 + * @return string[][]
  161 + */
  162 + public function getInstantiableClasses()
  163 + {
  164 + $classes = array(
  165 + array('stdClass'),
  166 + array(__CLASS__),
  167 + array('Doctrine\\Instantiator\\Instantiator'),
  168 + array('Exception'),
  169 + array('PharException'),
  170 + array('DoctrineTest\\InstantiatorTestAsset\\SimpleSerializableAsset'),
  171 + array('DoctrineTest\\InstantiatorTestAsset\\ExceptionAsset'),
  172 + array('DoctrineTest\\InstantiatorTestAsset\\FinalExceptionAsset'),
  173 + array('DoctrineTest\\InstantiatorTestAsset\\PharExceptionAsset'),
  174 + array('DoctrineTest\\InstantiatorTestAsset\\UnCloneableAsset'),
  175 + array('DoctrineTest\\InstantiatorTestAsset\\XMLReaderAsset'),
  176 + );
  177 +
  178 + if (\PHP_VERSION_ID === 50429 || \PHP_VERSION_ID === 50513) {
  179 + return $classes;
  180 + }
  181 +
  182 + $classes = array_merge(
  183 + $classes,
  184 + array(
  185 + array('PharException'),
  186 + array('ArrayObject'),
  187 + array('DoctrineTest\\InstantiatorTestAsset\\ArrayObjectAsset'),
  188 + array('DoctrineTest\\InstantiatorTestAsset\\SerializableArrayObjectAsset'),
  189 + )
  190 + );
  191 +
  192 + if (\PHP_VERSION_ID >= 50600) {
  193 + $classes[] = array('DoctrineTest\\InstantiatorTestAsset\\WakeUpNoticesAsset');
  194 + $classes[] = array('DoctrineTest\\InstantiatorTestAsset\\UnserializeExceptionArrayObjectAsset');
  195 + }
  196 +
  197 + return $classes;
  198 + }
  199 +
  200 + /**
  201 + * Provides a list of instantiable classes (existing)
  202 + *
  203 + * @return string[][]
  204 + */
  205 + public function getInvalidClassNames()
  206 + {
  207 + $classNames = array(
  208 + array(__CLASS__ . uniqid()),
  209 + array('Doctrine\\Instantiator\\InstantiatorInterface'),
  210 + array('DoctrineTest\\InstantiatorTestAsset\\AbstractClassAsset'),
  211 + );
  212 +
  213 + if (\PHP_VERSION_ID >= 50400) {
  214 + $classNames[] = array('DoctrineTest\\InstantiatorTestAsset\\SimpleTraitAsset');
  215 + }
  216 +
  217 + return $classNames;
  218 + }
  219 +}
  1 +<?php
  2 +/*
  3 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  4 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  5 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  6 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  7 + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  8 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  9 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  10 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  11 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  12 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  13 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14 + *
  15 + * This software consists of voluntary contributions made by many individuals
  16 + * and is licensed under the MIT license. For more information, see
  17 + * <http://www.doctrine-project.org>.
  18 + */
  19 +
  20 +namespace DoctrineTest\InstantiatorTestAsset;
  21 +
  22 +/**
  23 + * A simple asset for an abstract class
  24 + *
  25 + * @author Marco Pivetta <ocramius@gmail.com>
  26 + */
  27 +abstract class AbstractClassAsset
  28 +{
  29 +}
  1 +<?php
  2 +/*
  3 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  4 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  5 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  6 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  7 + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  8 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  9 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  10 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  11 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  12 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  13 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14 + *
  15 + * This software consists of voluntary contributions made by many individuals
  16 + * and is licensed under the MIT license. For more information, see
  17 + * <http://www.doctrine-project.org>.
  18 + */
  19 +
  20 +namespace DoctrineTest\InstantiatorTestAsset;
  21 +
  22 +use ArrayObject;
  23 +use BadMethodCallException;
  24 +
  25 +/**
  26 + * Test asset that extends an internal PHP class
  27 + *
  28 + * @author Marco Pivetta <ocramius@gmail.com>
  29 + */
  30 +class ArrayObjectAsset extends ArrayObject
  31 +{
  32 + /**
  33 + * Constructor - should not be called
  34 + *
  35 + * @throws BadMethodCallException
  36 + */
  37 + public function __construct()
  38 + {
  39 + throw new BadMethodCallException('Not supposed to be called!');
  40 + }
  41 +}
  1 +<?php
  2 +/*
  3 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  4 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  5 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  6 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  7 + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  8 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  9 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  10 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  11 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  12 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  13 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14 + *
  15 + * This software consists of voluntary contributions made by many individuals
  16 + * and is licensed under the MIT license. For more information, see
  17 + * <http://www.doctrine-project.org>.
  18 + */
  19 +
  20 +namespace DoctrineTest\InstantiatorTestAsset;
  21 +
  22 +use BadMethodCallException;
  23 +use Exception;
  24 +
  25 +/**
  26 + * Test asset that extends an internal PHP base exception
  27 + *
  28 + * @author Marco Pivetta <ocramius@gmail.com>
  29 + */
  30 +class ExceptionAsset extends Exception
  31 +{
  32 + /**
  33 + * Constructor - should not be called
  34 + *
  35 + * @throws BadMethodCallException
  36 + */
  37 + public function __construct()
  38 + {
  39 + throw new BadMethodCallException('Not supposed to be called!');
  40 + }
  41 +}
  1 +<?php
  2 +/*
  3 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  4 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  5 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  6 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  7 + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  8 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  9 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  10 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  11 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  12 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  13 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14 + *
  15 + * This software consists of voluntary contributions made by many individuals
  16 + * and is licensed under the MIT license. For more information, see
  17 + * <http://www.doctrine-project.org>.
  18 + */
  19 +
  20 +namespace DoctrineTest\InstantiatorTestAsset;
  21 +
  22 +use BadMethodCallException;
  23 +use Exception;
  24 +
  25 +/**
  26 + * Test asset that extends an internal PHP base exception
  27 + *
  28 + * @author Marco Pivetta <ocramius@gmail.com>
  29 + */
  30 +final class FinalExceptionAsset extends Exception
  31 +{
  32 + /**
  33 + * Constructor - should not be called
  34 + *
  35 + * @throws BadMethodCallException
  36 + */
  37 + public function __construct()
  38 + {
  39 + throw new BadMethodCallException('Not supposed to be called!');
  40 + }
  41 +}
  1 +<?php
  2 +/*
  3 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  4 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  5 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  6 + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  7 + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  8 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  9 + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  10 + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  11 + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  12 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  13 + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  14 + *
  15 + * This software consists of voluntary contributions made by many individuals
  16 + * and is licensed under the MIT license. For more information, see
  17 + * <http://www.doctrine-project.org>.
  18 + */
  19 +
  20 +namespace DoctrineTest\InstantiatorTestAsset;
  21 +
  22 +use BadMethodCallException;
  23 +use Phar;
  24 +
  25 +/**
  26 + * Test asset that extends an internal PHP class
  27 + *
  28 + * @author Marco Pivetta <ocramius@gmail.com>
  29 + */
  30 +class PharAsset extends Phar
  31 +{
  32 + /**
  33 + * Constructor - should not be called
  34 + *
  35 + * @throws BadMethodCallException
  36 + */
  37 + public function __construct()
  38 + {
  39 + throw new BadMethodCallException('Not supposed to be called!');
  40 + }
  41 +}