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.

Reply via email to