symplify / coding-standard

Coding Standard rules for PHP projects with focus on Clean Architecture
MIT License
347 stars 20 forks source link

`ParamReturnAndVarTagMalformsFixer` doesn't work nice with nested array in multi-line doc-block #49

Open annuh opened 2 months ago

annuh commented 2 months ago

Hi! I noticed that the Symplify\CodingStandard\Fixer\Commenting\ParamReturnAndVarTagMalformsFixer tries to 'fix' correct multi-line doc-blocks.

The following code:

    /**
      * @param array<string, array{
      *     foo: string
     * }> $foo
     */
    public function test($foo, $bar): void {}

Produces the following diff:

    ---------- begin diff ----------
     /**
-     * @param array<string, array{
+     * @param array<string, $bar array{
      *     foo: string
      * }> $foo
      */
    ----------- end diff -----------

Applied checkers:

 * Symplify\CodingStandard\Fixer\Commenting\ParamReturnAndVarTagMalformsFixer

This doesn't happen when the missing argument ($bar) is also defined in the doc-block.