public final class org.apache.fop.complexscripts.util.UTF32
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.fop.complexscripts.util.UTF32
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.fop.complexscripts.util.UTF32 this
         0: .line 32
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 33
            return
        end local 0 // org.apache.fop.complexscripts.util.UTF32 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/fop/complexscripts/util/UTF32;

  public static java.lang.Integer[] toUTF32(java.lang.String, int, boolean);
    descriptor: (Ljava/lang/String;IZ)[Ljava/lang/Integer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // java.lang.String s
        start local 1 // int substitution
        start local 2 // boolean errorOnSubstitution
         0: .line 51
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            dup
            istore 3 /* n */
        start local 3 // int n
         1: ifne 3
         2: .line 52
            iconst_0
            anewarray java.lang.Integer
            areturn
         3: .line 54
      StackMap locals: int
      StackMap stack:
            iload 3 /* n */
            anewarray java.lang.Integer
            astore 4 /* sa */
        start local 4 // java.lang.Integer[] sa
         4: .line 55
            iconst_0
            istore 5 /* k */
        start local 5 // int k
         5: .line 56
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 31
         7: .line 57
      StackMap locals: java.lang.Integer[] int int
      StackMap stack:
            aload 0 /* s */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* c */
        start local 7 // int c
         8: .line 58
            iload 7 /* c */
            ldc 55296
            if_icmplt 29
            iload 7 /* c */
            ldc 57344
            if_icmpge 29
         9: .line 59
            iload 7 /* c */
            istore 8 /* s1 */
        start local 8 // int s1
        10: .line 60
            iload 6 /* i */
            iconst_1
            iadd
            iload 3 /* n */
            if_icmpge 11
            aload 0 /* s */
            iload 6 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            goto 12
      StackMap locals: int int
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 9 /* s2 */
        start local 9 // int s2
        13: .line 61
            iload 8 /* s1 */
            ldc 56320
            if_icmpge 24
        14: .line 62
            iload 9 /* s2 */
            ldc 56320
            if_icmplt 18
            iload 9 /* s2 */
            ldc 57344
            if_icmpge 18
        15: .line 63
            iload 8 /* s1 */
            ldc 55296
            isub
            bipush 10
            ishl
            iload 9 /* s2 */
            ldc 56320
            isub
            iadd
            ldc 65536
            iadd
            istore 7 /* c */
        16: .line 64
            iinc 6 /* i */ 1
        17: .line 65
            goto 29
        18: .line 66
      StackMap locals: int
      StackMap stack:
            iload 2 /* errorOnSubstitution */
            ifeq 22
        19: .line 67
            new java.lang.IllegalArgumentException
            dup
        20: .line 68
            ldc "isolated high (leading) surrogate"
        21: .line 67
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 70
      StackMap locals:
      StackMap stack:
            iload 1 /* substitution */
            istore 7 /* c */
        23: .line 73
            goto 29
        24: .line 74
      StackMap locals:
      StackMap stack:
            iload 2 /* errorOnSubstitution */
            ifeq 28
        25: .line 75
            new java.lang.IllegalArgumentException
            dup
        26: .line 76
            ldc "isolated low (trailing) surrogate"
        27: .line 75
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 78
      StackMap locals:
      StackMap stack:
            iload 1 /* substitution */
            istore 7 /* c */
        end local 9 // int s2
        end local 8 // int s1
        29: .line 82
      StackMap locals:
      StackMap stack:
            aload 4 /* sa */
            iload 5 /* k */
            iinc 5 /* k */ 1
            iload 7 /* c */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        end local 7 // int c
        30: .line 56
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 6 /* i */
            iload 3 /* n */
            if_icmplt 7
        end local 6 // int i
        32: .line 84
            iload 5 /* k */
            iload 3 /* n */
            if_icmpne 34
        33: .line 85
            aload 4 /* sa */
            areturn
        34: .line 87
      StackMap locals:
      StackMap stack:
            iload 5 /* k */
            anewarray java.lang.Integer
            astore 6 /* na */
        start local 6 // java.lang.Integer[] na
        35: .line 88
            aload 4 /* sa */
            iconst_0
            aload 6 /* na */
            iconst_0
            iload 5 /* k */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        36: .line 89
            aload 6 /* na */
            areturn
        end local 6 // java.lang.Integer[] na
        end local 5 // int k
        end local 4 // java.lang.Integer[] sa
        end local 3 // int n
        end local 2 // boolean errorOnSubstitution
        end local 1 // int substitution
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   37     0                    s  Ljava/lang/String;
            0   37     1         substitution  I
            0   37     2  errorOnSubstitution  Z
            1   37     3                    n  I
            4   37     4                   sa  [Ljava/lang/Integer;
            5   37     5                    k  I
            6   32     6                    i  I
            8   30     7                    c  I
           10   29     8                   s1  I
           13   29     9                   s2  I
           35   37     6                   na  [Ljava/lang/Integer;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
                     Name  Flags
      s                    
      substitution         
      errorOnSubstitution  

  public static java.lang.String fromUTF32(java.lang.Integer[]);
    descriptor: ([Ljava/lang/Integer;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=1
        start local 0 // java.lang.Integer[] sa
         0: .line 102
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuffer sb
         1: .line 103
            aload 0 /* sa */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 26
      StackMap locals: java.lang.Integer[] java.lang.StringBuffer top int int java.lang.Integer[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            invokevirtual java.lang.Integer.intValue:()I
            istore 2 /* s */
        start local 2 // int s
         3: .line 104
            iload 2 /* s */
            ldc 65535
            if_icmpge 13
         4: .line 105
            iload 2 /* s */
            ldc 55296
            if_icmplt 5
            iload 2 /* s */
            ldc 57343
            if_icmple 7
         5: .line 106
      StackMap locals: java.lang.Integer[] java.lang.StringBuffer int int int java.lang.Integer[]
      StackMap stack:
            aload 1 /* sb */
            iload 2 /* s */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 107
            goto 25
         7: .line 108
      StackMap locals:
      StackMap stack:
            iload 2 /* s */
            invokestatic org.apache.fop.util.CharUtilities.charToNCRef:(I)Ljava/lang/String;
            astore 6 /* ncr */
        start local 6 // java.lang.String ncr
         8: .line 109
            new java.lang.IllegalArgumentException
            dup
         9: .line 110
            new java.lang.StringBuilder
            dup
            ldc "illegal scalar value 0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* ncr */
            iconst_2
            aload 6 /* ncr */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 111
            ldc "; cannot be UTF-16 surrogate"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 110
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 109
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String ncr
        13: .line 113
      StackMap locals:
      StackMap stack:
            iload 2 /* s */
            ldc 1114112
            if_icmpge 19
        14: .line 114
            iload 2 /* s */
            ldc 65536
            isub
            bipush 10
            ishr
            sipush 1023
            iand
            ldc 55296
            iadd
            istore 6 /* s1 */
        start local 6 // int s1
        15: .line 115
            iload 2 /* s */
            ldc 65536
            isub
            iconst_0
            ishr
            sipush 1023
            iand
            ldc 56320
            iadd
            istore 7 /* s2 */
        start local 7 // int s2
        16: .line 116
            aload 1 /* sb */
            iload 6 /* s1 */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        17: .line 117
            aload 1 /* sb */
            iload 7 /* s2 */
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 7 // int s2
        end local 6 // int s1
        18: .line 118
            goto 25
        19: .line 119
      StackMap locals:
      StackMap stack:
            iload 2 /* s */
            invokestatic org.apache.fop.util.CharUtilities.charToNCRef:(I)Ljava/lang/String;
            astore 6 /* ncr */
        start local 6 // java.lang.String ncr
        20: .line 120
            new java.lang.IllegalArgumentException
            dup
        21: .line 121
            new java.lang.StringBuilder
            dup
            ldc "illegal scalar value 0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* ncr */
            iconst_2
            aload 6 /* ncr */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 122
            ldc "; out of range for UTF-16"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 121
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 120
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String ncr
        end local 2 // int s
        25: .line 103
      StackMap locals: java.lang.Integer[] java.lang.StringBuffer top int int java.lang.Integer[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        26: iload 3
            iload 4
            if_icmplt 2
        27: .line 125
            aload 1 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer sb
        end local 0 // java.lang.Integer[] sa
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   28     0    sa  [Ljava/lang/Integer;
            1   28     1    sb  Ljava/lang/StringBuffer;
            3   25     2     s  I
            8   13     6   ncr  Ljava/lang/String;
           15   18     6    s1  I
           16   18     7    s2  I
           20   25     6   ncr  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      sa    
}
SourceFile: "UTF32.java"