public final class sun.text.normalizer.UTF16
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.text.normalizer.UTF16
  super_class: java.lang.Object
{
  public static final int CODEPOINT_MIN_VALUE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int CODEPOINT_MAX_VALUE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1114111

  public static final int SUPPLEMENTARY_MIN_VALUE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 65536

  public static final int LEAD_SURROGATE_MIN_VALUE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 55296

  public static final int TRAIL_SURROGATE_MIN_VALUE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 56320

  public static final int LEAD_SURROGATE_MAX_VALUE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 56319

  public static final int TRAIL_SURROGATE_MAX_VALUE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 57343

  public static final int SURROGATE_MIN_VALUE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 55296

  private static final int LEAD_SURROGATE_SHIFT_;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final int TRAIL_SURROGATE_MASK_;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1023

  private static final int LEAD_SURROGATE_OFFSET_;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 55232

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.text.normalizer.UTF16 this
         0: .line 119
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.text.normalizer.UTF16 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/text/normalizer/UTF16;

  public static int charAt(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String source
        start local 1 // int offset16
         0: .line 187
            aload 0 /* source */
            iload 1 /* offset16 */
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* single */
        start local 2 // char single
         1: .line 188
            iload 2 /* single */
            ldc 55296
            if_icmpge 3
         2: .line 189
            iload 2 /* single */
            ireturn
         3: .line 191
      StackMap locals: int
      StackMap stack:
            aload 0 /* source */
            iload 1 /* offset16 */
            iload 2 /* single */
            invokestatic sun.text.normalizer.UTF16._charAt:(Ljava/lang/String;IC)I
            ireturn
        end local 2 // char single
        end local 1 // int offset16
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0    source  Ljava/lang/String;
            0    4     1  offset16  I
            1    4     2    single  C
    MethodParameters:
          Name  Flags
      source    
      offset16  

  private static int _charAt(java.lang.String, int, char);
    descriptor: (Ljava/lang/String;IC)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.lang.String source
        start local 1 // int offset16
        start local 2 // char single
         0: .line 195
            iload 2 /* single */
            ldc 57343
            if_icmple 2
         1: .line 196
            iload 2 /* single */
            ireturn
         2: .line 203
      StackMap locals:
      StackMap stack:
            iload 2 /* single */
            ldc 56319
            if_icmpgt 8
         3: .line 204
            iinc 1 /* offset16 */ 1
         4: .line 205
            aload 0 /* source */
            invokevirtual java.lang.String.length:()I
            iload 1 /* offset16 */
            if_icmpeq 13
         5: .line 206
            aload 0 /* source */
            iload 1 /* offset16 */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* trail */
        start local 3 // char trail
         6: .line 207
            iload 3 /* trail */
            ldc 56320
            if_icmplt 13
            iload 3 /* trail */
            ldc 57343
            if_icmpgt 13
         7: .line 208
            iload 2 /* single */
            iload 3 /* trail */
            invokestatic sun.text.normalizer.UCharacterProperty.getRawSupplementary:(CC)I
            ireturn
        end local 3 // char trail
         8: .line 212
      StackMap locals:
      StackMap stack:
            iinc 1 /* offset16 */ -1
         9: .line 213
            iload 1 /* offset16 */
            iflt 13
        10: .line 215
            aload 0 /* source */
            iload 1 /* offset16 */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* lead */
        start local 3 // char lead
        11: .line 216
            iload 3 /* lead */
            ldc 55296
            if_icmplt 13
            iload 3 /* lead */
            ldc 56319
            if_icmpgt 13
        12: .line 217
            iload 3 /* lead */
            iload 2 /* single */
            invokestatic sun.text.normalizer.UCharacterProperty.getRawSupplementary:(CC)I
            ireturn
        end local 3 // char lead
        13: .line 221
      StackMap locals:
      StackMap stack:
            iload 2 /* single */
            ireturn
        end local 2 // char single
        end local 1 // int offset16
        end local 0 // java.lang.String source
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0    source  Ljava/lang/String;
            0   14     1  offset16  I
            0   14     2    single  C
            6    8     3     trail  C
           11   13     3      lead  C
    MethodParameters:
          Name  Flags
      source    
      offset16  
      single    

  public static int charAt(char[], int, int, int);
    descriptor: ([CIII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // char[] source
        start local 1 // int start
        start local 2 // int limit
        start local 3 // int offset16
         0: .line 248
            iload 3 /* offset16 */
            iload 1 /* start */
            iadd
            istore 3 /* offset16 */
         1: .line 249
            iload 3 /* offset16 */
            iload 1 /* start */
            if_icmplt 2
            iload 3 /* offset16 */
            iload 2 /* limit */
            if_icmplt 3
         2: .line 250
      StackMap locals:
      StackMap stack:
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            iload 3 /* offset16 */
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
            athrow
         3: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            iload 3 /* offset16 */
            caload
            istore 4 /* single */
        start local 4 // char single
         4: .line 254
            iload 4 /* single */
            invokestatic sun.text.normalizer.UTF16.isSurrogate:(C)Z
            ifne 6
         5: .line 255
            iload 4 /* single */
            ireturn
         6: .line 261
      StackMap locals: int
      StackMap stack:
            iload 4 /* single */
            ldc 56319
            if_icmpgt 13
         7: .line 262
            iinc 3 /* offset16 */ 1
         8: .line 263
            iload 3 /* offset16 */
            iload 2 /* limit */
            if_icmplt 10
         9: .line 264
            iload 4 /* single */
            ireturn
        10: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            iload 3 /* offset16 */
            caload
            istore 5 /* trail */
        start local 5 // char trail
        11: .line 267
            iload 5 /* trail */
            invokestatic sun.text.normalizer.UTF16.isTrailSurrogate:(C)Z
            ifeq 19
        12: .line 268
            iload 4 /* single */
            iload 5 /* trail */
            invokestatic sun.text.normalizer.UCharacterProperty.getRawSupplementary:(CC)I
            ireturn
        end local 5 // char trail
        13: .line 272
      StackMap locals:
      StackMap stack:
            iload 3 /* offset16 */
            iload 1 /* start */
            if_icmpne 15
        14: .line 273
            iload 4 /* single */
            ireturn
        15: .line 275
      StackMap locals:
      StackMap stack:
            iinc 3 /* offset16 */ -1
        16: .line 276
            aload 0 /* source */
            iload 3 /* offset16 */
            caload
            istore 5 /* lead */
        start local 5 // char lead
        17: .line 277
            iload 5 /* lead */
            invokestatic sun.text.normalizer.UTF16.isLeadSurrogate:(C)Z
            ifeq 19
        18: .line 278
            iload 5 /* lead */
            iload 4 /* single */
            invokestatic sun.text.normalizer.UCharacterProperty.getRawSupplementary:(CC)I
            ireturn
        end local 5 // char lead
        19: .line 280
      StackMap locals:
      StackMap stack:
            iload 4 /* single */
            ireturn
        end local 4 // char single
        end local 3 // int offset16
        end local 2 // int limit
        end local 1 // int start
        end local 0 // char[] source
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0    source  [C
            0   20     1     start  I
            0   20     2     limit  I
            0   20     3  offset16  I
            4   20     4    single  C
           11   13     5     trail  C
           17   19     5      lead  C
    MethodParameters:
          Name  Flags
      source    
      start     
      limit     
      offset16  

  public static int getCharCount(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int char32
         0: .line 294
            iload 0 /* char32 */
            ldc 65536
            if_icmpge 2
         1: .line 295
            iconst_1
            ireturn
         2: .line 297
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
        end local 0 // int char32
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  char32  I
    MethodParameters:
        Name  Flags
      char32  

  public static boolean isSurrogate(char);
    descriptor: (C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char char16
         0: .line 308
            ldc 55296
            iload 0 /* char16 */
            if_icmpgt 3
         1: .line 309
            iload 0 /* char16 */
            ldc 57343
         2: .line 308
            if_icmpgt 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // char char16
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  char16  C
    MethodParameters:
        Name  Flags
      char16  

  public static boolean isTrailSurrogate(char);
    descriptor: (C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char char16
         0: .line 320
            ldc 56320
            iload 0 /* char16 */
            if_icmpgt 3
         1: .line 321
            iload 0 /* char16 */
            ldc 57343
         2: .line 320
            if_icmpgt 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // char char16
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  char16  C
    MethodParameters:
        Name  Flags
      char16  

  public static boolean isLeadSurrogate(char);
    descriptor: (C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char char16
         0: .line 332
            ldc 55296
            iload 0 /* char16 */
            if_icmpgt 3
         1: .line 333
            iload 0 /* char16 */
            ldc 56319
         2: .line 332
            if_icmpgt 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // char char16
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  char16  C
    MethodParameters:
        Name  Flags
      char16  

  public static char getLeadSurrogate(int);
    descriptor: (I)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int char32
         0: .line 348
            iload 0 /* char32 */
            ldc 65536
            if_icmplt 4
         1: .line 349
            ldc 55232
         2: .line 350
            iload 0 /* char32 */
            bipush 10
            ishr
         3: .line 349
            iadd
            i2c
            ireturn
         4: .line 353
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // int char32
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  char32  I
    MethodParameters:
        Name  Flags
      char32  

  public static char getTrailSurrogate(int);
    descriptor: (I)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int char32
         0: .line 368
            iload 0 /* char32 */
            ldc 65536
            if_icmplt 4
         1: .line 369
            ldc 56320
         2: .line 370
            iload 0 /* char32 */
            sipush 1023
            iand
         3: .line 369
            iadd
            i2c
            ireturn
         4: .line 373
      StackMap locals:
      StackMap stack:
            iload 0 /* char32 */
            i2c
            ireturn
        end local 0 // int char32
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  char32  I
    MethodParameters:
        Name  Flags
      char32  

  public static java.lang.String valueOf(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int char32
         0: .line 390
            iload 0 /* char32 */
            iflt 1
            iload 0 /* char32 */
            ldc 1114111
            if_icmple 2
         1: .line 391
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Illegal codepoint"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 393
      StackMap locals:
      StackMap stack:
            iload 0 /* char32 */
            invokestatic sun.text.normalizer.UTF16.toString:(I)Ljava/lang/String;
            areturn
        end local 0 // int char32
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  char32  I
    MethodParameters:
        Name  Flags
      char32  

  public static java.lang.StringBuffer append(java.lang.StringBuffer, int);
    descriptor: (Ljava/lang/StringBuffer;I)Ljava/lang/StringBuffer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.StringBuffer target
        start local 1 // int char32
         0: .line 411
            iload 1 /* char32 */
            iflt 1
            iload 1 /* char32 */
            ldc 1114111
            if_icmple 2
         1: .line 412
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal codepoint: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* char32 */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 416
      StackMap locals:
      StackMap stack:
            iload 1 /* char32 */
            ldc 65536
            if_icmplt 6
         3: .line 418
            aload 0 /* target */
            iload 1 /* char32 */
            invokestatic sun.text.normalizer.UTF16.getLeadSurrogate:(I)C
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 419
            aload 0 /* target */
            iload 1 /* char32 */
            invokestatic sun.text.normalizer.UTF16.getTrailSurrogate:(I)C
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         5: .line 420
            goto 7
         6: .line 422
      StackMap locals:
      StackMap stack:
            aload 0 /* target */
            iload 1 /* char32 */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 424
      StackMap locals:
      StackMap stack:
            aload 0 /* target */
            areturn
        end local 1 // int char32
        end local 0 // java.lang.StringBuffer target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  target  Ljava/lang/StringBuffer;
            0    8     1  char32  I
    MethodParameters:
        Name  Flags
      target  
      char32  

  public static int moveCodePointOffset(char[], int, int, int, int);
    descriptor: ([CIIII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=5
        start local 0 // char[] source
        start local 1 // int start
        start local 2 // int limit
        start local 3 // int offset16
        start local 4 // int shift32
         0: .line 444
            aload 0 /* source */
            arraylength
            istore 5 /* size */
        start local 5 // int size
         1: .line 447
            iload 3 /* offset16 */
            iload 1 /* start */
            iadd
            istore 8 /* result */
        start local 8 // int result
         2: .line 448
            iload 1 /* start */
            iflt 3
            iload 2 /* limit */
            iload 1 /* start */
            if_icmpge 4
         3: .line 449
      StackMap locals: char[] int int int int int top top int
      StackMap stack:
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 1 /* start */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         4: .line 451
      StackMap locals:
      StackMap stack:
            iload 2 /* limit */
            iload 5 /* size */
            if_icmple 6
         5: .line 452
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 2 /* limit */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         6: .line 454
      StackMap locals:
      StackMap stack:
            iload 3 /* offset16 */
            iflt 7
            iload 8 /* result */
            iload 2 /* limit */
            if_icmple 8
         7: .line 455
      StackMap locals:
      StackMap stack:
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 3 /* offset16 */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
         8: .line 457
      StackMap locals:
      StackMap stack:
            iload 4 /* shift32 */
            ifle 21
         9: .line 458
            iload 4 /* shift32 */
            iload 8 /* result */
            iadd
            iload 5 /* size */
            if_icmple 11
        10: .line 459
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 8 /* result */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
        11: .line 461
      StackMap locals:
      StackMap stack:
            iload 4 /* shift32 */
            istore 6 /* count */
        start local 6 // int count
        12: .line 462
            goto 19
        13: .line 464
      StackMap locals: char[] int int int int int int top int
      StackMap stack:
            aload 0 /* source */
            iload 8 /* result */
            caload
            istore 7 /* ch */
        start local 7 // char ch
        14: .line 465
            iload 7 /* ch */
            invokestatic sun.text.normalizer.UTF16.isLeadSurrogate:(C)Z
            ifeq 17
            iload 8 /* result */
            iconst_1
            iadd
            iload 2 /* limit */
            if_icmpge 17
        15: .line 466
            aload 0 /* source */
            iload 8 /* result */
            iconst_1
            iadd
            caload
            invokestatic sun.text.normalizer.UTF16.isTrailSurrogate:(C)Z
            ifeq 17
        16: .line 467
            iinc 8 /* result */ 1
        17: .line 469
      StackMap locals: char[] int int int int int int int int
      StackMap stack:
            iinc 6 /* count */ -1
        18: .line 470
            iinc 8 /* result */ 1
        end local 7 // char ch
        19: .line 462
      StackMap locals: char[] int int int int int int top int
      StackMap stack:
            iload 8 /* result */
            iload 2 /* limit */
            if_icmpge 33
            iload 6 /* count */
            ifgt 13
        20: .line 472
            goto 33
        end local 6 // int count
        21: .line 473
      StackMap locals: char[] int int int int int top top int
      StackMap stack:
            iload 8 /* result */
            iload 4 /* shift32 */
            iadd
            iload 1 /* start */
            if_icmpge 23
        22: .line 474
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 8 /* result */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
        23: .line 476
      StackMap locals:
      StackMap stack:
            iload 4 /* shift32 */
            ineg
            istore 6 /* count */
        start local 6 // int count
        24: goto 32
        25: .line 477
      StackMap locals: char[] int int int int int int top int
      StackMap stack:
            iinc 8 /* result */ -1
        26: .line 478
            iload 8 /* result */
            iload 1 /* start */
            if_icmpge 28
        27: .line 479
            goto 33
        28: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* source */
            iload 8 /* result */
            caload
            istore 7 /* ch */
        start local 7 // char ch
        29: .line 482
            iload 7 /* ch */
            invokestatic sun.text.normalizer.UTF16.isTrailSurrogate:(C)Z
            ifeq 31
            iload 8 /* result */
            iload 1 /* start */
            if_icmple 31
            aload 0 /* source */
            iload 8 /* result */
            iconst_1
            isub
            caload
            invokestatic sun.text.normalizer.UTF16.isLeadSurrogate:(C)Z
            ifeq 31
        30: .line 483
            iinc 8 /* result */ -1
        31: .line 476
      StackMap locals: char[] int int int int int int int int
      StackMap stack:
            iinc 6 /* count */ -1
        end local 7 // char ch
      StackMap locals: char[] int int int int int int top int
      StackMap stack:
        32: iload 6 /* count */
            ifgt 25
        33: .line 487
      StackMap locals:
      StackMap stack:
            iload 6 /* count */
            ifeq 35
        34: .line 488
            new java.lang.StringIndexOutOfBoundsException
            dup
            iload 4 /* shift32 */
            invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
            athrow
        35: .line 490
      StackMap locals:
      StackMap stack:
            iload 8 /* result */
            iload 1 /* start */
            isub
            istore 8 /* result */
        36: .line 491
            iload 8 /* result */
            ireturn
        end local 8 // int result
        end local 6 // int count
        end local 5 // int size
        end local 4 // int shift32
        end local 3 // int offset16
        end local 2 // int limit
        end local 1 // int start
        end local 0 // char[] source
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   37     0    source  [C
            0   37     1     start  I
            0   37     2     limit  I
            0   37     3  offset16  I
            0   37     4   shift32  I
            1   37     5      size  I
           12   21     6     count  I
           24   37     6     count  I
           14   19     7        ch  C
           29   32     7        ch  C
            2   37     8    result  I
    MethodParameters:
          Name  Flags
      source    
      start     
      limit     
      offset16  
      shift32   

  private static java.lang.String toString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // int ch
         0: .line 529
            iload 0 /* ch */
            ldc 65536
            if_icmpge 2
         1: .line 530
            iload 0 /* ch */
            i2c
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            areturn
         2: .line 533
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* result */
        start local 1 // java.lang.StringBuffer result
         3: .line 534
            aload 1 /* result */
            iload 0 /* ch */
            invokestatic sun.text.normalizer.UTF16.getLeadSurrogate:(I)C
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 535
            aload 1 /* result */
            iload 0 /* ch */
            invokestatic sun.text.normalizer.UTF16.getTrailSurrogate:(I)C
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         5: .line 536
            aload 1 /* result */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer result
        end local 0 // int ch
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0      ch  I
            3    6     1  result  Ljava/lang/StringBuffer;
    MethodParameters:
      Name  Flags
      ch    
}
SourceFile: "UTF16.java"