Do not overwrite promoted property PHPDoc with constructor PHPDoc #1376
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes phpstan/phpstan#7361
If I understood the code here correctly, the constructor PHPDoc is only needed to get the
$phpDocType
for a property (it's actually only resolved if$phpDocType
is null). Currently though, it overwrites$resolvedPhpDoc
completely, also e.g.@readonly
, meaning that at the moment it would be possible to add@readonly
to the constructor making all promoted props readonly, which is weird I guess? And, on the other hand of course, if there's no constructor PHPDoc, then it basically resets the promoted prop PHPDoc, ignoring e.g.@readonly
as it was the case in the linked bug.I have to admit though, that I'm not using promoted properties heavily, maybe I'm missing something..