public abstract class jdk.internal.icu.util.CodePointMap implements java.lang.Iterable<jdk.internal.icu.util.CodePointMap$Range>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.internal.icu.util.CodePointMap
  super_class: java.lang.Object
{
  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 41
            ldc Ljdk/internal/icu/util/CodePointMap;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.internal.icu.util.CodePointMap.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.icu.util.CodePointMap this
         0: .line 328
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 329
            return
        end local 0 // jdk.internal.icu.util.CodePointMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/icu/util/CodePointMap;

  public abstract int get(int);
    descriptor: (I)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      c     

  public abstract boolean getRange(int, jdk.internal.icu.util.CodePointMap$ValueFilter, jdk.internal.icu.util.CodePointMap$Range);
    descriptor: (ILjdk/internal/icu/util/CodePointMap$ValueFilter;Ljdk/internal/icu/util/CodePointMap$Range;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      start   
      filter  
      range   

  public boolean getRange(int, jdk.internal.icu.util.CodePointMap$RangeOption, int, jdk.internal.icu.util.CodePointMap$ValueFilter, jdk.internal.icu.util.CodePointMap$Range);
    descriptor: (ILjdk/internal/icu/util/CodePointMap$RangeOption;ILjdk/internal/icu/util/CodePointMap$ValueFilter;Ljdk/internal/icu/util/CodePointMap$Range;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=6
        start local 0 // jdk.internal.icu.util.CodePointMap this
        start local 1 // int start
        start local 2 // jdk.internal.icu.util.CodePointMap$RangeOption option
        start local 3 // int surrogateValue
        start local 4 // jdk.internal.icu.util.CodePointMap$ValueFilter filter
        start local 5 // jdk.internal.icu.util.CodePointMap$Range range
         0: .line 403
            getstatic jdk.internal.icu.util.CodePointMap.$assertionsDisabled:Z
            ifne 1
            aload 2 /* option */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* start */
            aload 4 /* filter */
            aload 5 /* range */
            invokevirtual jdk.internal.icu.util.CodePointMap.getRange:(ILjdk/internal/icu/util/CodePointMap$ValueFilter;Ljdk/internal/icu/util/CodePointMap$Range;)Z
            ifne 3
         2: .line 405
            iconst_0
            ireturn
         3: .line 407
      StackMap locals:
      StackMap stack:
            aload 2 /* option */
            getstatic jdk.internal.icu.util.CodePointMap$RangeOption.NORMAL:Ljdk/internal/icu/util/CodePointMap$RangeOption;
            if_acmpne 5
         4: .line 408
            iconst_1
            ireturn
         5: .line 410
      StackMap locals:
      StackMap stack:
            aload 2 /* option */
            getstatic jdk.internal.icu.util.CodePointMap$RangeOption.FIXED_ALL_SURROGATES:Ljdk/internal/icu/util/CodePointMap$RangeOption;
            if_acmpne 6
            ldc 57343
            goto 7
      StackMap locals:
      StackMap stack:
         6: ldc 56319
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* surrEnd */
        start local 6 // int surrEnd
         8: .line 411
            aload 5 /* range */
            getfield jdk.internal.icu.util.CodePointMap$Range.end:I
            istore 7 /* end */
        start local 7 // int end
         9: .line 412
            iload 7 /* end */
            ldc 55295
            if_icmplt 10
            iload 1 /* start */
            iload 6 /* surrEnd */
            if_icmple 11
        10: .line 413
      StackMap locals: int int
      StackMap stack:
            iconst_1
            ireturn
        11: .line 416
      StackMap locals:
      StackMap stack:
            aload 5 /* range */
            getfield jdk.internal.icu.util.CodePointMap$Range.value:I
            iload 3 /* surrogateValue */
            if_icmpne 14
        12: .line 417
            iload 7 /* end */
            iload 6 /* surrEnd */
            if_icmplt 21
        13: .line 420
            iconst_1
            ireturn
        14: .line 423
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            ldc 55295
            if_icmpgt 17
        15: .line 424
            aload 5 /* range */
            ldc 55295
            putfield jdk.internal.icu.util.CodePointMap$Range.end:I
        16: .line 425
            iconst_1
            ireturn
        17: .line 429
      StackMap locals:
      StackMap stack:
            aload 5 /* range */
            iload 3 /* surrogateValue */
            putfield jdk.internal.icu.util.CodePointMap$Range.value:I
        18: .line 430
            iload 7 /* end */
            iload 6 /* surrEnd */
            if_icmple 21
        19: .line 431
            aload 5 /* range */
            iload 6 /* surrEnd */
            putfield jdk.internal.icu.util.CodePointMap$Range.end:I
        20: .line 432
            iconst_1
            ireturn
        21: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* surrEnd */
            iconst_1
            iadd
            aload 4 /* filter */
            aload 5 /* range */
            invokevirtual jdk.internal.icu.util.CodePointMap.getRange:(ILjdk/internal/icu/util/CodePointMap$ValueFilter;Ljdk/internal/icu/util/CodePointMap$Range;)Z
            ifeq 24
            aload 5 /* range */
            getfield jdk.internal.icu.util.CodePointMap$Range.value:I
            iload 3 /* surrogateValue */
            if_icmpne 24
        22: .line 438
            aload 5 /* range */
            iload 1 /* start */
            putfield jdk.internal.icu.util.CodePointMap$Range.start:I
        23: .line 439
            iconst_1
            ireturn
        24: .line 441
      StackMap locals:
      StackMap stack:
            aload 5 /* range */
            iload 1 /* start */
            putfield jdk.internal.icu.util.CodePointMap$Range.start:I
        25: .line 442
            aload 5 /* range */
            iload 6 /* surrEnd */
            putfield jdk.internal.icu.util.CodePointMap$Range.end:I
        26: .line 443
            aload 5 /* range */
            iload 3 /* surrogateValue */
            putfield jdk.internal.icu.util.CodePointMap$Range.value:I
        27: .line 444
            iconst_1
            ireturn
        end local 7 // int end
        end local 6 // int surrEnd
        end local 5 // jdk.internal.icu.util.CodePointMap$Range range
        end local 4 // jdk.internal.icu.util.CodePointMap$ValueFilter filter
        end local 3 // int surrogateValue
        end local 2 // jdk.internal.icu.util.CodePointMap$RangeOption option
        end local 1 // int start
        end local 0 // jdk.internal.icu.util.CodePointMap this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   28     0            this  Ljdk/internal/icu/util/CodePointMap;
            0   28     1           start  I
            0   28     2          option  Ljdk/internal/icu/util/CodePointMap$RangeOption;
            0   28     3  surrogateValue  I
            0   28     4          filter  Ljdk/internal/icu/util/CodePointMap$ValueFilter;
            0   28     5           range  Ljdk/internal/icu/util/CodePointMap$Range;
            8   28     6         surrEnd  I
            9   28     7             end  I
    MethodParameters:
                Name  Flags
      start           
      option          
      surrogateValue  
      filter          
      range           

  public java.util.Iterator<jdk.internal.icu.util.CodePointMap$Range> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.internal.icu.util.CodePointMap this
         0: .line 460
            new jdk.internal.icu.util.CodePointMap$RangeIterator
            dup
            aload 0 /* this */
            invokespecial jdk.internal.icu.util.CodePointMap$RangeIterator.<init>:(Ljdk/internal/icu/util/CodePointMap;)V
            areturn
        end local 0 // jdk.internal.icu.util.CodePointMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/icu/util/CodePointMap;
    Signature: ()Ljava/util/Iterator<Ljdk/internal/icu/util/CodePointMap$Range;>;

  public jdk.internal.icu.util.CodePointMap$StringIterator stringIterator(java.lang.CharSequence, int);
    descriptor: (Ljava/lang/CharSequence;I)Ljdk/internal/icu/util/CodePointMap$StringIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.internal.icu.util.CodePointMap this
        start local 1 // java.lang.CharSequence s
        start local 2 // int sIndex
         0: .line 473
            new jdk.internal.icu.util.CodePointMap$StringIterator
            dup
            aload 0 /* this */
            aload 1 /* s */
            iload 2 /* sIndex */
            invokespecial jdk.internal.icu.util.CodePointMap$StringIterator.<init>:(Ljdk/internal/icu/util/CodePointMap;Ljava/lang/CharSequence;I)V
            areturn
        end local 2 // int sIndex
        end local 1 // java.lang.CharSequence s
        end local 0 // jdk.internal.icu.util.CodePointMap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/internal/icu/util/CodePointMap;
            0    1     1       s  Ljava/lang/CharSequence;
            0    1     2  sIndex  I
    MethodParameters:
        Name  Flags
      s       
      sIndex  
}
Signature: Ljava/lang/Object;Ljava/lang/Iterable<Ljdk/internal/icu/util/CodePointMap$Range;>;
SourceFile: "CodePointMap.java"
NestMembers:
  jdk.internal.icu.util.CodePointMap$Range  jdk.internal.icu.util.CodePointMap$RangeIterator  jdk.internal.icu.util.CodePointMap$RangeOption  jdk.internal.icu.util.CodePointMap$StringIterator  jdk.internal.icu.util.CodePointMap$ValueFilter
InnerClasses:
  public final Range = jdk.internal.icu.util.CodePointMap$Range of jdk.internal.icu.util.CodePointMap
  private final RangeIterator = jdk.internal.icu.util.CodePointMap$RangeIterator of jdk.internal.icu.util.CodePointMap
  public final RangeOption = jdk.internal.icu.util.CodePointMap$RangeOption of jdk.internal.icu.util.CodePointMap
  public StringIterator = jdk.internal.icu.util.CodePointMap$StringIterator of jdk.internal.icu.util.CodePointMap
  public abstract ValueFilter = jdk.internal.icu.util.CodePointMap$ValueFilter of jdk.internal.icu.util.CodePointMap