public class jdk.internal.icu.impl.UnicodeSetStringSpan
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.internal.icu.impl.UnicodeSetStringSpan
  super_class: java.lang.Object
{
  public static final int WITH_COUNT;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

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

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

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

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

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

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

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

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

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

  static final short ALL_CP_CONTAINED;
    descriptor: S
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 255

  static final short LONG_SPAN;
    descriptor: S
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 254

  private jdk.internal.icu.text.UnicodeSet spanSet;
    descriptor: Ljdk/internal/icu/text/UnicodeSet;
    flags: (0x0002) ACC_PRIVATE

  private jdk.internal.icu.text.UnicodeSet spanNotSet;
    descriptor: Ljdk/internal/icu/text/UnicodeSet;
    flags: (0x0002) ACC_PRIVATE

  private java.util.ArrayList<java.lang.String> strings;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Ljava/lang/String;>;

  private short[] spanLengths;
    descriptor: [S
    flags: (0x0002) ACC_PRIVATE

  private int maxLength16;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean someRelevant;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean all;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList offsets;
    descriptor: Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(jdk.internal.icu.text.UnicodeSet, java.util.ArrayList<java.lang.String>, );
    descriptor: (Ljdk/internal/icu/text/UnicodeSet;Ljava/util/ArrayList;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=4
        start local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
        start local 1 // jdk.internal.icu.text.UnicodeSet set
        start local 2 // java.util.ArrayList setStrings
        start local 3 // int which
         0: .line 109
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 110
            aload 0 /* this */
            new jdk.internal.icu.text.UnicodeSet
            dup
            iconst_0
            ldc 1114111
            invokespecial jdk.internal.icu.text.UnicodeSet.<init>:(II)V
            putfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
         2: .line 116
            aload 0 /* this */
            aload 2 /* setStrings */
            putfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
         3: .line 117
            aload 0 /* this */
            iload 3 /* which */
            bipush 127
            if_icmpne 4
            iconst_1
            goto 5
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan jdk.internal.icu.text.UnicodeSet java.util.ArrayList int
      StackMap stack: jdk.internal.icu.impl.UnicodeSetStringSpan
         4: iconst_0
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan jdk.internal.icu.text.UnicodeSet java.util.ArrayList int
      StackMap stack: jdk.internal.icu.impl.UnicodeSetStringSpan int
         5: putfield jdk.internal.icu.impl.UnicodeSetStringSpan.all:Z
         6: .line 118
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 1 /* set */
            invokevirtual jdk.internal.icu.text.UnicodeSet.retainAll:(Ljdk/internal/icu/text/UnicodeSet;)Ljdk/internal/icu/text/UnicodeSet;
            pop
         7: .line 119
            iload 3 /* which */
            iconst_1
            iand
            ifeq 9
         8: .line 122
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            putfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanNotSet:Ljdk/internal/icu/text/UnicodeSet;
         9: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList
            dup
            invokespecial jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.<init>:()V
            putfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
        10: .line 133
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* stringsLength */
        start local 4 // int stringsLength
        11: .line 136
            aload 0 /* this */
            iconst_0
            putfield jdk.internal.icu.impl.UnicodeSetStringSpan.someRelevant:Z
        12: .line 137
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        13: goto 22
        14: .line 138
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* string */
        start local 7 // java.lang.String string
        15: .line 139
            aload 7 /* string */
            invokevirtual java.lang.String.length:()I
            istore 8 /* length16 */
        start local 8 // int length16
        16: .line 140
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 7 /* string */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            invokevirtual jdk.internal.icu.text.UnicodeSet.span:(Ljava/lang/CharSequence;Ljdk/internal/icu/text/UnicodeSet$SpanCondition;)I
            istore 6 /* spanLength */
        start local 6 // int spanLength
        17: .line 141
            iload 6 /* spanLength */
            iload 8 /* length16 */
            if_icmpge 19
        18: .line 142
            aload 0 /* this */
            iconst_1
            putfield jdk.internal.icu.impl.UnicodeSetStringSpan.someRelevant:Z
        19: .line 144
      StackMap locals: int java.lang.String int
      StackMap stack:
            iload 8 /* length16 */
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.maxLength16:I
            if_icmple 21
        20: .line 145
            aload 0 /* this */
            iload 8 /* length16 */
            putfield jdk.internal.icu.impl.UnicodeSetStringSpan.maxLength16:I
        end local 8 // int length16
        end local 7 // java.lang.String string
        21: .line 137
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
        end local 6 // int spanLength
      StackMap locals:
      StackMap stack:
        22: iload 5 /* i */
            iload 4 /* stringsLength */
            if_icmplt 14
        23: .line 148
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.someRelevant:Z
            ifne 25
            iload 3 /* which */
            bipush 64
            iand
            ifne 25
        24: .line 149
            return
        25: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.all:Z
            ifeq 27
        26: .line 155
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            invokevirtual jdk.internal.icu.text.UnicodeSet.freeze:()Ljdk/internal/icu/text/UnicodeSet;
            pop
        27: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.all:Z
            ifeq 30
        28: .line 164
            iload 4 /* stringsLength */
            iconst_2
            imul
            istore 8 /* allocSize */
        start local 8 // int allocSize
        29: .line 165
            goto 31
        end local 8 // int allocSize
        30: .line 166
      StackMap locals:
      StackMap stack:
            iload 4 /* stringsLength */
            istore 8 /* allocSize */
        start local 8 // int allocSize
        31: .line 168
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan jdk.internal.icu.text.UnicodeSet java.util.ArrayList int int int top top int
      StackMap stack:
            aload 0 /* this */
            iload 8 /* allocSize */
            newarray 9
            putfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanLengths:[S
        32: .line 170
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.all:Z
            ifeq 35
        33: .line 172
            iload 4 /* stringsLength */
            istore 7 /* spanBackLengthsOffset */
        start local 7 // int spanBackLengthsOffset
        34: .line 173
            goto 36
        end local 7 // int spanBackLengthsOffset
        35: .line 175
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* spanBackLengthsOffset */
        start local 7 // int spanBackLengthsOffset
        36: .line 180
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan jdk.internal.icu.text.UnicodeSet java.util.ArrayList int int int top int int
      StackMap stack:
            iconst_0
            istore 5 /* i */
            goto 64
        37: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* string */
        start local 9 // java.lang.String string
        38: .line 182
            aload 9 /* string */
            invokevirtual java.lang.String.length:()I
            istore 10 /* length16 */
        start local 10 // int length16
        39: .line 183
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 9 /* string */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            invokevirtual jdk.internal.icu.text.UnicodeSet.span:(Ljava/lang/CharSequence;Ljdk/internal/icu/text/UnicodeSet$SpanCondition;)I
            istore 6 /* spanLength */
        start local 6 // int spanLength
        40: .line 184
            iload 6 /* spanLength */
            iload 10 /* length16 */
            if_icmpge 59
        41: .line 186
            iload 3 /* which */
            iconst_2
            iand
            ifeq 50
        42: .line 187
            iload 3 /* which */
            bipush 32
            iand
            ifeq 44
        43: .line 188
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanLengths:[S
            iload 5 /* i */
            iload 6 /* spanLength */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.makeSpanLengthByte:(I)S
            sastore
        44: .line 190
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan jdk.internal.icu.text.UnicodeSet java.util.ArrayList int int int int int int java.lang.String int
      StackMap stack:
            iload 3 /* which */
            bipush 16
            iand
            ifeq 51
        45: .line 191
            iload 10 /* length16 */
        46: .line 192
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 9 /* string */
            iload 10 /* length16 */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            invokevirtual jdk.internal.icu.text.UnicodeSet.spanBack:(Ljava/lang/CharSequence;ILjdk/internal/icu/text/UnicodeSet$SpanCondition;)I
        47: .line 191
            isub
            istore 6 /* spanLength */
        48: .line 193
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanLengths:[S
            iload 7 /* spanBackLengthsOffset */
            iload 5 /* i */
            iadd
            iload 6 /* spanLength */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.makeSpanLengthByte:(I)S
            sastore
        49: .line 195
            goto 51
        50: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanLengths:[S
            iload 5 /* i */
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanLengths:[S
            iload 7 /* spanBackLengthsOffset */
            iload 5 /* i */
            iadd
            iconst_0
            dup_x2
            sastore
            sastore
        51: .line 200
      StackMap locals:
      StackMap stack:
            iload 3 /* which */
            iconst_1
            iand
            ifeq 63
        52: .line 204
            iload 3 /* which */
            bipush 32
            iand
            ifeq 55
        53: .line 205
            aload 9 /* string */
            iconst_0
            invokevirtual java.lang.String.codePointAt:(I)I
            istore 11 /* c */
        start local 11 // int c
        54: .line 206
            aload 0 /* this */
            iload 11 /* c */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan.addToSpanNotSet:(I)V
        end local 11 // int c
        55: .line 208
      StackMap locals:
      StackMap stack:
            iload 3 /* which */
            bipush 16
            iand
            ifeq 63
        56: .line 209
            aload 9 /* string */
            iload 10 /* length16 */
            invokevirtual java.lang.String.codePointBefore:(I)I
            istore 11 /* c */
        start local 11 // int c
        57: .line 210
            aload 0 /* this */
            iload 11 /* c */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan.addToSpanNotSet:(I)V
        end local 11 // int c
        58: .line 213
            goto 63
        59: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.all:Z
            ifeq 62
        60: .line 215
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanLengths:[S
            iload 5 /* i */
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanLengths:[S
            iload 7 /* spanBackLengthsOffset */
            iload 5 /* i */
            iadd
            sipush 255
            dup_x2
            sastore
            sastore
        61: .line 216
            goto 63
        62: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanLengths:[S
            iload 5 /* i */
            sipush 255
            sastore
        end local 10 // int length16
        end local 9 // java.lang.String string
        63: .line 180
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
        end local 6 // int spanLength
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan jdk.internal.icu.text.UnicodeSet java.util.ArrayList int int int top int int
      StackMap stack:
        64: iload 5 /* i */
            iload 4 /* stringsLength */
            if_icmplt 37
        65: .line 224
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.all:Z
            ifeq 67
        66: .line 225
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanNotSet:Ljdk/internal/icu/text/UnicodeSet;
            invokevirtual jdk.internal.icu.text.UnicodeSet.freeze:()Ljdk/internal/icu/text/UnicodeSet;
            pop
        67: .line 227
      StackMap locals:
      StackMap stack:
            return
        end local 8 // int allocSize
        end local 7 // int spanBackLengthsOffset
        end local 5 // int i
        end local 4 // int stringsLength
        end local 3 // int which
        end local 2 // java.util.ArrayList setStrings
        end local 1 // jdk.internal.icu.text.UnicodeSet set
        end local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   68     0                   this  Ljdk/internal/icu/impl/UnicodeSetStringSpan;
            0   68     1                    set  Ljdk/internal/icu/text/UnicodeSet;
            0   68     2             setStrings  Ljava/util/ArrayList<Ljava/lang/String;>;
            0   68     3                  which  I
           11   68     4          stringsLength  I
           13   68     5                      i  I
           17   22     6             spanLength  I
           40   64     6             spanLength  I
           15   21     7                 string  Ljava/lang/String;
           16   21     8               length16  I
           34   35     7  spanBackLengthsOffset  I
           36   68     7  spanBackLengthsOffset  I
           29   30     8              allocSize  I
           31   68     8              allocSize  I
           38   63     9                 string  Ljava/lang/String;
           39   63    10               length16  I
           54   55    11                      c  I
           57   58    11                      c  I
    Signature: (Ljdk/internal/icu/text/UnicodeSet;Ljava/util/ArrayList<Ljava/lang/String;>;I)V
    MethodParameters:
            Name  Flags
      set         final
      setStrings  final
      which       

  public boolean needsStringSpanUTF16();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
         0: .line 236
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.someRelevant:Z
            ireturn
        end local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/icu/impl/UnicodeSetStringSpan;

  public boolean contains(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
        start local 1 // int c
         0: .line 241
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            iload 1 /* c */
            invokevirtual jdk.internal.icu.text.UnicodeSet.contains:(I)Z
            ireturn
        end local 1 // int c
        end local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/icu/impl/UnicodeSetStringSpan;
            0    1     1     c  I
    MethodParameters:
      Name  Flags
      c     

  private void addToSpanNotSet(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
        start local 1 // int c
         0: .line 249
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanNotSet:Ljdk/internal/icu/text/UnicodeSet;
            ifnull 1
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanNotSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            if_acmpne 4
         1: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            iload 1 /* c */
            invokevirtual jdk.internal.icu.text.UnicodeSet.contains:(I)Z
            ifeq 3
         2: .line 251
            return
         3: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            invokevirtual jdk.internal.icu.text.UnicodeSet.cloneAsThawed:()Ljdk/internal/icu/text/UnicodeSet;
            putfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanNotSet:Ljdk/internal/icu/text/UnicodeSet;
         4: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanNotSet:Ljdk/internal/icu/text/UnicodeSet;
            iload 1 /* c */
            invokevirtual jdk.internal.icu.text.UnicodeSet.add:(I)Ljdk/internal/icu/text/UnicodeSet;
            pop
         5: .line 256
            return
        end local 1 // int c
        end local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/internal/icu/impl/UnicodeSetStringSpan;
            0    6     1     c  I
    MethodParameters:
      Name  Flags
      c     

  public int span(java.lang.CharSequence, int, jdk.internal.icu.text.UnicodeSet$SpanCondition);
    descriptor: (Ljava/lang/CharSequence;ILjdk/internal/icu/text/UnicodeSet$SpanCondition;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
        start local 1 // java.lang.CharSequence s
        start local 2 // int start
        start local 3 // jdk.internal.icu.text.UnicodeSet$SpanCondition spanCondition
         0: .line 370
            aload 3 /* spanCondition */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.NOT_CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            if_acmpne 2
         1: .line 371
            aload 0 /* this */
            aload 1 /* s */
            iload 2 /* start */
            aconst_null
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan.spanNot:(Ljava/lang/CharSequence;ILjdk/internal/icu/util/OutputInt;)I
            ireturn
         2: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 1 /* s */
            iload 2 /* start */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            invokevirtual jdk.internal.icu.text.UnicodeSet.span:(Ljava/lang/CharSequence;ILjdk/internal/icu/text/UnicodeSet$SpanCondition;)I
            istore 4 /* spanLimit */
        start local 4 // int spanLimit
         3: .line 374
            iload 4 /* spanLimit */
            aload 1 /* s */
            invokeinterface java.lang.CharSequence.length:()I
            if_icmpne 5
         4: .line 375
            iload 4 /* spanLimit */
            ireturn
         5: .line 377
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* s */
            iload 2 /* start */
            iload 4 /* spanLimit */
            aload 3 /* spanCondition */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan.spanWithStrings:(Ljava/lang/CharSequence;IILjdk/internal/icu/text/UnicodeSet$SpanCondition;)I
            ireturn
        end local 4 // int spanLimit
        end local 3 // jdk.internal.icu.text.UnicodeSet$SpanCondition spanCondition
        end local 2 // int start
        end local 1 // java.lang.CharSequence s
        end local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Ljdk/internal/icu/impl/UnicodeSetStringSpan;
            0    6     1              s  Ljava/lang/CharSequence;
            0    6     2          start  I
            0    6     3  spanCondition  Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            3    6     4      spanLimit  I
    MethodParameters:
               Name  Flags
      s              
      start          
      spanCondition  

  private synchronized int spanWithStrings(java.lang.CharSequence, int, int, jdk.internal.icu.text.UnicodeSet$SpanCondition);
    descriptor: (Ljava/lang/CharSequence;IILjdk/internal/icu/text/UnicodeSet$SpanCondition;)I
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=18, args_size=5
        start local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
        start local 1 // java.lang.CharSequence s
        start local 2 // int start
        start local 3 // int spanLimit
        start local 4 // jdk.internal.icu.text.UnicodeSet$SpanCondition spanCondition
         0: .line 389
            iconst_0
            istore 5 /* initSize */
        start local 5 // int initSize
         1: .line 390
            aload 4 /* spanCondition */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            if_acmpne 3
         2: .line 392
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.maxLength16:I
            istore 5 /* initSize */
         3: .line 394
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            iload 5 /* initSize */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.setMaxLength:(I)V
         4: .line 395
            aload 1 /* s */
            invokeinterface java.lang.CharSequence.length:()I
            istore 6 /* length */
        start local 6 // int length
         5: .line 396
            iload 3 /* spanLimit */
            istore 7 /* pos */
        start local 7 // int pos
         6: iload 6 /* length */
            iload 3 /* spanLimit */
            isub
            istore 8 /* rest */
        start local 8 // int rest
         7: .line 397
            iload 3 /* spanLimit */
            iload 2 /* start */
            isub
            istore 9 /* spanLength */
        start local 9 // int spanLength
         8: .line 398
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 11 /* stringsLength */
        start local 11 // int stringsLength
         9: .line 400
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int int jdk.internal.icu.text.UnicodeSet$SpanCondition int int int int int top int
      StackMap stack:
            aload 4 /* spanCondition */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            if_acmpne 37
        10: .line 401
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        11: goto 35
        12: .line 402
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int int jdk.internal.icu.text.UnicodeSet$SpanCondition int int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanLengths:[S
            iload 10 /* i */
            saload
            istore 12 /* overlap */
        start local 12 // int overlap
        13: .line 403
            iload 12 /* overlap */
            sipush 255
            if_icmpne 15
        14: .line 404
            goto 34
        15: .line 406
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            iload 10 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 13 /* string */
        start local 13 // java.lang.String string
        16: .line 408
            aload 13 /* string */
            invokevirtual java.lang.String.length:()I
            istore 14 /* length16 */
        start local 14 // int length16
        17: .line 411
            iload 12 /* overlap */
            sipush 254
            if_icmplt 20
        18: .line 412
            iload 14 /* length16 */
            istore 12 /* overlap */
        19: .line 414
            aload 13 /* string */
            iload 12 /* overlap */
            iconst_m1
            invokevirtual java.lang.String.offsetByCodePoints:(II)I
            istore 12 /* overlap */
        20: .line 417
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 12 /* overlap */
            iload 9 /* spanLength */
            if_icmple 22
        21: .line 418
            iload 9 /* spanLength */
            istore 12 /* overlap */
        22: .line 420
      StackMap locals:
      StackMap stack:
            iload 14 /* length16 */
            iload 12 /* overlap */
            isub
            istore 15 /* inc */
        start local 15 // int inc
        23: .line 422
      StackMap locals: int
      StackMap stack:
            iload 15 /* inc */
            iload 8 /* rest */
            if_icmple 25
        24: .line 423
            goto 34
        25: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            iload 15 /* inc */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.containsOffset:(I)Z
            ifne 29
            aload 1 /* s */
            iload 7 /* pos */
            iload 12 /* overlap */
            isub
            iload 6 /* length */
            aload 13 /* string */
            iload 14 /* length16 */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.matches16CPB:(Ljava/lang/CharSequence;IILjava/lang/String;I)Z
            ifeq 29
        26: .line 427
            iload 15 /* inc */
            iload 8 /* rest */
            if_icmpne 28
        27: .line 428
            iload 6 /* length */
            ireturn
        28: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            iload 15 /* inc */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.addOffset:(I)V
        29: .line 432
      StackMap locals:
      StackMap stack:
            iload 12 /* overlap */
            ifne 31
        30: .line 433
            goto 34
        31: .line 435
      StackMap locals:
      StackMap stack:
            iinc 12 /* overlap */ -1
        32: .line 436
            iinc 15 /* inc */ 1
        33: .line 421
            goto 23
        end local 15 // int inc
        end local 14 // int length16
        end local 13 // java.lang.String string
        end local 12 // int overlap
        34: .line 401
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int int jdk.internal.icu.text.UnicodeSet$SpanCondition int int int int int int int
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 10 /* i */
            iload 11 /* stringsLength */
            if_icmplt 12
        36: .line 439
            goto 68
        end local 10 // int i
        37: .line 440
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int int jdk.internal.icu.text.UnicodeSet$SpanCondition int int int int int top int
      StackMap stack:
            iconst_0
            istore 12 /* maxInc */
        start local 12 // int maxInc
        38: iconst_0
            istore 13 /* maxOverlap */
        start local 13 // int maxOverlap
        39: .line 441
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        40: goto 60
        41: .line 442
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int int jdk.internal.icu.text.UnicodeSet$SpanCondition int int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanLengths:[S
            iload 10 /* i */
            saload
            istore 14 /* overlap */
        start local 14 // int overlap
        42: .line 446
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            iload 10 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 15 /* string */
        start local 15 // java.lang.String string
        43: .line 448
            aload 15 /* string */
            invokevirtual java.lang.String.length:()I
            istore 16 /* length16 */
        start local 16 // int length16
        44: .line 451
            iload 14 /* overlap */
            sipush 254
            if_icmplt 46
        45: .line 452
            iload 16 /* length16 */
            istore 14 /* overlap */
        46: .line 456
      StackMap locals: int java.lang.String int
      StackMap stack:
            iload 14 /* overlap */
            iload 9 /* spanLength */
            if_icmple 48
        47: .line 457
            iload 9 /* spanLength */
            istore 14 /* overlap */
        48: .line 459
      StackMap locals:
      StackMap stack:
            iload 16 /* length16 */
            iload 14 /* overlap */
            isub
            istore 17 /* inc */
        start local 17 // int inc
        49: .line 461
      StackMap locals: int
      StackMap stack:
            iload 17 /* inc */
            iload 8 /* rest */
            if_icmpgt 59
            iload 14 /* overlap */
            iload 13 /* maxOverlap */
            if_icmpge 51
        50: .line 462
            goto 59
        51: .line 465
      StackMap locals:
      StackMap stack:
            iload 14 /* overlap */
            iload 13 /* maxOverlap */
            if_icmpgt 52
            iload 17 /* inc */
            iload 12 /* maxInc */
            if_icmple 56
        52: .line 466
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            iload 7 /* pos */
            iload 14 /* overlap */
            isub
            iload 6 /* length */
            aload 15 /* string */
            iload 16 /* length16 */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.matches16CPB:(Ljava/lang/CharSequence;IILjava/lang/String;I)Z
            ifeq 56
        53: .line 467
            iload 17 /* inc */
            istore 12 /* maxInc */
        54: .line 468
            iload 14 /* overlap */
            istore 13 /* maxOverlap */
        55: .line 469
            goto 59
        56: .line 471
      StackMap locals:
      StackMap stack:
            iinc 14 /* overlap */ -1
        57: .line 472
            iinc 17 /* inc */ 1
        58: .line 460
            goto 49
        end local 17 // int inc
        end local 16 // int length16
        end local 15 // java.lang.String string
        end local 14 // int overlap
        59: .line 441
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int int jdk.internal.icu.text.UnicodeSet$SpanCondition int int int int int int int int int
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 10 /* i */
            iload 11 /* stringsLength */
            if_icmplt 41
        61: .line 476
            iload 12 /* maxInc */
            ifne 62
            iload 13 /* maxOverlap */
            ifeq 68
        62: .line 479
      StackMap locals:
      StackMap stack:
            iload 7 /* pos */
            iload 12 /* maxInc */
            iadd
            istore 7 /* pos */
        63: .line 480
            iload 8 /* rest */
            iload 12 /* maxInc */
            isub
            istore 8 /* rest */
        64: .line 481
            iload 8 /* rest */
            ifne 66
        65: .line 482
            iload 6 /* length */
            ireturn
        66: .line 484
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* spanLength */
        67: .line 485
            goto 9
        end local 13 // int maxOverlap
        end local 12 // int maxInc
        68: .line 490
      StackMap locals:
      StackMap stack:
            iload 9 /* spanLength */
            ifne 69
            iload 7 /* pos */
            ifne 71
        69: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.isEmpty:()Z
            ifeq 89
        70: .line 497
            iload 7 /* pos */
            ireturn
        71: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.isEmpty:()Z
            ifeq 80
        72: .line 505
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 1 /* s */
            iload 7 /* pos */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            invokevirtual jdk.internal.icu.text.UnicodeSet.span:(Ljava/lang/CharSequence;ILjdk/internal/icu/text/UnicodeSet$SpanCondition;)I
            istore 3 /* spanLimit */
        73: .line 506
            iload 3 /* spanLimit */
            iload 7 /* pos */
            isub
            istore 9 /* spanLength */
        74: .line 507
            iload 9 /* spanLength */
            iload 8 /* rest */
            if_icmpeq 76
        75: .line 508
            iload 9 /* spanLength */
            ifne 77
        76: .line 510
      StackMap locals:
      StackMap stack:
            iload 3 /* spanLimit */
            ireturn
        77: .line 512
      StackMap locals:
      StackMap stack:
            iload 7 /* pos */
            iload 9 /* spanLength */
            iadd
            istore 7 /* pos */
        78: .line 513
            iload 8 /* rest */
            iload 9 /* spanLength */
            isub
            istore 8 /* rest */
        79: .line 514
            goto 9
        80: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 1 /* s */
            iload 7 /* pos */
            iload 8 /* rest */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.spanOne:(Ljdk/internal/icu/text/UnicodeSet;Ljava/lang/CharSequence;II)I
            istore 9 /* spanLength */
        81: .line 520
            iload 9 /* spanLength */
            ifle 89
        82: .line 521
            iload 9 /* spanLength */
            iload 8 /* rest */
            if_icmpne 84
        83: .line 522
            iload 6 /* length */
            ireturn
        84: .line 527
      StackMap locals:
      StackMap stack:
            iload 7 /* pos */
            iload 9 /* spanLength */
            iadd
            istore 7 /* pos */
        85: .line 528
            iload 8 /* rest */
            iload 9 /* spanLength */
            isub
            istore 8 /* rest */
        86: .line 529
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            iload 9 /* spanLength */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.shift:(I)V
        87: .line 530
            iconst_0
            istore 9 /* spanLength */
        88: .line 531
            goto 9
        89: .line 536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            aconst_null
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.popMinimum:(Ljdk/internal/icu/util/OutputInt;)I
            istore 12 /* minOffset */
        start local 12 // int minOffset
        90: .line 537
            iload 7 /* pos */
            iload 12 /* minOffset */
            iadd
            istore 7 /* pos */
        91: .line 538
            iload 8 /* rest */
            iload 12 /* minOffset */
            isub
            istore 8 /* rest */
        92: .line 539
            iconst_0
            istore 9 /* spanLength */
        end local 12 // int minOffset
        end local 10 // int i
        93: .line 399
            goto 9
        end local 11 // int stringsLength
        end local 9 // int spanLength
        end local 8 // int rest
        end local 7 // int pos
        end local 6 // int length
        end local 5 // int initSize
        end local 4 // jdk.internal.icu.text.UnicodeSet$SpanCondition spanCondition
        end local 3 // int spanLimit
        end local 2 // int start
        end local 1 // java.lang.CharSequence s
        end local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   94     0           this  Ljdk/internal/icu/impl/UnicodeSetStringSpan;
            0   94     1              s  Ljava/lang/CharSequence;
            0   94     2          start  I
            0   94     3      spanLimit  I
            0   94     4  spanCondition  Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            1   94     5       initSize  I
            5   94     6         length  I
            6   94     7            pos  I
            7   94     8           rest  I
            8   94     9     spanLength  I
           11   37    10              i  I
           40   93    10              i  I
            9   94    11  stringsLength  I
           13   34    12        overlap  I
           16   34    13         string  Ljava/lang/String;
           17   34    14       length16  I
           23   34    15            inc  I
           38   68    12         maxInc  I
           39   68    13     maxOverlap  I
           42   59    14        overlap  I
           43   59    15         string  Ljava/lang/String;
           44   59    16       length16  I
           49   59    17            inc  I
           90   93    12      minOffset  I
    MethodParameters:
               Name  Flags
      s              
      start          
      spanLimit      
      spanCondition  

  public int spanAndCount(java.lang.CharSequence, int, jdk.internal.icu.text.UnicodeSet$SpanCondition, jdk.internal.icu.util.OutputInt);
    descriptor: (Ljava/lang/CharSequence;ILjdk/internal/icu/text/UnicodeSet$SpanCondition;Ljdk/internal/icu/util/OutputInt;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=15, args_size=5
        start local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
        start local 1 // java.lang.CharSequence s
        start local 2 // int start
        start local 3 // jdk.internal.icu.text.UnicodeSet$SpanCondition spanCondition
        start local 4 // jdk.internal.icu.util.OutputInt outCount
         0: .line 559
            aload 3 /* spanCondition */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.NOT_CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            if_acmpne 2
         1: .line 560
            aload 0 /* this */
            aload 1 /* s */
            iload 2 /* start */
            aload 4 /* outCount */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan.spanNot:(Ljava/lang/CharSequence;ILjdk/internal/icu/util/OutputInt;)I
            ireturn
         2: .line 564
      StackMap locals:
      StackMap stack:
            aload 3 /* spanCondition */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            if_acmpne 4
         3: .line 565
            aload 0 /* this */
            aload 1 /* s */
            iload 2 /* start */
            aload 4 /* outCount */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan.spanContainedAndCount:(Ljava/lang/CharSequence;ILjdk/internal/icu/util/OutputInt;)I
            ireturn
         4: .line 568
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* stringsLength */
        start local 5 // int stringsLength
         5: .line 569
            aload 1 /* s */
            invokeinterface java.lang.CharSequence.length:()I
            istore 6 /* length */
        start local 6 // int length
         6: .line 570
            iload 2 /* start */
            istore 7 /* pos */
        start local 7 // int pos
         7: .line 571
            iload 6 /* length */
            iload 2 /* start */
            isub
            istore 8 /* rest */
        start local 8 // int rest
         8: .line 572
            iconst_0
            istore 9 /* count */
        start local 9 // int count
         9: .line 573
            goto 29
        10: .line 575
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition jdk.internal.icu.util.OutputInt int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 1 /* s */
            iload 7 /* pos */
            iload 8 /* rest */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.spanOne:(Ljdk/internal/icu/text/UnicodeSet;Ljava/lang/CharSequence;II)I
            istore 10 /* cpLength */
        start local 10 // int cpLength
        11: .line 576
            iload 10 /* cpLength */
            ifle 12
            iload 10 /* cpLength */
            goto 13
      StackMap locals: int
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 11 /* maxInc */
        start local 11 // int maxInc
        14: .line 578
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        15: goto 22
        16: .line 579
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            iload 12 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 13 /* string */
        start local 13 // java.lang.String string
        17: .line 580
            aload 13 /* string */
            invokevirtual java.lang.String.length:()I
            istore 14 /* length16 */
        start local 14 // int length16
        18: .line 581
            iload 11 /* maxInc */
            iload 14 /* length16 */
            if_icmpge 21
            iload 14 /* length16 */
            iload 8 /* rest */
            if_icmpgt 21
        19: .line 582
            aload 1 /* s */
            iload 7 /* pos */
            iload 6 /* length */
            aload 13 /* string */
            iload 14 /* length16 */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.matches16CPB:(Ljava/lang/CharSequence;IILjava/lang/String;I)Z
            ifeq 21
        20: .line 583
            iload 14 /* length16 */
            istore 11 /* maxInc */
        end local 14 // int length16
        end local 13 // java.lang.String string
        21: .line 578
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 12 /* i */
            iload 5 /* stringsLength */
            if_icmplt 16
        end local 12 // int i
        23: .line 587
            iload 11 /* maxInc */
            ifne 26
        24: .line 588
            aload 4 /* outCount */
            iload 9 /* count */
            putfield jdk.internal.icu.util.OutputInt.value:I
        25: .line 589
            iload 7 /* pos */
            ireturn
        26: .line 592
      StackMap locals:
      StackMap stack:
            iinc 9 /* count */ 1
        27: .line 593
            iload 7 /* pos */
            iload 11 /* maxInc */
            iadd
            istore 7 /* pos */
        28: .line 594
            iload 8 /* rest */
            iload 11 /* maxInc */
            isub
            istore 8 /* rest */
        end local 11 // int maxInc
        end local 10 // int cpLength
        29: .line 573
      StackMap locals:
      StackMap stack:
            iload 8 /* rest */
            ifne 10
        30: .line 596
            aload 4 /* outCount */
            iload 9 /* count */
            putfield jdk.internal.icu.util.OutputInt.value:I
        31: .line 597
            iload 7 /* pos */
            ireturn
        end local 9 // int count
        end local 8 // int rest
        end local 7 // int pos
        end local 6 // int length
        end local 5 // int stringsLength
        end local 4 // jdk.internal.icu.util.OutputInt outCount
        end local 3 // jdk.internal.icu.text.UnicodeSet$SpanCondition spanCondition
        end local 2 // int start
        end local 1 // java.lang.CharSequence s
        end local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   32     0           this  Ljdk/internal/icu/impl/UnicodeSetStringSpan;
            0   32     1              s  Ljava/lang/CharSequence;
            0   32     2          start  I
            0   32     3  spanCondition  Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            0   32     4       outCount  Ljdk/internal/icu/util/OutputInt;
            5   32     5  stringsLength  I
            6   32     6         length  I
            7   32     7            pos  I
            8   32     8           rest  I
            9   32     9          count  I
           11   29    10       cpLength  I
           14   29    11         maxInc  I
           15   23    12              i  I
           17   21    13         string  Ljava/lang/String;
           18   21    14       length16  I
    MethodParameters:
               Name  Flags
      s              
      start          
      spanCondition  
      outCount       

  private synchronized int spanContainedAndCount(java.lang.CharSequence, int, jdk.internal.icu.util.OutputInt);
    descriptor: (Ljava/lang/CharSequence;ILjdk/internal/icu/util/OutputInt;)I
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=13, args_size=4
        start local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
        start local 1 // java.lang.CharSequence s
        start local 2 // int start
        start local 3 // jdk.internal.icu.util.OutputInt outCount
         0: .line 602
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.maxLength16:I
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.setMaxLength:(I)V
         1: .line 603
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* stringsLength */
        start local 4 // int stringsLength
         2: .line 604
            aload 1 /* s */
            invokeinterface java.lang.CharSequence.length:()I
            istore 5 /* length */
        start local 5 // int length
         3: .line 605
            iload 2 /* start */
            istore 6 /* pos */
        start local 6 // int pos
         4: .line 606
            iload 5 /* length */
            iload 2 /* start */
            isub
            istore 7 /* rest */
        start local 7 // int rest
         5: .line 607
            iconst_0
            istore 8 /* count */
        start local 8 // int count
         6: .line 608
            goto 26
         7: .line 610
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int jdk.internal.icu.util.OutputInt int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 1 /* s */
            iload 6 /* pos */
            iload 7 /* rest */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.spanOne:(Ljdk/internal/icu/text/UnicodeSet;Ljava/lang/CharSequence;II)I
            istore 9 /* cpLength */
        start local 9 // int cpLength
         8: .line 611
            iload 9 /* cpLength */
            ifle 10
         9: .line 612
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            iload 9 /* cpLength */
            iload 8 /* count */
            iconst_1
            iadd
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.addOffsetAndCount:(II)V
        10: .line 615
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        11: goto 18
        12: .line 616
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            iload 10 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* string */
        start local 11 // java.lang.String string
        13: .line 617
            aload 11 /* string */
            invokevirtual java.lang.String.length:()I
            istore 12 /* length16 */
        start local 12 // int length16
        14: .line 620
            iload 12 /* length16 */
            iload 7 /* rest */
            if_icmpgt 17
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            iload 12 /* length16 */
            iload 8 /* count */
            iconst_1
            iadd
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.hasCountAtOffset:(II)Z
            ifne 17
        15: .line 621
            aload 1 /* s */
            iload 6 /* pos */
            iload 5 /* length */
            aload 11 /* string */
            iload 12 /* length16 */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.matches16CPB:(Ljava/lang/CharSequence;IILjava/lang/String;I)Z
            ifeq 17
        16: .line 622
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            iload 12 /* length16 */
            iload 8 /* count */
            iconst_1
            iadd
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.addOffsetAndCount:(II)V
        end local 12 // int length16
        end local 11 // java.lang.String string
        17: .line 615
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 10 /* i */
            iload 4 /* stringsLength */
            if_icmplt 12
        end local 10 // int i
        19: .line 626
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.isEmpty:()Z
            ifeq 22
        20: .line 627
            aload 3 /* outCount */
            iload 8 /* count */
            putfield jdk.internal.icu.util.OutputInt.value:I
        21: .line 628
            iload 6 /* pos */
            ireturn
        22: .line 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            aload 3 /* outCount */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.popMinimum:(Ljdk/internal/icu/util/OutputInt;)I
            istore 10 /* minOffset */
        start local 10 // int minOffset
        23: .line 632
            aload 3 /* outCount */
            getfield jdk.internal.icu.util.OutputInt.value:I
            istore 8 /* count */
        24: .line 633
            iload 6 /* pos */
            iload 10 /* minOffset */
            iadd
            istore 6 /* pos */
        25: .line 634
            iload 7 /* rest */
            iload 10 /* minOffset */
            isub
            istore 7 /* rest */
        end local 10 // int minOffset
        end local 9 // int cpLength
        26: .line 608
      StackMap locals:
      StackMap stack:
            iload 7 /* rest */
            ifne 7
        27: .line 636
            aload 3 /* outCount */
            iload 8 /* count */
            putfield jdk.internal.icu.util.OutputInt.value:I
        28: .line 637
            iload 6 /* pos */
            ireturn
        end local 8 // int count
        end local 7 // int rest
        end local 6 // int pos
        end local 5 // int length
        end local 4 // int stringsLength
        end local 3 // jdk.internal.icu.util.OutputInt outCount
        end local 2 // int start
        end local 1 // java.lang.CharSequence s
        end local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   29     0           this  Ljdk/internal/icu/impl/UnicodeSetStringSpan;
            0   29     1              s  Ljava/lang/CharSequence;
            0   29     2          start  I
            0   29     3       outCount  Ljdk/internal/icu/util/OutputInt;
            2   29     4  stringsLength  I
            3   29     5         length  I
            4   29     6            pos  I
            5   29     7           rest  I
            6   29     8          count  I
            8   26     9       cpLength  I
           11   19    10              i  I
           13   17    11         string  Ljava/lang/String;
           14   17    12       length16  I
           23   26    10      minOffset  I
    MethodParameters:
          Name  Flags
      s         
      start     
      outCount  

  public synchronized int spanBack(java.lang.CharSequence, int, jdk.internal.icu.text.UnicodeSet$SpanCondition);
    descriptor: (Ljava/lang/CharSequence;ILjdk/internal/icu/text/UnicodeSet$SpanCondition;)I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=16, args_size=4
        start local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
        start local 1 // java.lang.CharSequence s
        start local 2 // int length
        start local 3 // jdk.internal.icu.text.UnicodeSet$SpanCondition spanCondition
         0: .line 648
            aload 3 /* spanCondition */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.NOT_CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            if_acmpne 2
         1: .line 649
            aload 0 /* this */
            aload 1 /* s */
            iload 2 /* length */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan.spanNotBack:(Ljava/lang/CharSequence;I)I
            ireturn
         2: .line 651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 1 /* s */
            iload 2 /* length */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            invokevirtual jdk.internal.icu.text.UnicodeSet.spanBack:(Ljava/lang/CharSequence;ILjdk/internal/icu/text/UnicodeSet$SpanCondition;)I
            istore 4 /* pos */
        start local 4 // int pos
         3: .line 652
            iload 4 /* pos */
            ifne 5
         4: .line 653
            iconst_0
            ireturn
         5: .line 655
      StackMap locals: int
      StackMap stack:
            iload 2 /* length */
            iload 4 /* pos */
            isub
            istore 5 /* spanLength */
        start local 5 // int spanLength
         6: .line 658
            iconst_0
            istore 6 /* initSize */
        start local 6 // int initSize
         7: .line 659
            aload 3 /* spanCondition */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            if_acmpne 9
         8: .line 661
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.maxLength16:I
            istore 6 /* initSize */
         9: .line 663
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            iload 6 /* initSize */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.setMaxLength:(I)V
        10: .line 664
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 8 /* stringsLength */
        start local 8 // int stringsLength
        11: .line 665
            iconst_0
            istore 9 /* spanBackLengthsOffset */
        start local 9 // int spanBackLengthsOffset
        12: .line 666
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.all:Z
            ifeq 14
        13: .line 667
            iload 8 /* stringsLength */
            istore 9 /* spanBackLengthsOffset */
        14: .line 670
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition int int int top int int
      StackMap stack:
            aload 3 /* spanCondition */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            if_acmpne 44
        15: .line 671
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        16: goto 42
        17: .line 672
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanLengths:[S
            iload 9 /* spanBackLengthsOffset */
            iload 7 /* i */
            iadd
            saload
            istore 10 /* overlap */
        start local 10 // int overlap
        18: .line 673
            iload 10 /* overlap */
            sipush 255
            if_icmpne 20
        19: .line 674
            goto 41
        20: .line 676
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            iload 7 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* string */
        start local 11 // java.lang.String string
        21: .line 678
            aload 11 /* string */
            invokevirtual java.lang.String.length:()I
            istore 12 /* length16 */
        start local 12 // int length16
        22: .line 681
            iload 10 /* overlap */
            sipush 254
            if_icmplt 27
        23: .line 682
            iload 12 /* length16 */
            istore 10 /* overlap */
        24: .line 684
            iconst_0
            istore 13 /* len1 */
        start local 13 // int len1
        25: .line 685
            aload 11 /* string */
            iconst_0
            iconst_1
            invokevirtual java.lang.String.offsetByCodePoints:(II)I
            istore 13 /* len1 */
        26: .line 686
            iload 10 /* overlap */
            iload 13 /* len1 */
            isub
            istore 10 /* overlap */
        end local 13 // int len1
        27: .line 688
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 10 /* overlap */
            iload 5 /* spanLength */
            if_icmple 29
        28: .line 689
            iload 5 /* spanLength */
            istore 10 /* overlap */
        29: .line 691
      StackMap locals:
      StackMap stack:
            iload 12 /* length16 */
            iload 10 /* overlap */
            isub
            istore 13 /* dec */
        start local 13 // int dec
        30: .line 693
      StackMap locals: int
      StackMap stack:
            iload 13 /* dec */
            iload 4 /* pos */
            if_icmple 32
        31: .line 694
            goto 41
        32: .line 697
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            iload 13 /* dec */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.containsOffset:(I)Z
            ifne 36
            aload 1 /* s */
            iload 4 /* pos */
            iload 13 /* dec */
            isub
            iload 2 /* length */
            aload 11 /* string */
            iload 12 /* length16 */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.matches16CPB:(Ljava/lang/CharSequence;IILjava/lang/String;I)Z
            ifeq 36
        33: .line 698
            iload 13 /* dec */
            iload 4 /* pos */
            if_icmpne 35
        34: .line 699
            iconst_0
            ireturn
        35: .line 701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            iload 13 /* dec */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.addOffset:(I)V
        36: .line 703
      StackMap locals:
      StackMap stack:
            iload 10 /* overlap */
            ifne 38
        37: .line 704
            goto 41
        38: .line 706
      StackMap locals:
      StackMap stack:
            iinc 10 /* overlap */ -1
        39: .line 707
            iinc 13 /* dec */ 1
        40: .line 692
            goto 30
        end local 13 // int dec
        end local 12 // int length16
        end local 11 // java.lang.String string
        end local 10 // int overlap
        41: .line 671
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition int int int int int int
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 7 /* i */
            iload 8 /* stringsLength */
            if_icmplt 17
        43: .line 710
            goto 74
        end local 7 // int i
        44: .line 711
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition int int int top int int
      StackMap stack:
            iconst_0
            istore 10 /* maxDec */
        start local 10 // int maxDec
        45: iconst_0
            istore 11 /* maxOverlap */
        start local 11 // int maxOverlap
        46: .line 712
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        47: goto 67
        48: .line 713
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition int int int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanLengths:[S
            iload 9 /* spanBackLengthsOffset */
            iload 7 /* i */
            iadd
            saload
            istore 12 /* overlap */
        start local 12 // int overlap
        49: .line 717
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            iload 7 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 13 /* string */
        start local 13 // java.lang.String string
        50: .line 719
            aload 13 /* string */
            invokevirtual java.lang.String.length:()I
            istore 14 /* length16 */
        start local 14 // int length16
        51: .line 722
            iload 12 /* overlap */
            sipush 254
            if_icmplt 53
        52: .line 723
            iload 14 /* length16 */
            istore 12 /* overlap */
        53: .line 727
      StackMap locals: int java.lang.String int
      StackMap stack:
            iload 12 /* overlap */
            iload 5 /* spanLength */
            if_icmple 55
        54: .line 728
            iload 5 /* spanLength */
            istore 12 /* overlap */
        55: .line 730
      StackMap locals:
      StackMap stack:
            iload 14 /* length16 */
            iload 12 /* overlap */
            isub
            istore 15 /* dec */
        start local 15 // int dec
        56: .line 732
      StackMap locals: int
      StackMap stack:
            iload 15 /* dec */
            iload 4 /* pos */
            if_icmpgt 66
            iload 12 /* overlap */
            iload 11 /* maxOverlap */
            if_icmpge 58
        57: .line 733
            goto 66
        58: .line 736
      StackMap locals:
      StackMap stack:
            iload 12 /* overlap */
            iload 11 /* maxOverlap */
            if_icmpgt 59
            iload 15 /* dec */
            iload 10 /* maxDec */
            if_icmple 63
        59: .line 737
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            iload 4 /* pos */
            iload 15 /* dec */
            isub
            iload 2 /* length */
            aload 13 /* string */
            iload 14 /* length16 */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.matches16CPB:(Ljava/lang/CharSequence;IILjava/lang/String;I)Z
            ifeq 63
        60: .line 738
            iload 15 /* dec */
            istore 10 /* maxDec */
        61: .line 739
            iload 12 /* overlap */
            istore 11 /* maxOverlap */
        62: .line 740
            goto 66
        63: .line 742
      StackMap locals:
      StackMap stack:
            iinc 12 /* overlap */ -1
        64: .line 743
            iinc 15 /* dec */ 1
        65: .line 731
            goto 56
        end local 15 // int dec
        end local 14 // int length16
        end local 13 // java.lang.String string
        end local 12 // int overlap
        66: .line 712
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int jdk.internal.icu.text.UnicodeSet$SpanCondition int int int int int int int int
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        67: iload 7 /* i */
            iload 8 /* stringsLength */
            if_icmplt 48
        68: .line 747
            iload 10 /* maxDec */
            ifne 69
            iload 11 /* maxOverlap */
            ifeq 74
        69: .line 750
      StackMap locals:
      StackMap stack:
            iload 4 /* pos */
            iload 10 /* maxDec */
            isub
            istore 4 /* pos */
        70: .line 751
            iload 4 /* pos */
            ifne 72
        71: .line 752
            iconst_0
            ireturn
        72: .line 754
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* spanLength */
        73: .line 755
            goto 14
        end local 11 // int maxOverlap
        end local 10 // int maxDec
        74: .line 760
      StackMap locals:
      StackMap stack:
            iload 5 /* spanLength */
            ifne 75
            iload 4 /* pos */
            iload 2 /* length */
            if_icmpne 77
        75: .line 766
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.isEmpty:()Z
            ifeq 92
        76: .line 767
            iload 4 /* pos */
            ireturn
        77: .line 772
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.isEmpty:()Z
            ifeq 84
        78: .line 775
            iload 4 /* pos */
            istore 10 /* oldPos */
        start local 10 // int oldPos
        79: .line 776
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 1 /* s */
            iload 10 /* oldPos */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            invokevirtual jdk.internal.icu.text.UnicodeSet.spanBack:(Ljava/lang/CharSequence;ILjdk/internal/icu/text/UnicodeSet$SpanCondition;)I
            istore 4 /* pos */
        80: .line 777
            iload 10 /* oldPos */
            iload 4 /* pos */
            isub
            istore 5 /* spanLength */
        81: .line 778
            iload 4 /* pos */
            ifeq 83
        82: .line 779
            iload 5 /* spanLength */
            ifne 14
        83: .line 781
      StackMap locals: int
      StackMap stack:
            iload 4 /* pos */
            ireturn
        end local 10 // int oldPos
        84: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 1 /* s */
            iload 4 /* pos */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.spanOneBack:(Ljdk/internal/icu/text/UnicodeSet;Ljava/lang/CharSequence;I)I
            istore 5 /* spanLength */
        85: .line 789
            iload 5 /* spanLength */
            ifle 92
        86: .line 790
            iload 5 /* spanLength */
            iload 4 /* pos */
            if_icmpne 88
        87: .line 791
            iconst_0
            ireturn
        88: .line 796
      StackMap locals:
      StackMap stack:
            iload 4 /* pos */
            iload 5 /* spanLength */
            isub
            istore 4 /* pos */
        89: .line 797
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            iload 5 /* spanLength */
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.shift:(I)V
        90: .line 798
            iconst_0
            istore 5 /* spanLength */
        91: .line 799
            goto 14
        92: .line 804
      StackMap locals:
      StackMap stack:
            iload 4 /* pos */
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.offsets:Ljdk/internal/icu/impl/UnicodeSetStringSpan$OffsetList;
            aconst_null
            invokevirtual jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList.popMinimum:(Ljdk/internal/icu/util/OutputInt;)I
            isub
            istore 4 /* pos */
        93: .line 805
            iconst_0
            istore 5 /* spanLength */
        end local 7 // int i
        94: .line 669
            goto 14
        end local 9 // int spanBackLengthsOffset
        end local 8 // int stringsLength
        end local 6 // int initSize
        end local 5 // int spanLength
        end local 4 // int pos
        end local 3 // jdk.internal.icu.text.UnicodeSet$SpanCondition spanCondition
        end local 2 // int length
        end local 1 // java.lang.CharSequence s
        end local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   95     0                   this  Ljdk/internal/icu/impl/UnicodeSetStringSpan;
            0   95     1                      s  Ljava/lang/CharSequence;
            0   95     2                 length  I
            0   95     3          spanCondition  Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            3   95     4                    pos  I
            6   95     5             spanLength  I
            7   95     6               initSize  I
           16   44     7                      i  I
           47   94     7                      i  I
           11   95     8          stringsLength  I
           12   95     9  spanBackLengthsOffset  I
           18   41    10                overlap  I
           21   41    11                 string  Ljava/lang/String;
           22   41    12               length16  I
           25   27    13                   len1  I
           30   41    13                    dec  I
           45   74    10                 maxDec  I
           46   74    11             maxOverlap  I
           49   66    12                overlap  I
           50   66    13                 string  Ljava/lang/String;
           51   66    14               length16  I
           56   66    15                    dec  I
           79   84    10                 oldPos  I
    MethodParameters:
               Name  Flags
      s              
      length         
      spanCondition  

  private int spanNot(java.lang.CharSequence, int, jdk.internal.icu.util.OutputInt);
    descriptor: (Ljava/lang/CharSequence;ILjdk/internal/icu/util/OutputInt;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=4
        start local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
        start local 1 // java.lang.CharSequence s
        start local 2 // int start
        start local 3 // jdk.internal.icu.util.OutputInt outCount
         0: .line 841
            aload 1 /* s */
            invokeinterface java.lang.CharSequence.length:()I
            istore 4 /* length */
        start local 4 // int length
         1: .line 842
            iload 2 /* start */
            istore 5 /* pos */
        start local 5 // int pos
         2: iload 4 /* length */
            iload 2 /* start */
            isub
            istore 6 /* rest */
        start local 6 // int rest
         3: .line 843
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 7 /* stringsLength */
        start local 7 // int stringsLength
         4: .line 844
            iconst_0
            istore 8 /* count */
        start local 8 // int count
         5: .line 849
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int jdk.internal.icu.util.OutputInt int int int int int
      StackMap stack:
            aload 3 /* outCount */
            ifnonnull 8
         6: .line 850
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanNotSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 1 /* s */
            iload 5 /* pos */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.NOT_CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            invokevirtual jdk.internal.icu.text.UnicodeSet.span:(Ljava/lang/CharSequence;ILjdk/internal/icu/text/UnicodeSet$SpanCondition;)I
            istore 9 /* spanLimit */
        start local 9 // int spanLimit
         7: .line 851
            goto 10
        end local 9 // int spanLimit
         8: .line 852
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanNotSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 1 /* s */
            iload 5 /* pos */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.NOT_CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            aload 3 /* outCount */
            invokevirtual jdk.internal.icu.text.UnicodeSet.spanAndCount:(Ljava/lang/CharSequence;ILjdk/internal/icu/text/UnicodeSet$SpanCondition;Ljdk/internal/icu/util/OutputInt;)I
            istore 9 /* spanLimit */
        start local 9 // int spanLimit
         9: .line 853
            aload 3 /* outCount */
            iload 8 /* count */
            aload 3 /* outCount */
            getfield jdk.internal.icu.util.OutputInt.value:I
            iadd
            dup
            istore 8 /* count */
            putfield jdk.internal.icu.util.OutputInt.value:I
        10: .line 855
      StackMap locals: int
      StackMap stack:
            iload 9 /* spanLimit */
            iload 4 /* length */
            if_icmpne 12
        11: .line 856
            iload 4 /* length */
            ireturn
        12: .line 858
      StackMap locals:
      StackMap stack:
            iload 9 /* spanLimit */
            istore 5 /* pos */
        13: .line 859
            iload 4 /* length */
            iload 9 /* spanLimit */
            isub
            istore 6 /* rest */
        14: .line 863
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 1 /* s */
            iload 5 /* pos */
            iload 6 /* rest */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.spanOne:(Ljdk/internal/icu/text/UnicodeSet;Ljava/lang/CharSequence;II)I
            istore 10 /* cpLength */
        start local 10 // int cpLength
        15: .line 864
            iload 10 /* cpLength */
            ifle 17
        16: .line 865
            iload 5 /* pos */
            ireturn
        17: .line 869
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        18: goto 26
        19: .line 870
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanLengths:[S
            iload 11 /* i */
            saload
            sipush 255
            if_icmpne 21
        20: .line 871
            goto 25
        21: .line 873
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            iload 11 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 12 /* string */
        start local 12 // java.lang.String string
        22: .line 875
            aload 12 /* string */
            invokevirtual java.lang.String.length:()I
            istore 13 /* length16 */
        start local 13 // int length16
        23: .line 876
            iload 13 /* length16 */
            iload 6 /* rest */
            if_icmpgt 25
            aload 1 /* s */
            iload 5 /* pos */
            iload 4 /* length */
            aload 12 /* string */
            iload 13 /* length16 */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.matches16CPB:(Ljava/lang/CharSequence;IILjava/lang/String;I)Z
            ifeq 25
        24: .line 877
            iload 5 /* pos */
            ireturn
        end local 13 // int length16
        end local 12 // java.lang.String string
        25: .line 869
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 11 /* i */
            iload 7 /* stringsLength */
            if_icmplt 19
        end local 11 // int i
        27: .line 884
            iload 5 /* pos */
            iload 10 /* cpLength */
            isub
            istore 5 /* pos */
        28: .line 885
            iload 6 /* rest */
            iload 10 /* cpLength */
            iadd
            istore 6 /* rest */
        29: .line 886
            iinc 8 /* count */ 1
        end local 10 // int cpLength
        end local 9 // int spanLimit
        30: .line 887
            iload 6 /* rest */
            ifne 5
        31: .line 888
            aload 3 /* outCount */
            ifnull 33
        32: .line 889
            aload 3 /* outCount */
            iload 8 /* count */
            putfield jdk.internal.icu.util.OutputInt.value:I
        33: .line 891
      StackMap locals:
      StackMap stack:
            iload 4 /* length */
            ireturn
        end local 8 // int count
        end local 7 // int stringsLength
        end local 6 // int rest
        end local 5 // int pos
        end local 4 // int length
        end local 3 // jdk.internal.icu.util.OutputInt outCount
        end local 2 // int start
        end local 1 // java.lang.CharSequence s
        end local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   34     0           this  Ljdk/internal/icu/impl/UnicodeSetStringSpan;
            0   34     1              s  Ljava/lang/CharSequence;
            0   34     2          start  I
            0   34     3       outCount  Ljdk/internal/icu/util/OutputInt;
            1   34     4         length  I
            2   34     5            pos  I
            3   34     6           rest  I
            4   34     7  stringsLength  I
            5   34     8          count  I
            7    8     9      spanLimit  I
            9   30     9      spanLimit  I
           15   30    10       cpLength  I
           18   27    11              i  I
           22   25    12         string  Ljava/lang/String;
           23   25    13       length16  I
    MethodParameters:
          Name  Flags
      s         
      start     
      outCount  

  private int spanNotBack(java.lang.CharSequence, int);
    descriptor: (Ljava/lang/CharSequence;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
        start local 1 // java.lang.CharSequence s
        start local 2 // int length
         0: .line 895
            iload 2 /* length */
            istore 3 /* pos */
        start local 3 // int pos
         1: .line 896
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* stringsLength */
        start local 5 // int stringsLength
         2: .line 900
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int int top int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanNotSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 1 /* s */
            iload 3 /* pos */
            getstatic jdk.internal.icu.text.UnicodeSet$SpanCondition.NOT_CONTAINED:Ljdk/internal/icu/text/UnicodeSet$SpanCondition;
            invokevirtual jdk.internal.icu.text.UnicodeSet.spanBack:(Ljava/lang/CharSequence;ILjdk/internal/icu/text/UnicodeSet$SpanCondition;)I
            istore 3 /* pos */
         3: .line 901
            iload 3 /* pos */
            ifne 5
         4: .line 902
            iconst_0
            ireturn
         5: .line 907
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanSet:Ljdk/internal/icu/text/UnicodeSet;
            aload 1 /* s */
            iload 3 /* pos */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.spanOneBack:(Ljdk/internal/icu/text/UnicodeSet;Ljava/lang/CharSequence;I)I
            istore 6 /* cpLength */
        start local 6 // int cpLength
         6: .line 908
            iload 6 /* cpLength */
            ifle 8
         7: .line 909
            iload 3 /* pos */
            ireturn
         8: .line 913
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 17
        10: .line 917
      StackMap locals: jdk.internal.icu.impl.UnicodeSetStringSpan java.lang.CharSequence int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.spanLengths:[S
            iload 4 /* i */
            saload
            sipush 255
            if_icmpne 12
        11: .line 918
            goto 16
        12: .line 920
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.icu.impl.UnicodeSetStringSpan.strings:Ljava/util/ArrayList;
            iload 4 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* string */
        start local 7 // java.lang.String string
        13: .line 922
            aload 7 /* string */
            invokevirtual java.lang.String.length:()I
            istore 8 /* length16 */
        start local 8 // int length16
        14: .line 923
            iload 8 /* length16 */
            iload 3 /* pos */
            if_icmpgt 16
            aload 1 /* s */
            iload 3 /* pos */
            iload 8 /* length16 */
            isub
            iload 2 /* length */
            aload 7 /* string */
            iload 8 /* length16 */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.matches16CPB:(Ljava/lang/CharSequence;IILjava/lang/String;I)Z
            ifeq 16
        15: .line 924
            iload 3 /* pos */
            ireturn
        end local 8 // int length16
        end local 7 // java.lang.String string
        16: .line 913
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            iload 5 /* stringsLength */
            if_icmplt 10
        18: .line 931
            iload 3 /* pos */
            iload 6 /* cpLength */
            iadd
            istore 3 /* pos */
        end local 6 // int cpLength
        19: .line 932
            iload 3 /* pos */
            ifne 2
        20: .line 933
            iconst_0
            ireturn
        end local 5 // int stringsLength
        end local 4 // int i
        end local 3 // int pos
        end local 2 // int length
        end local 1 // java.lang.CharSequence s
        end local 0 // jdk.internal.icu.impl.UnicodeSetStringSpan this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Ljdk/internal/icu/impl/UnicodeSetStringSpan;
            0   21     1              s  Ljava/lang/CharSequence;
            0   21     2         length  I
            1   21     3            pos  I
            9   21     4              i  I
            2   21     5  stringsLength  I
            6   19     6       cpLength  I
           13   16     7         string  Ljava/lang/String;
           14   16     8       length16  I
    MethodParameters:
        Name  Flags
      s       
      length  

  static short makeSpanLengthByte(int);
    descriptor: (I)S
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int spanLength
         0: .line 938
            iload 0 /* spanLength */
            sipush 254
            if_icmpge 1
            iload 0 /* spanLength */
            i2s
            goto 2
      StackMap locals:
      StackMap stack:
         1: sipush 254
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // int spanLength
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  spanLength  I
    MethodParameters:
            Name  Flags
      spanLength  

  private static boolean matches16(java.lang.CharSequence, int, java.lang.String, int);
    descriptor: (Ljava/lang/CharSequence;ILjava/lang/String;I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // java.lang.CharSequence s
        start local 1 // int start
        start local 2 // java.lang.String t
        start local 3 // int length
         0: .line 943
            iload 1 /* start */
            iload 3 /* length */
            iadd
            istore 4 /* end */
        start local 4 // int end
         1: .line 944
            goto 4
         2: .line 945
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iinc 4 /* end */ -1
            iload 4 /* end */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            aload 2 /* t */
            iload 3 /* length */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 4
         3: .line 946
            iconst_0
            ireturn
         4: .line 944
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            iinc 3 /* length */ -1
            ifgt 2
         5: .line 949
            iconst_1
            ireturn
        end local 4 // int end
        end local 3 // int length
        end local 2 // java.lang.String t
        end local 1 // int start
        end local 0 // java.lang.CharSequence s
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0       s  Ljava/lang/CharSequence;
            0    6     1   start  I
            0    6     2       t  Ljava/lang/String;
            0    6     3  length  I
            1    6     4     end  I
    MethodParameters:
        Name  Flags
      s       
      start   
      t       final
      length  

  static boolean matches16CPB(java.lang.CharSequence, int, int, java.lang.String, int);
    descriptor: (Ljava/lang/CharSequence;IILjava/lang/String;I)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // java.lang.CharSequence s
        start local 1 // int start
        start local 2 // int limit
        start local 3 // java.lang.String t
        start local 4 // int tlength
         0: .line 963
            aload 0 /* s */
            iload 1 /* start */
            aload 3 /* t */
            iload 4 /* tlength */
            invokestatic jdk.internal.icu.impl.UnicodeSetStringSpan.matches16:(Ljava/lang/CharSequence;ILjava/lang/String;I)Z
            ifeq 6
         1: .line 964
            iload 1 /* start */
            ifle 3
            aload 0 /* s */
            iload 1 /* start */
            iconst_1
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifeq 3
         2: .line 965
            aload 0 /* s */
            iload 1 /* start */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifne 6
         3: .line 966
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            iload 4 /* tlength */
            iadd
            iload 2 /* limit */
            if_icmpge 5
            aload 0 /* s */
            iload 1 /* start */
            iload 4 /* tlength */
            iadd
            iconst_1
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic java.lang.Character.isHighSurrogate:(C)Z
            ifeq 5
         4: .line 967
            aload 0 /* s */
            iload 1 /* start */
            iload 4 /* tlength */
            iadd
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic java.lang.Character.isLowSurrogate:(C)Z
            ifne 6
         5: .line 963
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
        end local 4 // int tlength
        end local 3 // java.lang.String t
        end local 2 // int limit
        end local 1 // int start
        end local 0 // java.lang.CharSequence s
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0        s  Ljava/lang/CharSequence;
            0    7     1    start  I
            0    7     2    limit  I
            0    7     3        t  Ljava/lang/String;
            0    7     4  tlength  I
    MethodParameters:
         Name  Flags
      s        
      start    
      limit    
      t        final
      tlength  

  static int spanOne(jdk.internal.icu.text.UnicodeSet, java.lang.CharSequence, int, int);
    descriptor: (Ljdk/internal/icu/text/UnicodeSet;Ljava/lang/CharSequence;II)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // jdk.internal.icu.text.UnicodeSet set
        start local 1 // java.lang.CharSequence s
        start local 2 // int start
        start local 3 // int length
         0: .line 975
            aload 1 /* s */
            iload 2 /* start */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         1: .line 976
            iload 4 /* c */
            ldc 55296
            if_icmplt 8
            iload 4 /* c */
            ldc 56319
            if_icmpgt 8
            iload 3 /* length */
            iconst_2
            if_icmplt 8
         2: .line 977
            aload 1 /* s */
            iload 2 /* start */
            iconst_1
            iadd
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 5 /* c2 */
        start local 5 // char c2
         3: .line 978
            iload 5 /* c2 */
            invokestatic jdk.internal.icu.text.UTF16.isTrailSurrogate:(C)Z
            ifeq 8
         4: .line 979
            iload 4 /* c */
            iload 5 /* c2 */
            invokestatic jdk.internal.icu.impl.UCharacterProperty.getRawSupplementary:(CC)I
            istore 6 /* supplementary */
        start local 6 // int supplementary
         5: .line 980
            aload 0 /* set */
            iload 6 /* supplementary */
            invokevirtual jdk.internal.icu.text.UnicodeSet.contains:(I)Z
            ifeq 6
            iconst_2
            goto 7
      StackMap locals: int int int
      StackMap stack:
         6: bipush -2
      StackMap locals:
      StackMap stack: int
         7: ireturn
        end local 6 // int supplementary
        end local 5 // char c2
         8: .line 983
      StackMap locals:
      StackMap stack:
            aload 0 /* set */
            iload 4 /* c */
            invokevirtual jdk.internal.icu.text.UnicodeSet.contains:(I)Z
            ifeq 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_m1
      StackMap locals:
      StackMap stack: int
        10: ireturn
        end local 4 // char c
        end local 3 // int length
        end local 2 // int start
        end local 1 // java.lang.CharSequence s
        end local 0 // jdk.internal.icu.text.UnicodeSet set
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0            set  Ljdk/internal/icu/text/UnicodeSet;
            0   11     1              s  Ljava/lang/CharSequence;
            0   11     2          start  I
            0   11     3         length  I
            1   11     4              c  C
            3    8     5             c2  C
            5    8     6  supplementary  I
    MethodParameters:
        Name  Flags
      set     final
      s       
      start   
      length  

  static int spanOneBack(jdk.internal.icu.text.UnicodeSet, java.lang.CharSequence, int);
    descriptor: (Ljdk/internal/icu/text/UnicodeSet;Ljava/lang/CharSequence;I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // jdk.internal.icu.text.UnicodeSet set
        start local 1 // java.lang.CharSequence s
        start local 2 // int length
         0: .line 987
            aload 1 /* s */
            iload 2 /* length */
            iconst_1
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         1: .line 988
            iload 3 /* c */
            ldc 56320
            if_icmplt 8
            iload 3 /* c */
            ldc 57343
            if_icmpgt 8
            iload 2 /* length */
            iconst_2
            if_icmplt 8
         2: .line 989
            aload 1 /* s */
            iload 2 /* length */
            iconst_2
            isub
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 4 /* c2 */
        start local 4 // char c2
         3: .line 990
            iload 4 /* c2 */
            invokestatic jdk.internal.icu.text.UTF16.isLeadSurrogate:(C)Z
            ifeq 8
         4: .line 991
            iload 4 /* c2 */
            iload 3 /* c */
            invokestatic jdk.internal.icu.impl.UCharacterProperty.getRawSupplementary:(CC)I
            istore 5 /* supplementary */
        start local 5 // int supplementary
         5: .line 992
            aload 0 /* set */
            iload 5 /* supplementary */
            invokevirtual jdk.internal.icu.text.UnicodeSet.contains:(I)Z
            ifeq 6
            iconst_2
            goto 7
      StackMap locals: int int int
      StackMap stack:
         6: bipush -2
      StackMap locals:
      StackMap stack: int
         7: ireturn
        end local 5 // int supplementary
        end local 4 // char c2
         8: .line 995
      StackMap locals:
      StackMap stack:
            aload 0 /* set */
            iload 3 /* c */
            invokevirtual jdk.internal.icu.text.UnicodeSet.contains:(I)Z
            ifeq 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_m1
      StackMap locals:
      StackMap stack: int
        10: ireturn
        end local 3 // char c
        end local 2 // int length
        end local 1 // java.lang.CharSequence s
        end local 0 // jdk.internal.icu.text.UnicodeSet set
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0            set  Ljdk/internal/icu/text/UnicodeSet;
            0   11     1              s  Ljava/lang/CharSequence;
            0   11     2         length  I
            1   11     3              c  C
            3    8     4             c2  C
            5    8     5  supplementary  I
    MethodParameters:
        Name  Flags
      set     final
      s       
      length  
}
SourceFile: "UnicodeSetStringSpan.java"
NestMembers:
  jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList
InnerClasses:
  private final OffsetList = jdk.internal.icu.impl.UnicodeSetStringSpan$OffsetList of jdk.internal.icu.impl.UnicodeSetStringSpan
  public final SpanCondition = jdk.internal.icu.text.UnicodeSet$SpanCondition of jdk.internal.icu.text.UnicodeSet