class javax.el.ELProcessor$MethodSignature
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.el.ELProcessor$MethodSignature
  super_class: java.lang.Object
{
  private final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String[] parameterTypeNames;
    descriptor: [Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(javax.el.ELContext, java.lang.String, java.lang.String);
    descriptor: (Ljavax/el/ELContext;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=18, args_size=4
        start local 0 // javax.el.ELProcessor$MethodSignature this
        start local 1 // javax.el.ELContext context
        start local 2 // java.lang.String methodName
        start local 3 // java.lang.String className
         0: .line 212
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 215
            aload 2 /* methodName */
            bipush 40
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* paramIndex */
        start local 4 // int paramIndex
         2: .line 217
            iload 4 /* paramIndex */
            iconst_m1
            if_icmpne 6
         3: .line 218
            aload 0 /* this */
            aload 2 /* methodName */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            putfield javax.el.ELProcessor$MethodSignature.name:Ljava/lang/String;
         4: .line 219
            aload 0 /* this */
            aconst_null
            putfield javax.el.ELProcessor$MethodSignature.parameterTypeNames:[Ljava/lang/String;
         5: .line 220
            goto 111
         6: .line 221
      StackMap locals: javax.el.ELProcessor$MethodSignature javax.el.ELContext java.lang.String java.lang.String int
      StackMap stack:
            aload 2 /* methodName */
            iconst_0
            iload 4 /* paramIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 5 /* returnTypeAndName */
        start local 5 // java.lang.String returnTypeAndName
         7: .line 225
            iconst_m1
            istore 6 /* wsPos */
        start local 6 // int wsPos
         8: .line 226
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         9: goto 14
        10: .line 227
      StackMap locals: java.lang.String int int
      StackMap stack:
            aload 5 /* returnTypeAndName */
            iload 7 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifeq 13
        11: .line 228
            iload 7 /* i */
            istore 6 /* wsPos */
        12: .line 229
            goto 15
        13: .line 226
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* i */
            aload 5 /* returnTypeAndName */
            invokevirtual java.lang.String.length:()I
            if_icmplt 10
        end local 7 // int i
        15: .line 232
      StackMap locals:
      StackMap stack:
            iload 6 /* wsPos */
            iconst_m1
            if_icmpne 17
        16: .line 233
            new java.lang.NoSuchMethodException
            dup
            invokespecial java.lang.NoSuchMethodException.<init>:()V
            athrow
        17: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* returnTypeAndName */
            iload 6 /* wsPos */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            putfield javax.el.ELProcessor$MethodSignature.name:Ljava/lang/String;
        18: .line 237
            aload 2 /* methodName */
            iload 4 /* paramIndex */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 7 /* paramString */
        start local 7 // java.lang.String paramString
        19: .line 239
            aload 7 /* paramString */
            ldc ")"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 24
        20: .line 240
            new java.lang.NoSuchMethodException
            dup
            aload 1 /* context */
        21: .line 241
            ldc "elProcessor.defineFunctionInvalidParameterList"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        22: .line 242
            aload 7 /* paramString */
            aastore
            dup
            iconst_1
            aload 2 /* methodName */
            aastore
            dup
            iconst_2
            aload 3 /* className */
            aastore
        23: .line 240
            invokestatic javax.el.Util.message:(Ljavax/el/ELContext;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 245
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* paramString */
            iconst_1
            aload 7 /* paramString */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 7 /* paramString */
        25: .line 246
            aload 7 /* paramString */
            invokevirtual java.lang.String.length:()I
            ifne 28
        26: .line 247
            aload 0 /* this */
            getstatic javax.el.ELProcessor.EMPTY_STRING_ARRAY:[Ljava/lang/String;
            putfield javax.el.ELProcessor$MethodSignature.parameterTypeNames:[Ljava/lang/String;
        27: .line 248
            goto 111
        28: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* paramString */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            putfield javax.el.ELProcessor$MethodSignature.parameterTypeNames:[Ljava/lang/String;
        29: .line 250
            aload 1 /* context */
            invokevirtual javax.el.ELContext.getImportHandler:()Ljavax/el/ImportHandler;
            astore 8 /* importHandler */
        start local 8 // javax.el.ImportHandler importHandler
        30: .line 251
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        31: goto 110
        32: .line 252
      StackMap locals: javax.el.ImportHandler int
      StackMap stack:
            aload 0 /* this */
            getfield javax.el.ELProcessor$MethodSignature.parameterTypeNames:[Ljava/lang/String;
            iload 9 /* i */
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 10 /* parameterTypeName */
        start local 10 // java.lang.String parameterTypeName
        33: .line 253
            iconst_0
            istore 11 /* dimension */
        start local 11 // int dimension
        34: .line 254
            aload 10 /* parameterTypeName */
            bipush 91
            invokevirtual java.lang.String.indexOf:(I)I
            istore 12 /* bracketPos */
        start local 12 // int bracketPos
        35: .line 255
            iload 12 /* bracketPos */
            iconst_m1
            if_icmple 43
        36: .line 257
            aload 10 /* parameterTypeName */
            iconst_0
            iload 12 /* bracketPos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
        37: .line 256
            astore 13 /* parameterTypeNameOnly */
        start local 13 // java.lang.String parameterTypeNameOnly
        38: .line 258
            goto 41
        39: .line 259
      StackMap locals: javax.el.ELProcessor$MethodSignature javax.el.ELContext java.lang.String java.lang.String int java.lang.String int java.lang.String javax.el.ImportHandler int java.lang.String int int java.lang.String
      StackMap stack:
            iinc 11 /* dimension */ 1
        40: .line 260
            aload 10 /* parameterTypeName */
            bipush 91
            iload 12 /* bracketPos */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 12 /* bracketPos */
        41: .line 258
      StackMap locals:
      StackMap stack:
            iload 12 /* bracketPos */
            iconst_m1
            if_icmpgt 39
        42: .line 262
            aload 13 /* parameterTypeNameOnly */
            astore 10 /* parameterTypeName */
        end local 13 // java.lang.String parameterTypeNameOnly
        43: .line 264
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* varArgs */
        start local 13 // boolean varArgs
        44: .line 265
            aload 10 /* parameterTypeName */
            ldc "..."
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 52
        45: .line 266
            iconst_1
            istore 13 /* varArgs */
        46: .line 267
            iconst_1
            istore 11 /* dimension */
        47: .line 268
            aload 10 /* parameterTypeName */
        48: .line 269
            iconst_0
            aload 10 /* parameterTypeName */
            invokevirtual java.lang.String.length:()I
            iconst_3
            isub
        49: .line 268
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
        50: .line 269
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
        51: .line 268
            astore 10 /* parameterTypeName */
        52: .line 271
      StackMap locals: int
      StackMap stack:
            getstatic javax.el.ELProcessor.PRIMITIVES:Ljava/util/Set;
            aload 10 /* parameterTypeName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            istore 14 /* isPrimitive */
        start local 14 // boolean isPrimitive
        53: .line 272
            iload 14 /* isPrimitive */
            ifeq 80
            iload 11 /* dimension */
            ifle 80
        54: .line 274
            aload 10 /* parameterTypeName */
            dup
            astore 15
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 8
          -1325958191: 55
               104431: 56
              3039496: 57
              3052374: 58
              3327612: 59
             64711720: 60
             97526364: 61
            109413500: 62
              default: 79
          }
      StackMap locals: int java.lang.String
      StackMap stack:
        55: aload 15
            ldc "double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 69
            goto 93
      StackMap locals:
      StackMap stack:
        56: aload 15
            ldc "int"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 73
            goto 93
      StackMap locals:
      StackMap stack:
        57: aload 15
            ldc "byte"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 65
            goto 93
      StackMap locals:
      StackMap stack:
        58: aload 15
            ldc "char"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 67
            goto 93
      StackMap locals:
      StackMap stack:
        59: aload 15
            ldc "long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 75
            goto 93
      StackMap locals:
      StackMap stack:
        60: aload 15
            ldc "boolean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 63
            goto 93
      StackMap locals:
      StackMap stack:
        61: aload 15
            ldc "float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 71
            goto 93
      StackMap locals:
      StackMap stack:
        62: aload 15
            ldc "short"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 77
            goto 93
        63: .line 277
      StackMap locals:
      StackMap stack:
            ldc "Z"
            astore 10 /* parameterTypeName */
        64: .line 278
            goto 93
        65: .line 280
      StackMap locals:
      StackMap stack:
            ldc "B"
            astore 10 /* parameterTypeName */
        66: .line 281
            goto 93
        67: .line 283
      StackMap locals:
      StackMap stack:
            ldc "C"
            astore 10 /* parameterTypeName */
        68: .line 284
            goto 93
        69: .line 286
      StackMap locals:
      StackMap stack:
            ldc "D"
            astore 10 /* parameterTypeName */
        70: .line 287
            goto 93
        71: .line 289
      StackMap locals:
      StackMap stack:
            ldc "F"
            astore 10 /* parameterTypeName */
        72: .line 290
            goto 93
        73: .line 292
      StackMap locals:
      StackMap stack:
            ldc "I"
            astore 10 /* parameterTypeName */
        74: .line 293
            goto 93
        75: .line 295
      StackMap locals:
      StackMap stack:
            ldc "J"
            astore 10 /* parameterTypeName */
        76: .line 296
            goto 93
        77: .line 298
      StackMap locals:
      StackMap stack:
            ldc "S"
            astore 10 /* parameterTypeName */
        78: .line 299
            goto 93
        79: .line 304
      StackMap locals:
      StackMap stack:
            goto 93
      StackMap locals:
      StackMap stack:
        80: iload 14 /* isPrimitive */
            ifne 93
        81: .line 305
            aload 10 /* parameterTypeName */
            ldc "."
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 93
        82: .line 306
            aload 8 /* importHandler */
        83: .line 307
            aload 10 /* parameterTypeName */
        84: .line 306
            invokevirtual javax.el.ImportHandler.resolveClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 16 /* clazz */
        start local 16 // java.lang.Class clazz
        85: .line 308
            aload 16 /* clazz */
            ifnonnull 92
        86: .line 309
            new java.lang.NoSuchMethodException
            dup
        87: .line 310
            aload 1 /* context */
        88: .line 311
            ldc "elProcessor.defineFunctionInvalidParameterTypeName"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        89: .line 312
            aload 0 /* this */
            getfield javax.el.ELProcessor$MethodSignature.parameterTypeNames:[Ljava/lang/String;
            iload 9 /* i */
            aaload
            aastore
            dup
            iconst_1
            aload 2 /* methodName */
            aastore
            dup
            iconst_2
        90: .line 313
            aload 3 /* className */
            aastore
        91: .line 309
            invokestatic javax.el.Util.message:(Ljavax/el/ELContext;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
            athrow
        92: .line 315
      StackMap locals: javax.el.ELProcessor$MethodSignature javax.el.ELContext java.lang.String java.lang.String int java.lang.String int java.lang.String javax.el.ImportHandler int java.lang.String int int int int top java.lang.Class
      StackMap stack:
            aload 16 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 10 /* parameterTypeName */
        end local 16 // java.lang.Class clazz
        93: .line 317
      StackMap locals: javax.el.ELProcessor$MethodSignature javax.el.ELContext java.lang.String java.lang.String int java.lang.String int java.lang.String javax.el.ImportHandler int java.lang.String int int int int
      StackMap stack:
            iload 11 /* dimension */
            ifle 106
        94: .line 319
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 16 /* sb */
        start local 16 // java.lang.StringBuilder sb
        95: .line 320
            iconst_0
            istore 17 /* j */
        start local 17 // int j
        96: goto 99
        97: .line 321
      StackMap locals: javax.el.ELProcessor$MethodSignature javax.el.ELContext java.lang.String java.lang.String int java.lang.String int java.lang.String javax.el.ImportHandler int java.lang.String int int int int top java.lang.StringBuilder int
      StackMap stack:
            aload 16 /* sb */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        98: .line 320
            iinc 17 /* j */ 1
      StackMap locals:
      StackMap stack:
        99: iload 17 /* j */
            iload 11 /* dimension */
            if_icmplt 97
        end local 17 // int j
       100: .line 323
            iload 14 /* isPrimitive */
            ifne 102
       101: .line 324
            aload 16 /* sb */
            bipush 76
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       102: .line 326
      StackMap locals:
      StackMap stack:
            aload 16 /* sb */
            aload 10 /* parameterTypeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
       103: .line 327
            iload 14 /* isPrimitive */
            ifne 105
       104: .line 328
            aload 16 /* sb */
            bipush 59
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
       105: .line 330
      StackMap locals:
      StackMap stack:
            aload 16 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* parameterTypeName */
        end local 16 // java.lang.StringBuilder sb
       106: .line 332
      StackMap locals: javax.el.ELProcessor$MethodSignature javax.el.ELContext java.lang.String java.lang.String int java.lang.String int java.lang.String javax.el.ImportHandler int java.lang.String int int int int
      StackMap stack:
            iload 13 /* varArgs */
            ifeq 108
       107: .line 333
            new java.lang.StringBuilder
            dup
            aload 10 /* parameterTypeName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* parameterTypeName */
       108: .line 335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.el.ELProcessor$MethodSignature.parameterTypeNames:[Ljava/lang/String;
            iload 9 /* i */
            aload 10 /* parameterTypeName */
            aastore
        end local 14 // boolean isPrimitive
        end local 13 // boolean varArgs
        end local 12 // int bracketPos
        end local 11 // int dimension
        end local 10 // java.lang.String parameterTypeName
       109: .line 251
            iinc 9 /* i */ 1
      StackMap locals: javax.el.ELProcessor$MethodSignature javax.el.ELContext java.lang.String java.lang.String int java.lang.String int java.lang.String javax.el.ImportHandler int
      StackMap stack:
       110: iload 9 /* i */
            aload 0 /* this */
            getfield javax.el.ELProcessor$MethodSignature.parameterTypeNames:[Ljava/lang/String;
            arraylength
            if_icmplt 32
        end local 9 // int i
        end local 8 // javax.el.ImportHandler importHandler
        end local 7 // java.lang.String paramString
        end local 6 // int wsPos
        end local 5 // java.lang.String returnTypeAndName
       111: .line 340
      StackMap locals: javax.el.ELProcessor$MethodSignature javax.el.ELContext java.lang.String java.lang.String int
      StackMap stack:
            return
        end local 4 // int paramIndex
        end local 3 // java.lang.String className
        end local 2 // java.lang.String methodName
        end local 1 // javax.el.ELContext context
        end local 0 // javax.el.ELProcessor$MethodSignature this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0  112     0                   this  Ljavax/el/ELProcessor$MethodSignature;
            0  112     1                context  Ljavax/el/ELContext;
            0  112     2             methodName  Ljava/lang/String;
            0  112     3              className  Ljava/lang/String;
            2  112     4             paramIndex  I
            7  111     5      returnTypeAndName  Ljava/lang/String;
            8  111     6                  wsPos  I
            9   15     7                      i  I
           19  111     7            paramString  Ljava/lang/String;
           30  111     8          importHandler  Ljavax/el/ImportHandler;
           31  111     9                      i  I
           33  109    10      parameterTypeName  Ljava/lang/String;
           34  109    11              dimension  I
           35  109    12             bracketPos  I
           38   43    13  parameterTypeNameOnly  Ljava/lang/String;
           44  109    13                varArgs  Z
           53  109    14            isPrimitive  Z
           85   93    16                  clazz  Ljava/lang/Class<*>;
           95  106    16                     sb  Ljava/lang/StringBuilder;
           96  100    17                      j  I
    Exceptions:
      throws java.lang.NoSuchMethodException
    MethodParameters:
            Name  Flags
      context     
      methodName  
      className   

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.el.ELProcessor$MethodSignature this
         0: .line 343
            aload 0 /* this */
            getfield javax.el.ELProcessor$MethodSignature.name:Ljava/lang/String;
            areturn
        end local 0 // javax.el.ELProcessor$MethodSignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/el/ELProcessor$MethodSignature;

  public java.lang.String[] getParamTypeNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.el.ELProcessor$MethodSignature this
         0: .line 352
            aload 0 /* this */
            getfield javax.el.ELProcessor$MethodSignature.parameterTypeNames:[Ljava/lang/String;
            areturn
        end local 0 // javax.el.ELProcessor$MethodSignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/el/ELProcessor$MethodSignature;
}
SourceFile: "ELProcessor.java"
NestHost: javax.el.ELProcessor
InnerClasses:
  private MethodSignature = javax.el.ELProcessor$MethodSignature of javax.el.ELProcessor