public final class android.util.Range<T extends java.lang.Comparable<? super T>>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.util.Range
  super_class: java.lang.Object
{
  private final T mLower;
    descriptor: Ljava/lang/Comparable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: TT;

  private final T mUpper;
    descriptor: Ljava/lang/Comparable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: TT;

  public void <init>(T, );
    descriptor: (Ljava/lang/Comparable;Ljava/lang/Comparable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.util.Range this
        start local 1 // java.lang.Comparable lower
        start local 2 // java.lang.Comparable upper
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            aload 1 /* lower */
            ldc "lower must not be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Comparable
            putfield android.util.Range.mLower:Ljava/lang/Comparable;
         2: .line 56
            aload 0 /* this */
            aload 2 /* upper */
            ldc "upper must not be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Comparable
            putfield android.util.Range.mUpper:Ljava/lang/Comparable;
         3: .line 58
            aload 1 /* lower */
            aload 2 /* upper */
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            ifle 5
         4: .line 59
            new java.lang.IllegalArgumentException
            dup
            ldc "lower must be less than or equal to upper"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 61
      StackMap locals: android.util.Range java.lang.Comparable java.lang.Comparable
      StackMap stack:
            return
        end local 2 // java.lang.Comparable upper
        end local 1 // java.lang.Comparable lower
        end local 0 // android.util.Range this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Landroid/util/Range<TT;>;
            0    6     1  lower  TT;
            0    6     2  upper  TT;
    Signature: (TT;TT;)V
    MethodParameters:
       Name  Flags
      lower  final
      upper  final

  public static <T extends java.lang.Comparable<? super T>> android.util.Range<T> create(T, T);
    descriptor: (Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Comparable lower
        start local 1 // java.lang.Comparable upper
         0: .line 78
            new android.util.Range
            dup
            aload 0 /* lower */
            aload 1 /* upper */
            invokespecial android.util.Range.<init>:(Ljava/lang/Comparable;Ljava/lang/Comparable;)V
            areturn
        end local 1 // java.lang.Comparable upper
        end local 0 // java.lang.Comparable lower
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  lower  TT;
            0    1     1  upper  TT;
    Signature: <T::Ljava/lang/Comparable<-TT;>;>(TT;TT;)Landroid/util/Range<TT;>;
    MethodParameters:
       Name  Flags
      lower  final
      upper  final

  public T getLower();
    descriptor: ()Ljava/lang/Comparable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.util.Range this
         0: .line 87
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            areturn
        end local 0 // android.util.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/util/Range<TT;>;
    Signature: ()TT;

  public T getUpper();
    descriptor: ()Ljava/lang/Comparable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.util.Range this
         0: .line 96
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            areturn
        end local 0 // android.util.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/util/Range<TT;>;
    Signature: ()TT;

  public boolean contains();
    descriptor: (Ljava/lang/Comparable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.util.Range this
        start local 1 // java.lang.Comparable value
         0: .line 112
            aload 1 /* value */
            ldc "value must not be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 114
            aload 1 /* value */
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            iflt 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 2 /* gteLower */
        start local 2 // boolean gteLower
         4: .line 115
            aload 1 /* value */
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            ifgt 5
            iconst_1
            goto 6
      StackMap locals: int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 3 /* lteUpper */
        start local 3 // boolean lteUpper
         7: .line 117
            iload 2 /* gteLower */
            ifeq 8
            iload 3 /* lteUpper */
            ifeq 8
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         8: iconst_0
            ireturn
        end local 3 // boolean lteUpper
        end local 2 // boolean gteLower
        end local 1 // java.lang.Comparable value
        end local 0 // android.util.Range this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Landroid/util/Range<TT;>;
            0    9     1     value  TT;
            4    9     2  gteLower  Z
            7    9     3  lteUpper  Z
    Signature: (TT;)Z
    MethodParameters:
       Name  Flags
      value  

  public boolean contains(android.util.Range<T>);
    descriptor: (Landroid/util/Range;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.util.Range this
        start local 1 // android.util.Range range
         0: .line 132
            aload 1 /* range */
            ldc "value must not be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 134
            aload 1 /* range */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            iflt 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 2 /* gteLower */
        start local 2 // boolean gteLower
         4: .line 135
            aload 1 /* range */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            ifgt 5
            iconst_1
            goto 6
      StackMap locals: int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 3 /* lteUpper */
        start local 3 // boolean lteUpper
         7: .line 137
            iload 2 /* gteLower */
            ifeq 8
            iload 3 /* lteUpper */
            ifeq 8
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         8: iconst_0
            ireturn
        end local 3 // boolean lteUpper
        end local 2 // boolean gteLower
        end local 1 // android.util.Range range
        end local 0 // android.util.Range this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Landroid/util/Range<TT;>;
            0    9     1     range  Landroid/util/Range<TT;>;
            4    9     2  gteLower  Z
            7    9     3  lteUpper  Z
    Signature: (Landroid/util/Range<TT;>;)Z
    MethodParameters:
       Name  Flags
      range  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.util.Range this
        start local 1 // java.lang.Object obj
         0: .line 150
            aload 1 /* obj */
            ifnonnull 2
         1: .line 151
            iconst_0
            ireturn
         2: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 4
         3: .line 153
            iconst_1
            ireturn
         4: .line 154
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof android.util.Range
            ifeq 8
         5: .line 156
            aload 1 /* obj */
            checkcast android.util.Range
            astore 2 /* other */
        start local 2 // android.util.Range other
         6: .line 157
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            aload 2 /* other */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            aload 2 /* other */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
            iconst_1
            ireturn
      StackMap locals: android.util.Range
      StackMap stack:
         7: iconst_0
            ireturn
        end local 2 // android.util.Range other
         8: .line 159
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // android.util.Range this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Landroid/util/Range<TT;>;
            0    9     1    obj  Ljava/lang/Object;
            6    8     2  other  Landroid/util/Range;
    MethodParameters:
      Name  Flags
      obj   

  public T clamp();
    descriptor: (Ljava/lang/Comparable;)Ljava/lang/Comparable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.util.Range this
        start local 1 // java.lang.Comparable value
         0: .line 174
            aload 1 /* value */
            ldc "value must not be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 176
            aload 1 /* value */
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            ifge 3
         2: .line 177
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            areturn
         3: .line 178
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            ifle 5
         4: .line 179
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            areturn
         5: .line 181
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 1 // java.lang.Comparable value
        end local 0 // android.util.Range this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Landroid/util/Range<TT;>;
            0    6     1  value  TT;
    Signature: (TT;)TT;
    MethodParameters:
       Name  Flags
      value  

  public android.util.Range<T> intersect(android.util.Range<T>);
    descriptor: (Landroid/util/Range;)Landroid/util/Range;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.util.Range this
        start local 1 // android.util.Range range
         0: .line 205
            aload 1 /* range */
            ldc "range must not be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 207
            aload 1 /* range */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            istore 2 /* cmpLower */
        start local 2 // int cmpLower
         2: .line 208
            aload 1 /* range */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            istore 3 /* cmpUpper */
        start local 3 // int cmpUpper
         3: .line 210
            iload 2 /* cmpLower */
            ifgt 5
            iload 3 /* cmpUpper */
            iflt 5
         4: .line 212
            aload 0 /* this */
            areturn
         5: .line 213
      StackMap locals: int int
      StackMap stack:
            iload 2 /* cmpLower */
            iflt 7
            iload 3 /* cmpUpper */
            ifgt 7
         6: .line 215
            aload 1 /* range */
            areturn
         7: .line 218
      StackMap locals:
      StackMap stack:
            iload 2 /* cmpLower */
            ifgt 8
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 1 /* range */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
         9: .line 219
      StackMap locals:
      StackMap stack: java.lang.Comparable
            iload 3 /* cmpUpper */
            iflt 10
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Comparable
        10: aload 1 /* range */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
        11: .line 217
      StackMap locals: android.util.Range android.util.Range int int
      StackMap stack: java.lang.Comparable java.lang.Comparable
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            areturn
        end local 3 // int cmpUpper
        end local 2 // int cmpLower
        end local 1 // android.util.Range range
        end local 0 // android.util.Range this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Landroid/util/Range<TT;>;
            0   12     1     range  Landroid/util/Range<TT;>;
            2   12     2  cmpLower  I
            3   12     3  cmpUpper  I
    Signature: (Landroid/util/Range<TT;>;)Landroid/util/Range<TT;>;
    MethodParameters:
       Name  Flags
      range  

  public android.util.Range<T> intersect(T, T);
    descriptor: (Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // android.util.Range this
        start local 1 // java.lang.Comparable lower
        start local 2 // java.lang.Comparable upper
         0: .line 237
            aload 1 /* lower */
            ldc "lower must not be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 238
            aload 2 /* upper */
            ldc "upper must not be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 240
            aload 1 /* lower */
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            istore 3 /* cmpLower */
        start local 3 // int cmpLower
         3: .line 241
            aload 2 /* upper */
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            istore 4 /* cmpUpper */
        start local 4 // int cmpUpper
         4: .line 243
            iload 3 /* cmpLower */
            ifgt 6
            iload 4 /* cmpUpper */
            iflt 6
         5: .line 245
            aload 0 /* this */
            areturn
         6: .line 248
      StackMap locals: int int
      StackMap stack:
            iload 3 /* cmpLower */
            ifgt 7
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 1 /* lower */
         8: .line 249
      StackMap locals:
      StackMap stack: java.lang.Comparable
            iload 4 /* cmpUpper */
            iflt 9
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Comparable
         9: aload 2 /* upper */
        10: .line 247
      StackMap locals: android.util.Range java.lang.Comparable java.lang.Comparable int int
      StackMap stack: java.lang.Comparable java.lang.Comparable
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            areturn
        end local 4 // int cmpUpper
        end local 3 // int cmpLower
        end local 2 // java.lang.Comparable upper
        end local 1 // java.lang.Comparable lower
        end local 0 // android.util.Range this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Landroid/util/Range<TT;>;
            0   11     1     lower  TT;
            0   11     2     upper  TT;
            3   11     3  cmpLower  I
            4   11     4  cmpUpper  I
    Signature: (TT;TT;)Landroid/util/Range<TT;>;
    MethodParameters:
       Name  Flags
      lower  
      upper  

  public android.util.Range<T> extend(android.util.Range<T>);
    descriptor: (Landroid/util/Range;)Landroid/util/Range;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.util.Range this
        start local 1 // android.util.Range range
         0: .line 273
            aload 1 /* range */
            ldc "range must not be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 275
            aload 1 /* range */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            istore 2 /* cmpLower */
        start local 2 // int cmpLower
         2: .line 276
            aload 1 /* range */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            istore 3 /* cmpUpper */
        start local 3 // int cmpUpper
         3: .line 278
            iload 2 /* cmpLower */
            ifgt 5
            iload 3 /* cmpUpper */
            iflt 5
         4: .line 280
            aload 1 /* range */
            areturn
         5: .line 281
      StackMap locals: int int
      StackMap stack:
            iload 2 /* cmpLower */
            iflt 7
            iload 3 /* cmpUpper */
            ifgt 7
         6: .line 283
            aload 0 /* this */
            areturn
         7: .line 286
      StackMap locals:
      StackMap stack:
            iload 2 /* cmpLower */
            iflt 8
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 1 /* range */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
         9: .line 287
      StackMap locals:
      StackMap stack: java.lang.Comparable
            iload 3 /* cmpUpper */
            ifgt 10
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Comparable
        10: aload 1 /* range */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
        11: .line 285
      StackMap locals: android.util.Range android.util.Range int int
      StackMap stack: java.lang.Comparable java.lang.Comparable
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            areturn
        end local 3 // int cmpUpper
        end local 2 // int cmpLower
        end local 1 // android.util.Range range
        end local 0 // android.util.Range this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Landroid/util/Range<TT;>;
            0   12     1     range  Landroid/util/Range<TT;>;
            2   12     2  cmpLower  I
            3   12     3  cmpUpper  I
    Signature: (Landroid/util/Range<TT;>;)Landroid/util/Range<TT;>;
    MethodParameters:
       Name  Flags
      range  

  public android.util.Range<T> extend(T, T);
    descriptor: (Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // android.util.Range this
        start local 1 // java.lang.Comparable lower
        start local 2 // java.lang.Comparable upper
         0: .line 305
            aload 1 /* lower */
            ldc "lower must not be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 306
            aload 2 /* upper */
            ldc "upper must not be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 308
            aload 1 /* lower */
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            istore 3 /* cmpLower */
        start local 3 // int cmpLower
         3: .line 309
            aload 2 /* upper */
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            istore 4 /* cmpUpper */
        start local 4 // int cmpUpper
         4: .line 311
            iload 3 /* cmpLower */
            iflt 6
            iload 4 /* cmpUpper */
            ifgt 6
         5: .line 313
            aload 0 /* this */
            areturn
         6: .line 316
      StackMap locals: int int
      StackMap stack:
            iload 3 /* cmpLower */
            iflt 7
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 1 /* lower */
         8: .line 317
      StackMap locals:
      StackMap stack: java.lang.Comparable
            iload 4 /* cmpUpper */
            ifgt 9
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Comparable
         9: aload 2 /* upper */
        10: .line 315
      StackMap locals: android.util.Range java.lang.Comparable java.lang.Comparable int int
      StackMap stack: java.lang.Comparable java.lang.Comparable
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            areturn
        end local 4 // int cmpUpper
        end local 3 // int cmpLower
        end local 2 // java.lang.Comparable upper
        end local 1 // java.lang.Comparable lower
        end local 0 // android.util.Range this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Landroid/util/Range<TT;>;
            0   11     1     lower  TT;
            0   11     2     upper  TT;
            3   11     3  cmpLower  I
            4   11     4  cmpUpper  I
    Signature: (TT;TT;)Landroid/util/Range<TT;>;
    MethodParameters:
       Name  Flags
      lower  
      upper  

  public android.util.Range<T> extend(T);
    descriptor: (Ljava/lang/Comparable;)Landroid/util/Range;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.util.Range this
        start local 1 // java.lang.Comparable value
         0: .line 334
            aload 1 /* value */
            ldc "value must not be null"
            invokestatic com.android.internal.util.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 335
            aload 0 /* this */
            aload 1 /* value */
            aload 1 /* value */
            invokevirtual android.util.Range.extend:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            areturn
        end local 1 // java.lang.Comparable value
        end local 0 // android.util.Range this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/util/Range<TT;>;
            0    2     1  value  TT;
    Signature: (TT;)Landroid/util/Range<TT;>;
    MethodParameters:
       Name  Flags
      value  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // android.util.Range this
         0: .line 345
            ldc "[%s, %s]"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // android.util.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/util/Range<TT;>;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // android.util.Range this
         0: .line 353
            iconst_2
            anewarray java.lang.Comparable
            dup
            iconst_0
            aload 0 /* this */
            getfield android.util.Range.mLower:Ljava/lang/Comparable;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield android.util.Range.mUpper:Ljava/lang/Comparable;
            aastore
            invokestatic android.hardware.camera2.utils.HashCodeHelpers.hashCodeGeneric:([Ljava/lang/Object;)I
            ireturn
        end local 0 // android.util.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/util/Range<TT;>;
}
Signature: <T::Ljava/lang/Comparable<-TT;>;>Ljava/lang/Object;
SourceFile: "Range.java"