public class org.aspectj.weaver.TypeFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.aspectj.weaver.TypeFactory
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.aspectj.weaver.TypeFactory this
         0: .line 18
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.aspectj.weaver.TypeFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/aspectj/weaver/TypeFactory;

  public static org.aspectj.weaver.ReferenceType createParameterizedType(org.aspectj.weaver.ResolvedType, org.aspectj.weaver.UnresolvedType[], org.aspectj.weaver.World);
    descriptor: (Lorg/aspectj/weaver/ResolvedType;[Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ReferenceType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.aspectj.weaver.ResolvedType aBaseType
        start local 1 // org.aspectj.weaver.UnresolvedType[] someTypeParameters
        start local 2 // org.aspectj.weaver.World inAWorld
         0: .line 29
            aload 0 /* aBaseType */
            astore 3 /* baseType */
        start local 3 // org.aspectj.weaver.ResolvedType baseType
         1: .line 30
            aload 0 /* aBaseType */
            invokevirtual org.aspectj.weaver.ResolvedType.isGenericType:()Z
            ifne 8
         2: .line 31
            aload 1 /* someTypeParameters */
            ifnull 8
            aload 1 /* someTypeParameters */
            arraylength
            ifle 8
         3: .line 32
            aload 0 /* aBaseType */
            invokevirtual org.aspectj.weaver.ResolvedType.isRawType:()Z
            ifne 5
         4: .line 33
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expecting raw type, but "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* aBaseType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is of type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* aBaseType */
            invokevirtual org.aspectj.weaver.ResolvedType.getTypekind:()Lorg/aspectj/weaver/UnresolvedType$TypeKind;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 35
      StackMap locals: org.aspectj.weaver.ResolvedType
      StackMap stack:
            aload 3 /* baseType */
            invokevirtual org.aspectj.weaver.ResolvedType.getGenericType:()Lorg/aspectj/weaver/ReferenceType;
            astore 3 /* baseType */
         6: .line 36
            aload 3 /* baseType */
            ifnonnull 8
         7: .line 37
            new java.lang.IllegalStateException
            dup
            ldc "Raw type does not have generic type set"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 41
      StackMap locals:
      StackMap stack:
            aload 2 /* inAWorld */
            aload 1 /* someTypeParameters */
            invokevirtual org.aspectj.weaver.World.resolve:([Lorg/aspectj/weaver/UnresolvedType;)[Lorg/aspectj/weaver/ResolvedType;
            astore 4 /* resolvedParameters */
        start local 4 // org.aspectj.weaver.ResolvedType[] resolvedParameters
         9: .line 43
            aload 3 /* baseType */
            checkcast org.aspectj.weaver.ReferenceType
            aload 4 /* resolvedParameters */
            invokevirtual org.aspectj.weaver.ReferenceType.findDerivativeType:([Lorg/aspectj/weaver/ResolvedType;)Lorg/aspectj/weaver/ReferenceType;
            astore 5 /* existingType */
        start local 5 // org.aspectj.weaver.ReferenceType existingType
        10: .line 45
            aconst_null
            astore 6 /* pType */
        start local 6 // org.aspectj.weaver.ReferenceType pType
        11: .line 47
            aload 5 /* existingType */
            ifnull 14
        12: .line 48
            aload 5 /* existingType */
            astore 6 /* pType */
        13: .line 49
            goto 15
        14: .line 50
      StackMap locals: org.aspectj.weaver.ResolvedType[] org.aspectj.weaver.ReferenceType org.aspectj.weaver.ReferenceType
      StackMap stack:
            new org.aspectj.weaver.ReferenceType
            dup
            aload 3 /* baseType */
            aload 4 /* resolvedParameters */
            aload 2 /* inAWorld */
            invokespecial org.aspectj.weaver.ReferenceType.<init>:(Lorg/aspectj/weaver/ResolvedType;[Lorg/aspectj/weaver/ResolvedType;Lorg/aspectj/weaver/World;)V
            astore 6 /* pType */
        15: .line 53
      StackMap locals:
      StackMap stack:
            aload 6 /* pType */
            aload 2 /* inAWorld */
            invokevirtual org.aspectj.weaver.ReferenceType.resolve:(Lorg/aspectj/weaver/World;)Lorg/aspectj/weaver/ResolvedType;
            checkcast org.aspectj.weaver.ReferenceType
            areturn
        end local 6 // org.aspectj.weaver.ReferenceType pType
        end local 5 // org.aspectj.weaver.ReferenceType existingType
        end local 4 // org.aspectj.weaver.ResolvedType[] resolvedParameters
        end local 3 // org.aspectj.weaver.ResolvedType baseType
        end local 2 // org.aspectj.weaver.World inAWorld
        end local 1 // org.aspectj.weaver.UnresolvedType[] someTypeParameters
        end local 0 // org.aspectj.weaver.ResolvedType aBaseType
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0           aBaseType  Lorg/aspectj/weaver/ResolvedType;
            0   16     1  someTypeParameters  [Lorg/aspectj/weaver/UnresolvedType;
            0   16     2            inAWorld  Lorg/aspectj/weaver/World;
            1   16     3            baseType  Lorg/aspectj/weaver/ResolvedType;
            9   16     4  resolvedParameters  [Lorg/aspectj/weaver/ResolvedType;
           10   16     5        existingType  Lorg/aspectj/weaver/ReferenceType;
           11   16     6               pType  Lorg/aspectj/weaver/ReferenceType;
    MethodParameters:
                    Name  Flags
      aBaseType           
      someTypeParameters  
      inAWorld            

  public static org.aspectj.weaver.UnresolvedType createUnresolvedParameterizedType(java.lang.String, java.lang.String, org.aspectj.weaver.UnresolvedType[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/weaver/UnresolvedType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.String sig
        start local 1 // java.lang.String erasuresig
        start local 2 // org.aspectj.weaver.UnresolvedType[] arguments
         0: .line 60
            new org.aspectj.weaver.UnresolvedType
            dup
            aload 0 /* sig */
            aload 1 /* erasuresig */
            aload 2 /* arguments */
            invokespecial org.aspectj.weaver.UnresolvedType.<init>:(Ljava/lang/String;Ljava/lang/String;[Lorg/aspectj/weaver/UnresolvedType;)V
            areturn
        end local 2 // org.aspectj.weaver.UnresolvedType[] arguments
        end local 1 // java.lang.String erasuresig
        end local 0 // java.lang.String sig
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0         sig  Ljava/lang/String;
            0    1     1  erasuresig  Ljava/lang/String;
            0    1     2   arguments  [Lorg/aspectj/weaver/UnresolvedType;
    MethodParameters:
            Name  Flags
      sig         
      erasuresig  
      arguments   

  static org.aspectj.weaver.UnresolvedType convertSigToType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.lang.String aSignature
         0: .line 81
            aconst_null
            astore 1 /* bound */
        start local 1 // org.aspectj.weaver.UnresolvedType bound
         1: .line 82
            aload 0 /* aSignature */
            bipush 60
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* startOfParams */
        start local 2 // int startOfParams
         2: .line 83
            iload 2 /* startOfParams */
            iconst_m1
            if_icmpne 5
         3: .line 84
            aload 0 /* aSignature */
            invokestatic org.aspectj.weaver.UnresolvedType.forSignature:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            astore 1 /* bound */
         4: .line 85
            goto 9
         5: .line 86
      StackMap locals: org.aspectj.weaver.UnresolvedType int
      StackMap stack:
            aload 0 /* aSignature */
            bipush 62
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* endOfParams */
        start local 3 // int endOfParams
         6: .line 87
            new java.lang.StringBuilder
            dup
            ldc "L"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* aSignature */
            iconst_1
            iload 2 /* startOfParams */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* signatureErasure */
        start local 4 // java.lang.String signatureErasure
         7: .line 88
            aload 0 /* aSignature */
            iload 2 /* startOfParams */
            iconst_1
            iadd
            iload 3 /* endOfParams */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic org.aspectj.weaver.TypeFactory.createTypeParams:(Ljava/lang/String;)[Lorg/aspectj/weaver/UnresolvedType;
            astore 5 /* typeParams */
        start local 5 // org.aspectj.weaver.UnresolvedType[] typeParams
         8: .line 89
            new org.aspectj.weaver.UnresolvedType
            dup
            new java.lang.StringBuilder
            dup
            ldc "P"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* aSignature */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* signatureErasure */
            aload 5 /* typeParams */
            invokespecial org.aspectj.weaver.UnresolvedType.<init>:(Ljava/lang/String;Ljava/lang/String;[Lorg/aspectj/weaver/UnresolvedType;)V
            astore 1 /* bound */
        end local 5 // org.aspectj.weaver.UnresolvedType[] typeParams
        end local 4 // java.lang.String signatureErasure
        end local 3 // int endOfParams
         9: .line 91
      StackMap locals:
      StackMap stack:
            aload 1 /* bound */
            areturn
        end local 2 // int startOfParams
        end local 1 // org.aspectj.weaver.UnresolvedType bound
        end local 0 // java.lang.String aSignature
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0        aSignature  Ljava/lang/String;
            1   10     1             bound  Lorg/aspectj/weaver/UnresolvedType;
            2   10     2     startOfParams  I
            6    9     3       endOfParams  I
            7    9     4  signatureErasure  Ljava/lang/String;
            8    9     5        typeParams  [Lorg/aspectj/weaver/UnresolvedType;
    MethodParameters:
            Name  Flags
      aSignature  

  public static org.aspectj.weaver.UnresolvedType createTypeFromSignature(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=15, args_size=1
        start local 0 // java.lang.String signature
         0: .line 102
            aload 0 /* signature */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* firstChar */
        start local 1 // char firstChar
         1: .line 103
            iload 1 /* firstChar */
            bipush 80
            if_icmpne 39
         2: .line 108
            aload 0 /* signature */
            bipush 60
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* startOfParams */
        start local 2 // int startOfParams
         3: .line 110
            iload 2 /* startOfParams */
            iconst_m1
            if_icmpne 6
         4: .line 112
            new java.lang.StringBuilder
            dup
            ldc "L"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* signature */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* signatureErasure */
        start local 3 // java.lang.String signatureErasure
         5: .line 113
            new org.aspectj.weaver.UnresolvedType
            dup
            aload 0 /* signature */
            aload 3 /* signatureErasure */
            getstatic org.aspectj.weaver.UnresolvedType.NONE:[Lorg/aspectj/weaver/UnresolvedType;
            invokespecial org.aspectj.weaver.UnresolvedType.<init>:(Ljava/lang/String;Ljava/lang/String;[Lorg/aspectj/weaver/UnresolvedType;)V
            areturn
        end local 3 // java.lang.String signatureErasure
         6: .line 115
      StackMap locals: int int
      StackMap stack:
            aload 0 /* signature */
            iload 2 /* startOfParams */
            invokestatic org.aspectj.weaver.TypeFactory.locateMatchingEndAngleBracket:(Ljava/lang/CharSequence;I)I
            istore 3 /* endOfParams */
        start local 3 // int endOfParams
         7: .line 116
            new java.lang.StringBuffer
            dup
            aload 0 /* signature */
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 4 /* erasureSig */
        start local 4 // java.lang.StringBuffer erasureSig
         8: .line 117
            aload 4 /* erasureSig */
            iconst_0
            bipush 76
            invokevirtual java.lang.StringBuffer.setCharAt:(IC)V
         9: .line 118
            goto 14
        10: .line 119
      StackMap locals: int java.lang.StringBuffer
      StackMap stack:
            aload 4 /* erasureSig */
            iload 2 /* startOfParams */
            iload 3 /* endOfParams */
            iconst_1
            iadd
            invokevirtual java.lang.StringBuffer.delete:(II)Ljava/lang/StringBuffer;
            pop
        11: .line 120
            aload 4 /* erasureSig */
            invokestatic org.aspectj.weaver.TypeFactory.locateFirstBracket:(Ljava/lang/StringBuffer;)I
            istore 2 /* startOfParams */
        12: .line 121
            iload 2 /* startOfParams */
            iconst_m1
            if_icmpeq 14
        13: .line 122
            aload 4 /* erasureSig */
            iload 2 /* startOfParams */
            invokestatic org.aspectj.weaver.TypeFactory.locateMatchingEndAngleBracket:(Ljava/lang/CharSequence;I)I
            istore 3 /* endOfParams */
        14: .line 118
      StackMap locals:
      StackMap stack:
            iload 2 /* startOfParams */
            iconst_m1
            if_icmpne 10
        15: .line 126
            aload 4 /* erasureSig */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 5 /* signatureErasure */
        start local 5 // java.lang.String signatureErasure
        16: .line 130
            aconst_null
            astore 6 /* lastType */
        start local 6 // java.lang.String lastType
        17: .line 131
            aload 0 /* signature */
            ldc "$"
            iload 3 /* endOfParams */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 7 /* nestedTypePosition */
        start local 7 // int nestedTypePosition
        18: .line 132
            iload 7 /* nestedTypePosition */
            iconst_m1
            if_icmpeq 21
        19: .line 133
            aload 0 /* signature */
            iload 7 /* nestedTypePosition */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* lastType */
        20: .line 134
            goto 22
        21: .line 135
      StackMap locals: java.lang.String java.lang.String int
      StackMap stack:
            new java.lang.String
            dup
            aload 0 /* signature */
            invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
            astore 6 /* lastType */
        22: .line 137
      StackMap locals:
      StackMap stack:
            aload 6 /* lastType */
            ldc "<"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* startOfParams */
        23: .line 138
            getstatic org.aspectj.weaver.UnresolvedType.NONE:[Lorg/aspectj/weaver/UnresolvedType;
            astore 8 /* typeParams */
        start local 8 // org.aspectj.weaver.UnresolvedType[] typeParams
        24: .line 139
            iload 2 /* startOfParams */
            iconst_m1
            if_icmpeq 27
        25: .line 140
            aload 6 /* lastType */
            iload 2 /* startOfParams */
            invokestatic org.aspectj.weaver.TypeFactory.locateMatchingEndAngleBracket:(Ljava/lang/CharSequence;I)I
            istore 3 /* endOfParams */
        26: .line 141
            aload 6 /* lastType */
            iload 2 /* startOfParams */
            iconst_1
            iadd
            iload 3 /* endOfParams */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic org.aspectj.weaver.TypeFactory.createTypeParams:(Ljava/lang/String;)[Lorg/aspectj/weaver/UnresolvedType;
            astore 8 /* typeParams */
        27: .line 143
      StackMap locals: org.aspectj.weaver.UnresolvedType[]
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 9 /* s */
        start local 9 // java.lang.StringBuilder s
        28: .line 144
            aload 0 /* signature */
            bipush 60
            invokevirtual java.lang.String.indexOf:(I)I
            istore 10 /* firstAngleBracket */
        start local 10 // int firstAngleBracket
        29: .line 145
            aload 9 /* s */
            ldc "P"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* signature */
            iconst_1
            iload 10 /* firstAngleBracket */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        30: .line 146
            aload 9 /* s */
            bipush 60
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        31: .line 147
            aload 8 /* typeParams */
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 35
      StackMap locals: java.lang.String int int int java.lang.StringBuffer java.lang.String java.lang.String int org.aspectj.weaver.UnresolvedType[] java.lang.StringBuilder int top int int org.aspectj.weaver.UnresolvedType[]
      StackMap stack:
        32: aload 14
            iload 12
            aaload
            astore 11 /* typeParameter */
        start local 11 // org.aspectj.weaver.UnresolvedType typeParameter
        33: .line 148
            aload 9 /* s */
            aload 11 /* typeParameter */
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 11 // org.aspectj.weaver.UnresolvedType typeParameter
        34: .line 147
            iinc 12 1
      StackMap locals:
      StackMap stack:
        35: iload 12
            iload 13
            if_icmplt 32
        36: .line 150
            aload 9 /* s */
            ldc ">;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        37: .line 151
            aload 9 /* s */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 0 /* signature */
        38: .line 152
            new org.aspectj.weaver.UnresolvedType
            dup
            aload 0 /* signature */
            aload 5 /* signatureErasure */
            aload 8 /* typeParams */
            invokespecial org.aspectj.weaver.UnresolvedType.<init>:(Ljava/lang/String;Ljava/lang/String;[Lorg/aspectj/weaver/UnresolvedType;)V
            areturn
        end local 10 // int firstAngleBracket
        end local 9 // java.lang.StringBuilder s
        end local 8 // org.aspectj.weaver.UnresolvedType[] typeParams
        end local 7 // int nestedTypePosition
        end local 6 // java.lang.String lastType
        end local 5 // java.lang.String signatureErasure
        end local 4 // java.lang.StringBuffer erasureSig
        end local 3 // int endOfParams
        end local 2 // int startOfParams
        39: .line 155
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 1 /* firstChar */
            bipush 63
            if_icmpeq 40
            iload 1 /* firstChar */
            bipush 42
            if_icmpne 42
      StackMap locals:
      StackMap stack:
        40: aload 0 /* signature */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 42
        41: .line 156
            getstatic org.aspectj.weaver.WildcardedUnresolvedType.QUESTIONMARK:Lorg/aspectj/weaver/WildcardedUnresolvedType;
            areturn
        42: .line 157
      StackMap locals:
      StackMap stack:
            iload 1 /* firstChar */
            bipush 43
            if_icmpne 46
        43: .line 159
            aload 0 /* signature */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.aspectj.weaver.TypeFactory.convertSigToType:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            astore 2 /* upperBound */
        start local 2 // org.aspectj.weaver.UnresolvedType upperBound
        44: .line 160
            new org.aspectj.weaver.WildcardedUnresolvedType
            dup
            aload 0 /* signature */
            aload 2 /* upperBound */
            aconst_null
            invokespecial org.aspectj.weaver.WildcardedUnresolvedType.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/UnresolvedType;)V
            astore 3 /* wildcardedUT */
        start local 3 // org.aspectj.weaver.WildcardedUnresolvedType wildcardedUT
        45: .line 161
            aload 3 /* wildcardedUT */
            areturn
        end local 3 // org.aspectj.weaver.WildcardedUnresolvedType wildcardedUT
        end local 2 // org.aspectj.weaver.UnresolvedType upperBound
        46: .line 162
      StackMap locals:
      StackMap stack:
            iload 1 /* firstChar */
            bipush 45
            if_icmpne 50
        47: .line 164
            aload 0 /* signature */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.aspectj.weaver.TypeFactory.convertSigToType:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            astore 2 /* lowerBound */
        start local 2 // org.aspectj.weaver.UnresolvedType lowerBound
        48: .line 165
            new org.aspectj.weaver.WildcardedUnresolvedType
            dup
            aload 0 /* signature */
            aconst_null
            aload 2 /* lowerBound */
            invokespecial org.aspectj.weaver.WildcardedUnresolvedType.<init>:(Ljava/lang/String;Lorg/aspectj/weaver/UnresolvedType;Lorg/aspectj/weaver/UnresolvedType;)V
            astore 3 /* wildcardedUT */
        start local 3 // org.aspectj.weaver.WildcardedUnresolvedType wildcardedUT
        49: .line 166
            aload 3 /* wildcardedUT */
            areturn
        end local 3 // org.aspectj.weaver.WildcardedUnresolvedType wildcardedUT
        end local 2 // org.aspectj.weaver.UnresolvedType lowerBound
        50: .line 167
      StackMap locals:
      StackMap stack:
            iload 1 /* firstChar */
            bipush 84
            if_icmpne 55
        51: .line 168
            aload 0 /* signature */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* typeVariableName */
        start local 2 // java.lang.String typeVariableName
        52: .line 169
            aload 2 /* typeVariableName */
            ldc ";"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 54
        53: .line 170
            aload 2 /* typeVariableName */
            iconst_0
            aload 2 /* typeVariableName */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* typeVariableName */
        54: .line 172
      StackMap locals: java.lang.String
      StackMap stack:
            new org.aspectj.weaver.UnresolvedTypeVariableReferenceType
            dup
            new org.aspectj.weaver.TypeVariable
            dup
            aload 2 /* typeVariableName */
            invokespecial org.aspectj.weaver.TypeVariable.<init>:(Ljava/lang/String;)V
            invokespecial org.aspectj.weaver.UnresolvedTypeVariableReferenceType.<init>:(Lorg/aspectj/weaver/TypeVariable;)V
            areturn
        end local 2 // java.lang.String typeVariableName
        55: .line 173
      StackMap locals:
      StackMap stack:
            iload 1 /* firstChar */
            bipush 91
            if_icmpne 62
        56: .line 174
            iconst_0
            istore 2 /* dims */
        start local 2 // int dims
        57: .line 175
            goto 59
        58: .line 176
      StackMap locals: int
      StackMap stack:
            iinc 2 /* dims */ 1
        59: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            iload 2 /* dims */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpeq 58
        60: .line 178
            aload 0 /* signature */
            iload 2 /* dims */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.aspectj.weaver.TypeFactory.createTypeFromSignature:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            astore 3 /* componentType */
        start local 3 // org.aspectj.weaver.UnresolvedType componentType
        61: .line 179
            new org.aspectj.weaver.UnresolvedType
            dup
            aload 0 /* signature */
            new java.lang.StringBuilder
            dup
            aload 0 /* signature */
            iconst_0
            iload 2 /* dims */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* componentType */
            invokevirtual org.aspectj.weaver.UnresolvedType.getErasureSignature:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.aspectj.weaver.UnresolvedType.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        end local 3 // org.aspectj.weaver.UnresolvedType componentType
        end local 2 // int dims
        62: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* signature */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 74
        63: .line 181
            iload 1 /* firstChar */
            lookupswitch { // 9
                   66: 66
                   67: 67
                   68: 68
                   70: 69
                   73: 70
                   74: 71
                   83: 72
                   86: 64
                   90: 65
              default: 73
          }
        64: .line 184
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.UnresolvedType.VOID:Lorg/aspectj/weaver/UnresolvedType;
            areturn
        65: .line 186
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.UnresolvedType.BOOLEAN:Lorg/aspectj/weaver/UnresolvedType;
            areturn
        66: .line 188
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.UnresolvedType.BYTE:Lorg/aspectj/weaver/UnresolvedType;
            areturn
        67: .line 190
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.UnresolvedType.CHAR:Lorg/aspectj/weaver/UnresolvedType;
            areturn
        68: .line 192
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.UnresolvedType.DOUBLE:Lorg/aspectj/weaver/UnresolvedType;
            areturn
        69: .line 194
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.UnresolvedType.FLOAT:Lorg/aspectj/weaver/UnresolvedType;
            areturn
        70: .line 196
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.UnresolvedType.INT:Lorg/aspectj/weaver/UnresolvedType;
            areturn
        71: .line 198
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.UnresolvedType.LONG:Lorg/aspectj/weaver/UnresolvedType;
            areturn
        72: .line 200
      StackMap locals:
      StackMap stack:
            getstatic org.aspectj.weaver.UnresolvedType.SHORT:Lorg/aspectj/weaver/UnresolvedType;
            areturn
        73: .line 202
      StackMap locals:
      StackMap stack:
            goto 113
      StackMap locals:
      StackMap stack:
        74: iload 1 /* firstChar */
            bipush 64
            if_icmpne 76
        75: .line 204
            getstatic org.aspectj.weaver.ResolvedType.MISSING:Lorg/aspectj/weaver/ResolvedType$Missing;
            areturn
        76: .line 205
      StackMap locals:
      StackMap stack:
            iload 1 /* firstChar */
            bipush 76
            if_icmpne 113
        77: .line 207
            aload 0 /* signature */
            bipush 60
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* leftAngleBracket */
        start local 2 // int leftAngleBracket
        78: .line 209
            iload 2 /* leftAngleBracket */
            iconst_m1
            if_icmpne 80
        79: .line 210
            new org.aspectj.weaver.UnresolvedType
            dup
            aload 0 /* signature */
            invokespecial org.aspectj.weaver.UnresolvedType.<init>:(Ljava/lang/String;)V
            areturn
        80: .line 212
      StackMap locals: int
      StackMap stack:
            aload 0 /* signature */
            iload 2 /* leftAngleBracket */
            invokestatic org.aspectj.weaver.TypeFactory.locateMatchingEndAngleBracket:(Ljava/lang/CharSequence;I)I
            istore 3 /* endOfParams */
        start local 3 // int endOfParams
        81: .line 213
            new java.lang.StringBuffer
            dup
            aload 0 /* signature */
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 4 /* erasureSig */
        start local 4 // java.lang.StringBuffer erasureSig
        82: .line 214
            aload 4 /* erasureSig */
            iconst_0
            bipush 76
            invokevirtual java.lang.StringBuffer.setCharAt:(IC)V
        83: .line 215
            goto 88
        84: .line 216
      StackMap locals: int java.lang.StringBuffer
      StackMap stack:
            aload 4 /* erasureSig */
            iload 2 /* leftAngleBracket */
            iload 3 /* endOfParams */
            iconst_1
            iadd
            invokevirtual java.lang.StringBuffer.delete:(II)Ljava/lang/StringBuffer;
            pop
        85: .line 217
            aload 4 /* erasureSig */
            invokestatic org.aspectj.weaver.TypeFactory.locateFirstBracket:(Ljava/lang/StringBuffer;)I
            istore 2 /* leftAngleBracket */
        86: .line 218
            iload 2 /* leftAngleBracket */
            iconst_m1
            if_icmpeq 88
        87: .line 219
            aload 4 /* erasureSig */
            iload 2 /* leftAngleBracket */
            invokestatic org.aspectj.weaver.TypeFactory.locateMatchingEndAngleBracket:(Ljava/lang/CharSequence;I)I
            istore 3 /* endOfParams */
        88: .line 215
      StackMap locals:
      StackMap stack:
            iload 2 /* leftAngleBracket */
            iconst_m1
            if_icmpne 84
        89: .line 223
            aload 4 /* erasureSig */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 5 /* signatureErasure */
        start local 5 // java.lang.String signatureErasure
        90: .line 228
            aconst_null
            astore 6 /* lastType */
        start local 6 // java.lang.String lastType
        91: .line 229
            aload 0 /* signature */
            ldc "$"
            iload 3 /* endOfParams */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 7 /* nestedTypePosition */
        start local 7 // int nestedTypePosition
        92: .line 230
            iload 7 /* nestedTypePosition */
            iconst_m1
            if_icmpeq 95
        93: .line 231
            aload 0 /* signature */
            iload 7 /* nestedTypePosition */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* lastType */
        94: .line 232
            goto 96
        95: .line 233
      StackMap locals: java.lang.String java.lang.String int
      StackMap stack:
            new java.lang.String
            dup
            aload 0 /* signature */
            invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
            astore 6 /* lastType */
        96: .line 235
      StackMap locals:
      StackMap stack:
            aload 6 /* lastType */
            ldc "<"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* leftAngleBracket */
        97: .line 236
            getstatic org.aspectj.weaver.UnresolvedType.NONE:[Lorg/aspectj/weaver/UnresolvedType;
            astore 8 /* typeParams */
        start local 8 // org.aspectj.weaver.UnresolvedType[] typeParams
        98: .line 237
            iload 2 /* leftAngleBracket */
            iconst_m1
            if_icmpeq 101
        99: .line 238
            aload 6 /* lastType */
            iload 2 /* leftAngleBracket */
            invokestatic org.aspectj.weaver.TypeFactory.locateMatchingEndAngleBracket:(Ljava/lang/CharSequence;I)I
            istore 3 /* endOfParams */
       100: .line 239
            aload 6 /* lastType */
            iload 2 /* leftAngleBracket */
            iconst_1
            iadd
            iload 3 /* endOfParams */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic org.aspectj.weaver.TypeFactory.createTypeParams:(Ljava/lang/String;)[Lorg/aspectj/weaver/UnresolvedType;
            astore 8 /* typeParams */
       101: .line 241
      StackMap locals: org.aspectj.weaver.UnresolvedType[]
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 9 /* s */
        start local 9 // java.lang.StringBuilder s
       102: .line 242
            aload 0 /* signature */
            bipush 60
            invokevirtual java.lang.String.indexOf:(I)I
            istore 10 /* firstAngleBracket */
        start local 10 // int firstAngleBracket
       103: .line 243
            aload 9 /* s */
            ldc "P"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* signature */
            iconst_1
            iload 10 /* firstAngleBracket */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       104: .line 244
            aload 9 /* s */
            bipush 60
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       105: .line 245
            aload 8 /* typeParams */
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 109
      StackMap locals: java.lang.String int int int java.lang.StringBuffer java.lang.String java.lang.String int org.aspectj.weaver.UnresolvedType[] java.lang.StringBuilder int top int int org.aspectj.weaver.UnresolvedType[]
      StackMap stack:
       106: aload 14
            iload 12
            aaload
            astore 11 /* typeParameter */
        start local 11 // org.aspectj.weaver.UnresolvedType typeParameter
       107: .line 246
            aload 9 /* s */
            aload 11 /* typeParameter */
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 11 // org.aspectj.weaver.UnresolvedType typeParameter
       108: .line 245
            iinc 12 1
      StackMap locals:
      StackMap stack:
       109: iload 12
            iload 13
            if_icmplt 106
       110: .line 248
            aload 9 /* s */
            ldc ">;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       111: .line 249
            aload 9 /* s */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 0 /* signature */
       112: .line 250
            new org.aspectj.weaver.UnresolvedType
            dup
            aload 0 /* signature */
            aload 5 /* signatureErasure */
            aload 8 /* typeParams */
            invokespecial org.aspectj.weaver.UnresolvedType.<init>:(Ljava/lang/String;Ljava/lang/String;[Lorg/aspectj/weaver/UnresolvedType;)V
            areturn
        end local 10 // int firstAngleBracket
        end local 9 // java.lang.StringBuilder s
        end local 8 // org.aspectj.weaver.UnresolvedType[] typeParams
        end local 7 // int nestedTypePosition
        end local 6 // java.lang.String lastType
        end local 5 // java.lang.String signatureErasure
        end local 4 // java.lang.StringBuffer erasureSig
        end local 3 // int endOfParams
        end local 2 // int leftAngleBracket
       113: .line 254
      StackMap locals: java.lang.String int
      StackMap stack:
            new org.aspectj.weaver.UnresolvedType
            dup
            aload 0 /* signature */
            invokespecial org.aspectj.weaver.UnresolvedType.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // char firstChar
        end local 0 // java.lang.String signature
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  114     0           signature  Ljava/lang/String;
            1  114     1           firstChar  C
            3   39     2       startOfParams  I
            5    6     3    signatureErasure  Ljava/lang/String;
            7   39     3         endOfParams  I
            8   39     4          erasureSig  Ljava/lang/StringBuffer;
           16   39     5    signatureErasure  Ljava/lang/String;
           17   39     6            lastType  Ljava/lang/String;
           18   39     7  nestedTypePosition  I
           24   39     8          typeParams  [Lorg/aspectj/weaver/UnresolvedType;
           28   39     9                   s  Ljava/lang/StringBuilder;
           29   39    10   firstAngleBracket  I
           33   34    11       typeParameter  Lorg/aspectj/weaver/UnresolvedType;
           44   46     2          upperBound  Lorg/aspectj/weaver/UnresolvedType;
           45   46     3        wildcardedUT  Lorg/aspectj/weaver/WildcardedUnresolvedType;
           48   50     2          lowerBound  Lorg/aspectj/weaver/UnresolvedType;
           49   50     3        wildcardedUT  Lorg/aspectj/weaver/WildcardedUnresolvedType;
           52   55     2    typeVariableName  Ljava/lang/String;
           57   62     2                dims  I
           61   62     3       componentType  Lorg/aspectj/weaver/UnresolvedType;
           78  113     2    leftAngleBracket  I
           81  113     3         endOfParams  I
           82  113     4          erasureSig  Ljava/lang/StringBuffer;
           90  113     5    signatureErasure  Ljava/lang/String;
           91  113     6            lastType  Ljava/lang/String;
           92  113     7  nestedTypePosition  I
           98  113     8          typeParams  [Lorg/aspectj/weaver/UnresolvedType;
          102  113     9                   s  Ljava/lang/StringBuilder;
          103  113    10   firstAngleBracket  I
          107  108    11       typeParameter  Lorg/aspectj/weaver/UnresolvedType;
    MethodParameters:
           Name  Flags
      signature  

  private static int locateMatchingEndAngleBracket(java.lang.CharSequence, int);
    descriptor: (Ljava/lang/CharSequence;I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.lang.CharSequence signature
        start local 1 // int startOfParams
         0: .line 258
            iload 1 /* startOfParams */
            iconst_m1
            if_icmpne 2
         1: .line 259
            iconst_m1
            ireturn
         2: .line 261
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* count */
        start local 2 // int count
         3: .line 262
            iload 1 /* startOfParams */
            istore 3 /* idx */
        start local 3 // int idx
         4: .line 263
            aload 0 /* signature */
            invokeinterface java.lang.CharSequence.length:()I
            istore 4 /* max */
        start local 4 // int max
         5: .line 264
            goto 14
         6: .line 265
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* signature */
            iinc 3 /* idx */ 1
            iload 3 /* idx */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            istore 5 /* ch */
        start local 5 // char ch
         7: .line 266
            iload 5 /* ch */
            bipush 60
            if_icmpne 10
         8: .line 267
            iinc 2 /* count */ 1
         9: .line 268
            goto 14
      StackMap locals: int
      StackMap stack:
        10: iload 5 /* ch */
            bipush 62
            if_icmpne 14
        11: .line 269
            iload 2 /* count */
            iconst_1
            if_icmpne 13
        12: .line 270
            goto 15
        13: .line 272
      StackMap locals:
      StackMap stack:
            iinc 2 /* count */ -1
        end local 5 // char ch
        14: .line 264
      StackMap locals:
      StackMap stack:
            iload 3 /* idx */
            iload 4 /* max */
            if_icmplt 6
        15: .line 275
      StackMap locals:
      StackMap stack:
            iload 3 /* idx */
            ireturn
        end local 4 // int max
        end local 3 // int idx
        end local 2 // int count
        end local 1 // int startOfParams
        end local 0 // java.lang.CharSequence signature
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0      signature  Ljava/lang/CharSequence;
            0   16     1  startOfParams  I
            3   16     2          count  I
            4   16     3            idx  I
            5   16     4            max  I
            7   14     5             ch  C
    MethodParameters:
               Name  Flags
      signature      
      startOfParams  

  private static int locateFirstBracket(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.StringBuffer signature
         0: .line 279
            iconst_0
            istore 1 /* idx */
        start local 1 // int idx
         1: .line 280
            aload 0 /* signature */
            invokevirtual java.lang.StringBuffer.length:()I
            istore 2 /* max */
        start local 2 // int max
         2: .line 281
            goto 6
         3: .line 282
      StackMap locals: int int
      StackMap stack:
            aload 0 /* signature */
            iload 1 /* idx */
            invokevirtual java.lang.StringBuffer.charAt:(I)C
            bipush 60
            if_icmpne 5
         4: .line 283
            iload 1 /* idx */
            ireturn
         5: .line 285
      StackMap locals:
      StackMap stack:
            iinc 1 /* idx */ 1
         6: .line 281
      StackMap locals:
      StackMap stack:
            iload 1 /* idx */
            iload 2 /* max */
            if_icmplt 3
         7: .line 287
            iconst_m1
            ireturn
        end local 2 // int max
        end local 1 // int idx
        end local 0 // java.lang.StringBuffer signature
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0  signature  Ljava/lang/StringBuffer;
            1    8     1        idx  I
            2    8     2        max  I
    MethodParameters:
           Name  Flags
      signature  

  private static org.aspectj.weaver.UnresolvedType[] createTypeParams(java.lang.String);
    descriptor: (Ljava/lang/String;)[Lorg/aspectj/weaver/UnresolvedType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=1
        start local 0 // java.lang.String typeParameterSpecification
         0: .line 291
            aload 0 /* typeParameterSpecification */
            astore 1 /* remainingToProcess */
        start local 1 // java.lang.String remainingToProcess
         1: .line 292
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* types */
        start local 2 // java.util.List types
         2: .line 293
            goto 42
         3: .line 294
      StackMap locals: java.lang.String java.util.List
      StackMap stack:
            iconst_0
            istore 3 /* endOfSig */
        start local 3 // int endOfSig
         4: .line 295
            iconst_0
            istore 4 /* anglies */
        start local 4 // int anglies
         5: .line 296
            iconst_0
            istore 5 /* hadAnglies */
        start local 5 // boolean hadAnglies
         6: .line 297
            iconst_0
            istore 6 /* sigFound */
        start local 6 // boolean sigFound
         7: .line 298
            iconst_0
            istore 3 /* endOfSig */
            goto 36
         8: .line 299
      StackMap locals: java.lang.String java.lang.String java.util.List int int int int
      StackMap stack:
            aload 1 /* remainingToProcess */
            iload 3 /* endOfSig */
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* thisChar */
        start local 7 // char thisChar
         9: .line 300
            iload 7 /* thisChar */
            lookupswitch { // 5
                   42: 15
                   59: 33
                   60: 10
                   62: 13
                   91: 24
              default: 35
          }
        10: .line 302
      StackMap locals: int
      StackMap stack:
            iinc 4 /* anglies */ 1
        11: .line 303
            iconst_1
            istore 5 /* hadAnglies */
        12: .line 304
            goto 35
        13: .line 306
      StackMap locals:
      StackMap stack:
            iinc 4 /* anglies */ -1
        14: .line 307
            goto 35
        15: .line 309
      StackMap locals:
      StackMap stack:
            iload 4 /* anglies */
            ifne 35
        16: .line 310
            iload 3 /* endOfSig */
            iconst_1
            iadd
            istore 8 /* nextCharPos */
        start local 8 // int nextCharPos
        17: .line 311
            iload 8 /* nextCharPos */
            aload 1 /* remainingToProcess */
            invokevirtual java.lang.String.length:()I
            if_icmplt 20
        18: .line 312
            iconst_1
            istore 6 /* sigFound */
        19: .line 313
            goto 35
        20: .line 314
      StackMap locals: int
      StackMap stack:
            aload 1 /* remainingToProcess */
            iload 8 /* nextCharPos */
            invokevirtual java.lang.String.charAt:(I)C
            istore 9 /* nextChar */
        start local 9 // char nextChar
        21: .line 315
            iload 9 /* nextChar */
            bipush 43
            if_icmpeq 35
            iload 9 /* nextChar */
            bipush 45
            if_icmpeq 35
        22: .line 318
            iconst_1
            istore 6 /* sigFound */
        end local 9 // char nextChar
        end local 8 // int nextCharPos
        23: .line 322
            goto 35
        24: .line 324
      StackMap locals:
      StackMap stack:
            iload 4 /* anglies */
            ifne 35
        25: .line 326
            iload 3 /* endOfSig */
            iconst_1
            iadd
            istore 8 /* nextChar */
        start local 8 // int nextChar
        26: .line 327
            goto 28
        27: .line 328
      StackMap locals: int
      StackMap stack:
            iinc 8 /* nextChar */ 1
        28: .line 327
      StackMap locals:
      StackMap stack:
            aload 1 /* remainingToProcess */
            iload 8 /* nextChar */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpeq 27
        29: .line 330
            ldc "BCDFIJSZ"
            aload 1 /* remainingToProcess */
            iload 8 /* nextChar */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 35
        30: .line 332
            iconst_1
            istore 6 /* sigFound */
        31: .line 333
            iload 8 /* nextChar */
            istore 3 /* endOfSig */
        32: .line 334
            goto 35
        end local 8 // int nextChar
        33: .line 339
      StackMap locals:
      StackMap stack:
            iload 4 /* anglies */
            ifne 35
        34: .line 340
            iconst_1
            istore 6 /* sigFound */
        end local 7 // char thisChar
        35: .line 298
      StackMap locals:
      StackMap stack:
            iinc 3 /* endOfSig */ 1
      StackMap locals:
      StackMap stack:
        36: iload 3 /* endOfSig */
            aload 1 /* remainingToProcess */
            invokevirtual java.lang.String.length:()I
            if_icmpge 37
            iload 6 /* sigFound */
            ifeq 8
        37: .line 345
      StackMap locals:
      StackMap stack:
            aload 1 /* remainingToProcess */
            iconst_0
            iload 3 /* endOfSig */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* forProcessing */
        start local 7 // java.lang.String forProcessing
        38: .line 346
            iload 5 /* hadAnglies */
            ifeq 40
            aload 7 /* forProcessing */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 76
            if_icmpne 40
        39: .line 347
            new java.lang.StringBuilder
            dup
            ldc "P"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* forProcessing */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* forProcessing */
        40: .line 349
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* types */
            aload 7 /* forProcessing */
            invokestatic org.aspectj.weaver.TypeFactory.createTypeFromSignature:(Ljava/lang/String;)Lorg/aspectj/weaver/UnresolvedType;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        41: .line 350
            aload 1 /* remainingToProcess */
            iload 3 /* endOfSig */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* remainingToProcess */
        end local 7 // java.lang.String forProcessing
        end local 6 // boolean sigFound
        end local 5 // boolean hadAnglies
        end local 4 // int anglies
        end local 3 // int endOfSig
        42: .line 293
      StackMap locals: java.lang.String java.lang.String java.util.List
      StackMap stack:
            aload 1 /* remainingToProcess */
            invokevirtual java.lang.String.length:()I
            ifne 3
        43: .line 352
            aload 2 /* types */
            invokeinterface java.util.List.size:()I
            anewarray org.aspectj.weaver.UnresolvedType
            astore 3 /* typeParams */
        start local 3 // org.aspectj.weaver.UnresolvedType[] typeParams
        44: .line 353
            aload 2 /* types */
            aload 3 /* typeParams */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        45: .line 354
            aload 3 /* typeParams */
            areturn
        end local 3 // org.aspectj.weaver.UnresolvedType[] typeParams
        end local 2 // java.util.List types
        end local 1 // java.lang.String remainingToProcess
        end local 0 // java.lang.String typeParameterSpecification
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   46     0  typeParameterSpecification  Ljava/lang/String;
            1   46     1          remainingToProcess  Ljava/lang/String;
            2   46     2                       types  Ljava/util/List<Lorg/aspectj/weaver/UnresolvedType;>;
            4   42     3                    endOfSig  I
            5   42     4                     anglies  I
            6   42     5                  hadAnglies  Z
            7   42     6                    sigFound  Z
            9   35     7                    thisChar  C
           17   23     8                 nextCharPos  I
           21   23     9                    nextChar  C
           26   33     8                    nextChar  I
           38   42     7               forProcessing  Ljava/lang/String;
           44   46     3                  typeParams  [Lorg/aspectj/weaver/UnresolvedType;
    MethodParameters:
                            Name  Flags
      typeParameterSpecification  

  public static org.aspectj.weaver.UnresolvedType createUnresolvedParameterizedType(java.lang.String, org.aspectj.weaver.UnresolvedType[]);
    descriptor: (Ljava/lang/String;[Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/weaver/UnresolvedType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.String baseTypeSignature
        start local 1 // org.aspectj.weaver.UnresolvedType[] arguments
         0: .line 364
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* parameterizedSig */
        start local 2 // java.lang.StringBuffer parameterizedSig
         1: .line 365
            aload 2 /* parameterizedSig */
            ldc "P"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 366
            aload 2 /* parameterizedSig */
            aload 0 /* baseTypeSignature */
            iconst_1
            aload 0 /* baseTypeSignature */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 367
            aload 1 /* arguments */
            arraylength
            ifle 11
         4: .line 368
            aload 2 /* parameterizedSig */
            ldc "<"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 369
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: goto 9
         7: .line 370
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 2 /* parameterizedSig */
            aload 1 /* arguments */
            iload 3 /* i */
            aaload
            invokevirtual org.aspectj.weaver.UnresolvedType.getSignature:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 369
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 1 /* arguments */
            arraylength
            if_icmplt 7
        end local 3 // int i
        10: .line 372
            aload 2 /* parameterizedSig */
            ldc ">"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 374
      StackMap locals:
      StackMap stack:
            aload 2 /* parameterizedSig */
            ldc ";"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 375
            aload 2 /* parameterizedSig */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            aload 0 /* baseTypeSignature */
            aload 1 /* arguments */
            invokestatic org.aspectj.weaver.TypeFactory.createUnresolvedParameterizedType:(Ljava/lang/String;Ljava/lang/String;[Lorg/aspectj/weaver/UnresolvedType;)Lorg/aspectj/weaver/UnresolvedType;
            areturn
        end local 2 // java.lang.StringBuffer parameterizedSig
        end local 1 // org.aspectj.weaver.UnresolvedType[] arguments
        end local 0 // java.lang.String baseTypeSignature
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0  baseTypeSignature  Ljava/lang/String;
            0   13     1          arguments  [Lorg/aspectj/weaver/UnresolvedType;
            1   13     2   parameterizedSig  Ljava/lang/StringBuffer;
            6   10     3                  i  I
    MethodParameters:
                   Name  Flags
      baseTypeSignature  
      arguments          
}
SourceFile: "TypeFactory.java"
InnerClasses:
  public TypeKind = org.aspectj.weaver.UnresolvedType$TypeKind of org.aspectj.weaver.UnresolvedType