public class sun.nio.fs.GnomeFileTypeDetector extends sun.nio.fs.AbstractFileTypeDetector
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.nio.fs.GnomeFileTypeDetector
super_class: sun.nio.fs.AbstractFileTypeDetector
{
private static final java.lang.String GNOME_VFS_MIME_TYPE_UNKNOWN;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "application/octet-stream"
private final boolean gioAvailable;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean gnomeVfsAvailable;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new sun.nio.fs.GnomeFileTypeDetector$1
dup
invokespecial sun.nio.fs.GnomeFileTypeDetector$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial sun.nio.fs.AbstractFileTypeDetector.<init>:()V
1: aload 0
invokestatic sun.nio.fs.GnomeFileTypeDetector.initializeGio:()Z
putfield sun.nio.fs.GnomeFileTypeDetector.gioAvailable:Z
2: aload 0
getfield sun.nio.fs.GnomeFileTypeDetector.gioAvailable:Z
ifeq 5
3: aload 0
iconst_0
putfield sun.nio.fs.GnomeFileTypeDetector.gnomeVfsAvailable:Z
4: goto 6
5: StackMap locals: sun.nio.fs.GnomeFileTypeDetector
StackMap stack:
aload 0
invokestatic sun.nio.fs.GnomeFileTypeDetector.initializeGnomeVfs:()Z
putfield sun.nio.fs.GnomeFileTypeDetector.gnomeVfsAvailable:Z
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/nio/fs/GnomeFileTypeDetector;
public java.lang.String implProbeContentType(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.fs.GnomeFileTypeDetector.gioAvailable:Z
ifne 2
aload 0
getfield sun.nio.fs.GnomeFileTypeDetector.gnomeVfsAvailable:Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof sun.nio.fs.UnixPath
ifne 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast sun.nio.fs.UnixPath
astore 2
start local 2 5: aload 2
invokevirtual sun.nio.fs.UnixPath.getByteArrayForSysCalls:()[B
invokestatic sun.nio.fs.NativeBuffers.asNativeBuffer:([B)Lsun/nio/fs/NativeBuffer;
astore 3
start local 3 6: aload 0
getfield sun.nio.fs.GnomeFileTypeDetector.gioAvailable:Z
ifeq 14
7: aload 2
invokevirtual sun.nio.fs.UnixPath.checkRead:()V
8: aload 3
invokevirtual sun.nio.fs.NativeBuffer.address:()J
invokestatic sun.nio.fs.GnomeFileTypeDetector.probeUsingGio:(J)[B
astore 4
start local 4 9: aload 4
ifnonnull 10
aconst_null
goto 11
StackMap locals: sun.nio.fs.UnixPath sun.nio.fs.NativeBuffer byte[]
StackMap stack:
10: aload 4
invokestatic sun.nio.fs.Util.toString:([B)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
11: astore 7
12: aload 3
invokevirtual sun.nio.fs.NativeBuffer.release:()V
13: aload 7
areturn
end local 4 14: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.nio.fs.NativeBuffer.address:()J
invokestatic sun.nio.fs.GnomeFileTypeDetector.probeUsingGnomeVfs:(J)[B
astore 4
start local 4 15: aload 4
ifnonnull 18
16: aload 3
invokevirtual sun.nio.fs.NativeBuffer.release:()V
17: aconst_null
areturn
18: StackMap locals: byte[]
StackMap stack:
aload 4
invokestatic sun.nio.fs.Util.toString:([B)Ljava/lang/String;
astore 5
start local 5 19: aload 5
ldc "application/octet-stream"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
aconst_null
goto 21
StackMap locals: java.lang.String
StackMap stack:
20: aload 5
StackMap locals:
StackMap stack: java.lang.String
21: astore 7
22: aload 3
invokevirtual sun.nio.fs.NativeBuffer.release:()V
23: aload 7
areturn
end local 5 end local 4 24: StackMap locals: sun.nio.fs.GnomeFileTypeDetector java.nio.file.Path sun.nio.fs.UnixPath sun.nio.fs.NativeBuffer
StackMap stack: java.lang.Throwable
astore 6
25: aload 3
invokevirtual sun.nio.fs.NativeBuffer.release:()V
26: aload 6
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/nio/fs/GnomeFileTypeDetector;
0 27 1 obj Ljava/nio/file/Path;
5 27 2 path Lsun/nio/fs/UnixPath;
6 27 3 buffer Lsun/nio/fs/NativeBuffer;
9 14 4 type [B
15 24 4 type [B
19 24 5 s Ljava/lang/String;
Exception table:
from to target type
6 12 24 any
14 16 24 any
18 22 24 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
obj
private static native boolean initializeGio();
descriptor: ()Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private static native byte[] probeUsingGio(long);
descriptor: (J)[B
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
pathAddress
private static native boolean initializeGnomeVfs();
descriptor: ()Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private static native byte[] probeUsingGnomeVfs(long);
descriptor: (J)[B
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
pathAddress
}
SourceFile: "GnomeFileTypeDetector.java"
NestMembers:
sun.nio.fs.GnomeFileTypeDetector$1
InnerClasses:
sun.nio.fs.GnomeFileTypeDetector$1