public final class org.eclipse.collections.impl.list.IntervalUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.eclipse.collections.impl.list.IntervalUtils
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.collections.impl.list.IntervalUtils this
         0: .line 19
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 21
            new java.lang.AssertionError
            dup
            ldc "Suppress default constructor for noninstantiability"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 0 // org.eclipse.collections.impl.list.IntervalUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/collections/impl/list/IntervalUtils;

  public static void checkArguments(long, long, long);
    descriptor: (JJJ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // long from
        start local 2 // long to
        start local 4 // long stepBy
         0: .line 26
            lload 0 /* from */
            lload 2 /* to */
            lload 4 /* stepBy */
            invokestatic org.eclipse.collections.impl.list.IntervalUtils.checkStepBy:(JJJ)V
         1: .line 27
            lload 0 /* from */
            lload 2 /* to */
            lload 4 /* stepBy */
            invokestatic org.eclipse.collections.impl.list.IntervalUtils.checkSize:(JJJ)V
         2: .line 28
            return
        end local 4 // long stepBy
        end local 2 // long to
        end local 0 // long from
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    from  J
            0    3     2      to  J
            0    3     4  stepBy  J
    MethodParameters:
        Name  Flags
      from    
      to      
      stepBy  

  private static void checkSize(long, long, long);
    descriptor: (JJJ)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // long from
        start local 2 // long to
        start local 4 // long stepBy
         0: .line 32
            lload 2 /* to */
            lload 0 /* from */
            lsub
            lload 4 /* stepBy */
            ldiv
            lconst_1
            ladd
            lstore 6 /* rangeSize */
        start local 6 // long rangeSize
         1: .line 33
            ldc 2147483647
            lload 6 /* rangeSize */
            lcmp
            ifge 7
         2: .line 35
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Range size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 36
            lload 6 /* rangeSize */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
         4: .line 37
            ldc " exceeds max size() of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 38
            ldc 2147483647
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 35
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 40
      StackMap locals: long
      StackMap stack:
            return
        end local 6 // long rangeSize
        end local 4 // long stepBy
        end local 2 // long to
        end local 0 // long from
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       from  J
            0    8     2         to  J
            0    8     4     stepBy  J
            1    8     6  rangeSize  J
    MethodParameters:
        Name  Flags
      from    
      to      
      stepBy  

  private static void checkStepBy(long, long, long);
    descriptor: (JJJ)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // long from
        start local 2 // long to
        start local 4 // long stepBy
         0: .line 44
            lload 4 /* stepBy */
            lconst_0
            lcmp
            ifne 2
         1: .line 46
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot use a step by of 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 48
      StackMap locals:
      StackMap stack:
            lload 0 /* from */
            lload 2 /* to */
            lcmp
            ifle 3
            lload 4 /* stepBy */
            lconst_0
            lcmp
            ifgt 4
      StackMap locals:
      StackMap stack:
         3: lload 0 /* from */
            lload 2 /* to */
            lcmp
            ifge 5
            lload 4 /* stepBy */
            lconst_0
            lcmp
            ifge 5
         4: .line 50
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Step by is incorrect for the range"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 52
      StackMap locals:
      StackMap stack:
            return
        end local 4 // long stepBy
        end local 2 // long to
        end local 0 // long from
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    from  J
            0    6     2      to  J
            0    6     4  stepBy  J
    MethodParameters:
        Name  Flags
      from    
      to      
      stepBy  

  public static int intSize(long, long, long);
    descriptor: (JJJ)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // long from
        start local 2 // long to
        start local 4 // long step
         0: .line 56
            lload 2 /* to */
            lload 0 /* from */
            lsub
            lload 4 /* step */
            ldiv
            lconst_1
            ladd
            lstore 6 /* result */
        start local 6 // long result
         1: .line 57
            lload 6 /* result */
            l2i
            ireturn
        end local 6 // long result
        end local 4 // long step
        end local 2 // long to
        end local 0 // long from
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    from  J
            0    2     2      to  J
            0    2     4    step  J
            1    2     6  result  J
    MethodParameters:
      Name  Flags
      from  
      to    
      step  

  public static boolean contains(long, long, long, long);
    descriptor: (JJJJ)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=4
        start local 0 // long value
        start local 2 // long from
        start local 4 // long to
        start local 6 // long step
         0: .line 62
            lload 0 /* value */
            lload 2 /* from */
            lload 4 /* to */
            lload 6 /* step */
            invokestatic org.eclipse.collections.impl.list.IntervalUtils.isWithinBoundaries:(JJJJ)Z
            ifeq 3
         1: .line 63
            lload 0 /* value */
            lload 2 /* from */
            lsub
            lload 6 /* step */
            lrem
            lconst_0
            lcmp
            ifne 3
         2: .line 62
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 6 // long step
        end local 4 // long to
        end local 2 // long from
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  value  J
            0    4     2   from  J
            0    4     4     to  J
            0    4     6   step  J
    MethodParameters:
       Name  Flags
      value  
      from   
      to     
      step   

  public static boolean isWithinBoundaries(long, long, long, long);
    descriptor: (JJJJ)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // long value
        start local 2 // long from
        start local 4 // long to
        start local 6 // long step
         0: .line 68
            lload 6 /* step */
            lconst_0
            lcmp
            ifle 1
            lload 2 /* from */
            lload 0 /* value */
            lcmp
            ifgt 1
            lload 0 /* value */
            lload 4 /* to */
            lcmp
            ifle 4
         1: .line 69
      StackMap locals:
      StackMap stack:
            lload 6 /* step */
            lconst_0
            lcmp
            ifge 3
            lload 4 /* to */
            lload 0 /* value */
            lcmp
            ifgt 3
            lload 0 /* value */
            lload 2 /* from */
         2: .line 68
            lcmp
            ifle 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 6 // long step
        end local 4 // long to
        end local 2 // long from
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  value  J
            0    5     2   from  J
            0    5     4     to  J
            0    5     6   step  J
    MethodParameters:
       Name  Flags
      value  
      from   
      to     
      step   

  public static int indexOf(long, long, long, long);
    descriptor: (JJJJ)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=10, args_size=4
        start local 0 // long value
        start local 2 // long from
        start local 4 // long to
        start local 6 // long step
         0: .line 74
            lload 0 /* value */
            lload 2 /* from */
            lload 4 /* to */
            lload 6 /* step */
            invokestatic org.eclipse.collections.impl.list.IntervalUtils.isWithinBoundaries:(JJJJ)Z
            ifne 2
         1: .line 76
            iconst_m1
            ireturn
         2: .line 78
      StackMap locals:
      StackMap stack:
            lload 0 /* value */
            lload 2 /* from */
            lsub
            lstore 8 /* diff */
        start local 8 // long diff
         3: .line 79
            lload 8 /* diff */
            lload 6 /* step */
            lrem
            lconst_0
            lcmp
            ifne 5
         4: .line 81
            lload 8 /* diff */
            lload 6 /* step */
            ldiv
            l2i
            ireturn
         5: .line 83
      StackMap locals: long
      StackMap stack:
            iconst_m1
            ireturn
        end local 8 // long diff
        end local 6 // long step
        end local 4 // long to
        end local 2 // long from
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  value  J
            0    6     2   from  J
            0    6     4     to  J
            0    6     6   step  J
            3    6     8   diff  J
    MethodParameters:
       Name  Flags
      value  
      from   
      to     
      step   

  public static long valueAtIndex(int, long, long, long);
    descriptor: (IJJJ)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // int index
        start local 1 // long from
        start local 3 // long to
        start local 5 // long step
         0: .line 88
            iload 0 /* index */
            ifgt 2
         1: .line 90
            lload 1 /* from */
            lreturn
         2: .line 92
      StackMap locals:
      StackMap stack:
            lload 1 /* from */
            lload 5 /* step */
            iload 0 /* index */
            i2l
            lmul
            ladd
            lstore 7 /* value */
        start local 7 // long value
         3: .line 93
            lload 5 /* step */
            lconst_0
            lcmp
            ifle 5
         4: .line 95
            lload 7 /* value */
            lload 3 /* to */
            invokestatic java.lang.Math.min:(JJ)J
            lreturn
         5: .line 97
      StackMap locals: long
      StackMap stack:
            lload 7 /* value */
            lload 3 /* to */
            invokestatic java.lang.Math.max:(JJ)J
            lreturn
        end local 7 // long value
        end local 5 // long step
        end local 3 // long to
        end local 1 // long from
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  index  I
            0    6     1   from  J
            0    6     3     to  J
            0    6     5   step  J
            3    6     7  value  J
    MethodParameters:
       Name  Flags
      index  
      from   
      to     
      step   

  public static int binarySearch(long, long, long, long);
    descriptor: (JJJJ)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=11, args_size=4
        start local 0 // long value
        start local 2 // long from
        start local 4 // long to
        start local 6 // long step
         0: .line 102
            lload 6 /* step */
            lconst_0
            lcmp
            ifle 1
            lload 2 /* from */
            lload 0 /* value */
            lcmp
            ifgt 2
      StackMap locals:
      StackMap stack:
         1: lload 6 /* step */
            lconst_0
            lcmp
            ifge 3
            lload 2 /* from */
            lload 0 /* value */
            lcmp
            ifge 3
         2: .line 104
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         3: .line 107
      StackMap locals:
      StackMap stack:
            lload 6 /* step */
            lconst_0
            lcmp
            ifle 4
            lload 4 /* to */
            lload 0 /* value */
            lcmp
            iflt 5
      StackMap locals:
      StackMap stack:
         4: lload 6 /* step */
            lconst_0
            lcmp
            ifge 6
            lload 4 /* to */
            lload 0 /* value */
            lcmp
            ifle 6
         5: .line 109
      StackMap locals:
      StackMap stack:
            iconst_m1
            lload 2 /* from */
            lload 4 /* to */
            lload 6 /* step */
            invokestatic org.eclipse.collections.impl.list.IntervalUtils.intSize:(JJJ)I
            isub
            ireturn
         6: .line 112
      StackMap locals:
      StackMap stack:
            lload 0 /* value */
            lload 2 /* from */
            lsub
            lstore 8 /* diff */
        start local 8 // long diff
         7: .line 113
            lload 8 /* diff */
            lload 6 /* step */
            ldiv
            l2i
            istore 10 /* index */
        start local 10 // int index
         8: .line 114
            lload 8 /* diff */
            lload 6 /* step */
            lrem
            lconst_0
            lcmp
            ifne 9
            iload 10 /* index */
            goto 10
      StackMap locals: long int
      StackMap stack:
         9: iload 10 /* index */
            iconst_2
            iadd
            iconst_m1
            imul
      StackMap locals:
      StackMap stack: int
        10: ireturn
        end local 10 // int index
        end local 8 // long diff
        end local 6 // long step
        end local 4 // long to
        end local 2 // long from
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0  value  J
            0   11     2   from  J
            0   11     4     to  J
            0   11     6   step  J
            7   11     8   diff  J
            8   11    10  index  I
    MethodParameters:
       Name  Flags
      value  
      from   
      to     
      step   
}
SourceFile: "IntervalUtils.java"