Add a common tag to indicate that there are no undeclared magic methods/properties.
TysonAndre opened this issue · 1 comments
TysonAndre commented
In Psalm, this is psalm-seal-methods/psalm-seal-properties.
In Phan, this is phan-forbid-undeclared-magic-methods/phan-forbid-undeclared-magic-properties.
In the majority of use cases, you'd want a single tag that would apply to any analyzer/IDE that exists.
- x(experimental) is the best prefix I can come up with - Having a hyphen is needed to avoid tools such as doctrine from treating the annotations like
- For a few exceptions (e.g. there's a plugin that's only implemented for one analyzer/IDE that adds the methods), having analyzer-specific tags that other analyzers ignore is still useful.
Something along the lines of @seal-properties
/@seal-methods
on classes, interfaces, and traits would work for that. (Or @x-seal-properties
, but there's probably no reason for a prefix in names that have hyphens already)
- I'd prefer for that to be inheritable, and possibly add
@unseal-properties
(name to be determined)
cc @muglug
muglug commented
I like seal-methods/seal-properties
. It’s not as obvious, but it aligns with some widely-used terminology (sealed
) with somewhat similar meaning