class sun.font.LayoutPathImpl$SegmentPath$Mapper
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.font.LayoutPathImpl$SegmentPath$Mapper
super_class: java.lang.Object
{
final sun.font.LayoutPathImpl$SegmentPath$LineInfo li;
descriptor: Lsun/font/LayoutPathImpl$SegmentPath$LineInfo;
flags: (0x0010) ACC_FINAL
final java.util.ArrayList<sun.font.LayoutPathImpl$SegmentPath$Segment> segments;
descriptor: Ljava/util/ArrayList;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/ArrayList<Lsun/font/LayoutPathImpl$SegmentPath$Segment;>;
final java.awt.geom.Point2D$Double mpt;
descriptor: Ljava/awt/geom/Point2D$Double;
flags: (0x0010) ACC_FINAL
final java.awt.geom.Point2D$Double cpt;
descriptor: Ljava/awt/geom/Point2D$Double;
flags: (0x0010) ACC_FINAL
boolean haveMT;
descriptor: Z
flags: (0x0000)
final sun.font.LayoutPathImpl$SegmentPath this$1;
descriptor: Lsun/font/LayoutPathImpl$SegmentPath;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.font.LayoutPathImpl$SegmentPath);
descriptor: (Lsun/font/LayoutPathImpl$SegmentPath;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 0: aload 0
aload 1
putfield sun.font.LayoutPathImpl$SegmentPath$Mapper.this$1:Lsun/font/LayoutPathImpl$SegmentPath;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new sun.font.LayoutPathImpl$SegmentPath$LineInfo
dup
aload 1
invokespecial sun.font.LayoutPathImpl$SegmentPath$LineInfo.<init>:(Lsun/font/LayoutPathImpl$SegmentPath;)V
putfield sun.font.LayoutPathImpl$SegmentPath$Mapper.li:Lsun/font/LayoutPathImpl$SegmentPath$LineInfo;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.font.LayoutPathImpl$SegmentPath$Mapper.segments:Ljava/util/ArrayList;
3: iconst_3
istore 2
start local 2 4: goto 8
5: StackMap locals: sun.font.LayoutPathImpl$SegmentPath$Mapper sun.font.LayoutPathImpl$SegmentPath int
StackMap stack:
aload 1
getfield sun.font.LayoutPathImpl$SegmentPath.data:[D
iload 2
iconst_2
iadd
daload
aload 1
getfield sun.font.LayoutPathImpl$SegmentPath.data:[D
iload 2
iconst_1
isub
daload
dcmpl
ifeq 7
6: aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.segments:Ljava/util/ArrayList;
new sun.font.LayoutPathImpl$SegmentPath$Segment
dup
aload 1
iload 2
invokespecial sun.font.LayoutPathImpl$SegmentPath$Segment.<init>:(Lsun/font/LayoutPathImpl$SegmentPath;I)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals:
StackMap stack:
iinc 2 3
StackMap locals:
StackMap stack:
8: iload 2
aload 1
getfield sun.font.LayoutPathImpl$SegmentPath.data:[D
arraylength
if_icmplt 5
end local 2 9: aload 0
new java.awt.geom.Point2D$Double
dup
invokespecial java.awt.geom.Point2D$Double.<init>:()V
putfield sun.font.LayoutPathImpl$SegmentPath$Mapper.mpt:Ljava/awt/geom/Point2D$Double;
10: aload 0
new java.awt.geom.Point2D$Double
dup
invokespecial java.awt.geom.Point2D$Double.<init>:()V
putfield sun.font.LayoutPathImpl$SegmentPath$Mapper.cpt:Ljava/awt/geom/Point2D$Double;
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/font/LayoutPathImpl$SegmentPath$Mapper;
4 9 2 i I
MethodParameters:
Name Flags
this$0 final
void init();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
iconst_0
putfield sun.font.LayoutPathImpl$SegmentPath$Mapper.haveMT:Z
1: aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.segments:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: sun.font.LayoutPathImpl$SegmentPath$Mapper top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.font.LayoutPathImpl$SegmentPath$Segment
astore 1
start local 1 3: aload 1
invokevirtual sun.font.LayoutPathImpl$SegmentPath$Segment.init:()V
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/LayoutPathImpl$SegmentPath$Mapper;
3 4 1 s Lsun/font/LayoutPathImpl$SegmentPath$Segment;
void moveTo(double, double);
descriptor: (DD)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.mpt:Ljava/awt/geom/Point2D$Double;
dload 1
putfield java.awt.geom.Point2D$Double.x:D
1: aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.mpt:Ljava/awt/geom/Point2D$Double;
dload 3
putfield java.awt.geom.Point2D$Double.y:D
2: aload 0
iconst_1
putfield sun.font.LayoutPathImpl$SegmentPath$Mapper.haveMT:Z
3: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/font/LayoutPathImpl$SegmentPath$Mapper;
0 4 1 x D
0 4 3 y D
MethodParameters:
Name Flags
x
y
void lineTo(double, double);
descriptor: (DD)V
flags: (0x0000)
Code:
stack=9, locals=7, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.haveMT:Z
ifeq 3
1: aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.cpt:Ljava/awt/geom/Point2D$Double;
aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.mpt:Ljava/awt/geom/Point2D$Double;
getfield java.awt.geom.Point2D$Double.x:D
putfield java.awt.geom.Point2D$Double.x:D
2: aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.cpt:Ljava/awt/geom/Point2D$Double;
aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.mpt:Ljava/awt/geom/Point2D$Double;
getfield java.awt.geom.Point2D$Double.y:D
putfield java.awt.geom.Point2D$Double.y:D
3: StackMap locals:
StackMap stack:
dload 1
aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.cpt:Ljava/awt/geom/Point2D$Double;
getfield java.awt.geom.Point2D$Double.x:D
dcmpl
ifne 5
dload 3
aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.cpt:Ljava/awt/geom/Point2D$Double;
getfield java.awt.geom.Point2D$Double.y:D
dcmpl
ifne 5
4: return
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.haveMT:Z
ifeq 11
6: aload 0
iconst_0
putfield sun.font.LayoutPathImpl$SegmentPath$Mapper.haveMT:Z
7: aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.segments:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 6
goto 10
StackMap locals: sun.font.LayoutPathImpl$SegmentPath$Mapper double double top java.util.Iterator
StackMap stack:
8: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.font.LayoutPathImpl$SegmentPath$Segment
astore 5
start local 5 9: aload 5
invokevirtual sun.font.LayoutPathImpl$SegmentPath$Segment.move:()V
end local 5 10: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: StackMap locals: sun.font.LayoutPathImpl$SegmentPath$Mapper double double
StackMap stack:
aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.li:Lsun/font/LayoutPathImpl$SegmentPath$LineInfo;
aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.cpt:Ljava/awt/geom/Point2D$Double;
getfield java.awt.geom.Point2D$Double.x:D
aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.cpt:Ljava/awt/geom/Point2D$Double;
getfield java.awt.geom.Point2D$Double.y:D
dload 1
dload 3
invokevirtual sun.font.LayoutPathImpl$SegmentPath$LineInfo.set:(DDDD)V
12: aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.segments:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 6
goto 15
StackMap locals: sun.font.LayoutPathImpl$SegmentPath$Mapper double double top java.util.Iterator
StackMap stack:
13: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.font.LayoutPathImpl$SegmentPath$Segment
astore 5
start local 5 14: aload 5
aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.li:Lsun/font/LayoutPathImpl$SegmentPath$LineInfo;
invokevirtual sun.font.LayoutPathImpl$SegmentPath$Segment.line:(Lsun/font/LayoutPathImpl$SegmentPath$LineInfo;)V
end local 5 15: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
16: aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.cpt:Ljava/awt/geom/Point2D$Double;
dload 1
putfield java.awt.geom.Point2D$Double.x:D
17: aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.cpt:Ljava/awt/geom/Point2D$Double;
dload 3
putfield java.awt.geom.Point2D$Double.y:D
18: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/font/LayoutPathImpl$SegmentPath$Mapper;
0 19 1 x D
0 19 3 y D
9 10 5 s Lsun/font/LayoutPathImpl$SegmentPath$Segment;
14 15 5 s Lsun/font/LayoutPathImpl$SegmentPath$Segment;
MethodParameters:
Name Flags
x
y
void close();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.mpt:Ljava/awt/geom/Point2D$Double;
getfield java.awt.geom.Point2D$Double.x:D
aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.mpt:Ljava/awt/geom/Point2D$Double;
getfield java.awt.geom.Point2D$Double.y:D
invokevirtual sun.font.LayoutPathImpl$SegmentPath$Mapper.lineTo:(DD)V
1: aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.segments:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: sun.font.LayoutPathImpl$SegmentPath$Mapper top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.font.LayoutPathImpl$SegmentPath$Segment
astore 1
start local 1 3: aload 1
invokevirtual sun.font.LayoutPathImpl$SegmentPath$Segment.close:()V
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/font/LayoutPathImpl$SegmentPath$Mapper;
3 4 1 s Lsun/font/LayoutPathImpl$SegmentPath$Segment;
public java.awt.Shape mapShape(java.awt.Shape);
descriptor: (Ljava/awt/Shape;)Ljava/awt/Shape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
aconst_null
dconst_1
invokeinterface java.awt.Shape.getPathIterator:(Ljava/awt/geom/AffineTransform;D)Ljava/awt/geom/PathIterator;
astore 2
start local 2 1: aload 0
invokevirtual sun.font.LayoutPathImpl$SegmentPath$Mapper.init:()V
2: iconst_2
newarray 7
astore 3
start local 3 3: goto 9
4: StackMap locals: java.awt.geom.PathIterator double[]
StackMap stack:
aload 2
aload 3
invokeinterface java.awt.geom.PathIterator.currentSegment:([D)I
tableswitch { // 0 - 4
0: 6
1: 7
2: 8
3: 8
4: 5
default: 8
}
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.font.LayoutPathImpl$SegmentPath$Mapper.close:()V
goto 8
6: StackMap locals:
StackMap stack:
aload 0
aload 3
iconst_0
daload
aload 3
iconst_1
daload
invokevirtual sun.font.LayoutPathImpl$SegmentPath$Mapper.moveTo:(DD)V
goto 8
7: StackMap locals:
StackMap stack:
aload 0
aload 3
iconst_0
daload
aload 3
iconst_1
daload
invokevirtual sun.font.LayoutPathImpl$SegmentPath$Mapper.lineTo:(DD)V
goto 8
8: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.awt.geom.PathIterator.next:()V
9: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.awt.geom.PathIterator.isDone:()Z
ifeq 4
10: new java.awt.geom.GeneralPath
dup
invokespecial java.awt.geom.GeneralPath.<init>:()V
astore 4
start local 4 11: aload 0
getfield sun.font.LayoutPathImpl$SegmentPath$Mapper.segments:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 6
goto 14
StackMap locals: sun.font.LayoutPathImpl$SegmentPath$Mapper java.awt.Shape java.awt.geom.PathIterator double[] java.awt.geom.GeneralPath top java.util.Iterator
StackMap stack:
12: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.font.LayoutPathImpl$SegmentPath$Segment
astore 5
start local 5 13: aload 4
aload 5
getfield sun.font.LayoutPathImpl$SegmentPath$Segment.gp:Ljava/awt/geom/GeneralPath;
iconst_0
invokevirtual java.awt.geom.GeneralPath.append:(Ljava/awt/Shape;Z)V
end local 5 14: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
15: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/font/LayoutPathImpl$SegmentPath$Mapper;
0 16 1 s Ljava/awt/Shape;
1 16 2 pi Ljava/awt/geom/PathIterator;
3 16 3 coords [D
11 16 4 gp Ljava/awt/geom/GeneralPath;
13 14 5 seg Lsun/font/LayoutPathImpl$SegmentPath$Segment;
MethodParameters:
Name Flags
s
}
SourceFile: "LayoutPathImpl.java"
NestHost: sun.font.LayoutPathImpl
InnerClasses:
public Double = java.awt.geom.Point2D$Double of java.awt.geom.Point2D
public final SegmentPath = sun.font.LayoutPathImpl$SegmentPath of sun.font.LayoutPathImpl
LineInfo = sun.font.LayoutPathImpl$SegmentPath$LineInfo of sun.font.LayoutPathImpl$SegmentPath
Mapper = sun.font.LayoutPathImpl$SegmentPath$Mapper of sun.font.LayoutPathImpl$SegmentPath
Segment = sun.font.LayoutPathImpl$SegmentPath$Segment of sun.font.LayoutPathImpl$SegmentPath