class jdk.internal.jshell.tool.Selector$BitUnpacker
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.internal.jshell.tool.Selector$BitUnpacker
  super_class: java.lang.Object
{
  long b;
    descriptor: J
    flags: (0x0000) 

  final jdk.internal.jshell.tool.Selector this$0;
    descriptor: Ljdk/internal/jshell/tool/Selector;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(jdk.internal.jshell.tool.Selector);
    descriptor: (Ljdk/internal/jshell/tool/Selector;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.internal.jshell.tool.Selector$BitUnpacker this
         0: .line 218
            aload 0 /* this */
            aload 1
            putfield jdk.internal.jshell.tool.Selector$BitUnpacker.this$0:Ljdk/internal/jshell/tool/Selector;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 220
            aload 0 /* this */
            aload 1
            getfield jdk.internal.jshell.tool.Selector.bits:J
            putfield jdk.internal.jshell.tool.Selector$BitUnpacker.b:J
         2: .line 218
            return
        end local 0 // jdk.internal.jshell.tool.Selector$BitUnpacker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/internal/jshell/tool/Selector$BitUnpacker;
    MethodParameters:
        Name  Flags
      this$0  final

  <E extends java.lang.Enum<E> extends jdk.internal.jshell.tool.Selector$SelectorInstanceWithDoc<E>> java.util.EnumSet<E> unpackEnumbits(java.lang.Class<E>, E[]);
    descriptor: (Ljava/lang/Class;[Ljava/lang/Enum;)Ljava/util/EnumSet;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // jdk.internal.jshell.tool.Selector$BitUnpacker this
        start local 1 // java.lang.Class k
        start local 2 // java.lang.Enum[] values
         0: .line 223
            aload 1 /* k */
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 3 /* c */
        start local 3 // java.util.EnumSet c
         1: .line 224
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 6
         3: .line 225
      StackMap locals: java.util.EnumSet int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.Selector$BitUnpacker.b:J
            iconst_1
            iload 4 /* i */
            ishl
            i2l
            land
            lconst_0
            lcmp
            ifeq 5
         4: .line 226
            aload 3 /* c */
            aload 2 /* values */
            iload 4 /* i */
            aaload
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         5: .line 224
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            aload 2 /* values */
            arraylength
            if_icmplt 3
        end local 4 // int i
         7: .line 229
            aload 0 /* this */
            dup
            getfield jdk.internal.jshell.tool.Selector$BitUnpacker.b:J
            aload 2 /* values */
            arraylength
            lushr
            putfield jdk.internal.jshell.tool.Selector$BitUnpacker.b:J
         8: .line 230
            aload 3 /* c */
            areturn
        end local 3 // java.util.EnumSet c
        end local 2 // java.lang.Enum[] values
        end local 1 // java.lang.Class k
        end local 0 // jdk.internal.jshell.tool.Selector$BitUnpacker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljdk/internal/jshell/tool/Selector$BitUnpacker;
            0    9     1       k  Ljava/lang/Class<TE;>;
            0    9     2  values  [Ljava/lang/Enum;
            1    9     3       c  Ljava/util/EnumSet<TE;>;
            2    7     4       i  I
    Signature: <E:Ljava/lang/Enum<TE;>;:Ljdk/internal/jshell/tool/Selector$SelectorInstanceWithDoc<TE;>;>(Ljava/lang/Class<TE;>;[TE;)Ljava/util/EnumSet<TE;>;
    MethodParameters:
        Name  Flags
      k       
      values  

  void unpack();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.internal.jshell.tool.Selector$BitUnpacker this
         0: .line 235
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.Selector$BitUnpacker.this$0:Ljdk/internal/jshell/tool/Selector;
            aload 0 /* this */
            ldc Ljdk/internal/jshell/tool/Selector$FormatErrors;
            invokestatic jdk.internal.jshell.tool.Selector$FormatErrors.values:()[Ljdk/internal/jshell/tool/Selector$FormatErrors;
            invokevirtual jdk.internal.jshell.tool.Selector$BitUnpacker.unpackEnumbits:(Ljava/lang/Class;[Ljava/lang/Enum;)Ljava/util/EnumSet;
            putfield jdk.internal.jshell.tool.Selector.ce:Ljava/util/EnumSet;
         1: .line 236
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.Selector$BitUnpacker.this$0:Ljdk/internal/jshell/tool/Selector;
            aload 0 /* this */
            ldc Ljdk/internal/jshell/tool/Selector$FormatUnresolved;
            invokestatic jdk.internal.jshell.tool.Selector$FormatUnresolved.values:()[Ljdk/internal/jshell/tool/Selector$FormatUnresolved;
            invokevirtual jdk.internal.jshell.tool.Selector$BitUnpacker.unpackEnumbits:(Ljava/lang/Class;[Ljava/lang/Enum;)Ljava/util/EnumSet;
            putfield jdk.internal.jshell.tool.Selector.cu:Ljava/util/EnumSet;
         2: .line 237
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.Selector$BitUnpacker.this$0:Ljdk/internal/jshell/tool/Selector;
            aload 0 /* this */
            ldc Ljdk/internal/jshell/tool/Selector$FormatResolve;
            invokestatic jdk.internal.jshell.tool.Selector$FormatResolve.values:()[Ljdk/internal/jshell/tool/Selector$FormatResolve;
            invokevirtual jdk.internal.jshell.tool.Selector$BitUnpacker.unpackEnumbits:(Ljava/lang/Class;[Ljava/lang/Enum;)Ljava/util/EnumSet;
            putfield jdk.internal.jshell.tool.Selector.cr:Ljava/util/EnumSet;
         3: .line 238
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.Selector$BitUnpacker.this$0:Ljdk/internal/jshell/tool/Selector;
            aload 0 /* this */
            ldc Ljdk/internal/jshell/tool/Selector$FormatWhen;
            invokestatic jdk.internal.jshell.tool.Selector$FormatWhen.values:()[Ljdk/internal/jshell/tool/Selector$FormatWhen;
            invokevirtual jdk.internal.jshell.tool.Selector$BitUnpacker.unpackEnumbits:(Ljava/lang/Class;[Ljava/lang/Enum;)Ljava/util/EnumSet;
            putfield jdk.internal.jshell.tool.Selector.cw:Ljava/util/EnumSet;
         4: .line 239
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.Selector$BitUnpacker.this$0:Ljdk/internal/jshell/tool/Selector;
            aload 0 /* this */
            ldc Ljdk/internal/jshell/tool/Selector$FormatAction;
            invokestatic jdk.internal.jshell.tool.Selector$FormatAction.values:()[Ljdk/internal/jshell/tool/Selector$FormatAction;
            invokevirtual jdk.internal.jshell.tool.Selector$BitUnpacker.unpackEnumbits:(Ljava/lang/Class;[Ljava/lang/Enum;)Ljava/util/EnumSet;
            putfield jdk.internal.jshell.tool.Selector.ca:Ljava/util/EnumSet;
         5: .line 240
            aload 0 /* this */
            getfield jdk.internal.jshell.tool.Selector$BitUnpacker.this$0:Ljdk/internal/jshell/tool/Selector;
            aload 0 /* this */
            ldc Ljdk/internal/jshell/tool/Selector$FormatCase;
            invokestatic jdk.internal.jshell.tool.Selector$FormatCase.values:()[Ljdk/internal/jshell/tool/Selector$FormatCase;
            invokevirtual jdk.internal.jshell.tool.Selector$BitUnpacker.unpackEnumbits:(Ljava/lang/Class;[Ljava/lang/Enum;)Ljava/util/EnumSet;
            putfield jdk.internal.jshell.tool.Selector.cc:Ljava/util/EnumSet;
         6: .line 241
            return
        end local 0 // jdk.internal.jshell.tool.Selector$BitUnpacker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljdk/internal/jshell/tool/Selector$BitUnpacker;
}
SourceFile: "Selector.java"
NestHost: jdk.internal.jshell.tool.Selector
InnerClasses:
  private BitUnpacker = jdk.internal.jshell.tool.Selector$BitUnpacker of jdk.internal.jshell.tool.Selector
  public final FormatAction = jdk.internal.jshell.tool.Selector$FormatAction of jdk.internal.jshell.tool.Selector
  public final FormatCase = jdk.internal.jshell.tool.Selector$FormatCase of jdk.internal.jshell.tool.Selector
  public final FormatErrors = jdk.internal.jshell.tool.Selector$FormatErrors of jdk.internal.jshell.tool.Selector
  public final FormatResolve = jdk.internal.jshell.tool.Selector$FormatResolve of jdk.internal.jshell.tool.Selector
  public final FormatUnresolved = jdk.internal.jshell.tool.Selector$FormatUnresolved of jdk.internal.jshell.tool.Selector
  public final FormatWhen = jdk.internal.jshell.tool.Selector$FormatWhen of jdk.internal.jshell.tool.Selector
  abstract SelectorInstanceWithDoc = jdk.internal.jshell.tool.Selector$SelectorInstanceWithDoc of jdk.internal.jshell.tool.Selector