public class org.apache.fop.fonts.autodetect.WindowsFontDirFinder implements org.apache.fop.fonts.autodetect.FontDirFinder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.fop.fonts.autodetect.WindowsFontDirFinder
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/fop/fonts/autodetect/WindowsFontDirFinder;
private java.lang.String getWinDir(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
astore 3
start local 3 2: aload 1
ldc "Windows 9"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 5
3: aload 3
ldc "command.com /c echo %windir%"
invokevirtual java.lang.Runtime.exec:(Ljava/lang/String;)Ljava/lang/Process;
astore 2
4: goto 6
5: StackMap locals: java.lang.Process java.lang.Runtime
StackMap stack:
aload 3
ldc "cmd.exe /c echo %windir%"
invokevirtual java.lang.Runtime.exec:(Ljava/lang/String;)Ljava/lang/Process;
astore 2
6: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 7: aconst_null
astore 5
start local 5 8: ldc ""
astore 6
start local 6 9: new java.io.InputStreamReader
dup
aload 2
invokevirtual java.lang.Process.getInputStream:()Ljava/io/InputStream;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
astore 4
10: new java.io.BufferedReader
dup
aload 4
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 5
11: aload 5
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
astore 6
12: goto 17
StackMap locals: org.apache.fop.fonts.autodetect.WindowsFontDirFinder java.lang.String java.lang.Process java.lang.Runtime java.io.InputStreamReader java.io.BufferedReader java.lang.String
StackMap stack: java.lang.Throwable
13: astore 7
14: aload 5
invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/Reader;)V
15: aload 4
invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/Reader;)V
16: aload 7
athrow
17: StackMap locals:
StackMap stack:
aload 5
invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/Reader;)V
18: aload 4
invokestatic org.apache.commons.io.IOUtils.closeQuietly:(Ljava/io/Reader;)V
19: aload 6
areturn
end local 6 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 20 0 this Lorg/apache/fop/fonts/autodetect/WindowsFontDirFinder;
0 20 1 osName Ljava/lang/String;
1 20 2 process Ljava/lang/Process;
2 20 3 runtime Ljava/lang/Runtime;
7 20 4 isr Ljava/io/InputStreamReader;
8 20 5 bufferedReader Ljava/io/BufferedReader;
9 20 6 dir Ljava/lang/String;
Exception table:
from to target type
9 13 13 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
osName
public java.util.List<java.io.File> find();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: ldc "env.windir"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
3: goto 5
StackMap locals: org.apache.fop.fonts.autodetect.WindowsFontDirFinder java.util.List java.lang.String
StackMap stack: java.lang.SecurityException
4: pop
5: StackMap locals:
StackMap stack:
ldc "os.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 6: aload 2
ifnonnull 10
7: aload 0
aload 3
invokevirtual org.apache.fop.fonts.autodetect.WindowsFontDirFinder.getWinDir:(Ljava/lang/String;)Ljava/lang/String;
astore 2
8: goto 10
StackMap locals: org.apache.fop.fonts.autodetect.WindowsFontDirFinder java.util.List java.lang.String java.lang.String
StackMap stack: java.io.IOException
9: pop
10: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 11: aconst_null
astore 5
start local 5 12: aload 2
ifnull 22
13: aload 2
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 15
14: aload 2
iconst_0
aload 2
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2
15: StackMap locals: java.io.File java.io.File
StackMap stack:
new java.io.File
dup
new java.lang.StringBuilder
dup
aload 2
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 "FONTS"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 4
16: aload 4
invokevirtual java.io.File.exists:()Z
ifeq 18
aload 4
invokevirtual java.io.File.canRead:()Z
ifeq 18
17: aload 1
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: StackMap locals:
StackMap stack:
new java.io.File
dup
new java.lang.StringBuilder
dup
aload 2
iconst_0
iconst_2
invokevirtual java.lang.String.substring:(II)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 "PSFONTS"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 5
19: aload 5
invokevirtual java.io.File.exists:()Z
ifeq 46
aload 5
invokevirtual java.io.File.canRead:()Z
ifeq 46
20: aload 1
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
21: goto 46
22: StackMap locals:
StackMap stack:
aload 3
ldc "NT"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 23
ldc "WINNT"
goto 24
StackMap locals:
StackMap stack:
23: ldc "WINDOWS"
StackMap locals:
StackMap stack: java.lang.String
24: astore 6
start local 6 25: bipush 67
istore 7
start local 7 26: goto 37
27: StackMap locals: java.lang.String int
StackMap stack:
new java.io.File
dup
28: new java.lang.StringBuilder
dup
iload 7
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
29: getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
30: getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "FONTS"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
31: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
32: invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 4
33: aload 4
invokevirtual java.io.File.exists:()Z
ifeq 36
aload 4
invokevirtual java.io.File.canRead:()Z
ifeq 36
34: aload 1
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
35: goto 38
36: StackMap locals:
StackMap stack:
iload 7
iconst_1
iadd
i2c
istore 7
StackMap locals:
StackMap stack:
37: iload 7
bipush 69
if_icmple 27
end local 7 38: StackMap locals:
StackMap stack:
bipush 67
istore 7
start local 7 39: goto 45
40: StackMap locals: int
StackMap stack:
new java.io.File
dup
new java.lang.StringBuilder
dup
iload 7
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "PSFONTS"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 5
41: aload 5
invokevirtual java.io.File.exists:()Z
ifeq 44
aload 5
invokevirtual java.io.File.canRead:()Z
ifeq 44
42: aload 1
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
43: goto 46
44: StackMap locals:
StackMap stack:
iload 7
iconst_1
iadd
i2c
istore 7
StackMap locals:
StackMap stack:
45: iload 7
bipush 69
if_icmple 40
end local 7 end local 6 46: 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 47 0 this Lorg/apache/fop/fonts/autodetect/WindowsFontDirFinder;
1 47 1 fontDirList Ljava/util/List<Ljava/io/File;>;
2 47 2 windir Ljava/lang/String;
6 47 3 osName Ljava/lang/String;
11 47 4 osFontsDir Ljava/io/File;
12 47 5 psFontsDir Ljava/io/File;
25 46 6 windowsDirName Ljava/lang/String;
26 38 7 driveLetter C
39 46 7 driveLetter C
Exception table:
from to target type
2 3 4 Class java.lang.SecurityException
7 8 9 Class java.io.IOException
Signature: ()Ljava/util/List<Ljava/io/File;>;
}
SourceFile: "WindowsFontDirFinder.java"