Mercurial > hg > isophonics-drupal-site
annotate vendor/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 1fec387a4317 |
rev | line source |
---|---|
Chris@0 | 1 <?php |
Chris@0 | 2 /* |
Chris@0 | 3 * This file is part of the PHP_TokenStream package. |
Chris@0 | 4 * |
Chris@0 | 5 * (c) Sebastian Bergmann <sebastian@phpunit.de> |
Chris@0 | 6 * |
Chris@0 | 7 * For the full copyright and license information, please view the LICENSE |
Chris@0 | 8 * file that was distributed with this source code. |
Chris@0 | 9 */ |
Chris@0 | 10 |
Chris@0 | 11 /** |
Chris@0 | 12 * A caching factory for token stream objects. |
Chris@0 | 13 * |
Chris@0 | 14 * @author Sebastian Bergmann <sebastian@phpunit.de> |
Chris@0 | 15 * @copyright Sebastian Bergmann <sebastian@phpunit.de> |
Chris@0 | 16 * @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License |
Chris@0 | 17 * @link http://github.com/sebastianbergmann/php-token-stream/tree |
Chris@0 | 18 * @since Class available since Release 1.0.0 |
Chris@0 | 19 */ |
Chris@0 | 20 class PHP_Token_Stream_CachingFactory |
Chris@0 | 21 { |
Chris@0 | 22 /** |
Chris@0 | 23 * @var array |
Chris@0 | 24 */ |
Chris@0 | 25 protected static $cache = array(); |
Chris@0 | 26 |
Chris@0 | 27 /** |
Chris@0 | 28 * @param string $filename |
Chris@0 | 29 * @return PHP_Token_Stream |
Chris@0 | 30 */ |
Chris@0 | 31 public static function get($filename) |
Chris@0 | 32 { |
Chris@0 | 33 if (!isset(self::$cache[$filename])) { |
Chris@0 | 34 self::$cache[$filename] = new PHP_Token_Stream($filename); |
Chris@0 | 35 } |
Chris@0 | 36 |
Chris@0 | 37 return self::$cache[$filename]; |
Chris@0 | 38 } |
Chris@0 | 39 |
Chris@0 | 40 /** |
Chris@0 | 41 * @param string $filename |
Chris@0 | 42 */ |
Chris@0 | 43 public static function clear($filename = null) |
Chris@0 | 44 { |
Chris@0 | 45 if (is_string($filename)) { |
Chris@0 | 46 unset(self::$cache[$filename]); |
Chris@0 | 47 } else { |
Chris@0 | 48 self::$cache = array(); |
Chris@0 | 49 } |
Chris@0 | 50 } |
Chris@0 | 51 } |