Class NoDuplicatedPropertyNamesOrError

All Implemented Interfaces:
Consumer<AggregateSymbol>

final class NoDuplicatedPropertyNamesOrError extends TypedSymbolAccess implements Consumer<AggregateSymbol>
THE check that an aggregate does not redeclare a property its super chain already declares - one rule for records, classes, components and dynamic classes (traits cannot declare properties, E07075).
Records' properties are public, so a redeclaration would be ambiguous. Class and component properties are private, but a redeclaration is still a SECOND field: the parent's methods would read the parent's copy and the sub-type's methods the sub-type's copy, so one piece of state silently splits in two (Steve's decision 8, 2026-10-03). The sub-type sets the inherited property instead. The type does not matter, only the name.
Because of this rule a generated '$$' can never emit a property name twice, so there is no separate '$$' check (E02020 was retired, decision 13, 2026-10-03).