As part of the re-architecting of phpDocumentor and its Reflection component we needed to move the type classes from the \phpDocumentor\Descriptor namespace to \phpDocumentor\Reflection\Types. In addition to this I have removed the resolution / type creation from the Collection class into a new Resolver class that is capable of resolving any type into a Type or Fqsen object. This is the first commit with the base classes and a test for the Resolver functionality in subsequent commits we need to add tests for the other classes and to refactor the collection object.
The ReflectionDocBlock Component 
Introduction
The ReflectionDocBlock component of phpDocumentor provides a DocBlock parser that is 100% compatible with the PHPDoc standard.
With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.
Note
: this is a core component of phpDocumentor and is constantly being optimized for performance.
Installation
You can install the component in the following ways:
- Use the official Github repository (https://github.com/phpDocumentor/ReflectionDocBlock)
- Via Composer (http://packagist.org/packages/phpdocumentor/reflection-docblock)
Usage
The ReflectionDocBlock component is designed to work in an identical fashion to PHP's own Reflection extension (http://php.net/manual/en/book.reflection.php).
Parsing can be initiated by instantiating the
\phpDocumentor\Reflection\DocBlock() class and passing it a string containing
a DocBlock (including asterisks) or by passing an object supporting the
getDocComment() method.
Examples of objects having the
getDocComment()method are theReflectionClassand theReflectionMethodclasses of the PHP Reflection extension
Example:
$class = new ReflectionClass('MyClass');
$phpdoc = new \phpDocumentor\Reflection\DocBlock($class);
or
$docblock = <<<DOCBLOCK
/**
* This is a short description.
*
* This is a *long* description.
*
* @return void
*/
DOCBLOCK;
$phpdoc = new \phpDocumentor\Reflection\DocBlock($docblock);