public abstract class javax.el.ExpressionFactory
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: javax.el.ExpressionFactory
super_class: java.lang.Object
{
private static final boolean IS_SECURITY_ENABLED;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String SERVICE_RESOURCE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "META-INF/services/javax.el.ExpressionFactory"
private static final java.lang.String PROPERTY_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.el.ExpressionFactory"
private static final java.lang.String PROPERTY_FILE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final javax.el.ExpressionFactory$CacheValue nullTcclFactory;
descriptor: Ljavax/el/ExpressionFactory$CacheValue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Map<javax.el.ExpressionFactory$CacheKey, javax.el.ExpressionFactory$CacheValue> factoryCache;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljavax/el/ExpressionFactory$CacheKey;Ljavax/el/ExpressionFactory$CacheValue;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
2: StackMap locals:
StackMap stack: int
putstatic javax.el.ExpressionFactory.IS_SECURITY_ENABLED:Z
3: new javax.el.ExpressionFactory$CacheValue
dup
invokespecial javax.el.ExpressionFactory$CacheValue.<init>:()V
putstatic javax.el.ExpressionFactory.nullTcclFactory:Ljavax/el/ExpressionFactory$CacheValue;
4: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putstatic javax.el.ExpressionFactory.factoryCache:Ljava/util/Map;
5: getstatic javax.el.ExpressionFactory.IS_SECURITY_ENABLED:Z
ifeq 9
6: new javax.el.ExpressionFactory$1
dup
invokespecial javax.el.ExpressionFactory$1.<init>:()V
7: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
putstatic javax.el.ExpressionFactory.PROPERTY_FILE:Ljava/lang/String;
8: goto 12
9: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "java.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "el.properties"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic javax.el.ExpressionFactory.PROPERTY_FILE:Ljava/lang/String;
12: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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 Ljavax/el/ExpressionFactory;
public static javax.el.ExpressionFactory newInstance();
descriptor: ()Ljavax/el/ExpressionFactory;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: aconst_null
invokestatic javax.el.ExpressionFactory.newInstance:(Ljava/util/Properties;)Ljavax/el/ExpressionFactory;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static javax.el.ExpressionFactory newInstance(java.util.Properties);
descriptor: (Ljava/util/Properties;)Ljavax/el/ExpressionFactory;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=9, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: invokestatic javax.el.Util.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 2: aload 2
ifnonnull 5
3: getstatic javax.el.ExpressionFactory.nullTcclFactory:Ljavax/el/ExpressionFactory$CacheValue;
astore 3
start local 3 4: goto 12
end local 3 5: StackMap locals: javax.el.ExpressionFactory java.lang.ClassLoader
StackMap stack:
new javax.el.ExpressionFactory$CacheKey
dup
aload 2
invokespecial javax.el.ExpressionFactory$CacheKey.<init>:(Ljava/lang/ClassLoader;)V
astore 5
start local 5 6: getstatic javax.el.ExpressionFactory.factoryCache:Ljava/util/Map;
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.el.ExpressionFactory$CacheValue
astore 3
start local 3 7: aload 3
ifnonnull 12
8: new javax.el.ExpressionFactory$CacheValue
dup
invokespecial javax.el.ExpressionFactory$CacheValue.<init>:()V
astore 6
start local 6 9: getstatic javax.el.ExpressionFactory.factoryCache:Ljava/util/Map;
aload 5
aload 6
invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.el.ExpressionFactory$CacheValue
astore 3
10: aload 3
ifnonnull 12
11: aload 6
astore 3
end local 6 end local 5 12: StackMap locals: javax.el.ExpressionFactory$CacheValue
StackMap stack:
aload 3
invokevirtual javax.el.ExpressionFactory$CacheValue.getLock:()Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
astore 5
start local 5 13: aload 5
invokeinterface java.util.concurrent.locks.Lock.lock:()V
14: aload 3
invokevirtual javax.el.ExpressionFactory$CacheValue.getFactoryClass:()Ljava/lang/Class;
astore 4
start local 4 15: goto 19
end local 4 StackMap locals: java.util.Properties javax.el.ExpressionFactory java.lang.ClassLoader javax.el.ExpressionFactory$CacheValue top java.util.concurrent.locks.Lock
StackMap stack: java.lang.Throwable
16: astore 6
17: aload 5
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
18: aload 6
athrow
start local 4 19: StackMap locals: java.util.Properties javax.el.ExpressionFactory java.lang.ClassLoader javax.el.ExpressionFactory$CacheValue java.lang.Class java.util.concurrent.locks.Lock
StackMap stack:
aload 5
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
20: aload 4
ifnonnull 41
21: aconst_null
astore 6
start local 6 22: aload 3
invokevirtual javax.el.ExpressionFactory$CacheValue.getLock:()Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
astore 7
start local 7 23: aload 7
invokeinterface java.util.concurrent.locks.Lock.lock:()V
24: aload 3
invokevirtual javax.el.ExpressionFactory$CacheValue.getFactoryClassName:()Ljava/lang/String;
astore 6
25: aload 6
ifnonnull 28
26: aload 2
invokestatic javax.el.ExpressionFactory.discoverClassName:(Ljava/lang/ClassLoader;)Ljava/lang/String;
astore 6
27: aload 3
aload 6
invokevirtual javax.el.ExpressionFactory$CacheValue.setFactoryClassName:(Ljava/lang/String;)V
28: StackMap locals: java.lang.String java.util.concurrent.locks.Lock
StackMap stack:
aload 2
ifnonnull 31
29: aload 6
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 4
30: goto 32
31: StackMap locals:
StackMap stack:
aload 2
aload 6
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 4
32: StackMap locals:
StackMap stack:
aload 3
aload 4
invokevirtual javax.el.ExpressionFactory$CacheValue.setFactoryClass:(Ljava/lang/Class;)V
33: goto 37
StackMap locals:
StackMap stack: java.lang.Throwable
34: astore 8
35: aload 7
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
36: aload 8
athrow
37: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
end local 7 38: goto 41
StackMap locals: java.util.Properties javax.el.ExpressionFactory java.lang.ClassLoader javax.el.ExpressionFactory$CacheValue java.lang.Class java.util.concurrent.locks.Lock java.lang.String
StackMap stack: java.lang.ClassNotFoundException
39: astore 7
start local 7 40: new javax.el.ELException
dup
aconst_null
ldc "expressionFactory.cannotFind"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
invokestatic javax.el.Util.message:(Ljavax/el/ELContext;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 7
invokespecial javax.el.ELException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 end local 6 41: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 42: aload 0
ifnull 48
43: aload 4
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/util/Properties;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 6
44: goto 48
StackMap locals: java.util.Properties javax.el.ExpressionFactory java.lang.ClassLoader javax.el.ExpressionFactory$CacheValue java.lang.Class java.util.concurrent.locks.Lock java.lang.reflect.Constructor
StackMap stack: java.lang.SecurityException
45: astore 7
start local 7 46: new javax.el.ELException
dup
aload 7
invokespecial javax.el.ELException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 47: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
48: StackMap locals:
StackMap stack:
aload 6
ifnonnull 51
49: aload 4
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.el.ExpressionFactory
astore 1
50: goto 60
51: StackMap locals:
StackMap stack:
aload 6
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.el.ExpressionFactory
52: astore 1
end local 6 53: goto 60
StackMap locals: java.util.Properties javax.el.ExpressionFactory java.lang.ClassLoader javax.el.ExpressionFactory$CacheValue java.lang.Class java.util.concurrent.locks.Lock
StackMap stack: java.lang.reflect.InvocationTargetException
54: astore 6
start local 6 55: aload 6
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
astore 7
start local 7 56: aload 7
invokestatic javax.el.Util.handleThrowable:(Ljava/lang/Throwable;)V
57: new javax.el.ELException
dup
aconst_null
ldc "expressionFactory.cannotCreate"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
invokestatic javax.el.Util.message:(Ljavax/el/ELContext;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 6
invokespecial javax.el.ELException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 end local 6 58: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 59: new javax.el.ELException
dup
aconst_null
ldc "expressionFactory.cannotCreate"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
invokestatic javax.el.Util.message:(Ljavax/el/ELContext;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 6
invokespecial javax.el.ELException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 60: StackMap locals:
StackMap stack:
aload 1
areturn
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 61 0 properties Ljava/util/Properties;
1 61 1 result Ljavax/el/ExpressionFactory;
2 61 2 tccl Ljava/lang/ClassLoader;
4 5 3 cacheValue Ljavax/el/ExpressionFactory$CacheValue;
7 61 3 cacheValue Ljavax/el/ExpressionFactory$CacheValue;
15 16 4 clazz Ljava/lang/Class<*>;
19 61 4 clazz Ljava/lang/Class<*>;
6 12 5 key Ljavax/el/ExpressionFactory$CacheKey;
9 12 6 newCacheValue Ljavax/el/ExpressionFactory$CacheValue;
13 61 5 readLock Ljava/util/concurrent/locks/Lock;
22 41 6 className Ljava/lang/String;
23 38 7 writeLock Ljava/util/concurrent/locks/Lock;
40 41 7 e Ljava/lang/ClassNotFoundException;
42 53 6 constructor Ljava/lang/reflect/Constructor<*>;
46 47 7 se Ljava/lang/SecurityException;
55 58 6 e Ljava/lang/reflect/InvocationTargetException;
56 58 7 cause Ljava/lang/Throwable;
59 60 6 e Ljava/lang/Exception;
Exception table:
from to target type
14 16 16 any
24 34 34 any
22 38 39 Class java.lang.ClassNotFoundException
43 44 45 Class java.lang.SecurityException
43 44 47 Class java.lang.NoSuchMethodException
41 53 54 Class java.lang.reflect.InvocationTargetException
41 53 58 Class java.lang.ReflectiveOperationException
41 53 58 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
properties
public abstract javax.el.ValueExpression createValueExpression(javax.el.ELContext, java.lang.String, java.lang.Class<?>);
descriptor: (Ljavax/el/ELContext;Ljava/lang/String;Ljava/lang/Class;)Ljavax/el/ValueExpression;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: (Ljavax/el/ELContext;Ljava/lang/String;Ljava/lang/Class<*>;)Ljavax/el/ValueExpression;
MethodParameters:
Name Flags
context
expression
expectedType
public abstract javax.el.ValueExpression createValueExpression(, java.lang.Class<?>);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljavax/el/ValueExpression;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;)Ljavax/el/ValueExpression;
MethodParameters:
Name Flags
instance
expectedType
public abstract javax.el.MethodExpression createMethodExpression(javax.el.ELContext, java.lang.String, java.lang.Class<?>, java.lang.Class<?>[]);
descriptor: (Ljavax/el/ELContext;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljavax/el/MethodExpression;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: (Ljavax/el/ELContext;Ljava/lang/String;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljavax/el/MethodExpression;
MethodParameters:
Name Flags
context
expression
expectedReturnType
expectedParamTypes
public abstract coerceToType(, java.lang.Class<?>);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
obj
expectedType
public javax.el.ELResolver getStreamELResolver();
descriptor: ()Ljavax/el/ELResolver;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/el/ExpressionFactory;
public java.util.Map<java.lang.String, java.lang.reflect.Method> getInitFunctionMap();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/el/ExpressionFactory;
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/reflect/Method;>;
private static java.lang.String discoverClassName(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
invokestatic javax.el.ExpressionFactory.getClassNameServices:(Ljava/lang/ClassLoader;)Ljava/lang/String;
astore 1
2: aload 1
ifnonnull 8
3: getstatic javax.el.ExpressionFactory.IS_SECURITY_ENABLED:Z
ifeq 7
4: new javax.el.ExpressionFactory$2
dup
invokespecial javax.el.ExpressionFactory$2.<init>:()V
5: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
6: goto 8
7: StackMap locals: java.lang.String
StackMap stack:
invokestatic javax.el.ExpressionFactory.getClassNameJreDir:()Ljava/lang/String;
astore 1
8: StackMap locals:
StackMap stack:
aload 1
ifnonnull 14
9: getstatic javax.el.ExpressionFactory.IS_SECURITY_ENABLED:Z
ifeq 13
10: new javax.el.ExpressionFactory$3
dup
invokespecial javax.el.ExpressionFactory$3.<init>:()V
11: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
12: goto 14
13: StackMap locals:
StackMap stack:
invokestatic javax.el.ExpressionFactory.getClassNameSysProp:()Ljava/lang/String;
astore 1
14: StackMap locals:
StackMap stack:
aload 1
ifnonnull 16
15: ldc "org.apache.el.ExpressionFactoryImpl"
astore 1
16: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 tccl Ljava/lang/ClassLoader;
1 17 1 className Ljava/lang/String;
MethodParameters:
Name Flags
tccl
private static java.lang.String getClassNameServices(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=9, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
ifnonnull 4
2: ldc "META-INF/services/javax.el.ExpressionFactory"
invokestatic java.lang.ClassLoader.getSystemResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 1
3: goto 5
4: StackMap locals: java.io.InputStream
StackMap stack:
aload 0
ldc "META-INF/services/javax.el.ExpressionFactory"
invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 1
5: StackMap locals:
StackMap stack:
aload 1
ifnull 44
6: aconst_null
astore 2
start local 2 7: aconst_null
astore 3
aconst_null
astore 4
8: new java.io.InputStreamReader
dup
aload 1
ldc "UTF-8"
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
astore 5
start local 5 9: new java.io.BufferedReader
dup
aload 5
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 6
start local 6 10: aload 6
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
astore 2
11: aload 2
ifnull 19
aload 2
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 19
12: aload 2
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 8
13: aload 6
ifnull 14
aload 6
invokevirtual java.io.BufferedReader.close:()V
StackMap locals: java.lang.ClassLoader java.io.InputStream java.lang.String java.lang.Throwable java.lang.Throwable java.io.InputStreamReader java.io.BufferedReader top java.lang.String
StackMap stack:
14: aload 5
ifnull 15
aload 5
invokevirtual java.io.InputStreamReader.close:()V
15: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.InputStream.close:()V
16: goto 18
StackMap locals:
StackMap stack: java.io.IOException
17: pop
18: StackMap locals:
StackMap stack:
aload 8
areturn
19: StackMap locals: java.lang.ClassLoader java.io.InputStream java.lang.String java.lang.Throwable java.lang.Throwable java.io.InputStreamReader java.io.BufferedReader
StackMap stack:
aload 6
ifnull 22
aload 6
invokevirtual java.io.BufferedReader.close:()V
goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 3
aload 6
ifnull 21
aload 6
invokevirtual java.io.BufferedReader.close:()V
end local 6 StackMap locals:
StackMap stack:
21: aload 3
athrow
StackMap locals:
StackMap stack:
22: aload 5
ifnull 41
aload 5
invokevirtual java.io.InputStreamReader.close:()V
goto 41
StackMap locals:
StackMap stack: java.lang.Throwable
23: astore 4
aload 3
ifnonnull 24
aload 4
astore 3
goto 25
StackMap locals:
StackMap stack:
24: aload 3
aload 4
if_acmpeq 25
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
25: aload 5
ifnull 26
aload 5
invokevirtual java.io.InputStreamReader.close:()V
end local 5 StackMap locals:
StackMap stack:
26: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
27: astore 4
aload 3
ifnonnull 28
aload 4
astore 3
goto 29
StackMap locals:
StackMap stack:
28: aload 3
aload 4
if_acmpeq 29
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
29: aload 3
athrow
StackMap locals: java.lang.ClassLoader java.io.InputStream java.lang.String
StackMap stack: java.io.UnsupportedEncodingException
30: pop
31: aload 1
invokevirtual java.io.InputStream.close:()V
32: goto 44
StackMap locals:
StackMap stack: java.io.IOException
33: pop
goto 44
34: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 35: new javax.el.ELException
dup
aconst_null
ldc "expressionFactory.readFailed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "META-INF/services/javax.el.ExpressionFactory"
aastore
invokestatic javax.el.Util.message:(Ljavax/el/ELContext;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 3
invokespecial javax.el.ELException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 36: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
37: aload 1
invokevirtual java.io.InputStream.close:()V
38: goto 40
StackMap locals: java.lang.ClassLoader java.io.InputStream java.lang.String top top top top java.lang.Throwable
StackMap stack: java.io.IOException
39: pop
40: StackMap locals:
StackMap stack:
aload 7
athrow
41: StackMap locals: java.lang.ClassLoader java.io.InputStream java.lang.String
StackMap stack:
aload 1
invokevirtual java.io.InputStream.close:()V
42: goto 44
StackMap locals:
StackMap stack: java.io.IOException
43: pop
end local 2 44: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 tccl Ljava/lang/ClassLoader;
1 45 1 is Ljava/io/InputStream;
7 44 2 line Ljava/lang/String;
9 26 5 isr Ljava/io/InputStreamReader;
10 21 6 br Ljava/io/BufferedReader;
35 36 3 e Ljava/io/IOException;
Exception table:
from to target type
15 16 17 Class java.io.IOException
10 13 20 any
9 14 23 any
19 22 23 any
8 15 27 any
19 27 27 any
7 15 30 Class java.io.UnsupportedEncodingException
19 30 30 Class java.io.UnsupportedEncodingException
31 32 33 Class java.io.IOException
7 15 34 Class java.io.IOException
19 30 34 Class java.io.IOException
7 15 36 any
19 31 36 any
34 36 36 any
37 38 39 Class java.io.IOException
41 42 43 Class java.io.IOException
MethodParameters:
Name Flags
tccl
private static java.lang.String getClassNameJreDir();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=6, args_size=0
0: new java.io.File
dup
getstatic javax.el.ExpressionFactory.PROPERTY_FILE:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 0
start local 0 1: aload 0
invokevirtual java.io.File.canRead:()Z
ifeq 20
2: aconst_null
astore 1
aconst_null
astore 2
3: new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 3
start local 3 4: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 4
start local 4 5: aload 4
aload 3
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
6: aload 4
ldc "javax.el.ExpressionFactory"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 7: aload 5
ifnull 11
aload 5
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 11
8: aload 5
invokevirtual java.lang.String.trim:()Ljava/lang/String;
9: aload 3
ifnull 10
aload 3
invokevirtual java.io.InputStream.close:()V
10: StackMap locals: java.io.File java.lang.Throwable java.lang.Throwable java.io.InputStream java.util.Properties java.lang.String
StackMap stack: java.lang.String
areturn
end local 5 end local 4 11: StackMap locals:
StackMap stack:
aload 3
ifnull 20
aload 3
invokevirtual java.io.InputStream.close:()V
goto 20
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 1
aload 3
ifnull 13
aload 3
invokevirtual java.io.InputStream.close:()V
end local 3 StackMap locals:
StackMap stack:
13: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 2
aload 1
ifnonnull 15
aload 2
astore 1
goto 16
StackMap locals:
StackMap stack:
15: aload 1
aload 2
if_acmpeq 16
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
16: aload 1
athrow
StackMap locals: java.io.File
StackMap stack: java.io.FileNotFoundException
17: pop
goto 20
18: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 19: new javax.el.ELException
dup
aconst_null
ldc "expressionFactory.readFailed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic javax.el.ExpressionFactory.PROPERTY_FILE:Ljava/lang/String;
aastore
invokestatic javax.el.Util.message:(Ljavax/el/ELContext;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 1
invokespecial javax.el.ELException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 20: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 21 0 file Ljava/io/File;
4 13 3 is Ljava/io/InputStream;
5 11 4 props Ljava/util/Properties;
7 11 5 value Ljava/lang/String;
19 20 1 e Ljava/io/IOException;
Exception table:
from to target type
4 9 12 any
3 10 14 any
11 14 14 any
2 10 17 Class java.io.FileNotFoundException
11 17 17 Class java.io.FileNotFoundException
2 10 18 Class java.io.IOException
11 17 18 Class java.io.IOException
private static final java.lang.String getClassNameSysProp();
descriptor: ()Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=0
0: ldc "javax.el.ExpressionFactory"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 1: aload 0
ifnull 3
aload 0
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifle 3
2: aload 0
invokevirtual java.lang.String.trim:()Ljava/lang/String;
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 value Ljava/lang/String;
}
SourceFile: "ExpressionFactory.java"
NestMembers:
javax.el.ExpressionFactory$1 javax.el.ExpressionFactory$2 javax.el.ExpressionFactory$3 javax.el.ExpressionFactory$CacheKey javax.el.ExpressionFactory$CacheValue
InnerClasses:
javax.el.ExpressionFactory$1
javax.el.ExpressionFactory$2
javax.el.ExpressionFactory$3
private CacheKey = javax.el.ExpressionFactory$CacheKey of javax.el.ExpressionFactory
private CacheValue = javax.el.ExpressionFactory$CacheValue of javax.el.ExpressionFactory