class org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser
  super_class: java.lang.Object
{
  private static final int DEFAULT_CAPACITY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  private final java.lang.CharSequence source;
    descriptor: Ljava/lang/CharSequence;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final char separator;
    descriptor: C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private int[] start;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int[] end;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType[] type;
    descriptor: [Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.CharSequence[] resolved;
    descriptor: [Ljava/lang/CharSequence;
    flags: (0x0002) ACC_PRIVATE

  void <init>(java.lang.CharSequence, char);
    descriptor: (Ljava/lang/CharSequence;C)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
        start local 1 // java.lang.CharSequence source
        start local 2 // char separator
         0: .line 824
            aload 0 /* this */
            aload 1 /* source */
            iload 2 /* separator */
            bipush 6
            invokespecial org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.<init>:(Ljava/lang/CharSequence;CI)V
         1: .line 825
            return
        end local 2 // char separator
        end local 1 // java.lang.CharSequence source
        end local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementsParser;
            0    2     1     source  Ljava/lang/CharSequence;
            0    2     2  separator  C
    MethodParameters:
           Name  Flags
      source     
      separator  

  void <init>(java.lang.CharSequence, char, int);
    descriptor: (Ljava/lang/CharSequence;CI)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
        start local 1 // java.lang.CharSequence source
        start local 2 // char separator
        start local 3 // int capacity
         0: .line 827
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 828
            aload 0 /* this */
            aload 1 /* source */
            putfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.source:Ljava/lang/CharSequence;
         2: .line 829
            aload 0 /* this */
            iload 2 /* separator */
            putfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.separator:C
         3: .line 830
            aload 0 /* this */
            iload 3 /* capacity */
            newarray 10
            putfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.start:[I
         4: .line 831
            aload 0 /* this */
            iload 3 /* capacity */
            newarray 10
            putfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.end:[I
         5: .line 832
            aload 0 /* this */
            iload 3 /* capacity */
            anewarray org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType
            putfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.type:[Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
         6: .line 833
            return
        end local 3 // int capacity
        end local 2 // char separator
        end local 1 // java.lang.CharSequence source
        end local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementsParser;
            0    7     1     source  Ljava/lang/CharSequence;
            0    7     2  separator  C
            0    7     3   capacity  I
    MethodParameters:
           Name  Flags
      source     
      separator  
      capacity   

  org.springframework.boot.context.properties.source.ConfigurationPropertyName$Elements parse();
    descriptor: ()Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$Elements;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
         0: .line 836
            aload 0 /* this */
            aconst_null
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.parse:(Ljava/util/function/Function;)Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$Elements;
            areturn
        end local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementsParser;

  org.springframework.boot.context.properties.source.ConfigurationPropertyName$Elements parse(java.util.function.Function<java.lang.CharSequence, java.lang.CharSequence>);
    descriptor: (Ljava/util/function/Function;)Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$Elements;
    flags: (0x0000) 
    Code:
      stack=8, locals=8, args_size=2
        start local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
        start local 1 // java.util.function.Function valueProcessor
         0: .line 840
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.source:Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.length:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 841
            iconst_0
            istore 3 /* openBracketCount */
        start local 3 // int openBracketCount
         2: .line 842
            iconst_0
            istore 4 /* start */
        start local 4 // int start
         3: .line 843
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.EMPTY:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            astore 5 /* type */
        start local 5 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType type
         4: .line 844
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 28
         6: .line 845
      StackMap locals: org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser java.util.function.Function int int int org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType int
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.source:Ljava/lang/CharSequence;
            iload 6 /* i */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 7 /* ch */
        start local 7 // char ch
         7: .line 846
            iload 7 /* ch */
            bipush 91
            if_icmpne 14
         8: .line 847
            iload 3 /* openBracketCount */
            ifne 12
         9: .line 848
            aload 0 /* this */
            iload 4 /* start */
            iload 6 /* i */
            aload 5 /* type */
            aload 1 /* valueProcessor */
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.add:(IILorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;Ljava/util/function/Function;)V
        10: .line 849
            iload 6 /* i */
            iconst_1
            iadd
            istore 4 /* start */
        11: .line 850
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.NUMERICALLY_INDEXED:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            astore 5 /* type */
        12: .line 852
      StackMap locals: int
      StackMap stack:
            iinc 3 /* openBracketCount */ 1
        13: .line 853
            goto 27
        14: .line 854
      StackMap locals:
      StackMap stack:
            iload 7 /* ch */
            bipush 93
            if_icmpne 21
        15: .line 855
            iinc 3 /* openBracketCount */ -1
        16: .line 856
            iload 3 /* openBracketCount */
            ifne 27
        17: .line 857
            aload 0 /* this */
            iload 4 /* start */
            iload 6 /* i */
            aload 5 /* type */
            aload 1 /* valueProcessor */
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.add:(IILorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;Ljava/util/function/Function;)V
        18: .line 858
            iload 6 /* i */
            iconst_1
            iadd
            istore 4 /* start */
        19: .line 859
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.EMPTY:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            astore 5 /* type */
        20: .line 861
            goto 27
        21: .line 862
      StackMap locals:
      StackMap stack:
            aload 5 /* type */
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.isIndexed:()Z
            ifne 26
            iload 7 /* ch */
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.separator:C
            if_icmpne 26
        22: .line 863
            aload 0 /* this */
            iload 4 /* start */
            iload 6 /* i */
            aload 5 /* type */
            aload 1 /* valueProcessor */
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.add:(IILorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;Ljava/util/function/Function;)V
        23: .line 864
            iload 6 /* i */
            iconst_1
            iadd
            istore 4 /* start */
        24: .line 865
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.EMPTY:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            astore 5 /* type */
        25: .line 866
            goto 27
        26: .line 868
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* type */
            iload 7 /* ch */
            iload 6 /* i */
            iload 4 /* start */
            isub
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.updateType:(Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;CI)Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            astore 5 /* type */
        end local 7 // char ch
        27: .line 844
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 6 /* i */
            iload 2 /* length */
            if_icmplt 6
        end local 6 // int i
        29: .line 871
            iload 3 /* openBracketCount */
            ifeq 31
        30: .line 872
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.NON_UNIFORM:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            astore 5 /* type */
        31: .line 874
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* start */
            iload 2 /* length */
            aload 5 /* type */
            aload 1 /* valueProcessor */
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.add:(IILorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;Ljava/util/function/Function;)V
        32: .line 875
            new org.springframework.boot.context.properties.source.ConfigurationPropertyName$Elements
            dup
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.source:Ljava/lang/CharSequence;
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.size:I
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.start:[I
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.end:[I
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.type:[Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.resolved:[Ljava/lang/CharSequence;
            invokespecial org.springframework.boot.context.properties.source.ConfigurationPropertyName$Elements.<init>:(Ljava/lang/CharSequence;I[I[I[Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;[Ljava/lang/CharSequence;)V
            areturn
        end local 5 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType type
        end local 4 // int start
        end local 3 // int openBracketCount
        end local 2 // int length
        end local 1 // java.util.function.Function valueProcessor
        end local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   33     0              this  Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementsParser;
            0   33     1    valueProcessor  Ljava/util/function/Function<Ljava/lang/CharSequence;Ljava/lang/CharSequence;>;
            1   33     2            length  I
            2   33     3  openBracketCount  I
            3   33     4             start  I
            4   33     5              type  Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            5   29     6                 i  I
            7   27     7                ch  C
    Signature: (Ljava/util/function/Function<Ljava/lang/CharSequence;Ljava/lang/CharSequence;>;)Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$Elements;
    MethodParameters:
                Name  Flags
      valueProcessor  

  private org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType updateType(org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType, char, int);
    descriptor: (Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;CI)Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
        start local 1 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType existingType
        start local 2 // char ch
        start local 3 // int index
         0: .line 879
            aload 1 /* existingType */
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.isIndexed:()Z
            ifeq 4
         1: .line 880
            aload 1 /* existingType */
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.NUMERICALLY_INDEXED:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            if_acmpne 3
            iload 2 /* ch */
            invokestatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.isNumeric:(C)Z
            ifne 3
         2: .line 881
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.INDEXED:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            areturn
         3: .line 883
      StackMap locals:
      StackMap stack:
            aload 1 /* existingType */
            areturn
         4: .line 885
      StackMap locals:
      StackMap stack:
            aload 1 /* existingType */
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.EMPTY:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            if_acmpne 8
            iload 2 /* ch */
            iload 3 /* index */
            invokestatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.isValidChar:(CI)Z
            ifeq 8
         5: .line 886
            iload 3 /* index */
            ifne 6
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.UNIFORM:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            goto 7
      StackMap locals:
      StackMap stack:
         6: getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.NON_UNIFORM:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
      StackMap locals:
      StackMap stack: org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType
         7: areturn
         8: .line 888
      StackMap locals:
      StackMap stack:
            aload 1 /* existingType */
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.UNIFORM:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            if_acmpne 10
            iload 2 /* ch */
            bipush 45
            if_icmpne 10
         9: .line 889
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.DASHED:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            areturn
        10: .line 891
      StackMap locals:
      StackMap stack:
            iload 2 /* ch */
            iload 3 /* index */
            invokestatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.isValidChar:(CI)Z
            ifne 14
        11: .line 892
            aload 1 /* existingType */
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.EMPTY:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            if_acmpne 13
            iload 2 /* ch */
            invokestatic java.lang.Character.toLowerCase:(C)C
            iload 3 /* index */
            invokestatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.isValidChar:(CI)Z
            ifne 13
        12: .line 893
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.EMPTY:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            areturn
        13: .line 895
      StackMap locals:
      StackMap stack:
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.NON_UNIFORM:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            areturn
        14: .line 897
      StackMap locals:
      StackMap stack:
            aload 1 /* existingType */
            areturn
        end local 3 // int index
        end local 2 // char ch
        end local 1 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType existingType
        end local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementsParser;
            0   15     1  existingType  Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            0   15     2            ch  C
            0   15     3         index  I
    MethodParameters:
              Name  Flags
      existingType  
      ch            
      index         

  private void add(int, int, org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType, java.util.function.Function<java.lang.CharSequence, java.lang.CharSequence>);
    descriptor: (IILorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;Ljava/util/function/Function;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
        start local 1 // int start
        start local 2 // int end
        start local 3 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType type
        start local 4 // java.util.function.Function valueProcessor
         0: .line 901
            iload 2 /* end */
            iload 1 /* start */
            isub
            iconst_1
            if_icmplt 1
            aload 3 /* type */
            getstatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType.EMPTY:Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            if_acmpne 2
         1: .line 902
      StackMap locals:
      StackMap stack:
            return
         2: .line 904
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.start:[I
            arraylength
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.size:I
            if_icmpne 7
         3: .line 905
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.start:[I
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.expand:([I)[I
            putfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.start:[I
         4: .line 906
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.end:[I
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.expand:([I)[I
            putfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.end:[I
         5: .line 907
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.type:[Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.expand:([Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;)[Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            putfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.type:[Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
         6: .line 908
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.resolved:[Ljava/lang/CharSequence;
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.expand:([Ljava/lang/CharSequence;)[Ljava/lang/CharSequence;
            putfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.resolved:[Ljava/lang/CharSequence;
         7: .line 910
      StackMap locals:
      StackMap stack:
            aload 4 /* valueProcessor */
            ifnull 17
         8: .line 911
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.resolved:[Ljava/lang/CharSequence;
            ifnonnull 10
         9: .line 912
            aload 0 /* this */
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.start:[I
            arraylength
            anewarray java.lang.CharSequence
            putfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.resolved:[Ljava/lang/CharSequence;
        10: .line 914
      StackMap locals:
      StackMap stack:
            aload 4 /* valueProcessor */
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.source:Ljava/lang/CharSequence;
            iload 1 /* start */
            iload 2 /* end */
            invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.CharSequence
            astore 5 /* resolved */
        start local 5 // java.lang.CharSequence resolved
        11: .line 915
            new org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser
            dup
            aload 5 /* resolved */
            bipush 46
            invokespecial org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.<init>:(Ljava/lang/CharSequence;C)V
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.parse:()Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$Elements;
            astore 6 /* resolvedElements */
        start local 6 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$Elements resolvedElements
        12: .line 916
            aload 6 /* resolvedElements */
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$Elements.getSize:()I
            iconst_1
            if_icmpne 13
            iconst_1
            goto 14
      StackMap locals: java.lang.CharSequence org.springframework.boot.context.properties.source.ConfigurationPropertyName$Elements
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: ldc "Resolved element must not contain multiple elements"
            invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
        15: .line 917
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.resolved:[Ljava/lang/CharSequence;
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.size:I
            aload 6 /* resolvedElements */
            iconst_0
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$Elements.get:(I)Ljava/lang/CharSequence;
            aastore
        16: .line 918
            aload 6 /* resolvedElements */
            iconst_0
            invokevirtual org.springframework.boot.context.properties.source.ConfigurationPropertyName$Elements.getType:(I)Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            astore 3 /* type */
        end local 6 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$Elements resolvedElements
        end local 5 // java.lang.CharSequence resolved
        17: .line 920
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.start:[I
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.size:I
            iload 1 /* start */
            iastore
        18: .line 921
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.end:[I
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.size:I
            iload 2 /* end */
            iastore
        19: .line 922
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.type:[Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            aload 0 /* this */
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.size:I
            aload 3 /* type */
            aastore
        20: .line 923
            aload 0 /* this */
            dup
            getfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.size:I
            iconst_1
            iadd
            putfield org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.size:I
        21: .line 924
            return
        end local 4 // java.util.function.Function valueProcessor
        end local 3 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType type
        end local 2 // int end
        end local 1 // int start
        end local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0              this  Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementsParser;
            0   22     1             start  I
            0   22     2               end  I
            0   22     3              type  Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            0   22     4    valueProcessor  Ljava/util/function/Function<Ljava/lang/CharSequence;Ljava/lang/CharSequence;>;
           11   17     5          resolved  Ljava/lang/CharSequence;
           12   17     6  resolvedElements  Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$Elements;
    Signature: (IILorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;Ljava/util/function/Function<Ljava/lang/CharSequence;Ljava/lang/CharSequence;>;)V
    MethodParameters:
                Name  Flags
      start           
      end             
      type            
      valueProcessor  

  private int[] expand(int[]);
    descriptor: ([I)[I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
        start local 1 // int[] src
         0: .line 927
            aload 1 /* src */
            arraylength
            bipush 6
            iadd
            newarray 10
            astore 2 /* dest */
        start local 2 // int[] dest
         1: .line 928
            aload 1 /* src */
            iconst_0
            aload 2 /* dest */
            iconst_0
            aload 1 /* src */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 929
            aload 2 /* dest */
            areturn
        end local 2 // int[] dest
        end local 1 // int[] src
        end local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementsParser;
            0    3     1   src  [I
            1    3     2  dest  [I
    MethodParameters:
      Name  Flags
      src   

  private org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType[] expand(org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType[]);
    descriptor: ([Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;)[Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
        start local 1 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType[] src
         0: .line 933
            aload 1 /* src */
            arraylength
            bipush 6
            iadd
            anewarray org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType
            astore 2 /* dest */
        start local 2 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType[] dest
         1: .line 934
            aload 1 /* src */
            iconst_0
            aload 2 /* dest */
            iconst_0
            aload 1 /* src */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 935
            aload 2 /* dest */
            areturn
        end local 2 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType[] dest
        end local 1 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType[] src
        end local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementsParser;
            0    3     1   src  [Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
            1    3     2  dest  [Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementType;
    MethodParameters:
      Name  Flags
      src   

  private java.lang.CharSequence[] expand(java.lang.CharSequence[]);
    descriptor: ([Ljava/lang/CharSequence;)[Ljava/lang/CharSequence;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
        start local 1 // java.lang.CharSequence[] src
         0: .line 939
            aload 1 /* src */
            ifnonnull 2
         1: .line 940
            aconst_null
            areturn
         2: .line 942
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            arraylength
            bipush 6
            iadd
            anewarray java.lang.CharSequence
            astore 2 /* dest */
        start local 2 // java.lang.CharSequence[] dest
         3: .line 943
            aload 1 /* src */
            iconst_0
            aload 2 /* dest */
            iconst_0
            aload 1 /* src */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 944
            aload 2 /* dest */
            areturn
        end local 2 // java.lang.CharSequence[] dest
        end local 1 // java.lang.CharSequence[] src
        end local 0 // org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/springframework/boot/context/properties/source/ConfigurationPropertyName$ElementsParser;
            0    5     1   src  [Ljava/lang/CharSequence;
            3    5     2  dest  [Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      src   

  static boolean isValidChar(char, int);
    descriptor: (CI)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // char ch
        start local 1 // int index
         0: .line 948
            iload 0 /* ch */
            invokestatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.isAlpha:(C)Z
            ifne 2
            iload 0 /* ch */
            invokestatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.isNumeric:(C)Z
            ifne 2
            iload 1 /* index */
            ifeq 1
            iload 0 /* ch */
            bipush 45
            if_icmpeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 1 // int index
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0     ch  C
            0    3     1  index  I
    MethodParameters:
       Name  Flags
      ch     
      index  

  static boolean isAlphaNumeric(char);
    descriptor: (C)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // char ch
         0: .line 952
            iload 0 /* ch */
            invokestatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.isAlpha:(C)Z
            ifne 1
            iload 0 /* ch */
            invokestatic org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser.isNumeric:(C)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ch  C
    MethodParameters:
      Name  Flags
      ch    

  private static boolean isAlpha(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char ch
         0: .line 956
            iload 0 /* ch */
            bipush 97
            if_icmplt 1
            iload 0 /* ch */
            bipush 122
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ch  C
    MethodParameters:
      Name  Flags
      ch    

  private static boolean isNumeric(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char ch
         0: .line 960
            iload 0 /* ch */
            bipush 48
            if_icmplt 1
            iload 0 /* ch */
            bipush 57
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ch  C
    MethodParameters:
      Name  Flags
      ch    
}
SourceFile: "ConfigurationPropertyName.java"
NestHost: org.springframework.boot.context.properties.source.ConfigurationPropertyName
InnerClasses:
  private final ElementType = org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementType of org.springframework.boot.context.properties.source.ConfigurationPropertyName
  private Elements = org.springframework.boot.context.properties.source.ConfigurationPropertyName$Elements of org.springframework.boot.context.properties.source.ConfigurationPropertyName
  private ElementsParser = org.springframework.boot.context.properties.source.ConfigurationPropertyName$ElementsParser of org.springframework.boot.context.properties.source.ConfigurationPropertyName