Results 9 issues of Emil Masiakowski

Currently, the bundle can extract discriminator mappings only from the annotations. This MR uses Serializer's metadata factory to support all of configurations: annotations, yaml files, etc.

After merging #6501 PhpdocSeparationFixer started removing blank lines between annotations similar to: `@Method('GET')`, `@OA\Property(...)`, `@Assert\NotBlank`. Before, they could be freely grouped or separated and the fixer did not care. ##...

kind/bug

### Bug report When expecting parameter `\Ds\Set` and calling the function with `SomeEnum::SomeCase`, there's a report that this is not allowed. It's reported with bleeding edge enabled since `1.10.49`. ###...

bug

Fixes deprecation notice `Deprecated: AMQPQueue::consume(): Passing null to parameter #3 ($consumer_tag) of type string is deprecated in`

Fixes https://github.com/phpstan/phpstan/issues/10484

Previously, leeway was hardcoded to 1 second. This PR adds ability to change this value. Originally implemented in https://github.com/abandon-the-jazz/messagebird-php-rest-api/pull/1

In some cases, the same expired comment is reported twice. ## Version phpstan: 1.11.5 phpstan-todo-by: 0.1.27 ## Code ```php /** * TODO: APP-1234 */ #[FirstAttribute] #[SecondAttribute] private string $foo; ```...

bug

Fixes this: ```php function assertJson(string $value): void { Assert::that($value)->isJsonString(); // Call to method Assert\AssertionChain::isJsonString() will always evaluate to true. } ``` Also narrows type to `non-empty-string`, because the assertion fails...

`Assertion::isJsonString` returns `true` if the value is not a string but is an accepted argument for the `json_decode` function. This is possible because the library works in non-strict mode, so...