Class SortOwnerAbove
java.lang.Object
org.ek9lang.compiler.support.sameness.SortOwnerAbove
- All Implemented Interfaces:
Function<IAggregateSymbol, Optional<String>>
public final class SortOwnerAbove
extends Object
implements Function<IAggregateSymbol, Optional<String>>
THE sort owner of a type (D52 residual, Steve 2026-10-21, option a): the type a stream
sort groups its
values by before comparing any two with <=>. It is the abstract base or trait that declares the
hierarchy-wide <=> the type is sealed under (IsHierarchyWideSameness) - there ONE ordering really
does cover every sub-type, so they share a group. Anywhere else a type's sameness is its own (a concrete type's, a
defaulted one on an abstract base, one inherited from a concrete super and guarded by the run-time-type check), so
the type is its own owner and this answers empty: the type's own display name is then the owner, as run time reads
it. Answered as the owner's display name (DistinctConstructDisplayName, which keeps two owners
parameterised by different dynamic classes apart), the form Ek9Sort orders by.
Needs no Any: it is never hierarchy-wide, so the walk passes over it by genus. Read by IRConstruct,
so every class carries the owner as IR data (Contract 22). Hold one and apply it.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionapply(IAggregateSymbol aggregate) The display name of the hierarchy-wide<=>'s owner above the type.
-
Constructor Details
-
SortOwnerAbove
public SortOwnerAbove()
-
-
Method Details
-
apply
The display name of the hierarchy-wide<=>'s owner above the type.- Specified by:
applyin interfaceFunction<IAggregateSymbol, Optional<String>>- Parameters:
aggregate- the type about to be generated- Returns:
- the owner's display name, or empty when the type is its own owner
-