public class org.apache.catalina.loader.JdbcLeakPrevention
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.loader.JdbcLeakPrevention
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/loader/JdbcLeakPrevention;
public java.util.List<java.lang.String> clearJdbcDriverRegistrations();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 2: invokestatic java.sql.DriverManager.getDrivers:()Ljava/util/Enumeration;
astore 3
start local 3 3: goto 5
4: StackMap locals: java.util.List java.util.Set java.util.Enumeration
StackMap stack:
aload 2
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.sql.Driver
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 4
6: invokestatic java.sql.DriverManager.getDrivers:()Ljava/util/Enumeration;
astore 3
7: goto 16
8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.sql.Driver
astore 4
start local 4 9: aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
10: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
11: if_acmpeq 13
12: goto 16
13: StackMap locals: java.sql.Driver
StackMap stack:
aload 2
aload 4
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 15
14: aload 1
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: StackMap locals:
StackMap stack:
aload 4
invokestatic java.sql.DriverManager.deregisterDriver:(Ljava/sql/Driver;)V
end local 4 16: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 8
17: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/catalina/loader/JdbcLeakPrevention;
1 18 1 driverNames Ljava/util/List<Ljava/lang/String;>;
2 18 2 originalDrivers Ljava/util/Set<Ljava/sql/Driver;>;
3 18 3 drivers Ljava/util/Enumeration<Ljava/sql/Driver;>;
9 16 4 driver Ljava/sql/Driver;
Exceptions:
throws java.sql.SQLException
Signature: ()Ljava/util/List<Ljava/lang/String;>;
}
SourceFile: "JdbcLeakPrevention.java"