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
<=>.-
Constructor Details
-
OverriddenSamenessSignatures
public OverriddenSamenessSignatures()
-
-
Method Details
-
apply
- Specified by:
applyin interfaceBiFunction<IAggregateSymbol, ISymbol, List<MethodSymbol>>
-