Class OverriddenSamenessSignatures

java.lang.Object
org.ek9lang.compiler.support.sameness.OverriddenSamenessSignatures
All Implemented Interfaces:
BiFunction<IAggregateSymbol, ISymbol, List<MethodSymbol>>

public final class OverriddenSamenessSignatures extends Object implements BiFunction<IAggregateSymbol, ISymbol, List<MethodSymbol>>
THE inherited sameness signatures a type with its own sameness OVERRIDES (D24 rule 3; N07 - the object decides, never the reference): for each of == and <=> the type declares taking exactly itself, every same-named comparison above it on its super CLASS chain (AllOperatorsAbove) that takes a type the owner is assignable to and that the owner does not declare itself (OwnOperatorTaking). The override answers through the type's own comparison when the other value is one of its own, else as values of different run-time types do (== false, <=> unset) - so held as Holder: Named(1, "x") compares as a Named. Like the copy overrides (InheritedCopySignatures), it is emitted from a DETACHED symbol, never defined in the scope. Hold one and apply it with the Any type (which never contributes): the answer is the inherited comparisons whose signatures the owner overrides, == then <=>.