Uses of Record Class
org.ek9lang.compiler.phase7.synthesis.AbstractSyntheticGenerator.CycleGuardEntry
Packages that use AbstractSyntheticGenerator.CycleGuardEntry
Package
Description
Synthetic operator and method generation for EK9.
-
Uses of AbstractSyntheticGenerator.CycleGuardEntry in org.ek9lang.compiler.phase7.synthesis
Methods in org.ek9lang.compiler.phase7.synthesis that return AbstractSyntheticGenerator.CycleGuardEntryModifier and TypeMethodDescriptionAbstractSyntheticGenerator.generateCycleGuardEnter(String enterMethod, AggregateSymbol aggregateSymbol, String otherVar, String onBackEdgeLabel, SynthesisScope ctx) Enter the runtime cycle guard for this object (and, for a comparison, the other operand):Methods in org.ek9lang.compiler.phase7.synthesis with parameters of type AbstractSyntheticGenerator.CycleGuardEntryModifier and TypeMethodDescriptionAbstractSyntheticGenerator.generateCycleGuardedRegion(String exitMethod, AbstractSyntheticGenerator.CycleGuardEntry entry, List<IRInstr> body, String endLabel, SynthesisScope ctx) THE guarded region of a cycle-guarded operator whose exit returns nothing (?,==,<=>): the body runs as the try of a TRY_CATCH_FINALLY with NO catches whose finally is the guard's exit, so the exit runs on every path - including an exception thrown by a field's hand-written operator, which would otherwise leave this object's entry behind and make a later call read as a cycle (Contract 13).AbstractSyntheticGenerator.generatePoisonableCycleGuardedRegion(String exitMethod, AbstractSyntheticGenerator.CycleGuardEntry entry, List<IRInstr> body, String unsetLabel, String keepLabel, SynthesisScope ctx) THE guarded region of a representation ($,$$): asAbstractSyntheticGenerator.generateCycleGuardedRegion(String, AbstractSyntheticGenerator.CycleGuardEntry, List, String, SynthesisScope), but the exit in the finally also says whether a cycle was met while the body ran.