public abstract class sun.font.PhysicalStrike extends sun.font.FontStrike
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.font.PhysicalStrike
super_class: sun.font.FontStrike
{
static final long INTMASK;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4294967295
static boolean longAddresses;
descriptor: Z
flags: (0x0008) ACC_STATIC
private sun.font.PhysicalFont physicalFont;
descriptor: Lsun/font/PhysicalFont;
flags: (0x0002) ACC_PRIVATE
protected sun.font.CharToGlyphMapper mapper;
descriptor: Lsun/font/CharToGlyphMapper;
flags: (0x0004) ACC_PROTECTED
protected long pScalerContext;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected long[] longGlyphImages;
descriptor: [J
flags: (0x0004) ACC_PROTECTED
protected int[] intGlyphImages;
descriptor: [I
flags: (0x0004) ACC_PROTECTED
java.util.concurrent.ConcurrentHashMap<java.lang.Integer, java.awt.geom.Point2D$Float> glyphPointMapCache;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0000)
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/Integer;Ljava/awt/geom/Point2D$Float;>;
protected boolean getImageWithAdvance;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected static final int complexTX;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 124
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic sun.font.StrikeCache.nativeAddressSize:I
tableswitch { // 4 - 8
4: 2
5: 3
6: 3
7: 3
8: 1
default: 3
}
1: StackMap locals:
StackMap stack:
iconst_1
putstatic sun.font.PhysicalStrike.longAddresses:Z
goto 4
2: StackMap locals:
StackMap stack:
iconst_0
putstatic sun.font.PhysicalStrike.longAddresses:Z
goto 4
3: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Unexpected address size"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(sun.font.PhysicalFont, sun.font.FontStrikeDesc);
descriptor: (Lsun/font/PhysicalFont;Lsun/font/FontStrikeDesc;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial sun.font.FontStrike.<init>:()V
1: aload 0
aload 1
putfield sun.font.PhysicalStrike.physicalFont:Lsun/font/PhysicalFont;
2: aload 0
aload 2
putfield sun.font.PhysicalStrike.desc:Lsun/font/FontStrikeDesc;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/font/PhysicalStrike;
0 4 1 physicalFont Lsun/font/PhysicalFont;
0 4 2 desc Lsun/font/FontStrikeDesc;
MethodParameters:
Name Flags
physicalFont
desc
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial sun.font.FontStrike.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/font/PhysicalStrike;
public int getNumGlyphs();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.PhysicalStrike.physicalFont:Lsun/font/PhysicalFont;
invokevirtual sun.font.PhysicalFont.getNumGlyphs:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/PhysicalStrike;
sun.font.StrikeMetrics getFontMetrics();
descriptor: ()Lsun/font/StrikeMetrics;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.font.PhysicalStrike.strikeMetrics:Lsun/font/StrikeMetrics;
ifnonnull 4
1: aload 0
2: aload 0
getfield sun.font.PhysicalStrike.physicalFont:Lsun/font/PhysicalFont;
aload 0
getfield sun.font.PhysicalStrike.pScalerContext:J
invokevirtual sun.font.PhysicalFont.getFontMetrics:(J)Lsun/font/StrikeMetrics;
3: putfield sun.font.PhysicalStrike.strikeMetrics:Lsun/font/StrikeMetrics;
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.PhysicalStrike.strikeMetrics:Lsun/font/StrikeMetrics;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/font/PhysicalStrike;
float getCodePointAdvance(int);
descriptor: (I)F
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield sun.font.PhysicalStrike.physicalFont:Lsun/font/PhysicalFont;
invokevirtual sun.font.PhysicalFont.getMapper:()Lsun/font/CharToGlyphMapper;
iload 1
invokevirtual sun.font.CharToGlyphMapper.charToGlyph:(I)I
invokevirtual sun.font.PhysicalStrike.getGlyphAdvance:(I)F
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/PhysicalStrike;
0 1 1 cp I
MethodParameters:
Name Flags
cp
java.awt.geom.Point2D$Float getCharMetrics(char);
descriptor: (C)Ljava/awt/geom/Point2D$Float;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield sun.font.PhysicalStrike.physicalFont:Lsun/font/PhysicalFont;
invokevirtual sun.font.PhysicalFont.getMapper:()Lsun/font/CharToGlyphMapper;
iload 1
invokevirtual sun.font.CharToGlyphMapper.charToGlyph:(C)I
invokevirtual sun.font.PhysicalStrike.getGlyphMetrics:(I)Ljava/awt/geom/Point2D$Float;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/PhysicalStrike;
0 1 1 ch C
MethodParameters:
Name Flags
ch
int getSlot0GlyphImagePtrs(int[], long[], int);
descriptor: ([I[JI)I
flags: (0x0000)
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/PhysicalStrike;
0 1 1 glyphCodes [I
0 1 2 images [J
0 1 3 len I
MethodParameters:
Name Flags
glyphCodes
images
len
java.awt.geom.Point2D$Float getGlyphPoint(int, int);
descriptor: (II)Ljava/awt/geom/Point2D$Float;
flags: (0x0000)
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: iload 1
bipush 16
ishl
iload 2
ior
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 4
start local 4 2: aload 0
getfield sun.font.PhysicalStrike.glyphPointMapCache:Ljava/util/concurrent/ConcurrentHashMap;
ifnonnull 12
3: aload 0
dup
astore 5
monitorenter
4: aload 0
getfield sun.font.PhysicalStrike.glyphPointMapCache:Ljava/util/concurrent/ConcurrentHashMap;
ifnonnull 8
5: aload 0
6: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
7: putfield sun.font.PhysicalStrike.glyphPointMapCache:Ljava/util/concurrent/ConcurrentHashMap;
8: StackMap locals: java.awt.geom.Point2D$Float java.lang.Integer sun.font.PhysicalStrike
StackMap stack:
aload 5
monitorexit
9: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 5
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.PhysicalStrike.glyphPointMapCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 4
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.awt.geom.Point2D$Float
astore 3
13: StackMap locals:
StackMap stack:
aload 3
ifnonnull 17
14: aload 0
getfield sun.font.PhysicalStrike.physicalFont:Lsun/font/PhysicalFont;
aload 0
getfield sun.font.PhysicalStrike.pScalerContext:J
iload 1
iload 2
invokevirtual sun.font.PhysicalFont.getGlyphPoint:(JII)Ljava/awt/geom/Point2D$Float;
astore 3
15: aload 0
aload 3
invokevirtual sun.font.PhysicalStrike.adjustPoint:(Ljava/awt/geom/Point2D$Float;)V
16: aload 0
getfield sun.font.PhysicalStrike.glyphPointMapCache:Ljava/util/concurrent/ConcurrentHashMap;
aload 4
aload 3
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/font/PhysicalStrike;
0 18 1 glyphCode I
0 18 2 ptNumber I
1 18 3 gp Ljava/awt/geom/Point2D$Float;
2 18 4 ptKey Ljava/lang/Integer;
Exception table:
from to target type
4 9 10 any
10 11 10 any
MethodParameters:
Name Flags
glyphCode
ptNumber
protected void adjustPoint(java.awt.geom.Point2D$Float);
descriptor: (Ljava/awt/geom/Point2D$Float;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/font/PhysicalStrike;
0 1 1 pt Ljava/awt/geom/Point2D$Float;
MethodParameters:
Name Flags
pt
}
SourceFile: "PhysicalStrike.java"
InnerClasses:
public Float = java.awt.geom.Point2D$Float of java.awt.geom.Point2D