class jakarta.el.Util
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jakarta.el.Util
super_class: java.lang.Object
{
private static final java.lang.Class<?>[] EMPTY_CLASS_ARRAY;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: [Ljava/lang/Class<*>;
private static final java.lang.Object[] EMPTY_OBJECT_ARRAY;
descriptor: [Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final jakarta.el.Util$CacheValue nullTcclFactory;
descriptor: Ljakarta/el/Util$CacheValue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Map<jakarta.el.Util$CacheKey, jakarta.el.Util$CacheValue> factoryCache;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljakarta/el/Util$CacheKey;Ljakarta/el/Util$CacheValue;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: iconst_0
anewarray java.lang.Class
putstatic jakarta.el.Util.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
1: iconst_0
anewarray java.lang.Object
putstatic jakarta.el.Util.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
2: new jakarta.el.Util$CacheValue
dup
invokespecial jakarta.el.Util$CacheValue.<init>:()V
putstatic jakarta.el.Util.nullTcclFactory:Ljakarta/el/Util$CacheValue;
3: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic jakarta.el.Util.factoryCache:Ljava/util/Map;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljakarta/el/Util;
static void handleThrowable(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.ThreadDeath
ifeq 2
1: aload 0
checkcast java.lang.ThreadDeath
athrow
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.VirtualMachineError
ifeq 4
3: aload 0
checkcast java.lang.VirtualMachineError
athrow
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
static java.lang.String message(jakarta.el.ELContext, java.lang.String, java.lang.Object[]);
descriptor: (Ljakarta/el/ELContext;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0088) ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
ifnull 3
2: aload 0
invokevirtual jakarta.el.ELContext.getLocale:()Ljava/util/Locale;
astore 3
3: StackMap locals: java.util.Locale
StackMap stack:
aload 3
ifnonnull 7
4: invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
astore 3
5: aload 3
ifnonnull 7
6: ldc ""
areturn
7: StackMap locals:
StackMap stack:
ldc "jakarta.el.LocalStrings"
aload 3
8: invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;
astore 4
start local 4 9: aload 4
aload 1
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 10: aload 2
ifnull 12
11: aload 5
aload 2
invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 5
12: StackMap locals: java.util.ResourceBundle java.lang.String
StackMap stack:
aload 5
13: areturn
end local 5 14: StackMap locals: jakarta.el.ELContext java.lang.String java.lang.Object[] java.util.Locale java.util.ResourceBundle
StackMap stack: java.util.MissingResourceException
pop
15: new java.lang.StringBuilder
dup
ldc "Missing Resource: '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' for Locale "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.util.Locale.getDisplayName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 context Ljakarta/el/ELContext;
0 16 1 name Ljava/lang/String;
0 16 2 props [Ljava/lang/Object;
1 16 3 locale Ljava/util/Locale;
9 16 4 bundle Ljava/util/ResourceBundle;
10 14 5 template Ljava/lang/String;
Exception table:
from to target type
9 13 14 Class java.util.MissingResourceException
MethodParameters:
Name Flags
context
name
props
static jakarta.el.ExpressionFactory getExpressionFactory();
descriptor: ()Ljakarta/el/ExpressionFactory;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=6, args_size=0
0: invokestatic jakarta.el.Util.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 0
start local 0 1: aconst_null
astore 1
start local 1 2: aconst_null
astore 2
start local 2 3: aload 0
ifnonnull 6
4: getstatic jakarta.el.Util.nullTcclFactory:Ljakarta/el/Util$CacheValue;
astore 1
5: goto 13
6: StackMap locals: java.lang.ClassLoader jakarta.el.Util$CacheValue jakarta.el.ExpressionFactory
StackMap stack:
new jakarta.el.Util$CacheKey
dup
aload 0
invokespecial jakarta.el.Util$CacheKey.<init>:(Ljava/lang/ClassLoader;)V
astore 3
start local 3 7: getstatic jakarta.el.Util.factoryCache:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jakarta.el.Util$CacheValue
astore 1
8: aload 1
ifnonnull 13
9: new jakarta.el.Util$CacheValue
dup
invokespecial jakarta.el.Util$CacheValue.<init>:()V
astore 4
start local 4 10: getstatic jakarta.el.Util.factoryCache:Ljava/util/Map;
aload 3
aload 4
invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast jakarta.el.Util$CacheValue
astore 1
11: aload 1
ifnonnull 13
12: aload 4
astore 1
end local 4 end local 3 13: StackMap locals:
StackMap stack:
aload 1
invokevirtual jakarta.el.Util$CacheValue.getLock:()Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
astore 3
start local 3 14: aload 3
invokeinterface java.util.concurrent.locks.Lock.lock:()V
15: aload 1
invokevirtual jakarta.el.Util$CacheValue.getExpressionFactory:()Ljakarta/el/ExpressionFactory;
astore 2
16: goto 20
StackMap locals: java.lang.ClassLoader jakarta.el.Util$CacheValue jakarta.el.ExpressionFactory java.util.concurrent.locks.Lock
StackMap stack: java.lang.Throwable
17: astore 4
18: aload 3
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
19: aload 4
athrow
20: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
21: aload 2
ifnonnull 33
22: aload 1
invokevirtual jakarta.el.Util$CacheValue.getLock:()Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
astore 4
start local 4 23: aload 4
invokeinterface java.util.concurrent.locks.Lock.lock:()V
24: aload 1
invokevirtual jakarta.el.Util$CacheValue.getExpressionFactory:()Ljakarta/el/ExpressionFactory;
astore 2
25: aload 2
ifnonnull 32
26: invokestatic jakarta.el.ExpressionFactory.newInstance:()Ljakarta/el/ExpressionFactory;
astore 2
27: aload 1
aload 2
invokevirtual jakarta.el.Util$CacheValue.setExpressionFactory:(Ljakarta/el/ExpressionFactory;)V
28: goto 32
StackMap locals: java.lang.ClassLoader jakarta.el.Util$CacheValue jakarta.el.ExpressionFactory java.util.concurrent.locks.Lock java.util.concurrent.locks.Lock
StackMap stack: java.lang.Throwable
29: astore 5
30: aload 4
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
31: aload 5
athrow
32: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
end local 4 33: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 34 0 tccl Ljava/lang/ClassLoader;
2 34 1 cacheValue Ljakarta/el/Util$CacheValue;
3 34 2 factory Ljakarta/el/ExpressionFactory;
7 13 3 key Ljakarta/el/Util$CacheKey;
10 13 4 newCacheValue Ljakarta/el/Util$CacheValue;
14 34 3 readLock Ljava/util/concurrent/locks/Lock;
23 33 4 writeLock Ljava/util/concurrent/locks/Lock;
Exception table:
from to target type
15 17 17 any
24 29 29 any
static java.lang.reflect.Method findMethod(java.lang.Class<?>, , java.lang.String, java.lang.Class<?>[], []);
descriptor: (Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/reflect/Method;
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
ifnull 1
aload 2
ifnonnull 6
1: StackMap locals:
StackMap stack:
new jakarta.el.MethodNotFoundException
dup
2: aconst_null
ldc "util.method.notfound"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
3: aload 3
invokestatic jakarta.el.Util.paramString:([Ljava/lang/Class;)Ljava/lang/String;
aastore
4: invokestatic jakarta.el.Util.message:(Ljakarta/el/ELContext;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
5: invokespecial jakarta.el.MethodNotFoundException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 3
ifnonnull 8
7: aload 4
invokestatic jakarta.el.Util.getTypesFromValues:([Ljava/lang/Object;)[Ljava/lang/Class;
astore 3
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
astore 5
start local 5 9: aload 5
aload 2
invokestatic jakarta.el.Util$Wrapper.wrap:([Ljava/lang/reflect/Method;Ljava/lang/String;)Ljava/util/List;
astore 6
start local 6 10: aload 0
aload 6
aload 2
aload 3
aload 4
invokestatic jakarta.el.Util.findWrapper:(Ljava/lang/Class;Ljava/util/List;Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Ljakarta/el/Util$Wrapper;
astore 7
start local 7 11: aload 0
aload 1
aload 7
invokevirtual jakarta.el.Util$Wrapper.unWrap:()Ljava/lang/Object;
checkcast java.lang.reflect.Method
invokestatic jakarta.el.Util.getMethod:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 clazz Ljava/lang/Class<*>;
0 12 1 base Ljava/lang/Object;
0 12 2 methodName Ljava/lang/String;
0 12 3 paramTypes [Ljava/lang/Class;
0 12 4 paramValues [Ljava/lang/Object;
9 12 5 methods [Ljava/lang/reflect/Method;
10 12 6 wrappers Ljava/util/List<Ljakarta/el/Util$Wrapper<Ljava/lang/reflect/Method;>;>;
11 12 7 result Ljakarta/el/Util$Wrapper<Ljava/lang/reflect/Method;>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class<*>;[Ljava/lang/Object;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
clazz
base
methodName
paramTypes
paramValues
private static <T> jakarta.el.Util$Wrapper<T> findWrapper(java.lang.Class<?>, java.util.List<jakarta.el.Util$Wrapper<T>>, java.lang.String, java.lang.Class<?>[], []);
descriptor: (Ljava/lang/Class;Ljava/util/List;Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Ljakarta/el/Util$Wrapper;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=18, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 5
start local 5 1: aload 3
arraylength
istore 6
start local 6 2: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 71
StackMap locals: java.lang.Class java.util.List java.lang.String java.lang.Class[] java.lang.Object[] java.util.Map int top java.util.Iterator
StackMap stack:
3: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jakarta.el.Util$Wrapper
astore 7
start local 7 4: aload 7
invokevirtual jakarta.el.Util$Wrapper.getParameterTypes:()[Ljava/lang/Class;
astore 9
start local 9 5: aload 9
ifnonnull 8
6: iconst_0
istore 10
start local 10 7: goto 9
end local 10 8: StackMap locals: java.lang.Class java.util.List java.lang.String java.lang.Class[] java.lang.Object[] java.util.Map int jakarta.el.Util$Wrapper java.util.Iterator java.lang.Class[]
StackMap stack:
aload 9
arraylength
istore 10
start local 10 9: StackMap locals: int
StackMap stack:
aload 7
invokevirtual jakarta.el.Util$Wrapper.isVarArgs:()Z
ifne 11
iload 6
iload 10
if_icmpeq 11
10: goto 71
11: StackMap locals:
StackMap stack:
aload 7
invokevirtual jakarta.el.Util$Wrapper.isVarArgs:()Z
ifeq 13
iload 6
iload 10
iconst_1
isub
if_icmpge 13
12: goto 71
13: StackMap locals:
StackMap stack:
aload 7
invokevirtual jakarta.el.Util$Wrapper.isVarArgs:()Z
ifeq 16
iload 6
iload 10
if_icmpne 16
aload 4
ifnull 16
14: aload 4
arraylength
iload 6
if_icmple 16
aload 3
iload 10
iconst_1
isub
aaload
invokevirtual java.lang.Class.isArray:()Z
ifne 16
15: goto 71
16: StackMap locals:
StackMap stack:
aload 7
invokevirtual jakarta.el.Util$Wrapper.isVarArgs:()Z
ifeq 19
iload 6
iload 10
if_icmple 19
aload 4
ifnull 19
17: aload 4
arraylength
iload 6
if_icmpeq 19
18: goto 71
19: StackMap locals:
StackMap stack:
aload 7
invokevirtual jakarta.el.Util$Wrapper.isVarArgs:()Z
ifne 21
aload 4
ifnull 21
iload 6
aload 4
arraylength
if_icmpeq 21
20: goto 71
21: StackMap locals:
StackMap stack:
iconst_0
istore 11
start local 11 22: iconst_0
istore 12
start local 12 23: iconst_0
istore 13
start local 13 24: iconst_0
istore 14
start local 14 25: iconst_0
istore 15
start local 15 26: goto 63
27: StackMap locals: java.lang.Class java.util.List java.lang.String java.lang.Class[] java.lang.Object[] java.util.Map int jakarta.el.Util$Wrapper java.util.Iterator java.lang.Class[] int int int int int int
StackMap stack:
aload 7
invokevirtual jakarta.el.Util$Wrapper.isVarArgs:()Z
ifeq 48
iload 15
iload 10
iconst_1
isub
if_icmpne 48
28: iload 15
iload 6
if_icmpeq 29
aload 4
ifnull 31
aload 4
arraylength
iload 15
if_icmpne 31
29: StackMap locals:
StackMap stack:
iinc 12 1
30: goto 64
31: StackMap locals:
StackMap stack:
aload 9
iload 15
aaload
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 16
start local 16 32: iload 15
istore 17
start local 17 33: goto 46
34: StackMap locals: java.lang.Class int
StackMap stack:
aload 3
iload 17
aaload
aload 16
invokestatic jakarta.el.Util.isAssignableFrom:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 37
35: iinc 12 1
36: goto 45
37: StackMap locals:
StackMap stack:
aload 4
ifnonnull 40
38: iconst_1
istore 14
39: goto 62
40: StackMap locals:
StackMap stack:
aload 4
iload 17
aaload
aload 16
invokestatic jakarta.el.Util.isCoercibleFrom:(Ljava/lang/Object;Ljava/lang/Class;)Z
ifeq 43
41: iinc 13 1
42: goto 45
43: StackMap locals:
StackMap stack:
iconst_1
istore 14
44: goto 62
45: StackMap locals:
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
46: iload 17
iload 6
if_icmplt 34
end local 17 end local 16 47: goto 62
48: StackMap locals:
StackMap stack:
aload 9
iload 15
aaload
aload 3
iload 15
aaload
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 51
49: iinc 11 1
50: goto 62
StackMap locals:
StackMap stack:
51: aload 3
iload 15
aaload
ifnull 54
aload 3
iload 15
aaload
aload 9
iload 15
aaload
invokestatic jakarta.el.Util.isAssignableFrom:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 54
52: iinc 12 1
53: goto 62
54: StackMap locals:
StackMap stack:
aload 4
ifnonnull 57
55: iconst_1
istore 14
56: goto 64
57: StackMap locals:
StackMap stack:
aload 4
iload 15
aaload
aload 9
iload 15
aaload
invokestatic jakarta.el.Util.isCoercibleFrom:(Ljava/lang/Object;Ljava/lang/Class;)Z
ifeq 60
58: iinc 13 1
59: goto 62
60: StackMap locals:
StackMap stack:
iconst_1
istore 14
61: goto 64
62: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
63: iload 15
iload 10
if_icmplt 27
end local 15 64: StackMap locals:
StackMap stack:
iload 14
ifeq 66
65: goto 71
66: StackMap locals:
StackMap stack:
iload 11
iload 6
if_icmpne 68
67: aload 7
areturn
68: StackMap locals:
StackMap stack:
aload 5
aload 7
new jakarta.el.Util$MatchResult
dup
69: iload 11
iload 12
iload 13
aload 7
invokevirtual jakarta.el.Util$Wrapper.isBridge:()Z
invokespecial jakarta.el.Util$MatchResult.<init>:(IIIZ)V
70: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 7 71: StackMap locals: java.lang.Class java.util.List java.lang.String java.lang.Class[] java.lang.Object[] java.util.Map int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
72: new jakarta.el.Util$MatchResult
dup
iconst_0
iconst_0
iconst_0
iconst_0
invokespecial jakarta.el.Util$MatchResult.<init>:(IIIZ)V
astore 7
start local 7 73: aconst_null
astore 8
start local 8 74: iconst_0
istore 9
start local 9 75: aload 5
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 85
StackMap locals: java.lang.Class java.util.List java.lang.String java.lang.Class[] java.lang.Object[] java.util.Map int jakarta.el.Util$MatchResult jakarta.el.Util$Wrapper int top java.util.Iterator
StackMap stack:
76: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 10
start local 10 77: aload 10
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast jakarta.el.Util$MatchResult
aload 7
invokevirtual jakarta.el.Util$MatchResult.compareTo:(Ljakarta/el/Util$MatchResult;)I
istore 12
start local 12 78: iload 12
ifgt 79
aload 8
ifnonnull 83
79: StackMap locals: java.lang.Class java.util.List java.lang.String java.lang.Class[] java.lang.Object[] java.util.Map int jakarta.el.Util$MatchResult jakarta.el.Util$Wrapper int java.util.Map$Entry java.util.Iterator int
StackMap stack:
aload 10
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast jakarta.el.Util$MatchResult
astore 7
80: aload 10
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast jakarta.el.Util$Wrapper
astore 8
81: iconst_0
istore 9
82: goto 85
StackMap locals:
StackMap stack:
83: iload 12
ifne 85
84: iconst_1
istore 9
end local 12 end local 10 85: StackMap locals: java.lang.Class java.util.List java.lang.String java.lang.Class[] java.lang.Object[] java.util.Map int jakarta.el.Util$MatchResult jakarta.el.Util$Wrapper int top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 76
86: iload 9
ifeq 96
87: aload 7
invokevirtual jakarta.el.Util$MatchResult.getExact:()I
iload 6
iconst_1
isub
if_icmpne 90
88: aload 5
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
aload 3
invokestatic jakarta.el.Util.resolveAmbiguousWrapper:(Ljava/util/Set;[Ljava/lang/Class;)Ljakarta/el/Util$Wrapper;
astore 8
89: goto 91
90: StackMap locals: java.lang.Class java.util.List java.lang.String java.lang.Class[] java.lang.Object[] java.util.Map int jakarta.el.Util$MatchResult jakarta.el.Util$Wrapper int
StackMap stack:
aconst_null
astore 8
91: StackMap locals:
StackMap stack:
aload 8
ifnonnull 96
92: new jakarta.el.MethodNotFoundException
dup
93: aconst_null
ldc "util.method.ambiguous"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
94: aload 3
invokestatic jakarta.el.Util.paramString:([Ljava/lang/Class;)Ljava/lang/String;
aastore
95: invokestatic jakarta.el.Util.message:(Ljakarta/el/ELContext;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial jakarta.el.MethodNotFoundException.<init>:(Ljava/lang/String;)V
athrow
96: StackMap locals:
StackMap stack:
aload 8
ifnonnull 101
97: new jakarta.el.MethodNotFoundException
dup
98: aconst_null
ldc "util.method.notfound"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
99: aload 3
invokestatic jakarta.el.Util.paramString:([Ljava/lang/Class;)Ljava/lang/String;
aastore
100: invokestatic jakarta.el.Util.message:(Ljakarta/el/ELContext;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial jakarta.el.MethodNotFoundException.<init>:(Ljava/lang/String;)V
athrow
101: StackMap locals:
StackMap stack:
aload 8
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 102 0 clazz Ljava/lang/Class<*>;
0 102 1 wrappers Ljava/util/List<Ljakarta/el/Util$Wrapper<TT;>;>;
0 102 2 name Ljava/lang/String;
0 102 3 paramTypes [Ljava/lang/Class;
0 102 4 paramValues [Ljava/lang/Object;
1 102 5 candidates Ljava/util/Map<Ljakarta/el/Util$Wrapper<TT;>;Ljakarta/el/Util$MatchResult;>;
2 102 6 paramCount I
4 71 7 w Ljakarta/el/Util$Wrapper<TT;>;
5 71 9 mParamTypes [Ljava/lang/Class;
7 8 10 mParamCount I
9 71 10 mParamCount I
22 71 11 exactMatch I
23 71 12 assignableMatch I
24 71 13 coercibleMatch I
25 71 14 noMatch Z
26 64 15 i I
32 47 16 varType Ljava/lang/Class<*>;
33 47 17 j I
73 102 7 bestMatch Ljakarta/el/Util$MatchResult;
74 102 8 match Ljakarta/el/Util$Wrapper<TT;>;
75 102 9 multiple Z
77 85 10 entry Ljava/util/Map$Entry<Ljakarta/el/Util$Wrapper<TT;>;Ljakarta/el/Util$MatchResult;>;
78 85 12 cmp I
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<*>;Ljava/util/List<Ljakarta/el/Util$Wrapper<TT;>;>;Ljava/lang/String;[Ljava/lang/Class<*>;[Ljava/lang/Object;)Ljakarta/el/Util$Wrapper<TT;>;
MethodParameters:
Name Flags
clazz
wrappers
name
paramTypes
paramValues
private static final java.lang.String paramString(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
ifnull 13
1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 2: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 9
StackMap locals: java.lang.Class[] java.lang.StringBuilder top int int java.lang.Class[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: aload 2
ifnonnull 7
5: aload 1
ldc "null, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: goto 8
7: StackMap locals: java.lang.Class[] java.lang.StringBuilder java.lang.Class int int java.lang.Class[]
StackMap stack:
aload 1
aload 2
invokevirtual java.lang.Class.getName:()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;
pop
end local 2 8: StackMap locals: java.lang.Class[] java.lang.StringBuilder top int int java.lang.Class[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 4
if_icmplt 3
10: aload 1
invokevirtual java.lang.StringBuilder.length:()I
iconst_2
if_icmple 12
11: aload 1
aload 1
invokevirtual java.lang.StringBuilder.length:()I
iconst_2
isub
invokevirtual java.lang.StringBuilder.setLength:(I)V
12: StackMap locals: java.lang.Class[] java.lang.StringBuilder
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 13: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 types [Ljava/lang/Class;
2 13 1 sb Ljava/lang/StringBuilder;
4 8 2 type Ljava/lang/Class<*>;
Signature: ([Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
types
private static <T> jakarta.el.Util$Wrapper<T> resolveAmbiguousWrapper(java.util.Set<jakarta.el.Util$Wrapper<T>>, java.lang.Class<?>[]);
descriptor: (Ljava/util/Set;[Ljava/lang/Class;)Ljakarta/el/Util$Wrapper;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jakarta.el.Util$Wrapper
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aconst_null
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 10
5: StackMap locals: java.util.Set java.lang.Class[] jakarta.el.Util$Wrapper int java.lang.Class int
StackMap stack:
aload 2
invokevirtual jakarta.el.Util$Wrapper.getParameterTypes:()[Ljava/lang/Class;
iload 5
aaload
aload 1
iload 5
aaload
if_acmpeq 9
6: iload 5
istore 3
7: aload 1
iload 5
aaload
astore 4
8: goto 11
9: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
aload 1
arraylength
if_icmplt 5
end local 5 11: StackMap locals:
StackMap stack:
aload 4
ifnonnull 13
12: aconst_null
areturn
13: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 19
StackMap locals: java.util.Set java.lang.Class[] jakarta.el.Util$Wrapper int java.lang.Class top java.util.Iterator
StackMap stack:
14: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jakarta.el.Util$Wrapper
astore 5
start local 5 15: aload 5
invokevirtual jakarta.el.Util$Wrapper.getParameterTypes:()[Ljava/lang/Class;
iload 3
aaload
16: aload 1
iload 3
aaload
17: if_acmpne 19
18: aconst_null
areturn
end local 5 19: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
20: aload 4
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 5
start local 5 21: goto 28
22: StackMap locals: java.util.Set java.lang.Class[] jakarta.el.Util$Wrapper int java.lang.Class java.lang.Class
StackMap stack:
aload 0
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 26
StackMap locals: java.util.Set java.lang.Class[] jakarta.el.Util$Wrapper int java.lang.Class java.lang.Class top java.util.Iterator
StackMap stack:
23: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jakarta.el.Util$Wrapper
astore 6
start local 6 24: aload 6
invokevirtual jakarta.el.Util$Wrapper.getParameterTypes:()[Ljava/lang/Class;
iload 3
aaload
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 26
25: aload 6
areturn
end local 6 26: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
27: aload 5
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 5
28: StackMap locals: java.util.Set java.lang.Class[] jakarta.el.Util$Wrapper int java.lang.Class java.lang.Class
StackMap stack:
aload 5
ifnonnull 22
29: aconst_null
astore 6
start local 6 30: ldc Ljava/lang/Number;
aload 4
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 42
31: aload 0
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 41
StackMap locals: java.util.Set java.lang.Class[] jakarta.el.Util$Wrapper int java.lang.Class java.lang.Class jakarta.el.Util$Wrapper top java.util.Iterator
StackMap stack:
32: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jakarta.el.Util$Wrapper
astore 7
start local 7 33: aload 7
invokevirtual jakarta.el.Util$Wrapper.getParameterTypes:()[Ljava/lang/Class;
iload 3
aaload
astore 9
start local 9 34: ldc Ljava/lang/Number;
aload 9
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 36
35: aload 9
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 41
36: StackMap locals: java.util.Set java.lang.Class[] jakarta.el.Util$Wrapper int java.lang.Class java.lang.Class jakarta.el.Util$Wrapper jakarta.el.Util$Wrapper java.util.Iterator java.lang.Class
StackMap stack:
aload 6
ifnonnull 39
37: aload 7
astore 6
38: goto 41
39: StackMap locals:
StackMap stack:
aconst_null
astore 6
40: goto 42
end local 9 end local 7 41: StackMap locals: java.util.Set java.lang.Class[] jakarta.el.Util$Wrapper int java.lang.Class java.lang.Class jakarta.el.Util$Wrapper top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
42: StackMap locals: java.util.Set java.lang.Class[] jakarta.el.Util$Wrapper int java.lang.Class java.lang.Class jakarta.el.Util$Wrapper
StackMap stack:
aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 candidates Ljava/util/Set<Ljakarta/el/Util$Wrapper<TT;>;>;
0 43 1 paramTypes [Ljava/lang/Class;
1 43 2 w Ljakarta/el/Util$Wrapper<TT;>;
2 43 3 nonMatchIndex I
3 43 4 nonMatchClass Ljava/lang/Class<*>;
4 11 5 i I
15 19 5 c Ljakarta/el/Util$Wrapper<TT;>;
21 43 5 superClass Ljava/lang/Class<*>;
24 26 6 c Ljakarta/el/Util$Wrapper<TT;>;
30 43 6 match Ljakarta/el/Util$Wrapper<TT;>;
33 41 7 c Ljakarta/el/Util$Wrapper<TT;>;
34 41 9 candidateType Ljava/lang/Class<*>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/Set<Ljakarta/el/Util$Wrapper<TT;>;>;[Ljava/lang/Class<*>;)Ljakarta/el/Util$Wrapper<TT;>;
MethodParameters:
Name Flags
candidates
paramTypes
static boolean isAssignableFrom(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 26
3: aload 1
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 6
4: ldc Ljava/lang/Boolean;
astore 2
start local 2 5: goto 27
end local 2 StackMap locals:
StackMap stack:
6: aload 1
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 9
7: ldc Ljava/lang/Character;
astore 2
start local 2 8: goto 27
end local 2 StackMap locals:
StackMap stack:
9: aload 1
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpne 12
10: ldc Ljava/lang/Byte;
astore 2
start local 2 11: goto 27
end local 2 StackMap locals:
StackMap stack:
12: aload 1
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpne 15
13: ldc Ljava/lang/Short;
astore 2
start local 2 14: goto 27
end local 2 StackMap locals:
StackMap stack:
15: aload 1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpne 18
16: ldc Ljava/lang/Integer;
astore 2
start local 2 17: goto 27
end local 2 StackMap locals:
StackMap stack:
18: aload 1
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpne 21
19: ldc Ljava/lang/Long;
astore 2
start local 2 20: goto 27
end local 2 StackMap locals:
StackMap stack:
21: aload 1
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpne 24
22: ldc Ljava/lang/Float;
astore 2
start local 2 23: goto 27
end local 2 24: StackMap locals:
StackMap stack:
ldc Ljava/lang/Double;
astore 2
start local 2 25: goto 27
end local 2 26: StackMap locals:
StackMap stack:
aload 1
astore 2
start local 2 27: StackMap locals: java.lang.Class
StackMap stack:
aload 2
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 src Ljava/lang/Class<*>;
0 28 1 target Ljava/lang/Class<*>;
5 6 2 targetClass Ljava/lang/Class<*>;
8 9 2 targetClass Ljava/lang/Class<*>;
11 12 2 targetClass Ljava/lang/Class<*>;
14 15 2 targetClass Ljava/lang/Class<*>;
17 18 2 targetClass Ljava/lang/Class<*>;
20 21 2 targetClass Ljava/lang/Class<*>;
23 24 2 targetClass Ljava/lang/Class<*>;
25 26 2 targetClass Ljava/lang/Class<*>;
27 28 2 targetClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
src
target
private static boolean isCoercibleFrom(, java.lang.Class<?>);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: invokestatic jakarta.el.Util.getExpressionFactory:()Ljakarta/el/ExpressionFactory;
aload 0
aload 1
invokevirtual jakarta.el.ExpressionFactory.coerceToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
pop
1: goto 4
StackMap locals:
StackMap stack: jakarta.el.ELException
2: pop
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 src Ljava/lang/Object;
0 5 1 target Ljava/lang/Class<*>;
Exception table:
from to target type
0 1 2 Class jakarta.el.ELException
Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
src
target
private static java.lang.Class<?>[] getTypesFromValues([]);
descriptor: ([Ljava/lang/Object;)[Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: getstatic jakarta.el.Util.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
areturn
2: StackMap locals:
StackMap stack:
aload 0
arraylength
anewarray java.lang.Class
astore 1
start local 1 3: iconst_0
istore 2
start local 2 4: goto 10
5: StackMap locals: java.lang.Class[] int
StackMap stack:
aload 0
iload 2
aaload
ifnonnull 8
6: aload 1
iload 2
aconst_null
aastore
7: goto 9
8: StackMap locals:
StackMap stack:
aload 1
iload 2
aload 0
iload 2
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
9: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
aload 0
arraylength
if_icmplt 5
end local 2 11: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 values [Ljava/lang/Object;
3 12 1 result [Ljava/lang/Class;
4 11 2 i I
Signature: ([Ljava/lang/Object;)[Ljava/lang/Class<*>;
MethodParameters:
Name Flags
values
static java.lang.reflect.Method getMethod(java.lang.Class<?>, , java.lang.reflect.Method);
descriptor: (Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: invokestatic jakarta.el.JreCompat.getInstance:()Ljakarta/el/JreCompat;
astore 3
start local 3 1: aload 2
ifnull 4
2: aload 0
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 5
3: aload 3
aload 1
aload 2
invokevirtual jakarta.el.JreCompat.canAccess:(Ljava/lang/Object;Ljava/lang/reflect/AccessibleObject;)Z
ifne 4
aload 1
ifnull 5
aload 3
aconst_null
aload 2
invokevirtual jakarta.el.JreCompat.canAccess:(Ljava/lang/Object;Ljava/lang/reflect/AccessibleObject;)Z
ifeq 5
4: StackMap locals: jakarta.el.JreCompat
StackMap stack:
aload 2
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
astore 4
start local 4 6: aconst_null
astore 5
start local 5 7: aload 4
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 16
StackMap locals: java.lang.Class java.lang.Object java.lang.reflect.Method jakarta.el.JreCompat java.lang.Class[] java.lang.reflect.Method top int int java.lang.Class[]
StackMap stack:
8: aload 9
iload 7
aaload
astore 6
start local 6 9: aload 6
aload 2
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 5
10: aload 5
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
aload 1
aload 5
invokestatic jakarta.el.Util.getMethod:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
astore 5
11: aload 5
ifnull 15
12: aload 5
13: areturn
14: StackMap locals: java.lang.Class java.lang.Object java.lang.reflect.Method jakarta.el.JreCompat java.lang.Class[] java.lang.reflect.Method java.lang.Class int int java.lang.Class[]
StackMap stack: java.lang.NoSuchMethodException
pop
end local 6 15: StackMap locals: java.lang.Class java.lang.Object java.lang.reflect.Method jakarta.el.JreCompat java.lang.Class[] java.lang.reflect.Method top int int java.lang.Class[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
16: iload 7
iload 8
if_icmplt 8
17: aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 6
start local 6 18: aload 6
ifnull 25
19: aload 6
aload 2
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 5
20: aload 5
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
aload 1
aload 5
invokestatic jakarta.el.Util.getMethod:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
astore 5
21: aload 5
ifnull 25
22: aload 5
23: areturn
24: StackMap locals: java.lang.Class java.lang.Object java.lang.reflect.Method jakarta.el.JreCompat java.lang.Class[] java.lang.reflect.Method java.lang.Class
StackMap stack: java.lang.NoSuchMethodException
pop
25: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 type Ljava/lang/Class<*>;
0 26 1 base Ljava/lang/Object;
0 26 2 m Ljava/lang/reflect/Method;
1 26 3 jreCompat Ljakarta/el/JreCompat;
6 26 4 interfaces [Ljava/lang/Class;
7 26 5 mp Ljava/lang/reflect/Method;
9 15 6 iface Ljava/lang/Class<*>;
18 26 6 sup Ljava/lang/Class<*>;
Exception table:
from to target type
9 13 14 Class java.lang.NoSuchMethodException
19 23 24 Class java.lang.NoSuchMethodException
Signature: (Ljava/lang/Class<*>;Ljava/lang/Object;Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
type
base
m
static java.lang.reflect.Constructor<?> findConstructor(java.lang.Class<?>, java.lang.Class<?>[], []);
descriptor: (Ljava/lang/Class;[Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/reflect/Constructor;
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=9, args_size=3
start local 0 start local 1 start local 2 0: ldc "<init>"
astore 3
start local 3 1: aload 0
ifnonnull 7
2: new jakarta.el.MethodNotFoundException
dup
3: aconst_null
ldc "util.method.notfound"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aconst_null
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
4: aload 1
invokestatic jakarta.el.Util.paramString:([Ljava/lang/Class;)Ljava/lang/String;
aastore
5: invokestatic jakarta.el.Util.message:(Ljakarta/el/ELContext;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
6: invokespecial jakarta.el.MethodNotFoundException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.lang.String
StackMap stack:
aload 1
ifnonnull 9
8: aload 2
invokestatic jakarta.el.Util.getTypesFromValues:([Ljava/lang/Object;)[Ljava/lang/Class;
astore 1
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getConstructors:()[Ljava/lang/reflect/Constructor;
astore 4
start local 4 10: aload 4
invokestatic jakarta.el.Util$Wrapper.wrap:([Ljava/lang/reflect/Constructor;)Ljava/util/List;
astore 5
start local 5 11: aload 0
aload 5
aload 3
aload 1
aload 2
invokestatic jakarta.el.Util.findWrapper:(Ljava/lang/Class;Ljava/util/List;Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Ljakarta/el/Util$Wrapper;
astore 6
start local 6 12: aload 6
invokevirtual jakarta.el.Util$Wrapper.unWrap:()Ljava/lang/Object;
checkcast java.lang.reflect.Constructor
astore 7
start local 7 13: invokestatic jakarta.el.JreCompat.getInstance:()Ljakarta/el/JreCompat;
astore 8
start local 8 14: aload 0
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 15
aload 8
aconst_null
aload 7
invokevirtual jakarta.el.JreCompat.canAccess:(Ljava/lang/Object;Ljava/lang/reflect/AccessibleObject;)Z
ifne 19
15: StackMap locals: java.lang.Class java.lang.Class[] java.lang.Object[] java.lang.String java.lang.reflect.Constructor[] java.util.List jakarta.el.Util$Wrapper java.lang.reflect.Constructor jakarta.el.JreCompat
StackMap stack:
new jakarta.el.MethodNotFoundException
dup
16: aconst_null
ldc "util.method.notfound"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 3
aastore
dup
iconst_2
17: aload 1
invokestatic jakarta.el.Util.paramString:([Ljava/lang/Class;)Ljava/lang/String;
aastore
18: invokestatic jakarta.el.Util.message:(Ljakarta/el/ELContext;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial jakarta.el.MethodNotFoundException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 7
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 clazz Ljava/lang/Class<*>;
0 20 1 paramTypes [Ljava/lang/Class;
0 20 2 paramValues [Ljava/lang/Object;
1 20 3 methodName Ljava/lang/String;
10 20 4 constructors [Ljava/lang/reflect/Constructor;
11 20 5 wrappers Ljava/util/List<Ljakarta/el/Util$Wrapper<Ljava/lang/reflect/Constructor<*>;>;>;
12 20 6 wrapper Ljakarta/el/Util$Wrapper<Ljava/lang/reflect/Constructor<*>;>;
13 20 7 constructor Ljava/lang/reflect/Constructor<*>;
14 20 8 jreCompat Ljakarta/el/JreCompat;
Signature: (Ljava/lang/Class<*>;[Ljava/lang/Class<*>;[Ljava/lang/Object;)Ljava/lang/reflect/Constructor<*>;
MethodParameters:
Name Flags
clazz
paramTypes
paramValues
static [] buildParameters(java.lang.Class<?>[], boolean, []);
descriptor: ([Ljava/lang/Class;Z[Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: invokestatic jakarta.el.Util.getExpressionFactory:()Ljakarta/el/ExpressionFactory;
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 0
arraylength
ifle 38
3: aload 0
arraylength
anewarray java.lang.Object
astore 4
4: aload 2
ifnonnull 6
5: getstatic jakarta.el.Util.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
astore 2
6: StackMap locals: jakarta.el.ExpressionFactory java.lang.Object[]
StackMap stack:
aload 2
arraylength
istore 5
start local 5 7: iload 1
ifeq 30
8: aload 0
arraylength
iconst_1
isub
istore 6
start local 6 9: iconst_0
istore 7
start local 7 10: goto 15
11: StackMap locals: int int int
StackMap stack:
aload 4
iload 7
aload 3
aload 2
iload 7
aaload
12: aload 0
iload 7
aaload
13: invokevirtual jakarta.el.ExpressionFactory.coerceToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
aastore
14: iinc 7 1
StackMap locals:
StackMap stack:
15: iload 7
iload 6
if_icmplt 11
end local 7 16: aload 0
iload 6
aaload
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
17: astore 7
start local 7 18: aload 7
19: iload 5
iload 6
isub
20: invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 8
start local 8 21: iload 6
istore 9
start local 9 22: goto 27
23: StackMap locals: java.lang.Class[] int java.lang.Object[] jakarta.el.ExpressionFactory java.lang.Object[] int int java.lang.Class java.lang.Object int
StackMap stack:
aload 8
iload 9
iload 6
isub
24: aload 3
aload 2
iload 9
aaload
aload 7
invokevirtual jakarta.el.ExpressionFactory.coerceToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
25: invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
26: iinc 9 1
StackMap locals:
StackMap stack:
27: iload 9
iload 5
if_icmplt 23
end local 9 28: aload 4
iload 6
aload 8
aastore
end local 8 end local 7 end local 6 29: goto 38
30: StackMap locals: java.lang.Class[] int java.lang.Object[] jakarta.el.ExpressionFactory java.lang.Object[] int
StackMap stack:
aload 0
arraylength
anewarray java.lang.Object
astore 4
31: iconst_0
istore 6
start local 6 32: goto 37
33: StackMap locals: int
StackMap stack:
aload 4
iload 6
aload 3
aload 2
iload 6
aaload
34: aload 0
iload 6
aaload
35: invokevirtual jakarta.el.ExpressionFactory.coerceToType:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
aastore
36: iinc 6 1
StackMap locals:
StackMap stack:
37: iload 6
aload 0
arraylength
if_icmplt 33
end local 6 end local 5 38: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 parameterTypes [Ljava/lang/Class;
0 39 1 isVarArgs Z
0 39 2 params [Ljava/lang/Object;
1 39 3 factory Ljakarta/el/ExpressionFactory;
2 39 4 parameters [Ljava/lang/Object;
7 38 5 paramCount I
9 29 6 varArgIndex I
10 16 7 i I
18 29 7 varArgClass Ljava/lang/Class<*>;
21 29 8 varargs Ljava/lang/Object;
22 28 9 i I
32 38 6 i I
Signature: ([Ljava/lang/Class<*>;Z[Ljava/lang/Object;)[Ljava/lang/Object;
MethodParameters:
Name Flags
parameterTypes
isVarArgs
params
static java.lang.ClassLoader getContextClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 4
1: new jakarta.el.Util$PrivilegedGetTccl
dup
invokespecial jakarta.el.Util$PrivilegedGetTccl.<init>:()V
astore 1
start local 1 2: aload 1
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
astore 0
end local 1 start local 0 3: goto 5
end local 0 4: StackMap locals:
StackMap stack:
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 0
start local 0 5: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
3 4 0 tccl Ljava/lang/ClassLoader;
5 6 0 tccl Ljava/lang/ClassLoader;
2 3 1 pa Ljava/security/PrivilegedAction<Ljava/lang/ClassLoader;>;
}
SourceFile: "Util.java"
NestMembers:
jakarta.el.Util$CacheKey jakarta.el.Util$CacheValue jakarta.el.Util$ConstructorWrapper jakarta.el.Util$MatchResult jakarta.el.Util$MethodWrapper jakarta.el.Util$PrivilegedGetTccl jakarta.el.Util$Wrapper
InnerClasses:
private CacheKey = jakarta.el.Util$CacheKey of jakarta.el.Util
private CacheValue = jakarta.el.Util$CacheValue of jakarta.el.Util
private ConstructorWrapper = jakarta.el.Util$ConstructorWrapper of jakarta.el.Util
private MatchResult = jakarta.el.Util$MatchResult of jakarta.el.Util
private MethodWrapper = jakarta.el.Util$MethodWrapper of jakarta.el.Util
private PrivilegedGetTccl = jakarta.el.Util$PrivilegedGetTccl of jakarta.el.Util
private abstract Wrapper = jakarta.el.Util$Wrapper of jakarta.el.Util
public abstract Entry = java.util.Map$Entry of java.util.Map