I don't think current draft clearly allows annotations like /** @SuppressWarnings(PHPMD) */ which PHPMD uses
or /** @psalm-suppress PossiblyFalseArgument */ which Psalm uses Notice that what is different is these don't specify variable they are associated to and they are often used *inline*. Hence they don't necessarily precede structural element according your definition. What these precede in the wild varies a lot. One weirdest example from our real world code which definitely don't conform your ABNF definitions of structural elements: /** @psalm-suppress InvalidArrayOffset https://github.com/vimeo/psalm/issues/925 */ $this->{self::CLASSES_USING_CUSTOM_CALLBACK[$className]}($object); Actually according interpretation of authors of PHP-CS-Fixer, PSR-2/PHPDocumentator forbids this. Reason for this is that it's controversial if succeeding line is considered structural element. I would like to see PSR-5 clarify such usages. See also https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/3611#issuecomment-374044282 https://github.com/vimeo/psalm/issues/602 -- You received this message because you are subscribed to the Google Groups "PHP Framework Interoperability Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/php-fig/13cf492b-b7ba-4207-ab60-30aea3dc4f2c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
