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".

Inheritance

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 project and 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