diff --git a/Makefile b/Makefile index c1f9caf..a8a6b51 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ .PHONY: install-phive install-phive: mkdir tools; \ - wget -O tools/phive.phar https://phar.io/releases/phive.phar; \ - wget -O tools/phive.phar.asc https://phar.io/releases/phive.phar.asc; \ + wget -O tools/phive.phar https://github.com/phar-io/phive/releases/download/0.13.2/phive-0.13.2.phar; \ + wget -O tools/phive.phar.asc https://github.com/phar-io/phive/releases/download/0.13.2/phive-0.13.2.phar.asc; \ gpg --keyserver pool.sks-keyservers.net --recv-keys 0x9D8A98B29B2D5D79; \ gpg --verify tools/phive.phar.asc tools/phive.phar; \ chmod +x tools/phive.phar diff --git a/composer.lock b/composer.lock index f6fde1a..4e37f40 100644 --- a/composer.lock +++ b/composer.lock @@ -8,24 +8,21 @@ "packages": [ { "name": "phpdocumentor/reflection-common", - "version": "2.0.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" + "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/6568f4687e5b41b054365f9ae03fcb1ed5f2069b", + "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b", "shasum": "" }, "require": { "php": ">=7.1" }, - "require-dev": { - "phpunit/phpunit": "~6" - }, "type": "library", "extra": { "branch-alias": { @@ -56,7 +53,7 @@ "reflection", "static analysis" ], - "time": "2018-08-07T13:53:10+00:00" + "time": "2020-04-27T09:25:28+00:00" } ], "packages-dev": [ diff --git a/phive.xml b/phive.xml index ae599e8..b82f7d0 100644 --- a/phive.xml +++ b/phive.xml @@ -1,5 +1,5 @@ - + diff --git a/phpstan.neon b/phpstan.neon index be245fa..995090a 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -5,6 +5,3 @@ parameters: # Bug in PHPStan? The error is "expects A, A given" - '#Parameter \#1 \$tokens of method phpDocumentor\\Reflection\\Types\\ContextFactory::parse#' # ArrayIterator::current can return null if iterated even if ArrayIterator::valid isn't checked before - - '#Strict comparison using === between array\(int, string, int\)\|string and false will always evaluate to false#' - - '#Strict comparison using === between string and null will always evaluate to false#' - - '#Unreachable statement - code above always terminates#' \ No newline at end of file diff --git a/src/TypeResolver.php b/src/TypeResolver.php index 5777f67..1b4e7ba 100644 --- a/src/TypeResolver.php +++ b/src/TypeResolver.php @@ -122,8 +122,6 @@ public function __construct(?FqsenResolver $fqsenResolver = null) * @uses Context::getNamespace() to determine with what to prefix the type name. * * @param string $type The relative or absolute type. - * - * @psalm-pure */ public function resolve(string $type, ?Context $context = null) : Type { @@ -160,8 +158,6 @@ public function resolve(string $type, ?Context $context = null) : Type * @param ArrayIterator $tokens the iterator on tokens * @param int $parserContext on of self::PARSER_* constants, indicating * the context where we are in the parsing - * - * @psalm-pure */ private function parseTypes(ArrayIterator $tokens, Context $context, int $parserContext) : Type { @@ -173,7 +169,9 @@ private function parseTypes(ArrayIterator $tokens, Context $context, int $parser throw new RuntimeException( 'Unexpected nullable character' ); - } elseif ($token === '|') { + } + + if ($token === '|') { if (count($types) === 0) { throw new RuntimeException( 'A type is missing before a type separator' @@ -428,9 +426,7 @@ private function resolveTypedObject(string $type, ?Context $context = null) : Ob /** * Resolves class string * - * @param ArrayIterator $tokens - * - * @psalm-pure + * @param ArrayIterator $tokens */ private function resolveClassString(ArrayIterator $tokens, Context $context) : Type { @@ -463,11 +459,9 @@ private function resolveClassString(ArrayIterator $tokens, Context $context) : T /** * Resolves the collection values and keys * - * @param ArrayIterator $tokens + * @param ArrayIterator $tokens * * @return Array_|Iterable_|Collection - * - * @psalm-mutation-free */ private function resolveCollection(ArrayIterator $tokens, Type $classType, Context $context) : Type { diff --git a/src/Types/ContextFactory.php b/src/Types/ContextFactory.php index c0c58b3..596cf61 100644 --- a/src/Types/ContextFactory.php +++ b/src/Types/ContextFactory.php @@ -47,8 +47,6 @@ * Fully Qualified names. * * @see Context for more information. - * - * @psalm-immutable */ final class ContextFactory {