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 Details

    • SortOwnerAbove

      public SortOwnerAbove()
  • Method Details