phpDocumentor / ReflectionDocBlock

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

InvalidTag generated for any tag with & in type

othercorey opened this issue · comments

I believe TypeResolver should handle these types so not sure why DocBlock considers them invalid.

Examples:

@return \Generator&\Cake\Core\PluginInterface[] A generator containing matching plugins.
@return \Psr\SimpleCache\CacheInterface&\Cake\Cache\CacheEngineInterface

Looks like TypeResolver is the one rejecting it.

InvalidArgumentException: "\Psr\SimpleCache\CacheInterface&\Cake\Cache\CacheEngineInterface" is not a valid Fqsen. in /cake/api/vendor/phpdocumentor/reflection-common/src/Fqsen.php:57
Stack trace:
#0 /cake/api/vendor/phpdocumentor/type-resolver/src/FqsenResolver.php(34): phpDocumentor\Reflection\Fqsen->construct()
#1 /cake/api/vendor/phpdocumentor/type-resolver/src/TypeResolver.php(394): phpDocumentor\Reflection\FqsenResolver->resolve()
#2 /cake/api/vendor/phpdocumentor/type-resolver/src/TypeResolver.php(295): phpDocumentor\Reflection\TypeResolver->resolveTypedObject()
#3 /cake/api/vendor/phpdocumentor/type-resolver/src/TypeResolver.php(239): phpDocumentor\Reflection\TypeResolver->resolveSingleType()
#4 /cake/api/vendor/phpdocumentor/type-resolver/src/TypeResolver.php(148): phpDocumentor\Reflection\TypeResolver->parseTypes()
#5 /cake/api/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Return
.php(46): phpDocumentor\Reflection\TypeResolver->resolve()
#6 /cake/api/vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php(216): phpDocumentor\Reflection\DocBlock\Tags\Return
::create()
#7 /cake/api/vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php(148): phpDocumentor\Reflection\DocBlock\StandardTagFactory->createTag()

The latest typeresolver release doesn't support & in the type definition. The code is currently in master. But we are still working on some other features before that will be released.

No worries. I thought it was in a release so I was surprised.

Fixed with the release of typeresolver.