Record Class InjectionCycles
java.lang.Object
java.lang.Record
org.ek9lang.compiler.phase5.InjectionCycles
- Record Components:
members- fully qualified names of the component types on a cycleinterfaces- fully qualified names of the types those members are registered as
THE components of an application that sit on a circular injection chain (E08190), as
InjectionCycleOrError
found them - and THE rule that E08190 suppresses E08200 for them (Steve, 2026-10-11): in a cycle no registration
order works, so "reorder registrations" is advice that cannot be followed. An injection is left unreported by the
ordering checks (InjectionOrderingOrError, TransitiveInjectionOrderingOrError, both through
UnsatisfiedInjectionReporter) only when BOTH its owner is a cycle member and the type it injects is
registered to a cycle member; any other out-of-order use, a cycle member used by an ordinary component included,
is still E08200.
Never a second cycle detector: the members are recorded on the application by the E08190 check (squirrelled,
DI_CYCLE_MEMBERS) and read back here.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final InjectionCyclesNo cycle: nothing is suppressed. -
Constructor Summary
ConstructorsConstructorDescriptionInjectionCycles(Set<String> members, Set<String> interfaces) Creates an instance of aInjectionCyclesrecord class. -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.(package private) booleanTrue when the injection ofinjectedintoownerFqnis explained by a cycle, not by the order.final inthashCode()Returns a hash code value for this object.Returns the value of theinterfacesrecord component.members()Returns the value of themembersrecord component.notExplained(String ownerFqn, Set<ISymbol> injections) The injections ofownerFqnthe ordering checks still judge: those no cycle explains.(package private) static InjectionCyclesof(AggregateSymbol application) The cycles recorded on the application (none when the E08190 check found none).(package private) static voidrecord(AggregateSymbol application, Set<String> members) Record the cycle members on the application, for the ordering checks that run after the E08190 check.final StringtoString()Returns a string representation of this record class.
-
Field Details
-
NONE
No cycle: nothing is suppressed.
-
-
Constructor Details
-
InjectionCycles
-
-
Method Details
-
record
Record the cycle members on the application, for the ordering checks that run after the E08190 check. -
of
The cycles recorded on the application (none when the E08190 check found none). -
explains
-
notExplained
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
members
-
interfaces
Returns the value of theinterfacesrecord component.- Returns:
- the value of the
interfacesrecord component
-