class com.sun.javafx.font.WoffDecoder extends com.sun.javafx.font.FontFileWriter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.javafx.font.WoffDecoder
super_class: com.sun.javafx.font.FontFileWriter
{
com.sun.javafx.font.WoffDecoder$WoffHeader ;
descriptor: Lcom/sun/javafx/font/WoffDecoder$WoffHeader;
flags: (0x0000)
com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry[] woffTableDirectory;
descriptor: [Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.sun.javafx.font.FontFileWriter.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/javafx/font/WoffDecoder;
public void decode(com.sun.javafx.font.FontFileReader);
descriptor: (Lcom/sun/javafx/font/FontFileReader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=12, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.javafx.font.FontFileReader.reset:()V
1: aload 0
aload 1
invokevirtual com.sun.javafx.font.WoffDecoder.initWoffTables:(Lcom/sun/javafx/font/FontFileReader;)V
2: aload 0
getfield com.sun.javafx.font.WoffDecoder.woffHeader:Lcom/sun/javafx/font/WoffDecoder$WoffHeader;
ifnull 3
aload 0
getfield com.sun.javafx.font.WoffDecoder.woffTableDirectory:[Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;
ifnonnull 4
3: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
ldc "WoffDecoder: failure reading header"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.javafx.font.WoffDecoder.woffHeader:Lcom/sun/javafx/font/WoffDecoder$WoffHeader;
getfield com.sun.javafx.font.WoffDecoder$WoffHeader.flavor:I
istore 2
start local 2 5: iload 2
ldc 65536
if_icmpeq 7
iload 2
ldc 1953658213
if_icmpeq 7
iload 2
ldc 1330926671
if_icmpeq 7
6: new java.lang.Exception
dup
ldc "WoffDecoder: invalid flavor"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.javafx.font.WoffDecoder.woffHeader:Lcom/sun/javafx/font/WoffDecoder$WoffHeader;
getfield com.sun.javafx.font.WoffDecoder$WoffHeader.numTables:S
istore 3
start local 3 8: aload 0
aload 0
getfield com.sun.javafx.font.WoffDecoder.woffHeader:Lcom/sun/javafx/font/WoffDecoder$WoffHeader;
getfield com.sun.javafx.font.WoffDecoder$WoffHeader.totalSfntSize:I
invokevirtual com.sun.javafx.font.WoffDecoder.setLength:(I)V
9: aload 0
iload 2
iload 3
invokevirtual com.sun.javafx.font.WoffDecoder.writeHeader:(IS)V
10: aload 0
getfield com.sun.javafx.font.WoffDecoder.woffTableDirectory:[Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;
invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
com/sun/javafx/font/WoffDecoder.lambda$0(Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;)I (6)
(Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;)I
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
11: new java.util.zip.Inflater
dup
invokespecial java.util.zip.Inflater.<init>:()V
astore 4
start local 4 12: bipush 12
iload 3
bipush 16
imul
iadd
istore 5
start local 5 13: iconst_0
istore 6
start local 6 14: goto 34
15: StackMap locals: com.sun.javafx.font.WoffDecoder com.sun.javafx.font.FontFileReader int int java.util.zip.Inflater int int
StackMap stack:
aload 0
getfield com.sun.javafx.font.WoffDecoder.woffTableDirectory:[Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;
iload 6
aaload
astore 7
start local 7 16: aload 0
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.index:I
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.tag:I
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.origChecksum:I
17: iload 5
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.origLength:I
18: invokevirtual com.sun.javafx.font.WoffDecoder.writeDirectoryEntry:(IIIII)V
19: aload 1
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.offset:I
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.comLength:I
invokevirtual com.sun.javafx.font.FontFileReader.readBlock:(II)Lcom/sun/javafx/font/FontFileReader$Buffer;
astore 8
start local 8 20: aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.comLength:I
newarray 8
astore 9
start local 9 21: aload 8
iconst_0
aload 9
iconst_0
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.comLength:I
invokevirtual com.sun.javafx.font.FontFileReader$Buffer.get:(I[BII)V
22: aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.comLength:I
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.origLength:I
if_icmpeq 30
23: aload 4
aload 9
invokevirtual java.util.zip.Inflater.setInput:([B)V
24: aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.origLength:I
newarray 8
astore 10
start local 10 25: aload 4
aload 10
invokevirtual java.util.zip.Inflater.inflate:([B)I
istore 11
start local 11 26: iload 11
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.origLength:I
if_icmpeq 28
27: new java.lang.Exception
dup
ldc "WoffDecoder: failure expanding table"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals: com.sun.javafx.font.WoffDecoder com.sun.javafx.font.FontFileReader int int java.util.zip.Inflater int int com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry com.sun.javafx.font.FontFileReader$Buffer byte[] byte[] int
StackMap stack:
aload 4
invokevirtual java.util.zip.Inflater.reset:()V
29: aload 10
astore 9
end local 11 end local 10 30: StackMap locals:
StackMap stack:
aload 0
iload 5
invokevirtual com.sun.javafx.font.WoffDecoder.seek:(I)V
31: aload 0
aload 9
invokevirtual com.sun.javafx.font.WoffDecoder.writeBytes:([B)V
32: iload 5
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.origLength:I
iconst_3
iadd
bipush -4
iand
iadd
istore 5
end local 9 end local 8 end local 7 33: iinc 6 1
StackMap locals:
StackMap stack:
34: iload 6
aload 0
getfield com.sun.javafx.font.WoffDecoder.woffTableDirectory:[Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;
arraylength
if_icmplt 15
end local 6 35: aload 4
invokevirtual java.util.zip.Inflater.end:()V
36: return
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 37 0 this Lcom/sun/javafx/font/WoffDecoder;
0 37 1 input Lcom/sun/javafx/font/FontFileReader;
5 37 2 format I
8 37 3 numTables S
12 37 4 decompressor Ljava/util/zip/Inflater;
13 37 5 offset I
14 35 6 i I
16 33 7 table Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;
20 33 8 buffer Lcom/sun/javafx/font/FontFileReader$Buffer;
21 33 9 bytes [B
25 30 10 output [B
26 30 11 length I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
input
void initWoffTables(com.sun.javafx.font.FontFileReader);
descriptor: (Lcom/sun/javafx/font/FontFileReader;)V
flags: (0x0000)
Code:
stack=6, locals=15, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.javafx.font.FontFileReader.getLength:()J
lstore 2
start local 2 1: lload 2
ldc 44
lcmp
ifge 3
2: new java.lang.Exception
dup
ldc "WoffDecoder: invalid filesize"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: long
StackMap stack:
aload 1
iconst_0
bipush 44
invokevirtual com.sun.javafx.font.FontFileReader.readBlock:(II)Lcom/sun/javafx/font/FontFileReader$Buffer;
astore 4
start local 4 4: new com.sun.javafx.font.WoffDecoder$WoffHeader
dup
aload 4
invokespecial com.sun.javafx.font.WoffDecoder$WoffHeader.<init>:(Lcom/sun/javafx/font/FontFileReader$Buffer;)V
astore 5
start local 5 5: aload 5
getfield com.sun.javafx.font.WoffDecoder$WoffHeader.numTables:S
istore 6
start local 6 6: aload 5
getfield com.sun.javafx.font.WoffDecoder$WoffHeader.signature:I
ldc 2001684038
if_icmpeq 8
7: new java.lang.Exception
dup
ldc "WoffDecoder: invalid signature"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: com.sun.javafx.font.FontFileReader$Buffer com.sun.javafx.font.WoffDecoder$WoffHeader int
StackMap stack:
aload 5
getfield com.sun.javafx.font.WoffDecoder$WoffHeader.reserved:S
ifeq 10
9: new java.lang.Exception
dup
ldc "WoffDecoder: invalid reserved != 0"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
lload 2
bipush 44
iload 6
bipush 20
imul
iadd
i2l
lcmp
ifge 12
11: new java.lang.Exception
dup
ldc "WoffDecoder: invalid filesize"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
iload 6
anewarray com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry
astore 8
start local 8 13: bipush 44
iload 6
bipush 20
imul
iadd
istore 9
start local 9 14: bipush 12
iload 6
bipush 16
imul
iadd
istore 10
start local 10 15: aload 1
bipush 44
iload 6
bipush 20
imul
invokevirtual com.sun.javafx.font.FontFileReader.readBlock:(II)Lcom/sun/javafx/font/FontFileReader$Buffer;
astore 4
16: iconst_0
istore 11
start local 11 17: iconst_0
istore 12
start local 12 18: goto 35
19: StackMap locals: com.sun.javafx.font.WoffDecoder com.sun.javafx.font.FontFileReader long com.sun.javafx.font.FontFileReader$Buffer com.sun.javafx.font.WoffDecoder$WoffHeader int top com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry[] int int int int
StackMap stack:
aload 8
iload 12
new com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry
dup
aload 4
iload 12
invokespecial com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.<init>:(Lcom/sun/javafx/font/FontFileReader$Buffer;I)V
dup
astore 7
start local 7 20: aastore
21: aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.tag:I
iload 11
if_icmpgt 23
22: new java.lang.Exception
dup
ldc "WoffDecoder: table directory not ordered by tag"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: com.sun.javafx.font.WoffDecoder com.sun.javafx.font.FontFileReader long com.sun.javafx.font.FontFileReader$Buffer com.sun.javafx.font.WoffDecoder$WoffHeader int com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry[] int int int int
StackMap stack:
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.offset:I
istore 13
start local 13 24: aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.offset:I
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.comLength:I
iadd
istore 14
start local 14 25: iload 9
iload 13
if_icmpgt 26
iload 13
i2l
lload 2
lcmp
ifle 27
26: StackMap locals: int int
StackMap stack:
new java.lang.Exception
dup
ldc "WoffDecoder: invalid table offset"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
iload 13
iload 14
if_icmpgt 28
iload 14
i2l
lload 2
lcmp
ifle 29
28: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
ldc "WoffDecoder: invalid table offset"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.comLength:I
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.origLength:I
if_icmple 31
30: new java.lang.Exception
dup
ldc "WoffDecoder: invalid compressed length"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
iload 10
aload 7
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.origLength:I
iconst_3
iadd
bipush -4
iand
iadd
istore 10
32: iload 10
aload 5
getfield com.sun.javafx.font.WoffDecoder$WoffHeader.totalSfntSize:I
if_icmple 34
33: new java.lang.Exception
dup
ldc "WoffDecoder: invalid totalSfntSize"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 14 end local 13 34: StackMap locals:
StackMap stack:
iinc 12 1
end local 7 StackMap locals: com.sun.javafx.font.WoffDecoder com.sun.javafx.font.FontFileReader long com.sun.javafx.font.FontFileReader$Buffer com.sun.javafx.font.WoffDecoder$WoffHeader int top com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry[] int int int int
StackMap stack:
35: iload 12
iload 6
if_icmplt 19
end local 12 36: iload 10
aload 5
getfield com.sun.javafx.font.WoffDecoder$WoffHeader.totalSfntSize:I
if_icmpeq 38
37: new java.lang.Exception
dup
ldc "WoffDecoder: invalid totalSfntSize"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
38: StackMap locals:
StackMap stack:
aload 0
aload 5
putfield com.sun.javafx.font.WoffDecoder.woffHeader:Lcom/sun/javafx/font/WoffDecoder$WoffHeader;
39: aload 0
aload 8
putfield com.sun.javafx.font.WoffDecoder.woffTableDirectory:[Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;
40: return
end local 11 end local 10 end local 9 end local 8 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lcom/sun/javafx/font/WoffDecoder;
0 41 1 input Lcom/sun/javafx/font/FontFileReader;
1 41 2 filesize J
4 41 4 buffer Lcom/sun/javafx/font/FontFileReader$Buffer;
5 41 5 header Lcom/sun/javafx/font/WoffDecoder$WoffHeader;
6 41 6 numTables S
20 35 7 table Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;
13 41 8 tableDirectory [Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;
14 41 9 headerOffset I
15 41 10 size I
17 41 11 prevTag I
18 36 12 i I
24 34 13 startOffset I
25 34 14 endOffset I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
input
private static int lambda$0(com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry, com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry);
descriptor: (Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.offset:I
aload 1
getfield com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry.offset:I
isub
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o1 Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;
0 1 1 o2 Lcom/sun/javafx/font/WoffDecoder$WoffDirectoryEntry;
}
SourceFile: "WoffDecoder.java"
NestMembers:
com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry com.sun.javafx.font.WoffDecoder$WoffHeader
InnerClasses:
Buffer = com.sun.javafx.font.FontFileReader$Buffer of com.sun.javafx.font.FontFileReader
WoffDirectoryEntry = com.sun.javafx.font.WoffDecoder$WoffDirectoryEntry of com.sun.javafx.font.WoffDecoder
WoffHeader = com.sun.javafx.font.WoffDecoder$WoffHeader of com.sun.javafx.font.WoffDecoder
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles