Record Class ForRangePolymorphicInstr.LoopMetadata

java.lang.Object
java.lang.Record
org.ek9lang.compiler.ir.instructions.ForRangePolymorphicInstr.LoopMetadata
Enclosing class:
ForRangePolymorphicInstr

public static record ForRangePolymorphicInstr.LoopMetadata(String directionVariable, String currentVariable, String loopVariable, String endVariable, String rangeType, String byVariable, String byType) extends Record
Non-executable metadata about the loop structure. Used for reference and debugging, not for code generation. All actual code generation uses explicit IR sequences in DispatchCases.
  • Constructor Details

    • LoopMetadata

      public LoopMetadata(String directionVariable, String currentVariable, String loopVariable, String endVariable, String rangeType, String byVariable, String byType)
      Creates an instance of a LoopMetadata record class.
      Parameters:
      directionVariable - the value for the directionVariable record component
      currentVariable - the value for the currentVariable record component
      loopVariable - the value for the loopVariable record component
      endVariable - the value for the endVariable record component
      rangeType - the value for the rangeType record component
      byVariable - the value for the byVariable record component
      byType - the value for the byType record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      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 with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • directionVariable

      public String directionVariable()
      Returns the value of the directionVariable record component.
      Returns:
      the value of the directionVariable record component
    • currentVariable

      public String currentVariable()
      Returns the value of the currentVariable record component.
      Returns:
      the value of the currentVariable record component
    • loopVariable

      public String loopVariable()
      Returns the value of the loopVariable record component.
      Returns:
      the value of the loopVariable record component
    • endVariable

      public String endVariable()
      Returns the value of the endVariable record component.
      Returns:
      the value of the endVariable record component
    • rangeType

      public String rangeType()
      Returns the value of the rangeType record component.
      Returns:
      the value of the rangeType record component
    • byVariable

      public String byVariable()
      Returns the value of the byVariable record component.
      Returns:
      the value of the byVariable record component
    • byType

      public String byType()
      Returns the value of the byType record component.
      Returns:
      the value of the byType record component