* composer: put require- together
* add phpstan
* add phpstan to travis
* phpstan fixes
* phpstan fixes
* phpstan fixes
* drop null defaults since every property is null by default
* DescriptionFactory: fix parse nullable type
* travis: add phpstan max
* travis: fix phpstan config
In order to restore a bc break made in 3.2.0 I downgraded the
type-resolver. This makes the version less compatible with php 7.1
But will help our users to upgrade.
Running the unit tests with php nightly exposed the bug:
Fatal error: Cannot use phpDocumentor\Reflection\Types\Void as Void
because 'Void' is a special class name in
/home/travis/build/hboomsma/ReflectionDocBlock/tests/unit/DocBlock/Tags/MethodTest.php
on line 25
composer validate gives the following warning:
````
phpdocumentor/reflection-docblock is valid for simple usage with composer but has
strict errors that make it unable to be published as a package:
description : The property description is required
````
Due a hotfix done in the the type resolver library version 0.1.5 is the new minimal version of type-resolver.
Without this fix an infinitive loop is created when the use keyword is used in a class.
PHPUnit 4.4 was the last version without phpspec. phpspec conflicts
with this package because it requires v2 of this component and
this causes a cyclic issue with composer
- Changed Tag to an interface and flattened hierarchy
- Changed Description to accept a list of tags and a template
- Allow auto-wiring when constructing tags
Markdown is only used once and a check is in place to see if the markdown classes exists. So perhaps it is better to move this to suggest instead of require, so the people who don't need it, don't have to download it.
In issue report phpDocumentor/phpDocumentor2#620 @bobef reported that when he
used just a Type as content of the @param that it would be recognized as
description instead of the Type.
According to the unit tests this is correct behaviour but after reviewing the
pattern of the output his version is more consistent. As such I have altered
the behaviour to act as following:
If only one word is found after an @param (word means white-space bounded
series of characters) then interpret that as the type and not description.
During this item several issues in unit tests were fixed and a new 'Type'
Collection was introduced that is capable of expanding types based on a given
namespace and series of aliases.
This should be re-used in phpDocumentor's Transformer as a duplication exists
there with the expanding of the Types.
Please note: the suggested format by @bobef is not valid according to the
PHPDoc Standard but is provided for convenience.