public final class com.google.common.primitives.Chars
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.common.primitives.Chars
  super_class: java.lang.Object
{
  public static final int BYTES;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.primitives.Chars this
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.common.primitives.Chars this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/primitives/Chars;

  public static int hashCode(char);
    descriptor: (C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // char value
         0: .line 69
            iload 0 /* value */
            ireturn
        end local 0 // char value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  C
    MethodParameters:
       Name  Flags
      value  

  public static char checkedCast(long);
    descriptor: (J)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // long value
         0: .line 81
            lload 0 /* value */
            l2i
            i2c
            istore 2 /* result */
        start local 2 // char result
         1: .line 82
            iload 2 /* result */
            i2l
            lload 0 /* value */
            lcmp
            ifne 2
            iconst_1
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: ldc "Out of range: %s"
            lload 0 /* value */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;J)V
         4: .line 83
            iload 2 /* result */
            ireturn
        end local 2 // char result
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0   value  J
            1    5     2  result  C
    MethodParameters:
       Name  Flags
      value  

  public static char saturatedCast(long);
    descriptor: (J)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long value
         0: .line 95
            lload 0 /* value */
            ldc 65535
            lcmp
            ifle 2
         1: .line 96
            ldc 65535
            ireturn
         2: .line 98
      StackMap locals:
      StackMap stack:
            lload 0 /* value */
            lconst_0
            lcmp
            ifge 4
         3: .line 99
            iconst_0
            ireturn
         4: .line 101
      StackMap locals:
      StackMap stack:
            lload 0 /* value */
            l2i
            i2c
            ireturn
        end local 0 // long value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  value  J
    MethodParameters:
       Name  Flags
      value  

  public static int compare(char, char);
    descriptor: (CC)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // char a
        start local 1 // char b
         0: .line 117
            iload 0 /* a */
            iload 1 /* b */
            isub
            ireturn
        end local 1 // char b
        end local 0 // char a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  C
            0    1     1     b  C
    MethodParameters:
      Name  Flags
      a     
      b     

  public static boolean contains(char[], char);
    descriptor: ([CC)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // char[] array
        start local 1 // char target
         0: .line 128
            aload 0 /* array */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: char[] int top int int char[]
      StackMap stack:
         1: aload 5
            iload 3
            caload
            istore 2 /* value */
        start local 2 // char value
         2: .line 129
            iload 2 /* value */
            iload 1 /* target */
            if_icmpne 4
         3: .line 130
            iconst_1
            ireturn
        end local 2 // char value
         4: .line 128
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 133
            iconst_0
            ireturn
        end local 1 // char target
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0   array  [C
            0    7     1  target  C
            2    4     2   value  C
    MethodParameters:
        Name  Flags
      array   
      target  

  public static int indexOf(char[], char);
    descriptor: ([CC)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // char[] array
        start local 1 // char target
         0: .line 145
            aload 0 /* array */
            iload 1 /* target */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic com.google.common.primitives.Chars.indexOf:([CCII)I
            ireturn
        end local 1 // char target
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0   array  [C
            0    1     1  target  C
    MethodParameters:
        Name  Flags
      array   
      target  

  private static int indexOf(char[], char, int, int);
    descriptor: ([CCII)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // char[] array
        start local 1 // char target
        start local 2 // int start
        start local 3 // int end
         0: .line 150
            iload 2 /* start */
            istore 4 /* i */
        start local 4 // int i
         1: goto 5
         2: .line 151
      StackMap locals: int
      StackMap stack:
            aload 0 /* array */
            iload 4 /* i */
            caload
            iload 1 /* target */
            if_icmpne 4
         3: .line 152
            iload 4 /* i */
            ireturn
         4: .line 150
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 3 /* end */
            if_icmplt 2
        end local 4 // int i
         6: .line 155
            iconst_m1
            ireturn
        end local 3 // int end
        end local 2 // int start
        end local 1 // char target
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0   array  [C
            0    7     1  target  C
            0    7     2   start  I
            0    7     3     end  I
            1    6     4       i  I
    MethodParameters:
        Name  Flags
      array   
      target  
      start   
      end     

  public static int indexOf(char[], char[]);
    descriptor: ([C[C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // char[] array
        start local 1 // char[] target
         0: .line 169
            aload 0 /* array */
            ldc "array"
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 170
            aload 1 /* target */
            ldc "target"
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 171
            aload 1 /* target */
            arraylength
            ifne 4
         3: .line 172
            iconst_0
            ireturn
         4: .line 176
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         5: goto 14
         6: .line 177
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         7: goto 11
         8: .line 178
      StackMap locals: int
      StackMap stack:
            aload 0 /* array */
            iload 2 /* i */
            iload 3 /* j */
            iadd
            caload
            aload 1 /* target */
            iload 3 /* j */
            caload
            if_icmpeq 10
         9: .line 179
            goto 13
        10: .line 177
      StackMap locals:
      StackMap stack:
            iinc 3 /* j */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* j */
            aload 1 /* target */
            arraylength
            if_icmplt 8
        end local 3 // int j
        12: .line 182
            iload 2 /* i */
            ireturn
        13: .line 176
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            aload 0 /* array */
            arraylength
            aload 1 /* target */
            arraylength
            isub
            iconst_1
            iadd
            if_icmplt 6
        end local 2 // int i
        15: .line 184
            iconst_m1
            ireturn
        end local 1 // char[] target
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0   array  [C
            0   16     1  target  [C
            5   15     2       i  I
            7   12     3       j  I
    MethodParameters:
        Name  Flags
      array   
      target  

  public static int lastIndexOf(char[], char);
    descriptor: ([CC)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // char[] array
        start local 1 // char target
         0: .line 196
            aload 0 /* array */
            iload 1 /* target */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic com.google.common.primitives.Chars.lastIndexOf:([CCII)I
            ireturn
        end local 1 // char target
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0   array  [C
            0    1     1  target  C
    MethodParameters:
        Name  Flags
      array   
      target  

  private static int lastIndexOf(char[], char, int, int);
    descriptor: ([CCII)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // char[] array
        start local 1 // char target
        start local 2 // int start
        start local 3 // int end
         0: .line 201
            iload 3 /* end */
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         1: goto 5
         2: .line 202
      StackMap locals: int
      StackMap stack:
            aload 0 /* array */
            iload 4 /* i */
            caload
            iload 1 /* target */
            if_icmpne 4
         3: .line 203
            iload 4 /* i */
            ireturn
         4: .line 201
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 2 /* start */
            if_icmpge 2
        end local 4 // int i
         6: .line 206
            iconst_m1
            ireturn
        end local 3 // int end
        end local 2 // int start
        end local 1 // char target
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0   array  [C
            0    7     1  target  C
            0    7     2   start  I
            0    7     3     end  I
            1    6     4       i  I
    MethodParameters:
        Name  Flags
      array   
      target  
      start   
      end     

  public static char min(char[]);
    descriptor: ([C)C
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // char[] array
         0: .line 218
            aload 0 /* array */
            arraylength
            ifle 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
         3: .line 219
            aload 0 /* array */
            iconst_0
            caload
            istore 1 /* min */
        start local 1 // char min
         4: .line 220
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         5: goto 9
         6: .line 221
      StackMap locals: int int
      StackMap stack:
            aload 0 /* array */
            iload 2 /* i */
            caload
            iload 1 /* min */
            if_icmpge 8
         7: .line 222
            aload 0 /* array */
            iload 2 /* i */
            caload
            istore 1 /* min */
         8: .line 220
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* array */
            arraylength
            if_icmplt 6
        end local 2 // int i
        10: .line 225
            iload 1 /* min */
            ireturn
        end local 1 // char min
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0  array  [C
            4   11     1    min  C
            5   10     2      i  I
    MethodParameters:
       Name  Flags
      array  

  public static char max(char[]);
    descriptor: ([C)C
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // char[] array
         0: .line 237
            aload 0 /* array */
            arraylength
            ifle 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
         3: .line 238
            aload 0 /* array */
            iconst_0
            caload
            istore 1 /* max */
        start local 1 // char max
         4: .line 239
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         5: goto 9
         6: .line 240
      StackMap locals: int int
      StackMap stack:
            aload 0 /* array */
            iload 2 /* i */
            caload
            iload 1 /* max */
            if_icmple 8
         7: .line 241
            aload 0 /* array */
            iload 2 /* i */
            caload
            istore 1 /* max */
         8: .line 239
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* array */
            arraylength
            if_icmplt 6
        end local 2 // int i
        10: .line 244
            iload 1 /* max */
            ireturn
        end local 1 // char max
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0  array  [C
            4   11     1    max  C
            5   10     2      i  I
    MethodParameters:
       Name  Flags
      array  

  public static char constrainToRange(char, char, char);
    descriptor: (CCC)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // char value
        start local 1 // char min
        start local 2 // char max
         0: .line 262
            iload 1 /* min */
            iload 2 /* max */
            if_icmpgt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "min (%s) must be less than or equal to max (%s)"
            iload 1 /* min */
            iload 2 /* max */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;CC)V
         3: .line 263
            iload 0 /* value */
            iload 1 /* min */
            if_icmpge 4
            iload 1 /* min */
            goto 6
      StackMap locals:
      StackMap stack:
         4: iload 0 /* value */
            iload 2 /* max */
            if_icmpge 5
            iload 0 /* value */
            goto 6
      StackMap locals:
      StackMap stack:
         5: iload 2 /* max */
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 2 // char max
        end local 1 // char min
        end local 0 // char value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  value  C
            0    7     1    min  C
            0    7     2    max  C
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
    MethodParameters:
       Name  Flags
      value  
      min    
      max    

  public static char[] concat(char[][]);
    descriptor: ([[C)[C
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // char[][] arrays
         0: .line 274
            iconst_0
            istore 1 /* length */
        start local 1 // int length
         1: .line 275
            aload 0 /* arrays */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: char[][] int top int int char[][]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* array */
        start local 2 // char[] array
         3: .line 276
            iload 1 /* length */
            aload 2 /* array */
            arraylength
            iadd
            istore 1 /* length */
        end local 2 // char[] array
         4: .line 275
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 278
            iload 1 /* length */
            newarray 5
            astore 2 /* result */
        start local 2 // char[] result
         7: .line 279
            iconst_0
            istore 3 /* pos */
        start local 3 // int pos
         8: .line 280
            aload 0 /* arrays */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 13
      StackMap locals: char[][] int char[] int top int int char[][]
      StackMap stack:
         9: aload 7
            iload 5
            aaload
            astore 4 /* array */
        start local 4 // char[] array
        10: .line 281
            aload 4 /* array */
            iconst_0
            aload 2 /* result */
            iload 3 /* pos */
            aload 4 /* array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 282
            iload 3 /* pos */
            aload 4 /* array */
            arraylength
            iadd
            istore 3 /* pos */
        end local 4 // char[] array
        12: .line 280
            iinc 5 1
      StackMap locals:
      StackMap stack:
        13: iload 5
            iload 6
            if_icmplt 9
        14: .line 284
            aload 2 /* result */
            areturn
        end local 3 // int pos
        end local 2 // char[] result
        end local 1 // int length
        end local 0 // char[][] arrays
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0  arrays  [[C
            1   15     1  length  I
            3    4     2   array  [C
            7   15     2  result  [C
            8   15     3     pos  I
           10   12     4   array  [C
    MethodParameters:
        Name  Flags
      arrays  

  public static byte[] toByteArray(char);
    descriptor: (C)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // char value
         0: .line 298
            iconst_2
            newarray 8
            dup
            iconst_0
            iload 0 /* value */
            bipush 8
            ishr
            i2b
            bastore
            dup
            iconst_1
            iload 0 /* value */
            i2b
            bastore
            areturn
        end local 0 // char value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  C
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
       Name  Flags
      value  

  public static char fromByteArray(byte[]);
    descriptor: ([B)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // byte[] bytes
         0: .line 313
            aload 0 /* bytes */
            arraylength
            iconst_2
            if_icmplt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "array too small: %s < %s"
            aload 0 /* bytes */
            arraylength
            iconst_2
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;II)V
         3: .line 314
            aload 0 /* bytes */
            iconst_0
            baload
            aload 0 /* bytes */
            iconst_1
            baload
            invokestatic com.google.common.primitives.Chars.fromBytes:(BB)C
            ireturn
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  bytes  [B
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
       Name  Flags
      bytes  

  public static char fromBytes(byte, byte);
    descriptor: (BB)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // byte b1
        start local 1 // byte b2
         0: .line 325
            iload 0 /* b1 */
            bipush 8
            ishl
            iload 1 /* b2 */
            sipush 255
            iand
            ior
            i2c
            ireturn
        end local 1 // byte b2
        end local 0 // byte b1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    b1  B
            0    1     1    b2  B
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
      Name  Flags
      b1    
      b2    

  public static char[] ensureCapacity(char[], int, int);
    descriptor: ([CII)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // char[] array
        start local 1 // int minLength
        start local 2 // int padding
         0: .line 342
            iload 1 /* minLength */
            iflt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "Invalid minLength: %s"
            iload 1 /* minLength */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;I)V
         3: .line 343
            iload 2 /* padding */
            iflt 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: ldc "Invalid padding: %s"
            iload 2 /* padding */
            invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;I)V
         6: .line 344
            aload 0 /* array */
            arraylength
            iload 1 /* minLength */
            if_icmpge 7
            aload 0 /* array */
            iload 1 /* minLength */
            iload 2 /* padding */
            iadd
            invokestatic java.util.Arrays.copyOf:([CI)[C
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 0 /* array */
      StackMap locals:
      StackMap stack: char[]
         8: areturn
        end local 2 // int padding
        end local 1 // int minLength
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0      array  [C
            0    9     1  minLength  I
            0    9     2    padding  I
    MethodParameters:
           Name  Flags
      array      
      minLength  
      padding    

  public static java.lang.String join(java.lang.String, char[]);
    descriptor: (Ljava/lang/String;[C)Ljava/lang/String;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // java.lang.String separator
        start local 1 // char[] array
         0: .line 356
            aload 0 /* separator */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 357
            aload 1 /* array */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         2: .line 358
            iload 2 /* len */
            ifne 4
         3: .line 359
            ldc ""
            areturn
         4: .line 362
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 2 /* len */
            aload 0 /* separator */
            invokevirtual java.lang.String.length:()I
            iload 2 /* len */
            iconst_1
            isub
            imul
            iadd
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* builder */
        start local 3 // java.lang.StringBuilder builder
         5: .line 363
            aload 3 /* builder */
            aload 1 /* array */
            iconst_0
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 364
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         7: goto 10
         8: .line 365
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 3 /* builder */
            aload 0 /* separator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* array */
            iload 4 /* i */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 364
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            iload 2 /* len */
            if_icmplt 8
        end local 4 // int i
        11: .line 367
            aload 3 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder builder
        end local 2 // int len
        end local 1 // char[] array
        end local 0 // java.lang.String separator
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0  separator  Ljava/lang/String;
            0   12     1      array  [C
            2   12     2        len  I
            5   12     3    builder  Ljava/lang/StringBuilder;
            7   11     4          i  I
    MethodParameters:
           Name  Flags
      separator  
      array      

  public static java.util.Comparator<char[]> lexicographicalComparator();
    descriptor: ()Ljava/util/Comparator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 384
            getstatic com.google.common.primitives.Chars$LexicographicalComparator.INSTANCE:Lcom/google/common/primitives/Chars$LexicographicalComparator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/Comparator<[C>;

  public static char[] toArray(java.util.Collection<java.lang.Character>);
    descriptor: (Ljava/util/Collection;)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.util.Collection collection
         0: .line 421
            aload 0 /* collection */
            instanceof com.google.common.primitives.Chars$CharArrayAsList
            ifeq 2
         1: .line 422
            aload 0 /* collection */
            checkcast com.google.common.primitives.Chars$CharArrayAsList
            invokevirtual com.google.common.primitives.Chars$CharArrayAsList.toCharArray:()[C
            areturn
         2: .line 425
      StackMap locals:
      StackMap stack:
            aload 0 /* collection */
            invokeinterface java.util.Collection.toArray:()[Ljava/lang/Object;
            astore 1 /* boxedArray */
        start local 1 // java.lang.Object[] boxedArray
         3: .line 426
            aload 1 /* boxedArray */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         4: .line 427
            iload 2 /* len */
            newarray 5
            astore 3 /* array */
        start local 3 // char[] array
         5: .line 428
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 9
         7: .line 430
      StackMap locals: java.util.Collection java.lang.Object[] int char[] int
      StackMap stack:
            aload 3 /* array */
            iload 4 /* i */
            aload 1 /* boxedArray */
            iload 4 /* i */
            aaload
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Character
            invokevirtual java.lang.Character.charValue:()C
            castore
         8: .line 428
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 2 /* len */
            if_icmplt 7
        end local 4 // int i
        10: .line 432
            aload 3 /* array */
            areturn
        end local 3 // char[] array
        end local 2 // int len
        end local 1 // java.lang.Object[] boxedArray
        end local 0 // java.util.Collection collection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0  collection  Ljava/util/Collection<Ljava/lang/Character;>;
            3   11     1  boxedArray  [Ljava/lang/Object;
            4   11     2         len  I
            5   11     3       array  [C
            6   10     4           i  I
    Signature: (Ljava/util/Collection<Ljava/lang/Character;>;)[C
    MethodParameters:
            Name  Flags
      collection  

  public static void sortDescending(char[]);
    descriptor: ([C)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // char[] array
         0: .line 441
            aload 0 /* array */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 442
            aload 0 /* array */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic com.google.common.primitives.Chars.sortDescending:([CII)V
         2: .line 443
            return
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  array  [C
    MethodParameters:
       Name  Flags
      array  

  public static void sortDescending(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // char[] array
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 452
            aload 0 /* array */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 453
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            aload 0 /* array */
            arraylength
            invokestatic com.google.common.base.Preconditions.checkPositionIndexes:(III)V
         2: .line 454
            aload 0 /* array */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.sort:([CII)V
         3: .line 455
            aload 0 /* array */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic com.google.common.primitives.Chars.reverse:([CII)V
         4: .line 456
            return
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0      array  [C
            0    5     1  fromIndex  I
            0    5     2    toIndex  I
    MethodParameters:
           Name  Flags
      array      
      fromIndex  
      toIndex    

  public static void reverse(char[]);
    descriptor: ([C)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // char[] array
         0: .line 465
            aload 0 /* array */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 466
            aload 0 /* array */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic com.google.common.primitives.Chars.reverse:([CII)V
         2: .line 467
            return
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  array  [C
    MethodParameters:
       Name  Flags
      array  

  public static void reverse(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // char[] array
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 480
            aload 0 /* array */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 481
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            aload 0 /* array */
            arraylength
            invokestatic com.google.common.base.Preconditions.checkPositionIndexes:(III)V
         2: .line 482
            iload 1 /* fromIndex */
            istore 3 /* i */
        start local 3 // int i
         3: iload 2 /* toIndex */
            iconst_1
            isub
            istore 4 /* j */
        start local 4 // int j
         4: goto 9
         5: .line 483
      StackMap locals: int int
      StackMap stack:
            aload 0 /* array */
            iload 3 /* i */
            caload
            istore 5 /* tmp */
        start local 5 // char tmp
         6: .line 484
            aload 0 /* array */
            iload 3 /* i */
            aload 0 /* array */
            iload 4 /* j */
            caload
            castore
         7: .line 485
            aload 0 /* array */
            iload 4 /* j */
            iload 5 /* tmp */
            castore
        end local 5 // char tmp
         8: .line 482
            iinc 3 /* i */ 1
            iinc 4 /* j */ -1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 4 /* j */
            if_icmplt 5
        end local 4 // int j
        end local 3 // int i
        10: .line 487
            return
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0      array  [C
            0   11     1  fromIndex  I
            0   11     2    toIndex  I
            3   10     3          i  I
            4   10     4          j  I
            6    8     5        tmp  C
    MethodParameters:
           Name  Flags
      array      
      fromIndex  
      toIndex    

  public static java.util.List<java.lang.Character> asList(char[]);
    descriptor: ([C)Ljava/util/List;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // char[] backingArray
         0: .line 502
            aload 0 /* backingArray */
            arraylength
            ifne 2
         1: .line 503
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         2: .line 505
      StackMap locals:
      StackMap stack:
            new com.google.common.primitives.Chars$CharArrayAsList
            dup
            aload 0 /* backingArray */
            invokespecial com.google.common.primitives.Chars$CharArrayAsList.<init>:([C)V
            areturn
        end local 0 // char[] backingArray
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0  backingArray  [C
    Signature: ([C)Ljava/util/List<Ljava/lang/Character;>;
    MethodParameters:
              Name  Flags
      backingArray  
}
SourceFile: "Chars.java"
NestMembers:
  com.google.common.primitives.Chars$CharArrayAsList  com.google.common.primitives.Chars$LexicographicalComparator
InnerClasses:
  private CharArrayAsList = com.google.common.primitives.Chars$CharArrayAsList of com.google.common.primitives.Chars
  private final LexicographicalComparator = com.google.common.primitives.Chars$LexicographicalComparator of com.google.common.primitives.Chars
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtCompatible(emulated = true)