class io.micronaut.core.cli.CommandLineParser implements io.micronaut.core.cli.CommandLine$Builder<io.micronaut.core.cli.CommandLineParser>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.micronaut.core.cli.CommandLineParser
  super_class: java.lang.Object
{
  private static final java.lang.String DEFAULT_PADDING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "        "

  private java.util.Map<java.lang.String, io.micronaut.core.cli.Option> declaredOptions;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lio/micronaut/core/cli/Option;>;

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

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

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.micronaut.core.cli.CommandLineParser this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 42
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.micronaut.core.cli.CommandLineParser.declaredOptions:Ljava/util/Map;
         2: .line 43
            aload 0 /* this */
            iconst_0
            putfield io.micronaut.core.cli.CommandLineParser.longestOptionNameLength:I
         3: .line 38
            return
        end local 0 // io.micronaut.core.cli.CommandLineParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/micronaut/core/cli/CommandLineParser;

  public io.micronaut.core.cli.CommandLineParser addOption(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lio/micronaut/core/cli/CommandLineParser;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // io.micronaut.core.cli.CommandLineParser this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String description
         0: .line 54
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            istore 3 /* length */
        start local 3 // int length
         1: .line 55
            iload 3 /* length */
            aload 0 /* this */
            getfield io.micronaut.core.cli.CommandLineParser.longestOptionNameLength:I
            if_icmple 3
         2: .line 56
            aload 0 /* this */
            iload 3 /* length */
            putfield io.micronaut.core.cli.CommandLineParser.longestOptionNameLength:I
         3: .line 58
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.core.cli.CommandLineParser.declaredOptions:Ljava/util/Map;
            aload 1 /* name */
            new io.micronaut.core.cli.Option
            dup
            aload 1 /* name */
            aload 2 /* description */
            invokespecial io.micronaut.core.cli.Option.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 59
            aload 0 /* this */
            areturn
        end local 3 // int length
        end local 2 // java.lang.String description
        end local 1 // java.lang.String name
        end local 0 // io.micronaut.core.cli.CommandLineParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/micronaut/core/cli/CommandLineParser;
            0    5     1         name  Ljava/lang/String;
            0    5     2  description  Ljava/lang/String;
            1    5     3       length  I
    MethodParameters:
             Name  Flags
      name         
      description  

  public io.micronaut.core.cli.CommandLine parseString(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/micronaut/core/cli/CommandLine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.core.cli.CommandLineParser this
        start local 1 // java.lang.String string
         0: .line 66
            aload 0 /* this */
            aload 1 /* string */
            invokestatic io.micronaut.core.cli.CommandLineParser.translateCommandline:(Ljava/lang/String;)[Ljava/lang/String;
            invokevirtual io.micronaut.core.cli.CommandLineParser.parse:([Ljava/lang/String;)Lio/micronaut/core/cli/CommandLine;
            areturn
        end local 1 // java.lang.String string
        end local 0 // io.micronaut.core.cli.CommandLineParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/micronaut/core/cli/CommandLineParser;
            0    1     1  string  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      string  

  public io.micronaut.core.cli.CommandLine parse(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Lio/micronaut/core/cli/CommandLine;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.micronaut.core.cli.CommandLineParser this
        start local 1 // java.lang.String[] args
         0: .line 71
            aload 0 /* this */
            invokevirtual io.micronaut.core.cli.CommandLineParser.createCommandLine:()Lio/micronaut/core/cli/DefaultCommandLine;
            astore 2 /* cl */
        start local 2 // io.micronaut.core.cli.DefaultCommandLine cl
         1: .line 72
            aload 0 /* this */
            aload 2 /* cl */
            aload 1 /* args */
            invokevirtual io.micronaut.core.cli.CommandLineParser.parse:(Lio/micronaut/core/cli/DefaultCommandLine;[Ljava/lang/String;)Lio/micronaut/core/cli/CommandLine;
            areturn
        end local 2 // io.micronaut.core.cli.DefaultCommandLine cl
        end local 1 // java.lang.String[] args
        end local 0 // io.micronaut.core.cli.CommandLineParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/micronaut/core/cli/CommandLineParser;
            0    2     1  args  [Ljava/lang/String;
            1    2     2    cl  Lio/micronaut/core/cli/DefaultCommandLine;
    MethodParameters:
      Name  Flags
      args  

  io.micronaut.core.cli.CommandLine parse(io.micronaut.core.cli.DefaultCommandLine, java.lang.String[]);
    descriptor: (Lio/micronaut/core/cli/DefaultCommandLine;[Ljava/lang/String;)Lio/micronaut/core/cli/CommandLine;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.micronaut.core.cli.CommandLineParser this
        start local 1 // io.micronaut.core.cli.DefaultCommandLine cl
        start local 2 // java.lang.String[] args
         0: .line 82
            aload 0 /* this */
            aload 1 /* cl */
            aload 2 /* args */
            invokevirtual io.micronaut.core.cli.CommandLineParser.parseInternal:(Lio/micronaut/core/cli/DefaultCommandLine;[Ljava/lang/String;)V
         1: .line 83
            aload 1 /* cl */
            areturn
        end local 2 // java.lang.String[] args
        end local 1 // io.micronaut.core.cli.DefaultCommandLine cl
        end local 0 // io.micronaut.core.cli.CommandLineParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/micronaut/core/cli/CommandLineParser;
            0    2     1    cl  Lio/micronaut/core/cli/DefaultCommandLine;
            0    2     2  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      cl    
      args  

  public java.lang.String getOptionsHelpMessage();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // io.micronaut.core.cli.CommandLineParser this
         0: .line 91
            ldc "line.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* ls */
        start local 1 // java.lang.String ls
         1: .line 92
            aload 0 /* this */
            ldc "Available options:"
            putfield io.micronaut.core.cli.CommandLineParser.usageMessage:Ljava/lang/String;
         2: .line 93
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield io.micronaut.core.cli.CommandLineParser.usageMessage:Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         3: .line 94
            aload 2 /* sb */
            aload 1 /* ls */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 95
            aload 0 /* this */
            getfield io.micronaut.core.cli.CommandLineParser.declaredOptions:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 15
      StackMap locals: io.micronaut.core.cli.CommandLineParser java.lang.String java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.micronaut.core.cli.Option
            astore 3 /* option */
        start local 3 // io.micronaut.core.cli.Option option
         6: .line 96
            aload 3 /* option */
            invokevirtual io.micronaut.core.cli.Option.getName:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         7: .line 97
            aload 0 /* this */
            getfield io.micronaut.core.cli.CommandLineParser.longestOptionNameLength:I
            aload 5 /* name */
            invokevirtual java.lang.String.length:()I
            isub
            istore 6 /* extraPadding */
        start local 6 // int extraPadding
         8: .line 98
            aload 2 /* sb */
            ldc " -"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 99
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        10: goto 13
        11: .line 100
      StackMap locals: io.micronaut.core.cli.CommandLineParser java.lang.String java.lang.StringBuilder io.micronaut.core.cli.Option java.util.Iterator java.lang.String int int
      StackMap stack:
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        12: .line 99
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 7 /* i */
            iload 6 /* extraPadding */
            if_icmplt 11
        end local 7 // int i
        14: .line 102
            aload 2 /* sb */
            ldc "        "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* option */
            invokevirtual io.micronaut.core.cli.Option.getDescription:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* ls */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 6 // int extraPadding
        end local 5 // java.lang.String name
        end local 3 // io.micronaut.core.cli.Option option
        15: .line 95
      StackMap locals: io.micronaut.core.cli.CommandLineParser java.lang.String java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        16: .line 105
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // java.lang.String ls
        end local 0 // io.micronaut.core.cli.CommandLineParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lio/micronaut/core/cli/CommandLineParser;
            1   17     1            ls  Ljava/lang/String;
            3   17     2            sb  Ljava/lang/StringBuilder;
            6   15     3        option  Lio/micronaut/core/cli/Option;
            7   15     5          name  Ljava/lang/String;
            8   15     6  extraPadding  I
           10   14     7             i  I

  private void parseInternal(io.micronaut.core.cli.DefaultCommandLine, java.lang.String[]);
    descriptor: (Lio/micronaut/core/cli/DefaultCommandLine;[Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // io.micronaut.core.cli.CommandLineParser this
        start local 1 // io.micronaut.core.cli.DefaultCommandLine cl
        start local 2 // java.lang.String[] args
         0: .line 109
            aload 1 /* cl */
            aload 2 /* args */
            invokevirtual io.micronaut.core.cli.DefaultCommandLine.setRawArguments:([Ljava/lang/String;)V
         1: .line 110
            aconst_null
            astore 3 /* lastOptionName */
        start local 3 // java.lang.String lastOptionName
         2: .line 111
            aload 2 /* args */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 23
      StackMap locals: io.micronaut.core.cli.CommandLineParser io.micronaut.core.cli.DefaultCommandLine java.lang.String[] java.lang.String top int int java.lang.String[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* arg */
        start local 4 // java.lang.String arg
         4: .line 112
            aload 4 /* arg */
            ifnonnull 6
         5: .line 113
            goto 22
         6: .line 115
      StackMap locals: io.micronaut.core.cli.CommandLineParser io.micronaut.core.cli.DefaultCommandLine java.lang.String[] java.lang.String java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 4 /* arg */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 8 /* trimmed */
        start local 8 // java.lang.String trimmed
         7: .line 116
            aload 8 /* trimmed */
            invokestatic io.micronaut.core.util.StringUtils.isNotEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 22
         8: .line 117
            aload 8 /* trimmed */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 34
            if_icmpne 10
            aload 8 /* trimmed */
            aload 8 /* trimmed */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 34
            if_icmpne 10
         9: .line 118
            aload 8 /* trimmed */
            iconst_1
            aload 8 /* trimmed */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* trimmed */
        10: .line 120
      StackMap locals: java.lang.String
      StackMap stack:
            aload 8 /* trimmed */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 13
        11: .line 121
            aload 0 /* this */
            aload 1 /* cl */
            aload 8 /* trimmed */
            invokevirtual io.micronaut.core.cli.CommandLineParser.processOption:(Lio/micronaut/core/cli/DefaultCommandLine;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* lastOptionName */
        12: .line 122
            goto 22
        13: .line 123
      StackMap locals:
      StackMap stack:
            aload 3 /* lastOptionName */
            ifnull 21
        14: .line 124
            aload 0 /* this */
            getfield io.micronaut.core.cli.CommandLineParser.declaredOptions:Ljava/util/Map;
            aload 3 /* lastOptionName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.micronaut.core.cli.Option
            astore 9 /* opt */
        start local 9 // io.micronaut.core.cli.Option opt
        15: .line 125
            aload 9 /* opt */
            ifnull 18
        16: .line 126
            aload 1 /* cl */
            aload 9 /* opt */
            aload 8 /* trimmed */
            invokevirtual io.micronaut.core.cli.DefaultCommandLine.addDeclaredOption:(Lio/micronaut/core/cli/Option;Ljava/lang/Object;)V
        17: .line 127
            goto 19
        18: .line 128
      StackMap locals: io.micronaut.core.cli.Option
      StackMap stack:
            aload 1 /* cl */
            aload 3 /* lastOptionName */
            aload 8 /* trimmed */
            invokevirtual io.micronaut.core.cli.DefaultCommandLine.addUndeclaredOption:(Ljava/lang/String;Ljava/lang/Object;)V
        19: .line 130
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* lastOptionName */
        end local 9 // io.micronaut.core.cli.Option opt
        20: .line 131
            goto 22
        21: .line 132
      StackMap locals:
      StackMap stack:
            aload 1 /* cl */
            aload 8 /* trimmed */
            invokevirtual io.micronaut.core.cli.DefaultCommandLine.addRemainingArg:(Ljava/lang/String;)V
        end local 8 // java.lang.String trimmed
        end local 4 // java.lang.String arg
        22: .line 111
      StackMap locals: io.micronaut.core.cli.CommandLineParser io.micronaut.core.cli.DefaultCommandLine java.lang.String[] java.lang.String top int int java.lang.String[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        23: iload 5
            iload 6
            if_icmplt 3
        24: .line 137
            return
        end local 3 // java.lang.String lastOptionName
        end local 2 // java.lang.String[] args
        end local 1 // io.micronaut.core.cli.DefaultCommandLine cl
        end local 0 // io.micronaut.core.cli.CommandLineParser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   25     0            this  Lio/micronaut/core/cli/CommandLineParser;
            0   25     1              cl  Lio/micronaut/core/cli/DefaultCommandLine;
            0   25     2            args  [Ljava/lang/String;
            2   25     3  lastOptionName  Ljava/lang/String;
            4   22     4             arg  Ljava/lang/String;
            7   22     8         trimmed  Ljava/lang/String;
           15   20     9             opt  Lio/micronaut/core/cli/Option;
    MethodParameters:
      Name  Flags
      cl    
      args  

  protected io.micronaut.core.cli.DefaultCommandLine createCommandLine();
    descriptor: ()Lio/micronaut/core/cli/DefaultCommandLine;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.micronaut.core.cli.CommandLineParser this
         0: .line 144
            new io.micronaut.core.cli.DefaultCommandLine
            dup
            invokespecial io.micronaut.core.cli.DefaultCommandLine.<init>:()V
            areturn
        end local 0 // io.micronaut.core.cli.CommandLineParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/core/cli/CommandLineParser;

  protected java.lang.String processOption(io.micronaut.core.cli.DefaultCommandLine, java.lang.String);
    descriptor: (Lio/micronaut/core/cli/DefaultCommandLine;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // io.micronaut.core.cli.CommandLineParser this
        start local 1 // io.micronaut.core.cli.DefaultCommandLine cl
        start local 2 // java.lang.String arg
         0: .line 154
            aload 2 /* arg */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmpge 2
         1: .line 155
            aconst_null
            areturn
         2: .line 158
      StackMap locals:
      StackMap stack:
            aload 2 /* arg */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            bipush 68
            if_icmpne 5
            aload 2 /* arg */
            ldc "="
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 5
         3: .line 159
            aload 0 /* this */
            aload 1 /* cl */
            aload 2 /* arg */
            invokevirtual io.micronaut.core.cli.CommandLineParser.processSystemArg:(Lio/micronaut/core/cli/DefaultCommandLine;Ljava/lang/String;)V
         4: .line 160
            aconst_null
            areturn
         5: .line 163
      StackMap locals:
      StackMap stack:
            aload 2 /* arg */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 6
            aload 2 /* arg */
            iconst_2
            aload 2 /* arg */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 2 /* arg */
            iconst_1
            aload 2 /* arg */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         7: invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 2 /* arg */
         8: .line 165
            aload 2 /* arg */
            ldc "="
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 20
         9: .line 166
            aload 2 /* arg */
            ldc "="
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* split */
        start local 3 // java.lang.String[] split
        10: .line 167
            aload 3 /* split */
            iconst_0
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
        11: .line 168
            aload 0 /* this */
            aload 4 /* name */
            invokevirtual io.micronaut.core.cli.CommandLineParser.validateOptionName:(Ljava/lang/String;)V
        12: .line 169
            aload 3 /* split */
            arraylength
            iconst_1
            if_icmple 13
            aload 3 /* split */
            iconst_1
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            goto 14
      StackMap locals: java.lang.String[] java.lang.String
      StackMap stack:
        13: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
        14: astore 5 /* value */
        start local 5 // java.lang.String value
        15: .line 170
            aload 0 /* this */
            getfield io.micronaut.core.cli.CommandLineParser.declaredOptions:Ljava/util/Map;
            aload 4 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 171
            aload 1 /* cl */
            aload 0 /* this */
            getfield io.micronaut.core.cli.CommandLineParser.declaredOptions:Ljava/util/Map;
            aload 4 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.micronaut.core.cli.Option
            aload 5 /* value */
            invokevirtual io.micronaut.core.cli.DefaultCommandLine.addDeclaredOption:(Lio/micronaut/core/cli/Option;Ljava/lang/Object;)V
        17: .line 172
            goto 19
        18: .line 173
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* cl */
            aload 4 /* name */
            aload 5 /* value */
            invokevirtual io.micronaut.core.cli.DefaultCommandLine.addUndeclaredOption:(Ljava/lang/String;Ljava/lang/Object;)V
        19: .line 175
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // java.lang.String value
        end local 4 // java.lang.String name
        end local 3 // java.lang.String[] split
        20: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* arg */
            invokevirtual io.micronaut.core.cli.CommandLineParser.validateOptionName:(Ljava/lang/String;)V
        21: .line 179
            aload 0 /* this */
            getfield io.micronaut.core.cli.CommandLineParser.declaredOptions:Ljava/util/Map;
            aload 2 /* arg */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 24
        22: .line 180
            aload 1 /* cl */
            aload 0 /* this */
            getfield io.micronaut.core.cli.CommandLineParser.declaredOptions:Ljava/util/Map;
            aload 2 /* arg */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.micronaut.core.cli.Option
            invokevirtual io.micronaut.core.cli.DefaultCommandLine.addDeclaredOption:(Lio/micronaut/core/cli/Option;)V
        23: .line 181
            goto 25
        24: .line 182
      StackMap locals:
      StackMap stack:
            aload 1 /* cl */
            aload 2 /* arg */
            invokevirtual io.micronaut.core.cli.DefaultCommandLine.addUndeclaredOption:(Ljava/lang/String;)V
        25: .line 184
      StackMap locals:
      StackMap stack:
            aload 2 /* arg */
            areturn
        end local 2 // java.lang.String arg
        end local 1 // io.micronaut.core.cli.DefaultCommandLine cl
        end local 0 // io.micronaut.core.cli.CommandLineParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   26     0   this  Lio/micronaut/core/cli/CommandLineParser;
            0   26     1     cl  Lio/micronaut/core/cli/DefaultCommandLine;
            0   26     2    arg  Ljava/lang/String;
           10   20     3  split  [Ljava/lang/String;
           11   20     4   name  Ljava/lang/String;
           15   20     5  value  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      cl    
      arg   

  protected void processSystemArg(io.micronaut.core.cli.DefaultCommandLine, java.lang.String);
    descriptor: (Lio/micronaut/core/cli/DefaultCommandLine;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // io.micronaut.core.cli.CommandLineParser this
        start local 1 // io.micronaut.core.cli.DefaultCommandLine cl
        start local 2 // java.lang.String arg
         0: .line 193
            aload 2 /* arg */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 3 /* i */
        start local 3 // int i
         1: .line 194
            aload 2 /* arg */
            iconst_2
            iload 3 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         2: .line 195
            aload 2 /* arg */
            iload 3 /* i */
            iconst_1
            iadd
            aload 2 /* arg */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
         3: .line 196
            aload 1 /* cl */
            aload 4 /* name */
            aload 5 /* value */
            invokevirtual io.micronaut.core.cli.DefaultCommandLine.addSystemProperty:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 197
            return
        end local 5 // java.lang.String value
        end local 4 // java.lang.String name
        end local 3 // int i
        end local 2 // java.lang.String arg
        end local 1 // io.micronaut.core.cli.DefaultCommandLine cl
        end local 0 // io.micronaut.core.cli.CommandLineParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lio/micronaut/core/cli/CommandLineParser;
            0    5     1     cl  Lio/micronaut/core/cli/DefaultCommandLine;
            0    5     2    arg  Ljava/lang/String;
            1    5     3      i  I
            2    5     4   name  Ljava/lang/String;
            3    5     5  value  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      cl    
      arg   

  private void validateOptionName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.micronaut.core.cli.CommandLineParser this
        start local 1 // java.lang.String name
         0: .line 200
            aload 1 /* name */
            ldc " "
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 2
         1: .line 201
            new io.micronaut.core.cli.exceptions.ParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid argument: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.micronaut.core.cli.exceptions.ParseException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 203
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String name
        end local 0 // io.micronaut.core.cli.CommandLineParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/micronaut/core/cli/CommandLineParser;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  static java.lang.String[] translateCommandline(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // java.lang.String toProcess
         0: .line 213
            aload 0 /* toProcess */
            ifnull 1
            aload 0 /* toProcess */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 215
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray java.lang.String
            areturn
         2: .line 222
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* state */
        start local 1 // int state
         3: .line 223
            new java.util.StringTokenizer
            dup
            aload 0 /* toProcess */
            ldc "\"' "
            iconst_1
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            astore 2 /* tok */
        start local 2 // java.util.StringTokenizer tok
         4: .line 224
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.ArrayList result
         5: .line 225
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* current */
        start local 4 // java.lang.StringBuilder current
         6: .line 226
            iconst_0
            istore 5 /* lastTokenHasBeenQuoted */
        start local 5 // boolean lastTokenHasBeenQuoted
         7: .line 228
            goto 35
         8: .line 229
      StackMap locals: java.lang.String int java.util.StringTokenizer java.util.ArrayList java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* tok */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 6 /* nextTok */
        start local 6 // java.lang.String nextTok
         9: .line 230
            iload 1 /* state */
            tableswitch { // 1 - 2
                    1: 10
                    2: 16
              default: 22
          }
        10: .line 232
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "'"
            aload 6 /* nextTok */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        11: .line 233
            iconst_1
            istore 5 /* lastTokenHasBeenQuoted */
        12: .line 234
            iconst_0
            istore 1 /* state */
        13: .line 235
            goto 35
        14: .line 236
      StackMap locals:
      StackMap stack:
            aload 4 /* current */
            aload 6 /* nextTok */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 238
            goto 35
        16: .line 240
      StackMap locals:
      StackMap stack:
            ldc "\""
            aload 6 /* nextTok */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        17: .line 241
            iconst_1
            istore 5 /* lastTokenHasBeenQuoted */
        18: .line 242
            iconst_0
            istore 1 /* state */
        19: .line 243
            goto 35
        20: .line 244
      StackMap locals:
      StackMap stack:
            aload 4 /* current */
            aload 6 /* nextTok */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 246
            goto 35
        22: .line 248
      StackMap locals:
      StackMap stack:
            ldc "'"
            aload 6 /* nextTok */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        23: .line 249
            iconst_1
            istore 1 /* state */
        24: .line 250
            goto 34
      StackMap locals:
      StackMap stack:
        25: ldc "\""
            aload 6 /* nextTok */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        26: .line 251
            iconst_2
            istore 1 /* state */
        27: .line 252
            goto 34
      StackMap locals:
      StackMap stack:
        28: ldc " "
            aload 6 /* nextTok */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        29: .line 253
            iload 5 /* lastTokenHasBeenQuoted */
            ifne 30
            aload 4 /* current */
            invokevirtual java.lang.StringBuilder.length:()I
            ifeq 34
        30: .line 254
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            aload 4 /* current */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        31: .line 255
            aload 4 /* current */
            iconst_0
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        32: .line 257
            goto 34
        33: .line 258
      StackMap locals:
      StackMap stack:
            aload 4 /* current */
            aload 6 /* nextTok */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        34: .line 260
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* lastTokenHasBeenQuoted */
        end local 6 // java.lang.String nextTok
        35: .line 228
      StackMap locals:
      StackMap stack:
            aload 2 /* tok */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 8
        36: .line 264
            iload 5 /* lastTokenHasBeenQuoted */
            ifne 37
            aload 4 /* current */
            invokevirtual java.lang.StringBuilder.length:()I
            ifeq 38
        37: .line 265
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            aload 4 /* current */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        38: .line 267
      StackMap locals:
      StackMap stack:
            iload 1 /* state */
            iconst_1
            if_icmpeq 39
            iload 1 /* state */
            iconst_2
            if_icmpne 40
        39: .line 268
      StackMap locals:
      StackMap stack:
            new io.micronaut.core.cli.exceptions.ParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unbalanced quotes in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* toProcess */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.micronaut.core.cli.exceptions.ParseException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 270
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            iconst_0
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 5 // boolean lastTokenHasBeenQuoted
        end local 4 // java.lang.StringBuilder current
        end local 3 // java.util.ArrayList result
        end local 2 // java.util.StringTokenizer tok
        end local 1 // int state
        end local 0 // java.lang.String toProcess
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   41     0               toProcess  Ljava/lang/String;
            3   41     1                   state  I
            4   41     2                     tok  Ljava/util/StringTokenizer;
            5   41     3                  result  Ljava/util/ArrayList<Ljava/lang/String;>;
            6   41     4                 current  Ljava/lang/StringBuilder;
            7   41     5  lastTokenHasBeenQuoted  Z
            9   35     6                 nextTok  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      toProcess  

  public io.micronaut.core.cli.CommandLine$Builder addOption(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lio/micronaut/core/cli/CommandLine$Builder;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            invokevirtual io.micronaut.core.cli.CommandLineParser.addOption:(Ljava/lang/String;Ljava/lang/String;)Lio/micronaut/core/cli/CommandLineParser;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lio/micronaut/core/cli/CommandLine$Builder<Lio/micronaut/core/cli/CommandLineParser;>;
SourceFile: "CommandLineParser.java"
InnerClasses:
  public abstract Builder = io.micronaut.core.cli.CommandLine$Builder of io.micronaut.core.cli.CommandLine
    RuntimeVisibleAnnotations: 
      io.micronaut.core.annotation.Internal()