Class RetractWithdrawnBareOrdering
java.lang.Object
org.ek9lang.compiler.support.sameness.RetractWithdrawnBareOrdering
- All Implemented Interfaces:
BiFunction<IAggregateSymbol, ISymbol, Boolean>
public final class RetractWithdrawnBareOrdering
extends Object
implements BiFunction<IAggregateSymbol, ISymbol, Boolean>
THE retraction step (D55/D58/D62): when
OrderingAvailability.bareOrderingRetracted(IAggregateSymbol, ISymbol) says the type's bare
ordering is withdrawn, mark each of its bare ordering operators (<=>, <, <=, >,
>=) DEFAULT_OPERATOR_RETRACTED, which the type's method set then filters out, so none is generated.
Phase 5 calls it for every type it can see (named types, parameterisations, dynamic classes); phase 7 calls it for
the copy of a dynamic class it monomorphises in a generic body, which phase 5 never sees and whose captures only then
have their concrete types (a T that orders, given a List). Never a second marking. Hold one and apply
it with the Any type: the answer is true when operators were marked.-
Constructor Details
-
RetractWithdrawnBareOrdering
public RetractWithdrawnBareOrdering()
-
-
Method Details
-
apply
- Specified by:
applyin interfaceBiFunction<IAggregateSymbol, ISymbol, Boolean>
-