PlaceholderRoleRule class
@key.placeholders.<name>.role must name a role Dialect knows.
role tells the count-aware checks what a number means, because type: int cannot: "Goal {goal}" identifies, "{count} steps" counts. That makes
a misspelled role the worst kind of quiet failure — the author writes
"identifer", believes plural_shape is settled for that placeholder,
and gets neither the waiver nor a word about it.
So an unrecognized role is an error, not a warning: the rules that read it
fall back to inference, and nothing else would ever tell the author their
declaration is inert. A missing role is fine — it means "infer".
Constructors
- PlaceholderRoleRule()
-
const
Properties
- defaultSeverity → IssueSeverity
-
Default severity. May be overridden per-issue.
no setteroverride
- hashCode → int
-
The hash code for this object.
no setterinherited
- name → String
-
Stable rule identifier (snake_case). Used by the report formatter
to group findings and by users to silence/ack via state file
(post-v1.0).
no setteroverride
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
run(
DialectProject project) → List< Issue> -
Inspect
projectand return findings. May return an empty list. Should NOT throw — turn unexpected conditions into Issues so the report surfaces them rather than crashing.override -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited