Record Class ForRangePolymorphicInstr.ProgressCheck
java.lang.Object
java.lang.Record
org.ek9lang.compiler.ir.instructions.ForRangePolymorphicInstr.ProgressCheck
- Enclosing class:
ForRangePolymorphicInstr
public static record ForRangePolymorphicInstr.ProgressCheck(List<IRInstr> evaluation, String primitive)
extends Record
The run-time PROGRESS check of a range whose counter type can wrap or not move (Time, and every user-defined
range type - decided at compile time by
RangeProgressCheck, never by a back end). evaluation
owns the STEP: inside one scope it copies the counter (the counter type's copy constructor) as the previous
value, applies the step the case's loop_increment would, and compares counter <=> previous
with 0. The back end emits it where it would emit the increment, and leaves the loop BEFORE the next iteration
unless primitive is true (the counter moved toward the end): a counter that wrapped, stayed equal or
compared unset ends the range. When present the case's loop_increment is EMPTY - the step is inside
this evaluation, so it must never be applied twice. Absent for every built-in that goes unset at its limit.-
Constructor Summary
ConstructorsConstructorDescriptionProgressCheck(List<IRInstr> evaluation, String primitive) Creates an instance of aProgressCheckrecord class. -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.Returns the value of theevaluationrecord component.final inthashCode()Returns a hash code value for this object.Returns the value of theprimitiverecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
ProgressCheck
-
-
Method Details
-
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). -
evaluation
-
primitive
Returns the value of theprimitiverecord component.- Returns:
- the value of the
primitiverecord component
-