final class io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory extends io.netty.util.ResourceLeakDetectorFactory
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory
super_class: io.netty.util.ResourceLeakDetectorFactory
{
private final java.lang.reflect.Constructor<?> obsoleteCustomClassConstructor;
descriptor: Ljava/lang/reflect/Constructor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/reflect/Constructor<*>;
private final java.lang.reflect.Constructor<?> customClassConstructor;
descriptor: Ljava/lang/reflect/Constructor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/reflect/Constructor<*>;
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokespecial io.netty.util.ResourceLeakDetectorFactory.<init>:()V
1: new io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory$1
dup
aload 0
invokespecial io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory$1.<init>:(Lio/netty/util/ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 2: goto 6
end local 1 StackMap locals: io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory
StackMap stack: java.lang.Throwable
3: astore 2
start local 2 4: getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Could not access System property: io.netty.customResourceLeakDetector"
aload 2
invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
5: aconst_null
astore 1
end local 2 start local 1 6: StackMap locals: java.lang.String
StackMap stack:
aload 1
ifnonnull 9
7: aload 0
aload 0
aconst_null
dup_x1
putfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.customClassConstructor:Ljava/lang/reflect/Constructor;
putfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.obsoleteCustomClassConstructor:Ljava/lang/reflect/Constructor;
8: goto 11
9: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.obsoleteCustomClassConstructor:(Ljava/lang/String;)Ljava/lang/reflect/Constructor;
putfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.obsoleteCustomClassConstructor:Ljava/lang/reflect/Constructor;
10: aload 0
aload 1
invokestatic io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.customClassConstructor:(Ljava/lang/String;)Ljava/lang/reflect/Constructor;
putfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.customClassConstructor:Ljava/lang/reflect/Constructor;
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/netty/util/ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory;
2 3 1 customLeakDetector Ljava/lang/String;
6 12 1 customLeakDetector Ljava/lang/String;
4 6 2 cause Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
private static java.lang.reflect.Constructor<?> obsoleteCustomClassConstructor(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/reflect/Constructor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
1: invokestatic io.netty.util.internal.PlatformDependent.getSystemClassLoader:()Ljava/lang/ClassLoader;
2: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 1
start local 1 3: ldc Lio/netty/util/ResourceLeakDetector;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 6
4: aload 1
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Class;
aastore
dup
iconst_1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
dup
iconst_2
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
5: areturn
6: StackMap locals: java.lang.Class
StackMap stack:
getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Class {} does not inherit from ResourceLeakDetector."
aload 0
invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;Ljava/lang/Object;)V
end local 1 7: goto 12
StackMap locals: java.lang.String
StackMap stack: java.lang.Throwable
8: astore 1
start local 1 9: getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Could not load custom resource leak detector class provided: {}"
10: aload 0
aload 1
11: invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 1 12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 customLeakDetector Ljava/lang/String;
3 7 1 detectorClass Ljava/lang/Class<*>;
9 12 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 5 8 Class java.lang.Throwable
6 7 8 Class java.lang.Throwable
Signature: (Ljava/lang/String;)Ljava/lang/reflect/Constructor<*>;
MethodParameters:
Name Flags
customLeakDetector
private static java.lang.reflect.Constructor<?> customClassConstructor(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/reflect/Constructor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
1: invokestatic io.netty.util.internal.PlatformDependent.getSystemClassLoader:()Ljava/lang/ClassLoader;
2: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 1
start local 1 3: ldc Lio/netty/util/ResourceLeakDetector;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 6
4: aload 1
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Class;
aastore
dup
iconst_1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
5: areturn
6: StackMap locals: java.lang.Class
StackMap stack:
getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Class {} does not inherit from ResourceLeakDetector."
aload 0
invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;Ljava/lang/Object;)V
end local 1 7: goto 12
StackMap locals: java.lang.String
StackMap stack: java.lang.Throwable
8: astore 1
start local 1 9: getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Could not load custom resource leak detector class provided: {}"
10: aload 0
aload 1
11: invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 1 12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 customLeakDetector Ljava/lang/String;
3 7 1 detectorClass Ljava/lang/Class<*>;
9 12 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 5 8 Class java.lang.Throwable
6 7 8 Class java.lang.Throwable
Signature: (Ljava/lang/String;)Ljava/lang/reflect/Constructor<*>;
MethodParameters:
Name Flags
customLeakDetector
public <T> io.netty.util.ResourceLeakDetector<T> newResourceLeakDetector(java.lang.Class<T>, int, long);
descriptor: (Ljava/lang/Class;IJ)Lio/netty/util/ResourceLeakDetector;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.obsoleteCustomClassConstructor:Ljava/lang/reflect/Constructor;
ifnull 15
1: aload 0
getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.obsoleteCustomClassConstructor:Ljava/lang/reflect/Constructor;
iconst_3
anewarray java.lang.Object
dup
iconst_0
2: aload 1
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
3: invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.netty.util.ResourceLeakDetector
4: astore 5
start local 5 5: getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Loaded custom ResourceLeakDetector: {}"
6: aload 0
getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.obsoleteCustomClassConstructor:Ljava/lang/reflect/Constructor;
invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
7: invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
8: aload 5
9: areturn
end local 5 10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 11: getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
12: ldc "Could not load custom resource leak detector provided: {} with the given resource: {}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
13: aload 0
getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.obsoleteCustomClassConstructor:Ljava/lang/reflect/Constructor;
invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 5
aastore
14: invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 5 15: StackMap locals:
StackMap stack:
new io.netty.util.ResourceLeakDetector
dup
aload 1
iload 2
16: lload 3
17: invokespecial io.netty.util.ResourceLeakDetector.<init>:(Ljava/lang/Class;IJ)V
astore 5
start local 5 18: getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Loaded default ResourceLeakDetector: {}"
aload 5
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
19: aload 5
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/netty/util/ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory;
0 20 1 resource Ljava/lang/Class<TT;>;
0 20 2 samplingInterval I
0 20 3 maxActive J
5 10 5 leakDetector Lio/netty/util/ResourceLeakDetector<TT;>;
11 15 5 t Ljava/lang/Throwable;
18 20 5 resourceLeakDetector Lio/netty/util/ResourceLeakDetector<TT;>;
Exception table:
from to target type
1 9 10 Class java.lang.Throwable
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;IJ)Lio/netty/util/ResourceLeakDetector<TT;>;
MethodParameters:
Name Flags
resource
samplingInterval
maxActive
public <T> io.netty.util.ResourceLeakDetector<T> newResourceLeakDetector(java.lang.Class<T>, int);
descriptor: (Ljava/lang/Class;I)Lio/netty/util/ResourceLeakDetector;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.customClassConstructor:Ljava/lang/reflect/Constructor;
ifnull 13
1: aload 0
getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.customClassConstructor:Ljava/lang/reflect/Constructor;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.netty.util.ResourceLeakDetector
2: astore 3
start local 3 3: getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Loaded custom ResourceLeakDetector: {}"
4: aload 0
getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.customClassConstructor:Ljava/lang/reflect/Constructor;
invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
5: invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
6: aload 3
7: areturn
end local 3 8: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 9: getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
10: ldc "Could not load custom resource leak detector provided: {} with the given resource: {}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
11: aload 0
getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.customClassConstructor:Ljava/lang/reflect/Constructor;
invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 3
aastore
12: invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 3 13: StackMap locals:
StackMap stack:
new io.netty.util.ResourceLeakDetector
dup
aload 1
iload 2
invokespecial io.netty.util.ResourceLeakDetector.<init>:(Ljava/lang/Class;I)V
astore 3
start local 3 14: getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Loaded default ResourceLeakDetector: {}"
aload 3
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
15: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/netty/util/ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory;
0 16 1 resource Ljava/lang/Class<TT;>;
0 16 2 samplingInterval I
3 8 3 leakDetector Lio/netty/util/ResourceLeakDetector<TT;>;
9 13 3 t Ljava/lang/Throwable;
14 16 3 resourceLeakDetector Lio/netty/util/ResourceLeakDetector<TT;>;
Exception table:
from to target type
1 7 8 Class java.lang.Throwable
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;I)Lio/netty/util/ResourceLeakDetector<TT;>;
MethodParameters:
Name Flags
resource
samplingInterval
}
SourceFile: "ResourceLeakDetectorFactory.java"
NestHost: io.netty.util.ResourceLeakDetectorFactory
InnerClasses:
private final DefaultResourceLeakDetectorFactory = io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory of io.netty.util.ResourceLeakDetectorFactory
io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory$1