final class sun.font.GlyphLayout$EngineRecord
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.font.GlyphLayout$EngineRecord
super_class: java.lang.Object
{
private int start;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int limit;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int gmask;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int eflags;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private sun.font.GlyphLayout$LayoutEngineKey key;
descriptor: Lsun/font/GlyphLayout$LayoutEngineKey;
flags: (0x0002) ACC_PRIVATE
private sun.font.GlyphLayout$LayoutEngine engine;
descriptor: Lsun/font/GlyphLayout$LayoutEngine;
flags: (0x0002) ACC_PRIVATE
final sun.font.GlyphLayout this$0;
descriptor: Lsun/font/GlyphLayout;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.font.GlyphLayout);
descriptor: (Lsun/font/GlyphLayout;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield sun.font.GlyphLayout$EngineRecord.this$0:Lsun/font/GlyphLayout;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new sun.font.GlyphLayout$LayoutEngineKey
dup
invokespecial sun.font.GlyphLayout$LayoutEngineKey.<init>:()V
putfield sun.font.GlyphLayout$EngineRecord.key:Lsun/font/GlyphLayout$LayoutEngineKey;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/font/GlyphLayout$EngineRecord;
MethodParameters:
Name Flags
this$0 final
void init(int, int, sun.font.Font2D, int, int, int);
descriptor: (IILsun/font/Font2D;III)V
flags: (0x0000)
Code:
stack=4, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
iload 1
putfield sun.font.GlyphLayout$EngineRecord.start:I
1: aload 0
iload 2
putfield sun.font.GlyphLayout$EngineRecord.limit:I
2: aload 0
iload 6
putfield sun.font.GlyphLayout$EngineRecord.gmask:I
3: aload 0
getfield sun.font.GlyphLayout$EngineRecord.key:Lsun/font/GlyphLayout$LayoutEngineKey;
aload 3
iload 4
iload 5
invokevirtual sun.font.GlyphLayout$LayoutEngineKey.init:(Lsun/font/Font2D;II)V
4: aload 0
iconst_0
putfield sun.font.GlyphLayout$EngineRecord.eflags:I
5: iload 1
istore 7
start local 7 6: goto 19
7: StackMap locals: int
StackMap stack:
aload 0
getfield sun.font.GlyphLayout$EngineRecord.this$0:Lsun/font/GlyphLayout;
getfield sun.font.GlyphLayout._textRecord:Lsun/font/TextRecord;
getfield sun.font.TextRecord.text:[C
iload 7
caload
istore 8
start local 8 8: iload 8
i2c
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 12
9: iload 7
iload 2
iconst_1
isub
if_icmpge 12
10: aload 0
getfield sun.font.GlyphLayout$EngineRecord.this$0:Lsun/font/GlyphLayout;
getfield sun.font.GlyphLayout._textRecord:Lsun/font/TextRecord;
getfield sun.font.TextRecord.text:[C
iload 7
iconst_1
iadd
caload
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 12
11: iload 8
i2c
aload 0
getfield sun.font.GlyphLayout$EngineRecord.this$0:Lsun/font/GlyphLayout;
getfield sun.font.GlyphLayout._textRecord:Lsun/font/TextRecord;
getfield sun.font.TextRecord.text:[C
iinc 7 1
iload 7
caload
invokestatic java.lang.Character.toCodePoint:(CC)I
istore 8
12: StackMap locals: int
StackMap stack:
iload 8
invokestatic java.lang.Character.getType:(I)I
istore 9
start local 9 13: iload 9
bipush 6
if_icmpeq 16
14: iload 9
bipush 7
if_icmpeq 16
15: iload 9
bipush 8
if_icmpne 18
16: StackMap locals: int
StackMap stack:
aload 0
iconst_4
putfield sun.font.GlyphLayout$EngineRecord.eflags:I
17: goto 20
end local 9 end local 8 18: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
19: iload 7
iload 2
if_icmplt 7
end local 7 20: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.font.GlyphLayout$EngineRecord.this$0:Lsun/font/GlyphLayout;
getfield sun.font.GlyphLayout._lef:Lsun/font/GlyphLayout$LayoutEngineFactory;
aload 0
getfield sun.font.GlyphLayout$EngineRecord.key:Lsun/font/GlyphLayout$LayoutEngineKey;
invokeinterface sun.font.GlyphLayout$LayoutEngineFactory.getEngine:(Lsun/font/GlyphLayout$LayoutEngineKey;)Lsun/font/GlyphLayout$LayoutEngine;
putfield sun.font.GlyphLayout$EngineRecord.engine:Lsun/font/GlyphLayout$LayoutEngine;
21: return
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 22 0 this Lsun/font/GlyphLayout$EngineRecord;
0 22 1 start I
0 22 2 limit I
0 22 3 font Lsun/font/Font2D;
0 22 4 script I
0 22 5 lang I
0 22 6 gmask I
6 20 7 i I
8 18 8 ch I
13 18 9 gc I
MethodParameters:
Name Flags
start
limit
font
script
lang
gmask
void layout();
descriptor: ()V
flags: (0x0000)
Code:
stack=9, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.GlyphLayout$EngineRecord.this$0:Lsun/font/GlyphLayout;
getfield sun.font.GlyphLayout._textRecord:Lsun/font/TextRecord;
aload 0
getfield sun.font.GlyphLayout$EngineRecord.start:I
putfield sun.font.TextRecord.start:I
1: aload 0
getfield sun.font.GlyphLayout$EngineRecord.this$0:Lsun/font/GlyphLayout;
getfield sun.font.GlyphLayout._textRecord:Lsun/font/TextRecord;
aload 0
getfield sun.font.GlyphLayout$EngineRecord.limit:I
putfield sun.font.TextRecord.limit:I
2: aload 0
getfield sun.font.GlyphLayout$EngineRecord.engine:Lsun/font/GlyphLayout$LayoutEngine;
aload 0
getfield sun.font.GlyphLayout$EngineRecord.this$0:Lsun/font/GlyphLayout;
getfield sun.font.GlyphLayout._sd:Lsun/font/FontStrikeDesc;
aload 0
getfield sun.font.GlyphLayout$EngineRecord.this$0:Lsun/font/GlyphLayout;
getfield sun.font.GlyphLayout._mat:[F
aload 0
getfield sun.font.GlyphLayout$EngineRecord.gmask:I
aload 0
getfield sun.font.GlyphLayout$EngineRecord.start:I
aload 0
getfield sun.font.GlyphLayout$EngineRecord.this$0:Lsun/font/GlyphLayout;
getfield sun.font.GlyphLayout._offset:I
isub
aload 0
getfield sun.font.GlyphLayout$EngineRecord.this$0:Lsun/font/GlyphLayout;
getfield sun.font.GlyphLayout._textRecord:Lsun/font/TextRecord;
3: aload 0
getfield sun.font.GlyphLayout$EngineRecord.this$0:Lsun/font/GlyphLayout;
getfield sun.font.GlyphLayout._typo_flags:I
aload 0
getfield sun.font.GlyphLayout$EngineRecord.eflags:I
ior
aload 0
getfield sun.font.GlyphLayout$EngineRecord.this$0:Lsun/font/GlyphLayout;
getfield sun.font.GlyphLayout._pt:Ljava/awt/geom/Point2D$Float;
aload 0
getfield sun.font.GlyphLayout$EngineRecord.this$0:Lsun/font/GlyphLayout;
getfield sun.font.GlyphLayout._gvdata:Lsun/font/GlyphLayout$GVData;
4: invokeinterface sun.font.GlyphLayout$LayoutEngine.layout:(Lsun/font/FontStrikeDesc;[FIILsun/font/TextRecord;ILjava/awt/geom/Point2D$Float;Lsun/font/GlyphLayout$GVData;)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/GlyphLayout$EngineRecord;
}
SourceFile: "GlyphLayout.java"
NestHost: sun.font.GlyphLayout
InnerClasses:
public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D
private final EngineRecord = sun.font.GlyphLayout$EngineRecord of sun.font.GlyphLayout
public final GVData = sun.font.GlyphLayout$GVData of sun.font.GlyphLayout
public abstract LayoutEngine = sun.font.GlyphLayout$LayoutEngine of sun.font.GlyphLayout
public abstract LayoutEngineFactory = sun.font.GlyphLayout$LayoutEngineFactory of sun.font.GlyphLayout
public final LayoutEngineKey = sun.font.GlyphLayout$LayoutEngineKey of sun.font.GlyphLayout