Record Class NumToken

java.lang.Object
java.lang.Record
org.kink_lang.kink.internal.program.lex.NumToken
Record Components:
decimal - the decimal num with a non-negative scale.
startPos - the start pos.
endPos - the end pos.
All Implemented Interfaces:
Token

public record NumToken(BigDecimal decimal, int startPos, int endPos) extends Record implements Token
A decimal token.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    The number of bits of the mantissa in the syntax spec.
    static final BigInteger
    The maximum value of the Mantissa attribute in the syntax spec.
    static final int
    The maximum value of the Scale attribute in the syntax spec.
    static final BigInteger
    The minimum value of the Mantissa attribute in the syntax spec.
  • Constructor Summary

    Constructors
    Constructor
    Description
    NumToken(BigDecimal decimal, int startPos, int endPos)
    Constructs a decimal token.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the value of the decimal record component.
    int
    Returns the value of the endPos record component.
    final boolean
    Indicates whether some other object is "equal to" this one.
    final int
    Returns a hash code value for this object.
    int
    Returns the value of the startPos record component.
    final String
    Returns a string representation of this record class.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • MANTISSA_BITS

      public static final int MANTISSA_BITS
      The number of bits of the mantissa in the syntax spec.
      See Also:
    • MAX_MANTISSA

      public static final BigInteger MAX_MANTISSA
      The maximum value of the Mantissa attribute in the syntax spec.
    • MIN_MANTISSA

      public static final BigInteger MIN_MANTISSA
      The minimum value of the Mantissa attribute in the syntax spec.
    • MAX_SCALE

      public static final int MAX_SCALE
      The maximum value of the Scale attribute in the syntax spec.
      See Also:
  • Constructor Details

    • NumToken

      public NumToken(BigDecimal decimal, int startPos, int endPos)
      Constructs a decimal token.
      Parameters:
      decimal - the decimal num with a non-negative scale.
      startPos - the start pos.
      endPos - the end pos.
      Throws:
      IllegalArgumentException - if the scale of decimal is negative, or if the mantissa or scale exceeds the syntax spec limits.
  • 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. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      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.
    • decimal

      public BigDecimal decimal()
      Returns the value of the decimal record component.
      Returns:
      the value of the decimal record component
    • startPos

      public int startPos()
      Returns the value of the startPos record component.
      Specified by:
      startPos in interface Token
      Returns:
      the value of the startPos record component
    • endPos

      public int endPos()
      Returns the value of the endPos record component.
      Specified by:
      endPos in interface Token
      Returns:
      the value of the endPos record component