class jdk.internal.joptsimple.OptionSpecTokenizer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.internal.joptsimple.OptionSpecTokenizer
  super_class: java.lang.Object
{
  private static final char POSIXLY_CORRECT_MARKER;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 43

  private static final char HELP_MARKER;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 42

  private java.lang.String specification;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.internal.joptsimple.OptionSpecTokenizer this
        start local 1 // java.lang.String specification
         0: .line 74
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 75
            aload 1 /* specification */
            ifnonnull 3
         2: .line 76
            new java.lang.NullPointerException
            dup
            ldc "null option specification"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 78
      StackMap locals: jdk.internal.joptsimple.OptionSpecTokenizer java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* specification */
            putfield jdk.internal.joptsimple.OptionSpecTokenizer.specification:Ljava/lang/String;
         4: .line 79
            return
        end local 1 // java.lang.String specification
        end local 0 // jdk.internal.joptsimple.OptionSpecTokenizer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Ljdk/internal/joptsimple/OptionSpecTokenizer;
            0    5     1  specification  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      specification  

  boolean hasMore();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.joptsimple.OptionSpecTokenizer this
         0: .line 82
            aload 0 /* this */
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
            aload 0 /* this */
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.specification:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.internal.joptsimple.OptionSpecTokenizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/joptsimple/OptionSpecTokenizer;

  jdk.internal.joptsimple.AbstractOptionSpec<?> next();
    descriptor: ()Ljdk/internal/joptsimple/AbstractOptionSpec;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // jdk.internal.joptsimple.OptionSpecTokenizer this
         0: .line 86
            aload 0 /* this */
            invokevirtual jdk.internal.joptsimple.OptionSpecTokenizer.hasMore:()Z
            ifne 2
         1: .line 87
            new java.util.NoSuchElementException
            dup
            invokespecial java.util.NoSuchElementException.<init>:()V
            athrow
         2: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.specification:Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            astore 1 /* optionCandidate */
        start local 1 // java.lang.String optionCandidate
         3: .line 91
            aload 0 /* this */
            dup
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
            iconst_1
            iadd
            putfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
         4: .line 94
            ldc "W"
            aload 1 /* optionCandidate */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         5: .line 95
            aload 0 /* this */
            invokevirtual jdk.internal.joptsimple.OptionSpecTokenizer.handleReservedForExtensionsToken:()Ljdk/internal/joptsimple/AbstractOptionSpec;
            astore 2 /* spec */
        start local 2 // jdk.internal.joptsimple.AbstractOptionSpec spec
         6: .line 97
            aload 2 /* spec */
            ifnull 8
         7: .line 98
            aload 2 /* spec */
            areturn
        end local 2 // jdk.internal.joptsimple.AbstractOptionSpec spec
         8: .line 101
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* optionCandidate */
            invokestatic jdk.internal.joptsimple.ParserRules.ensureLegalOption:(Ljava/lang/String;)V
         9: .line 103
            aload 0 /* this */
            invokevirtual jdk.internal.joptsimple.OptionSpecTokenizer.hasMore:()Z
            ifeq 21
        10: .line 104
            iconst_0
            istore 3 /* forHelp */
        start local 3 // boolean forHelp
        11: .line 105
            aload 0 /* this */
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.specification:Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 42
            if_icmpne 14
        12: .line 106
            iconst_1
            istore 3 /* forHelp */
        13: .line 107
            aload 0 /* this */
            dup
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
            iconst_1
            iadd
            putfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
        14: .line 109
      StackMap locals: jdk.internal.joptsimple.OptionSpecTokenizer java.lang.String top int
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.internal.joptsimple.OptionSpecTokenizer.hasMore:()Z
            ifeq 16
            aload 0 /* this */
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.specification:Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpne 16
        15: .line 110
            aload 0 /* this */
            aload 1 /* optionCandidate */
            invokevirtual jdk.internal.joptsimple.OptionSpecTokenizer.handleArgumentAcceptingOption:(Ljava/lang/String;)Ljdk/internal/joptsimple/AbstractOptionSpec;
            goto 17
        16: .line 111
      StackMap locals:
      StackMap stack:
            new jdk.internal.joptsimple.NoArgumentOptionSpec
            dup
            aload 1 /* optionCandidate */
            invokespecial jdk.internal.joptsimple.NoArgumentOptionSpec.<init>:(Ljava/lang/String;)V
        17: .line 109
      StackMap locals:
      StackMap stack: jdk.internal.joptsimple.AbstractOptionSpec
            astore 2 /* spec */
        start local 2 // jdk.internal.joptsimple.AbstractOptionSpec spec
        18: .line 112
            iload 3 /* forHelp */
            ifeq 22
        19: .line 113
            aload 2 /* spec */
            invokevirtual jdk.internal.joptsimple.AbstractOptionSpec.forHelp:()Ljdk/internal/joptsimple/AbstractOptionSpec;
            pop
        end local 3 // boolean forHelp
        20: .line 114
            goto 22
        end local 2 // jdk.internal.joptsimple.AbstractOptionSpec spec
        21: .line 115
      StackMap locals: jdk.internal.joptsimple.OptionSpecTokenizer java.lang.String
      StackMap stack:
            new jdk.internal.joptsimple.NoArgumentOptionSpec
            dup
            aload 1 /* optionCandidate */
            invokespecial jdk.internal.joptsimple.NoArgumentOptionSpec.<init>:(Ljava/lang/String;)V
            astore 2 /* spec */
        start local 2 // jdk.internal.joptsimple.AbstractOptionSpec spec
        22: .line 117
      StackMap locals: jdk.internal.joptsimple.AbstractOptionSpec
      StackMap stack:
            aload 2 /* spec */
            areturn
        end local 2 // jdk.internal.joptsimple.AbstractOptionSpec spec
        end local 1 // java.lang.String optionCandidate
        end local 0 // jdk.internal.joptsimple.OptionSpecTokenizer this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   23     0             this  Ljdk/internal/joptsimple/OptionSpecTokenizer;
            3   23     1  optionCandidate  Ljava/lang/String;
            6    8     2             spec  Ljdk/internal/joptsimple/AbstractOptionSpec<*>;
           18   21     2             spec  Ljdk/internal/joptsimple/AbstractOptionSpec<*>;
           22   23     2             spec  Ljdk/internal/joptsimple/AbstractOptionSpec<*>;
           11   20     3          forHelp  Z
    Signature: ()Ljdk/internal/joptsimple/AbstractOptionSpec<*>;

  void configure(jdk.internal.joptsimple.OptionParser);
    descriptor: (Ljdk/internal/joptsimple/OptionParser;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.joptsimple.OptionSpecTokenizer this
        start local 1 // jdk.internal.joptsimple.OptionParser parser
         0: .line 121
            aload 0 /* this */
            aload 1 /* parser */
            invokevirtual jdk.internal.joptsimple.OptionSpecTokenizer.adjustForPosixlyCorrect:(Ljdk/internal/joptsimple/OptionParser;)V
         1: .line 123
            goto 3
         2: .line 124
      StackMap locals:
      StackMap stack:
            aload 1 /* parser */
            aload 0 /* this */
            invokevirtual jdk.internal.joptsimple.OptionSpecTokenizer.next:()Ljdk/internal/joptsimple/AbstractOptionSpec;
            invokevirtual jdk.internal.joptsimple.OptionParser.recognize:(Ljdk/internal/joptsimple/AbstractOptionSpec;)V
         3: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.internal.joptsimple.OptionSpecTokenizer.hasMore:()Z
            ifne 2
         4: .line 125
            return
        end local 1 // jdk.internal.joptsimple.OptionParser parser
        end local 0 // jdk.internal.joptsimple.OptionSpecTokenizer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/internal/joptsimple/OptionSpecTokenizer;
            0    5     1  parser  Ljdk/internal/joptsimple/OptionParser;
    MethodParameters:
        Name  Flags
      parser  

  private void adjustForPosixlyCorrect(jdk.internal.joptsimple.OptionParser);
    descriptor: (Ljdk/internal/joptsimple/OptionParser;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.internal.joptsimple.OptionSpecTokenizer this
        start local 1 // jdk.internal.joptsimple.OptionParser parser
         0: .line 128
            bipush 43
            aload 0 /* this */
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.specification:Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpne 3
         1: .line 129
            aload 1 /* parser */
            iconst_1
            invokevirtual jdk.internal.joptsimple.OptionParser.posixlyCorrect:(Z)V
         2: .line 130
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.specification:Ljava/lang/String;
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            putfield jdk.internal.joptsimple.OptionSpecTokenizer.specification:Ljava/lang/String;
         3: .line 132
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.internal.joptsimple.OptionParser parser
        end local 0 // jdk.internal.joptsimple.OptionSpecTokenizer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/internal/joptsimple/OptionSpecTokenizer;
            0    4     1  parser  Ljdk/internal/joptsimple/OptionParser;
    MethodParameters:
        Name  Flags
      parser  

  private jdk.internal.joptsimple.AbstractOptionSpec<?> handleReservedForExtensionsToken();
    descriptor: ()Ljdk/internal/joptsimple/AbstractOptionSpec;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.internal.joptsimple.OptionSpecTokenizer this
         0: .line 135
            aload 0 /* this */
            invokevirtual jdk.internal.joptsimple.OptionSpecTokenizer.hasMore:()Z
            ifne 2
         1: .line 136
            new jdk.internal.joptsimple.NoArgumentOptionSpec
            dup
            ldc "W"
            invokespecial jdk.internal.joptsimple.NoArgumentOptionSpec.<init>:(Ljava/lang/String;)V
            areturn
         2: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.specification:Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 59
            if_icmpne 5
         3: .line 139
            aload 0 /* this */
            dup
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
            iconst_1
            iadd
            putfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
         4: .line 140
            new jdk.internal.joptsimple.AlternativeLongOptionSpec
            dup
            invokespecial jdk.internal.joptsimple.AlternativeLongOptionSpec.<init>:()V
            areturn
         5: .line 143
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // jdk.internal.joptsimple.OptionSpecTokenizer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/internal/joptsimple/OptionSpecTokenizer;
    Signature: ()Ljdk/internal/joptsimple/AbstractOptionSpec<*>;

  private jdk.internal.joptsimple.AbstractOptionSpec<?> handleArgumentAcceptingOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/joptsimple/AbstractOptionSpec;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.internal.joptsimple.OptionSpecTokenizer this
        start local 1 // java.lang.String candidate
         0: .line 147
            aload 0 /* this */
            dup
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
            iconst_1
            iadd
            putfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
         1: .line 149
            aload 0 /* this */
            invokevirtual jdk.internal.joptsimple.OptionSpecTokenizer.hasMore:()Z
            ifeq 4
            aload 0 /* this */
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.specification:Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpne 4
         2: .line 150
            aload 0 /* this */
            dup
            getfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
            iconst_1
            iadd
            putfield jdk.internal.joptsimple.OptionSpecTokenizer.index:I
         3: .line 151
            new jdk.internal.joptsimple.OptionalArgumentOptionSpec
            dup
            aload 1 /* candidate */
            invokespecial jdk.internal.joptsimple.OptionalArgumentOptionSpec.<init>:(Ljava/lang/String;)V
            areturn
         4: .line 154
      StackMap locals:
      StackMap stack:
            new jdk.internal.joptsimple.RequiredArgumentOptionSpec
            dup
            aload 1 /* candidate */
            invokespecial jdk.internal.joptsimple.RequiredArgumentOptionSpec.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String candidate
        end local 0 // jdk.internal.joptsimple.OptionSpecTokenizer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljdk/internal/joptsimple/OptionSpecTokenizer;
            0    5     1  candidate  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljdk/internal/joptsimple/AbstractOptionSpec<*>;
    MethodParameters:
           Name  Flags
      candidate  
}
SourceFile: "OptionSpecTokenizer.java"