public class sun.awt.motif.X11FontMetrics extends java.awt.FontMetrics
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.awt.motif.X11FontMetrics
super_class: java.awt.FontMetrics
{
int[] widths;
descriptor: [I
flags: (0x0000)
int ascent;
descriptor: I
flags: (0x0000)
int descent;
descriptor: I
flags: (0x0000)
int leading;
descriptor: I
flags: (0x0000)
int height;
descriptor: I
flags: (0x0000)
int maxAscent;
descriptor: I
flags: (0x0000)
int maxDescent;
descriptor: I
flags: (0x0000)
int maxHeight;
descriptor: I
flags: (0x0000)
int maxAdvance;
descriptor: I
flags: (0x0000)
static java.util.Hashtable table;
descriptor: Ljava/util/Hashtable;
flags: (0x0008) ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic sun.awt.motif.X11FontMetrics.initIDs:()V
1: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putstatic sun.awt.motif.X11FontMetrics.table:Ljava/util/Hashtable;
return
LocalVariableTable:
Start End Slot Name Signature
private static native void initIDs();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
public void <init>(java.awt.Font);
descriptor: (Ljava/awt/Font;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial java.awt.FontMetrics.<init>:(Ljava/awt/Font;)V
1: aload 0
invokevirtual sun.awt.motif.X11FontMetrics.init:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/awt/motif/X11FontMetrics;
0 3 1 font Ljava/awt/Font;
MethodParameters:
Name Flags
font
public int getLeading();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.motif.X11FontMetrics.leading:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/motif/X11FontMetrics;
public int getAscent();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.motif.X11FontMetrics.ascent:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/motif/X11FontMetrics;
public int getDescent();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.motif.X11FontMetrics.descent:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/motif/X11FontMetrics;
public int getHeight();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.motif.X11FontMetrics.height:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/motif/X11FontMetrics;
public int getMaxAscent();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.motif.X11FontMetrics.maxAscent:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/motif/X11FontMetrics;
public int getMaxDescent();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.motif.X11FontMetrics.maxDescent:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/motif/X11FontMetrics;
public int getMaxAdvance();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.motif.X11FontMetrics.maxAdvance:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/motif/X11FontMetrics;
public int stringWidth(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.String.toCharArray:()[C
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual sun.awt.motif.X11FontMetrics.charsWidth:([CII)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/motif/X11FontMetrics;
0 1 1 string Ljava/lang/String;
MethodParameters:
Name Flags
string
public int charsWidth(char[], int, int);
descriptor: ([CII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual sun.awt.motif.X11FontMetrics.getFont:()Ljava/awt/Font;
astore 4
start local 4 1: aload 4
invokevirtual java.awt.Font.getPeer:()Ljava/awt/peer/FontPeer;
checkcast sun.awt.PlatformFont
astore 5
start local 5 2: aload 5
invokevirtual sun.awt.PlatformFont.mightHaveMultiFontMetrics:()Z
ifeq 4
3: aload 0
aload 1
iload 2
iload 3
aload 4
invokevirtual sun.awt.motif.X11FontMetrics.getMFCharsWidth:([CIILjava/awt/Font;)I
ireturn
4: StackMap locals: java.awt.Font sun.awt.PlatformFont
StackMap stack:
aload 0
getfield sun.awt.motif.X11FontMetrics.widths:[I
ifnull 16
5: iconst_0
istore 6
start local 6 6: iload 2
istore 7
start local 7 7: goto 14
8: StackMap locals: int int
StackMap stack:
aload 1
iload 7
caload
istore 8
start local 8 9: iload 8
iflt 10
iload 8
aload 0
getfield sun.awt.motif.X11FontMetrics.widths:[I
arraylength
if_icmplt 12
10: StackMap locals: int
StackMap stack:
iload 6
aload 0
getfield sun.awt.motif.X11FontMetrics.maxAdvance:I
iadd
istore 6
11: goto 13
12: StackMap locals:
StackMap stack:
iload 6
aload 0
getfield sun.awt.motif.X11FontMetrics.widths:[I
iload 8
iaload
iadd
istore 6
end local 8 13: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
iload 2
iload 3
iadd
if_icmplt 8
end local 7 15: iload 6
ireturn
end local 6 16: StackMap locals:
StackMap stack:
aload 0
getfield sun.awt.motif.X11FontMetrics.maxAdvance:I
iload 3
imul
ireturn
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 17 0 this Lsun/awt/motif/X11FontMetrics;
0 17 1 chars [C
0 17 2 offset I
0 17 3 length I
1 17 4 font Ljava/awt/Font;
2 17 5 pf Lsun/awt/PlatformFont;
6 16 6 w I
7 15 7 i I
9 13 8 ch I
MethodParameters:
Name Flags
chars
offset
length
private native int getMFCharsWidth(char[], int, int, java.awt.Font);
descriptor: ([CIILjava/awt/Font;)I
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
chars
offset
length
font
public native int bytesWidth(byte[], int, int);
descriptor: ([BII)I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
data
off
len
public int[] getWidths();
descriptor: ()[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.motif.X11FontMetrics.widths:[I
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/motif/X11FontMetrics;
native void init();
descriptor: ()V
flags: (0x0100) ACC_NATIVE
static synchronized java.awt.FontMetrics getFontMetrics(java.awt.Font);
descriptor: (Ljava/awt/Font;)Ljava/awt/FontMetrics;
flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic sun.awt.motif.X11FontMetrics.table:Ljava/util/Hashtable;
aload 0
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.awt.FontMetrics
astore 1
start local 1 1: aload 1
ifnonnull 3
2: getstatic sun.awt.motif.X11FontMetrics.table:Ljava/util/Hashtable;
aload 0
new sun.awt.motif.X11FontMetrics
dup
aload 0
invokespecial sun.awt.motif.X11FontMetrics.<init>:(Ljava/awt/Font;)V
dup
astore 1
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: StackMap locals: java.awt.FontMetrics
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 font Ljava/awt/Font;
1 4 1 fm Ljava/awt/FontMetrics;
MethodParameters:
Name Flags
font
}
SourceFile: "X11FontMetrics.java"