class sun.font.SunFontManager$2 implements java.security.PrivilegedAction<java.lang.Void>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.font.SunFontManager$2
super_class: java.lang.Object
{
final sun.font.SunFontManager this$0;
descriptor: Lsun/font/SunFontManager;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.font.SunFontManager);
descriptor: (Lsun/font/SunFontManager;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.font.SunFontManager$2 this
0: .line 309
aload 0 /* this */
aload 1
putfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // sun.font.SunFontManager$2 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/SunFontManager$2;
MethodParameters:
Name Flags
this$0 final
public java.lang.Void run();
descriptor: ()Ljava/lang/Void;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=1
start local 0 // sun.font.SunFontManager$2 this
0: .line 312
new java.io.File
dup
new java.lang.StringBuilder
dup
getstatic sun.font.SunFontManager.jreFontDirName: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 "badfonts.txt"
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
1: .line 311
astore 1 /* badFontFile */
start local 1 // java.io.File badFontFile
2: .line 313
aload 1 /* badFontFile */
invokevirtual java.io.File.exists:()Z
ifeq 26
3: .line 314
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.font.SunFontManager.badFonts:Ljava/util/ArrayList;
4: .line 315
aconst_null
astore 2
aconst_null
astore 3
5: new java.io.FileInputStream
dup
aload 1 /* badFontFile */
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 4 /* fis */
start local 4 // java.io.FileInputStream fis
6: .line 316
new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 4 /* fis */
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 5 /* br */
start local 5 // java.io.BufferedReader br
7: .line 318
StackMap locals: sun.font.SunFontManager$2 java.io.File java.lang.Throwable java.lang.Throwable java.io.FileInputStream java.io.BufferedReader
StackMap stack:
aload 5 /* br */
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
astore 6 /* name */
start local 6 // java.lang.String name
8: .line 319
aload 6 /* name */
ifnonnull 10
9: .line 320
goto 14
10: .line 322
StackMap locals: java.lang.String
StackMap stack:
invokestatic sun.font.FontUtilities.debugFonts:()Z
ifeq 12
11: .line 323
invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "read bad font: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6 /* name */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
12: .line 325
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
getfield sun.font.SunFontManager.badFonts:Ljava/util/ArrayList;
aload 6 /* name */
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 // java.lang.String name
13: .line 317
goto 7
14: .line 328
StackMap locals:
StackMap stack:
aload 5 /* br */
ifnull 17
aload 5 /* br */
invokevirtual java.io.BufferedReader.close:()V
goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 2
aload 5 /* br */
ifnull 16
aload 5 /* br */
invokevirtual java.io.BufferedReader.close:()V
end local 5 // java.io.BufferedReader br
StackMap locals:
StackMap stack:
16: aload 2
athrow
StackMap locals:
StackMap stack:
17: aload 4 /* fis */
ifnull 26
aload 4 /* fis */
invokevirtual java.io.FileInputStream.close:()V
goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 3
aload 2
ifnonnull 19
aload 3
astore 2
goto 20
StackMap locals:
StackMap stack:
19: aload 2
aload 3
if_acmpeq 20
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
20: aload 4 /* fis */
ifnull 21
aload 4 /* fis */
invokevirtual java.io.FileInputStream.close:()V
end local 4 // java.io.FileInputStream fis
StackMap locals:
StackMap stack:
21: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 3
aload 2
ifnonnull 23
aload 3
astore 2
goto 24
StackMap locals:
StackMap stack:
23: aload 2
aload 3
if_acmpeq 24
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
24: aload 2
athrow
StackMap locals: sun.font.SunFontManager$2 java.io.File
StackMap stack: java.io.IOException
25: pop
26: .line 342
StackMap locals:
StackMap stack:
getstatic sun.font.FontUtilities.isLinux:Z
ifeq 28
27: .line 344
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
getstatic sun.font.SunFontManager.jreFontDirName:Ljava/lang/String;
invokevirtual sun.font.SunFontManager.registerFontDir:(Ljava/lang/String;)V
28: .line 346
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
getstatic sun.font.SunFontManager.jreFontDirName:Ljava/lang/String;
iconst_1
iconst_2
29: .line 347
iconst_1
iconst_0
30: .line 346
invokevirtual sun.font.SunFontManager.registerFontsInDir:(Ljava/lang/String;ZIZZ)V
31: .line 352
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
invokevirtual sun.font.SunFontManager.createFontConfiguration:()Lsun/awt/FontConfiguration;
putfield sun.font.SunFontManager.fontConfig:Lsun/awt/FontConfiguration;
32: .line 354
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
invokevirtual sun.font.SunFontManager.getDefaultPlatformFont:()[Ljava/lang/String;
astore 2 /* fontInfo */
start local 2 // java.lang.String[] fontInfo
33: .line 355
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
aload 2 /* fontInfo */
iconst_0
aaload
putfield sun.font.SunFontManager.defaultFontName:Ljava/lang/String;
34: .line 356
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
aload 2 /* fontInfo */
iconst_1
aaload
putfield sun.font.SunFontManager.defaultFontFileName:Ljava/lang/String;
35: .line 358
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
getfield sun.font.SunFontManager.fontConfig:Lsun/awt/FontConfiguration;
invokevirtual sun.awt.FontConfiguration.getExtraFontPath:()Ljava/lang/String;
astore 3 /* extraFontPath */
start local 3 // java.lang.String extraFontPath
36: .line 386
iconst_0
istore 4 /* prependToPath */
start local 4 // boolean prependToPath
37: .line 387
iconst_0
istore 5 /* appendToPath */
start local 5 // boolean appendToPath
38: .line 388
ldc "sun.java2d.fontpath"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 6 /* dbgFontPath */
start local 6 // java.lang.String dbgFontPath
39: .line 390
aload 6 /* dbgFontPath */
ifnull 49
40: .line 391
aload 6 /* dbgFontPath */
ldc "prepend:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 45
41: .line 392
iconst_1
istore 4 /* prependToPath */
42: .line 394
aload 6 /* dbgFontPath */
ldc "prepend:"
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
43: .line 393
astore 6 /* dbgFontPath */
44: .line 395
goto 49
StackMap locals: sun.font.SunFontManager$2 java.io.File java.lang.String[] java.lang.String int int java.lang.String
StackMap stack:
45: aload 6 /* dbgFontPath */
ldc "append:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 49
46: .line 396
iconst_1
istore 5 /* appendToPath */
47: .line 398
aload 6 /* dbgFontPath */
ldc "append:"
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
48: .line 397
astore 6 /* dbgFontPath */
49: .line 402
StackMap locals:
StackMap stack:
invokestatic sun.font.FontUtilities.debugFonts:()Z
ifeq 54
50: .line 403
invokestatic sun.font.FontUtilities.getLogger:()Lsun/util/logging/PlatformLogger;
astore 7 /* logger */
start local 7 // sun.util.logging.PlatformLogger logger
51: .line 404
aload 7 /* logger */
new java.lang.StringBuilder
dup
ldc "JRE font directory: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic sun.font.SunFontManager.jreFontDirName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
52: .line 405
aload 7 /* logger */
new java.lang.StringBuilder
dup
ldc "Extra font path: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* extraFontPath */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
53: .line 406
aload 7 /* logger */
new java.lang.StringBuilder
dup
ldc "Debug font path: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6 /* dbgFontPath */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
end local 7 // sun.util.logging.PlatformLogger logger
54: .line 409
StackMap locals:
StackMap stack:
aload 6 /* dbgFontPath */
ifnull 67
55: .line 413
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
getstatic sun.font.SunFontManager.noType1Font:Z
invokevirtual sun.font.SunFontManager.getPlatformFontPath:(Z)Ljava/lang/String;
putfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
56: .line 415
aload 3 /* extraFontPath */
ifnull 58
57: .line 416
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
new java.lang.StringBuilder
dup
aload 3 /* extraFontPath */
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
getfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
58: .line 418
StackMap locals:
StackMap stack:
iload 5 /* appendToPath */
ifeq 61
59: .line 419
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
dup
getfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
new java.lang.StringBuilder
dup_x1
swap
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6 /* dbgFontPath */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
60: .line 420
goto 65
StackMap locals:
StackMap stack:
61: iload 4 /* prependToPath */
ifeq 64
62: .line 421
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
new java.lang.StringBuilder
dup
aload 6 /* dbgFontPath */
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
getfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
63: .line 422
goto 65
64: .line 423
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
aload 6 /* dbgFontPath */
putfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
65: .line 425
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
getfield sun.font.SunFontManager.fontPath:Ljava/lang/String;
invokevirtual sun.font.SunFontManager.registerFontDirs:(Ljava/lang/String;)V
66: .line 426
goto 69
StackMap locals:
StackMap stack:
67: aload 3 /* extraFontPath */
ifnull 69
68: .line 440
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
aload 3 /* extraFontPath */
invokevirtual sun.font.SunFontManager.registerFontDirs:(Ljava/lang/String;)V
69: .line 443
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
aload 0 /* this */
getfield sun.font.SunFontManager$2.this$0:Lsun/font/SunFontManager;
getfield sun.font.SunFontManager.fontConfig:Lsun/awt/FontConfiguration;
aconst_null
invokevirtual sun.font.SunFontManager.initCompositeFonts:(Lsun/awt/FontConfiguration;Ljava/util/concurrent/ConcurrentHashMap;)V
70: .line 445
aconst_null
areturn
end local 6 // java.lang.String dbgFontPath
end local 5 // boolean appendToPath
end local 4 // boolean prependToPath
end local 3 // java.lang.String extraFontPath
end local 2 // java.lang.String[] fontInfo
end local 1 // java.io.File badFontFile
end local 0 // sun.font.SunFontManager$2 this
LocalVariableTable:
Start End Slot Name Signature
0 71 0 this Lsun/font/SunFontManager$2;
2 71 1 badFontFile Ljava/io/File;
6 21 4 fis Ljava/io/FileInputStream;
7 16 5 br Ljava/io/BufferedReader;
8 13 6 name Ljava/lang/String;
33 71 2 fontInfo [Ljava/lang/String;
36 71 3 extraFontPath Ljava/lang/String;
37 71 4 prependToPath Z
38 71 5 appendToPath Z
39 71 6 dbgFontPath Ljava/lang/String;
51 54 7 logger Lsun/util/logging/PlatformLogger;
Exception table:
from to target type
7 14 15 any
6 17 18 any
5 22 22 any
4 25 25 Class java.io.IOException
public java.lang.Object run();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: .line 1
aload 0
invokevirtual sun.font.SunFontManager$2.run:()Ljava/lang/Void;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/security/PrivilegedAction<Ljava/lang/Void;>;
SourceFile: "SunFontManager.java"
EnclosingMethod: sun.font.SunFontManager.<init>:()V
NestHost: sun.font.SunFontManager
InnerClasses:
sun.font.SunFontManager$2