Class HasPropertyCycle
java.lang.Object
org.ek9lang.compiler.support.HasPropertyCycle
- All Implemented Interfaces:
Predicate<IAggregateSymbol>
THE reading of phase 5's property-cycle mark (
phase5/PropertyCycleMarker): can an object of this type reach
itself through its properties? Hold one and ask it - never the squirrelled data directly. Phase 7 synthesis asks it
whether a type's GENERATED operators need the runtime cycle guard (Contract 13); which fields a generated
#? must leave out is LeftOutOfHash.
A concrete parameterisation of a developer's generic that phase 5 never saw (phase 7 still makes a few) has no mark at all; it is treated as cyclic, so it is guarded - a guard on an acyclic type costs a little time and is never wrong, a missing one is a StackOverflowError.
-
Constructor Details
-
HasPropertyCycle
public HasPropertyCycle()
-
-
Method Details
-
test
- Specified by:
testin interfacePredicate<IAggregateSymbol>
-