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)
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.
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)@unseal-properties
(name to be determined)cc @muglug