public class org.openjdk.jmh.util.TempFileManager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.openjdk.jmh.util.TempFileManager
super_class: java.lang.Object
{
private final java.lang.ref.ReferenceQueue<org.openjdk.jmh.util.TempFile> rq;
descriptor: Ljava/lang/ref/ReferenceQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ref/ReferenceQueue<Lorg/openjdk/jmh/util/TempFile;>;
private final java.util.Set<org.openjdk.jmh.util.TempFileManager$TempFileReference> refs;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lorg/openjdk/jmh/util/TempFileManager$TempFileReference;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putfield org.openjdk.jmh.util.TempFileManager.rq:Ljava/lang/ref/ReferenceQueue;
2: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.openjdk.jmh.util.TempFileManager.refs:Ljava/util/Set;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/openjdk/jmh/util/TempFileManager;
public org.openjdk.jmh.util.TempFile create(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/openjdk/jmh/util/TempFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.openjdk.jmh.util.TempFileManager.purge:()V
1: ldc "jmh"
aload 1
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 2
start local 2 2: aload 2
invokevirtual java.io.File.deleteOnExit:()V
3: new org.openjdk.jmh.util.TempFile
dup
aload 2
invokespecial org.openjdk.jmh.util.TempFile.<init>:(Ljava/io/File;)V
astore 3
start local 3 4: aload 0
getfield org.openjdk.jmh.util.TempFileManager.refs:Ljava/util/Set;
new org.openjdk.jmh.util.TempFileManager$TempFileReference
dup
aload 3
aload 0
getfield org.openjdk.jmh.util.TempFileManager.rq:Ljava/lang/ref/ReferenceQueue;
invokespecial org.openjdk.jmh.util.TempFileManager$TempFileReference.<init>:(Lorg/openjdk/jmh/util/TempFile;Ljava/lang/ref/ReferenceQueue;)V
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/openjdk/jmh/util/TempFileManager;
0 6 1 suffix Ljava/lang/String;
2 6 2 file Ljava/io/File;
4 6 3 tf Lorg/openjdk/jmh/util/TempFile;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
suffix
public void purge();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: goto 4
start local 1 1: StackMap locals: org.openjdk.jmh.util.TempFileManager$TempFileReference
StackMap stack:
aload 1
getfield org.openjdk.jmh.util.TempFileManager$TempFileReference.file:Ljava/io/File;
ifnull 3
2: aload 1
getfield org.openjdk.jmh.util.TempFileManager$TempFileReference.file:Ljava/io/File;
invokevirtual java.io.File.delete:()Z
pop
3: StackMap locals:
StackMap stack:
aload 0
getfield org.openjdk.jmh.util.TempFileManager.refs:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield org.openjdk.jmh.util.TempFileManager.rq:Ljava/lang/ref/ReferenceQueue;
invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
checkcast org.openjdk.jmh.util.TempFileManager$TempFileReference
dup
astore 1
start local 1 5: ifnonnull 1
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/openjdk/jmh/util/TempFileManager;
1 4 1 ref Lorg/openjdk/jmh/util/TempFileManager$TempFileReference;
5 7 1 ref Lorg/openjdk/jmh/util/TempFileManager$TempFileReference;
}
SourceFile: "TempFileManager.java"
NestMembers:
org.openjdk.jmh.util.TempFileManager$TempFileReference
InnerClasses:
private TempFileReference = org.openjdk.jmh.util.TempFileManager$TempFileReference of org.openjdk.jmh.util.TempFileManager