public abstract class java.awt.geom.Line2D implements java.awt.Shape, java.lang.Cloneable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: java.awt.geom.Line2D
  super_class: java.lang.Object
{
  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.geom.Line2D this
         0: .line 381
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 382
            return
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/awt/geom/Line2D;

  public abstract double getX1();
    descriptor: ()D
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract double getY1();
    descriptor: ()D
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.awt.geom.Point2D getP1();
    descriptor: ()Ljava/awt/geom/Point2D;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract double getX2();
    descriptor: ()D
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract double getY2();
    descriptor: ()D
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.awt.geom.Point2D getP2();
    descriptor: ()Ljava/awt/geom/Point2D;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void setLine(double, double, double, double);
    descriptor: (DDDD)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      x1    
      y1    
      x2    
      y2    

  public void setLine(java.awt.geom.Point2D, java.awt.geom.Point2D);
    descriptor: (Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=3
        start local 0 // java.awt.geom.Line2D this
        start local 1 // java.awt.geom.Point2D p1
        start local 2 // java.awt.geom.Point2D p2
         0: .line 449
            aload 0 /* this */
            aload 1 /* p1 */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 1 /* p1 */
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 2 /* p2 */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 2 /* p2 */
            invokevirtual java.awt.geom.Point2D.getY:()D
            invokevirtual java.awt.geom.Line2D.setLine:(DDDD)V
         1: .line 450
            return
        end local 2 // java.awt.geom.Point2D p2
        end local 1 // java.awt.geom.Point2D p1
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/awt/geom/Line2D;
            0    2     1    p1  Ljava/awt/geom/Point2D;
            0    2     2    p2  Ljava/awt/geom/Point2D;
    MethodParameters:
      Name  Flags
      p1    
      p2    

  public void setLine(java.awt.geom.Line2D);
    descriptor: (Ljava/awt/geom/Line2D;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // java.awt.geom.Line2D this
        start local 1 // java.awt.geom.Line2D l
         0: .line 459
            aload 0 /* this */
            aload 1 /* l */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 1 /* l */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 1 /* l */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 1 /* l */
            invokevirtual java.awt.geom.Line2D.getY2:()D
            invokevirtual java.awt.geom.Line2D.setLine:(DDDD)V
         1: .line 460
            return
        end local 1 // java.awt.geom.Line2D l
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/awt/geom/Line2D;
            0    2     1     l  Ljava/awt/geom/Line2D;
    MethodParameters:
      Name  Flags
      l     

  public static int relativeCCW(double, double, double, double, double, double);
    descriptor: (DDDDDD)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=14, args_size=6
        start local 0 // double x1
        start local 2 // double y1
        start local 4 // double x2
        start local 6 // double y2
        start local 8 // double px
        start local 10 // double py
         0: .line 508
            dload 4 /* x2 */
            dload 0 /* x1 */
            dsub
            dstore 4 /* x2 */
         1: .line 509
            dload 6 /* y2 */
            dload 2 /* y1 */
            dsub
            dstore 6 /* y2 */
         2: .line 510
            dload 8 /* px */
            dload 0 /* x1 */
            dsub
            dstore 8 /* px */
         3: .line 511
            dload 10 /* py */
            dload 2 /* y1 */
            dsub
            dstore 10 /* py */
         4: .line 512
            dload 8 /* px */
            dload 6 /* y2 */
            dmul
            dload 10 /* py */
            dload 4 /* x2 */
            dmul
            dsub
            dstore 12 /* ccw */
        start local 12 // double ccw
         5: .line 513
            dload 12 /* ccw */
            dconst_0
            dcmpl
            ifne 13
         6: .line 520
            dload 8 /* px */
            dload 4 /* x2 */
            dmul
            dload 10 /* py */
            dload 6 /* y2 */
            dmul
            dadd
            dstore 12 /* ccw */
         7: .line 521
            dload 12 /* ccw */
            dconst_0
            dcmpl
            ifle 13
         8: .line 529
            dload 8 /* px */
            dload 4 /* x2 */
            dsub
            dstore 8 /* px */
         9: .line 530
            dload 10 /* py */
            dload 6 /* y2 */
            dsub
            dstore 10 /* py */
        10: .line 531
            dload 8 /* px */
            dload 4 /* x2 */
            dmul
            dload 10 /* py */
            dload 6 /* y2 */
            dmul
            dadd
            dstore 12 /* ccw */
        11: .line 532
            dload 12 /* ccw */
            dconst_0
            dcmpg
            ifge 13
        12: .line 533
            dconst_0
            dstore 12 /* ccw */
        13: .line 537
      StackMap locals: double
      StackMap stack:
            dload 12 /* ccw */
            dconst_0
            dcmpg
            ifge 14
            iconst_m1
            goto 16
      StackMap locals:
      StackMap stack:
        14: dload 12 /* ccw */
            dconst_0
            dcmpl
            ifle 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: ireturn
        end local 12 // double ccw
        end local 10 // double py
        end local 8 // double px
        end local 6 // double y2
        end local 4 // double x2
        end local 2 // double y1
        end local 0 // double x1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0    x1  D
            0   17     2    y1  D
            0   17     4    x2  D
            0   17     6    y2  D
            0   17     8    px  D
            0   17    10    py  D
            5   17    12   ccw  D
    MethodParameters:
      Name  Flags
      x1    
      y1    
      x2    
      y2    
      px    
      py    

  public int relativeCCW(double, double);
    descriptor: (DD)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=5, args_size=3
        start local 0 // java.awt.geom.Line2D this
        start local 1 // double px
        start local 3 // double py
         0: .line 556
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY2:()D
            dload 1 /* px */
            dload 3 /* py */
            invokestatic java.awt.geom.Line2D.relativeCCW:(DDDDDD)I
            ireturn
        end local 3 // double py
        end local 1 // double px
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/geom/Line2D;
            0    1     1    px  D
            0    1     3    py  D
    MethodParameters:
      Name  Flags
      px    
      py    

  public int relativeCCW(java.awt.geom.Point2D);
    descriptor: (Ljava/awt/geom/Point2D;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=2, args_size=2
        start local 0 // java.awt.geom.Line2D this
        start local 1 // java.awt.geom.Point2D p
         0: .line 573
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY2:()D
         1: .line 574
            aload 1 /* p */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 1 /* p */
            invokevirtual java.awt.geom.Point2D.getY:()D
         2: .line 573
            invokestatic java.awt.geom.Line2D.relativeCCW:(DDDDDD)I
            ireturn
        end local 1 // java.awt.geom.Point2D p
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/awt/geom/Line2D;
            0    3     1     p  Ljava/awt/geom/Point2D;
    MethodParameters:
      Name  Flags
      p     

  public static boolean linesIntersect(double, double, double, double, double, double, double, double);
    descriptor: (DDDDDDDD)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=13, locals=16, args_size=8
        start local 0 // double x1
        start local 2 // double y1
        start local 4 // double x2
        start local 6 // double y2
        start local 8 // double x3
        start local 10 // double y3
        start local 12 // double x4
        start local 14 // double y4
         0: .line 608
            dload 0 /* x1 */
            dload 2 /* y1 */
            dload 4 /* x2 */
            dload 6 /* y2 */
            dload 8 /* x3 */
            dload 10 /* y3 */
            invokestatic java.awt.geom.Line2D.relativeCCW:(DDDDDD)I
         1: .line 609
            dload 0 /* x1 */
            dload 2 /* y1 */
            dload 4 /* x2 */
            dload 6 /* y2 */
            dload 12 /* x4 */
            dload 14 /* y4 */
            invokestatic java.awt.geom.Line2D.relativeCCW:(DDDDDD)I
         2: .line 608
            imul
            ifgt 7
         3: .line 610
            dload 8 /* x3 */
            dload 10 /* y3 */
            dload 12 /* x4 */
            dload 14 /* y4 */
            dload 0 /* x1 */
            dload 2 /* y1 */
            invokestatic java.awt.geom.Line2D.relativeCCW:(DDDDDD)I
         4: .line 611
            dload 8 /* x3 */
            dload 10 /* y3 */
            dload 12 /* x4 */
            dload 14 /* y4 */
            dload 4 /* x2 */
            dload 6 /* y2 */
            invokestatic java.awt.geom.Line2D.relativeCCW:(DDDDDD)I
         5: .line 610
            imul
         6: .line 608
            ifgt 7
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 14 // double y4
        end local 12 // double x4
        end local 10 // double y3
        end local 8 // double x3
        end local 6 // double y2
        end local 4 // double x2
        end local 2 // double y1
        end local 0 // double x1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0    x1  D
            0    8     2    y1  D
            0    8     4    x2  D
            0    8     6    y2  D
            0    8     8    x3  D
            0    8    10    y3  D
            0    8    12    x4  D
            0    8    14    y4  D
    MethodParameters:
      Name  Flags
      x1    
      y1    
      x2    
      y2    
      x3    
      y3    
      x4    
      y4    

  public boolean intersectsLine(double, double, double, double);
    descriptor: (DDDD)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=16, locals=9, args_size=5
        start local 0 // java.awt.geom.Line2D this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
         0: .line 631
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
         1: .line 632
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY2:()D
         2: .line 631
            invokestatic java.awt.geom.Line2D.linesIntersect:(DDDDDDDD)Z
            ireturn
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/awt/geom/Line2D;
            0    3     1    x1  D
            0    3     3    y1  D
            0    3     5    x2  D
            0    3     7    y2  D
    MethodParameters:
      Name  Flags
      x1    
      y1    
      x2    
      y2    

  public boolean intersectsLine(java.awt.geom.Line2D);
    descriptor: (Ljava/awt/geom/Line2D;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=16, locals=2, args_size=2
        start local 0 // java.awt.geom.Line2D this
        start local 1 // java.awt.geom.Line2D l
         0: .line 644
            aload 1 /* l */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 1 /* l */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 1 /* l */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 1 /* l */
            invokevirtual java.awt.geom.Line2D.getY2:()D
         1: .line 645
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY2:()D
         2: .line 644
            invokestatic java.awt.geom.Line2D.linesIntersect:(DDDDDDDD)Z
            ireturn
        end local 1 // java.awt.geom.Line2D l
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/awt/geom/Line2D;
            0    3     1     l  Ljava/awt/geom/Line2D;
    MethodParameters:
      Name  Flags
      l     

  public static double ptSegDistSq(double, double, double, double, double, double);
    descriptor: (DDDDDD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=18, args_size=6
        start local 0 // double x1
        start local 2 // double y1
        start local 4 // double x2
        start local 6 // double y2
        start local 8 // double px
        start local 10 // double py
         0: .line 678
            dload 4 /* x2 */
            dload 0 /* x1 */
            dsub
            dstore 4 /* x2 */
         1: .line 679
            dload 6 /* y2 */
            dload 2 /* y1 */
            dsub
            dstore 6 /* y2 */
         2: .line 681
            dload 8 /* px */
            dload 0 /* x1 */
            dsub
            dstore 8 /* px */
         3: .line 682
            dload 10 /* py */
            dload 2 /* y1 */
            dsub
            dstore 10 /* py */
         4: .line 683
            dload 8 /* px */
            dload 4 /* x2 */
            dmul
            dload 10 /* py */
            dload 6 /* y2 */
            dmul
            dadd
            dstore 12 /* dotprod */
        start local 12 // double dotprod
         5: .line 685
            dload 12 /* dotprod */
            dconst_0
            dcmpg
            ifgt 8
         6: .line 689
            dconst_0
            dstore 14 /* projlenSq */
        start local 14 // double projlenSq
         7: .line 690
            goto 15
        end local 14 // double projlenSq
         8: .line 696
      StackMap locals: double
      StackMap stack:
            dload 4 /* x2 */
            dload 8 /* px */
            dsub
            dstore 8 /* px */
         9: .line 697
            dload 6 /* y2 */
            dload 10 /* py */
            dsub
            dstore 10 /* py */
        10: .line 698
            dload 8 /* px */
            dload 4 /* x2 */
            dmul
            dload 10 /* py */
            dload 6 /* y2 */
            dmul
            dadd
            dstore 12 /* dotprod */
        11: .line 699
            dload 12 /* dotprod */
            dconst_0
            dcmpg
            ifgt 14
        12: .line 703
            dconst_0
            dstore 14 /* projlenSq */
        start local 14 // double projlenSq
        13: .line 704
            goto 15
        end local 14 // double projlenSq
        14: .line 709
      StackMap locals:
      StackMap stack:
            dload 12 /* dotprod */
            dload 12 /* dotprod */
            dmul
            dload 4 /* x2 */
            dload 4 /* x2 */
            dmul
            dload 6 /* y2 */
            dload 6 /* y2 */
            dmul
            dadd
            ddiv
            dstore 14 /* projlenSq */
        start local 14 // double projlenSq
        15: .line 716
      StackMap locals: double
      StackMap stack:
            dload 8 /* px */
            dload 8 /* px */
            dmul
            dload 10 /* py */
            dload 10 /* py */
            dmul
            dadd
            dload 14 /* projlenSq */
            dsub
            dstore 16 /* lenSq */
        start local 16 // double lenSq
        16: .line 717
            dload 16 /* lenSq */
            dconst_0
            dcmpg
            ifge 18
        17: .line 718
            dconst_0
            dstore 16 /* lenSq */
        18: .line 720
      StackMap locals: double
      StackMap stack:
            dload 16 /* lenSq */
            dreturn
        end local 16 // double lenSq
        end local 14 // double projlenSq
        end local 12 // double dotprod
        end local 10 // double py
        end local 8 // double px
        end local 6 // double y2
        end local 4 // double x2
        end local 2 // double y1
        end local 0 // double x1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0         x1  D
            0   19     2         y1  D
            0   19     4         x2  D
            0   19     6         y2  D
            0   19     8         px  D
            0   19    10         py  D
            5   19    12    dotprod  D
            7    8    14  projlenSq  D
           13   14    14  projlenSq  D
           15   19    14  projlenSq  D
           16   19    16      lenSq  D
    MethodParameters:
      Name  Flags
      x1    
      y1    
      x2    
      y2    
      px    
      py    

  public static double ptSegDist(double, double, double, double, double, double);
    descriptor: (DDDDDD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=12, args_size=6
        start local 0 // double x1
        start local 2 // double y1
        start local 4 // double x2
        start local 6 // double y2
        start local 8 // double px
        start local 10 // double py
         0: .line 751
            dload 0 /* x1 */
            dload 2 /* y1 */
            dload 4 /* x2 */
            dload 6 /* y2 */
            dload 8 /* px */
            dload 10 /* py */
            invokestatic java.awt.geom.Line2D.ptSegDistSq:(DDDDDD)D
            invokestatic java.lang.Math.sqrt:(D)D
            dreturn
        end local 10 // double py
        end local 8 // double px
        end local 6 // double y2
        end local 4 // double x2
        end local 2 // double y1
        end local 0 // double x1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    x1  D
            0    1     2    y1  D
            0    1     4    x2  D
            0    1     6    y2  D
            0    1     8    px  D
            0    1    10    py  D
    MethodParameters:
      Name  Flags
      x1    
      y1    
      x2    
      y2    
      px    
      py    

  public double ptSegDistSq(double, double);
    descriptor: (DD)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=5, args_size=3
        start local 0 // java.awt.geom.Line2D this
        start local 1 // double px
        start local 3 // double py
         0: .line 771
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY2:()D
            dload 1 /* px */
            dload 3 /* py */
            invokestatic java.awt.geom.Line2D.ptSegDistSq:(DDDDDD)D
            dreturn
        end local 3 // double py
        end local 1 // double px
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/geom/Line2D;
            0    1     1    px  D
            0    1     3    py  D
    MethodParameters:
      Name  Flags
      px    
      py    

  public double ptSegDistSq(java.awt.geom.Point2D);
    descriptor: (Ljava/awt/geom/Point2D;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=2, args_size=2
        start local 0 // java.awt.geom.Line2D this
        start local 1 // java.awt.geom.Point2D pt
         0: .line 790
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY2:()D
         1: .line 791
            aload 1 /* pt */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 1 /* pt */
            invokevirtual java.awt.geom.Point2D.getY:()D
         2: .line 790
            invokestatic java.awt.geom.Line2D.ptSegDistSq:(DDDDDD)D
            dreturn
        end local 1 // java.awt.geom.Point2D pt
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/awt/geom/Line2D;
            0    3     1    pt  Ljava/awt/geom/Point2D;
    MethodParameters:
      Name  Flags
      pt    

  public double ptSegDist(double, double);
    descriptor: (DD)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=5, args_size=3
        start local 0 // java.awt.geom.Line2D this
        start local 1 // double px
        start local 3 // double py
         0: .line 811
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY2:()D
            dload 1 /* px */
            dload 3 /* py */
            invokestatic java.awt.geom.Line2D.ptSegDist:(DDDDDD)D
            dreturn
        end local 3 // double py
        end local 1 // double px
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/geom/Line2D;
            0    1     1    px  D
            0    1     3    py  D
    MethodParameters:
      Name  Flags
      px    
      py    

  public double ptSegDist(java.awt.geom.Point2D);
    descriptor: (Ljava/awt/geom/Point2D;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=2, args_size=2
        start local 0 // java.awt.geom.Line2D this
        start local 1 // java.awt.geom.Point2D pt
         0: .line 830
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY2:()D
         1: .line 831
            aload 1 /* pt */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 1 /* pt */
            invokevirtual java.awt.geom.Point2D.getY:()D
         2: .line 830
            invokestatic java.awt.geom.Line2D.ptSegDist:(DDDDDD)D
            dreturn
        end local 1 // java.awt.geom.Point2D pt
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/awt/geom/Line2D;
            0    3     1    pt  Ljava/awt/geom/Point2D;
    MethodParameters:
      Name  Flags
      pt    

  public static double ptLineDistSq(double, double, double, double, double, double);
    descriptor: (DDDDDD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=18, args_size=6
        start local 0 // double x1
        start local 2 // double y1
        start local 4 // double x2
        start local 6 // double y2
        start local 8 // double px
        start local 10 // double py
         0: .line 860
            dload 4 /* x2 */
            dload 0 /* x1 */
            dsub
            dstore 4 /* x2 */
         1: .line 861
            dload 6 /* y2 */
            dload 2 /* y1 */
            dsub
            dstore 6 /* y2 */
         2: .line 863
            dload 8 /* px */
            dload 0 /* x1 */
            dsub
            dstore 8 /* px */
         3: .line 864
            dload 10 /* py */
            dload 2 /* y1 */
            dsub
            dstore 10 /* py */
         4: .line 865
            dload 8 /* px */
            dload 4 /* x2 */
            dmul
            dload 10 /* py */
            dload 6 /* y2 */
            dmul
            dadd
            dstore 12 /* dotprod */
        start local 12 // double dotprod
         5: .line 869
            dload 12 /* dotprod */
            dload 12 /* dotprod */
            dmul
            dload 4 /* x2 */
            dload 4 /* x2 */
            dmul
            dload 6 /* y2 */
            dload 6 /* y2 */
            dmul
            dadd
            ddiv
            dstore 14 /* projlenSq */
        start local 14 // double projlenSq
         6: .line 872
            dload 8 /* px */
            dload 8 /* px */
            dmul
            dload 10 /* py */
            dload 10 /* py */
            dmul
            dadd
            dload 14 /* projlenSq */
            dsub
            dstore 16 /* lenSq */
        start local 16 // double lenSq
         7: .line 873
            dload 16 /* lenSq */
            dconst_0
            dcmpg
            ifge 9
         8: .line 874
            dconst_0
            dstore 16 /* lenSq */
         9: .line 876
      StackMap locals: double double double
      StackMap stack:
            dload 16 /* lenSq */
            dreturn
        end local 16 // double lenSq
        end local 14 // double projlenSq
        end local 12 // double dotprod
        end local 10 // double py
        end local 8 // double px
        end local 6 // double y2
        end local 4 // double x2
        end local 2 // double y1
        end local 0 // double x1
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0         x1  D
            0   10     2         y1  D
            0   10     4         x2  D
            0   10     6         y2  D
            0   10     8         px  D
            0   10    10         py  D
            5   10    12    dotprod  D
            6   10    14  projlenSq  D
            7   10    16      lenSq  D
    MethodParameters:
      Name  Flags
      x1    
      y1    
      x2    
      y2    
      px    
      py    

  public static double ptLineDist(double, double, double, double, double, double);
    descriptor: (DDDDDD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=12, args_size=6
        start local 0 // double x1
        start local 2 // double y1
        start local 4 // double x2
        start local 6 // double y2
        start local 8 // double px
        start local 10 // double py
         0: .line 903
            dload 0 /* x1 */
            dload 2 /* y1 */
            dload 4 /* x2 */
            dload 6 /* y2 */
            dload 8 /* px */
            dload 10 /* py */
            invokestatic java.awt.geom.Line2D.ptLineDistSq:(DDDDDD)D
            invokestatic java.lang.Math.sqrt:(D)D
            dreturn
        end local 10 // double py
        end local 8 // double px
        end local 6 // double y2
        end local 4 // double x2
        end local 2 // double y1
        end local 0 // double x1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    x1  D
            0    1     2    y1  D
            0    1     4    x2  D
            0    1     6    y2  D
            0    1     8    px  D
            0    1    10    py  D
    MethodParameters:
      Name  Flags
      x1    
      y1    
      x2    
      y2    
      px    
      py    

  public double ptLineDistSq(double, double);
    descriptor: (DD)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=5, args_size=3
        start local 0 // java.awt.geom.Line2D this
        start local 1 // double px
        start local 3 // double py
         0: .line 923
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY2:()D
            dload 1 /* px */
            dload 3 /* py */
            invokestatic java.awt.geom.Line2D.ptLineDistSq:(DDDDDD)D
            dreturn
        end local 3 // double py
        end local 1 // double px
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/geom/Line2D;
            0    1     1    px  D
            0    1     3    py  D
    MethodParameters:
      Name  Flags
      px    
      py    

  public double ptLineDistSq(java.awt.geom.Point2D);
    descriptor: (Ljava/awt/geom/Point2D;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=2, args_size=2
        start local 0 // java.awt.geom.Line2D this
        start local 1 // java.awt.geom.Point2D pt
         0: .line 942
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY2:()D
         1: .line 943
            aload 1 /* pt */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 1 /* pt */
            invokevirtual java.awt.geom.Point2D.getY:()D
         2: .line 942
            invokestatic java.awt.geom.Line2D.ptLineDistSq:(DDDDDD)D
            dreturn
        end local 1 // java.awt.geom.Point2D pt
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/awt/geom/Line2D;
            0    3     1    pt  Ljava/awt/geom/Point2D;
    MethodParameters:
      Name  Flags
      pt    

  public double ptLineDist(double, double);
    descriptor: (DD)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=5, args_size=3
        start local 0 // java.awt.geom.Line2D this
        start local 1 // double px
        start local 3 // double py
         0: .line 963
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY2:()D
            dload 1 /* px */
            dload 3 /* py */
            invokestatic java.awt.geom.Line2D.ptLineDist:(DDDDDD)D
            dreturn
        end local 3 // double py
        end local 1 // double px
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/geom/Line2D;
            0    1     1    px  D
            0    1     3    py  D
    MethodParameters:
      Name  Flags
      px    
      py    

  public double ptLineDist(java.awt.geom.Point2D);
    descriptor: (Ljava/awt/geom/Point2D;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=2, args_size=2
        start local 0 // java.awt.geom.Line2D this
        start local 1 // java.awt.geom.Point2D pt
         0: .line 979
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY2:()D
         1: .line 980
            aload 1 /* pt */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 1 /* pt */
            invokevirtual java.awt.geom.Point2D.getY:()D
         2: .line 979
            invokestatic java.awt.geom.Line2D.ptLineDist:(DDDDDD)D
            dreturn
        end local 1 // java.awt.geom.Point2D pt
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/awt/geom/Line2D;
            0    3     1    pt  Ljava/awt/geom/Point2D;
    MethodParameters:
      Name  Flags
      pt    

  public boolean contains(double, double);
    descriptor: (DD)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=5, args_size=3
        start local 0 // java.awt.geom.Line2D this
        start local 1 // double x
        start local 3 // double y
         0: .line 996
            iconst_0
            ireturn
        end local 3 // double y
        end local 1 // double x
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/geom/Line2D;
            0    1     1     x  D
            0    1     3     y  D
    MethodParameters:
      Name  Flags
      x     
      y     

  public boolean contains(java.awt.geom.Point2D);
    descriptor: (Ljava/awt/geom/Point2D;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.awt.geom.Line2D this
        start local 1 // java.awt.geom.Point2D p
         0: .line 1011
            iconst_0
            ireturn
        end local 1 // java.awt.geom.Point2D p
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/geom/Line2D;
            0    1     1     p  Ljava/awt/geom/Point2D;
    MethodParameters:
      Name  Flags
      p     

  public boolean intersects(double, double, double, double);
    descriptor: (DDDD)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=9, args_size=5
        start local 0 // java.awt.geom.Line2D this
        start local 1 // double x
        start local 3 // double y
        start local 5 // double w
        start local 7 // double h
         0: .line 1019
            aload 0 /* this */
            new java.awt.geom.Rectangle2D$Double
            dup
            dload 1 /* x */
            dload 3 /* y */
            dload 5 /* w */
            dload 7 /* h */
            invokespecial java.awt.geom.Rectangle2D$Double.<init>:(DDDD)V
            invokevirtual java.awt.geom.Line2D.intersects:(Ljava/awt/geom/Rectangle2D;)Z
            ireturn
        end local 7 // double h
        end local 5 // double w
        end local 3 // double y
        end local 1 // double x
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/geom/Line2D;
            0    1     1     x  D
            0    1     3     y  D
            0    1     5     w  D
            0    1     7     h  D
    MethodParameters:
      Name  Flags
      x     
      y     
      w     
      h     

  public boolean intersects(java.awt.geom.Rectangle2D);
    descriptor: (Ljava/awt/geom/Rectangle2D;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // java.awt.geom.Line2D this
        start local 1 // java.awt.geom.Rectangle2D r
         0: .line 1027
            aload 1 /* r */
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY1:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getX2:()D
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getY2:()D
            invokevirtual java.awt.geom.Rectangle2D.intersectsLine:(DDDD)Z
            ireturn
        end local 1 // java.awt.geom.Rectangle2D r
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/geom/Line2D;
            0    1     1     r  Ljava/awt/geom/Rectangle2D;
    MethodParameters:
      Name  Flags
      r     

  public boolean contains(double, double, double, double);
    descriptor: (DDDD)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=9, args_size=5
        start local 0 // java.awt.geom.Line2D this
        start local 1 // double x
        start local 3 // double y
        start local 5 // double w
        start local 7 // double h
         0: .line 1047
            iconst_0
            ireturn
        end local 7 // double h
        end local 5 // double w
        end local 3 // double y
        end local 1 // double x
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/geom/Line2D;
            0    1     1     x  D
            0    1     3     y  D
            0    1     5     w  D
            0    1     7     h  D
    MethodParameters:
      Name  Flags
      x     
      y     
      w     
      h     

  public boolean contains(java.awt.geom.Rectangle2D);
    descriptor: (Ljava/awt/geom/Rectangle2D;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.awt.geom.Line2D this
        start local 1 // java.awt.geom.Rectangle2D r
         0: .line 1062
            iconst_0
            ireturn
        end local 1 // java.awt.geom.Rectangle2D r
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/geom/Line2D;
            0    1     1     r  Ljava/awt/geom/Rectangle2D;
    MethodParameters:
      Name  Flags
      r     

  public java.awt.Rectangle getBounds();
    descriptor: ()Ljava/awt/Rectangle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.geom.Line2D this
         0: .line 1070
            aload 0 /* this */
            invokevirtual java.awt.geom.Line2D.getBounds2D:()Ljava/awt/geom/Rectangle2D;
            invokevirtual java.awt.geom.Rectangle2D.getBounds:()Ljava/awt/Rectangle;
            areturn
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/geom/Line2D;

  public java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform);
    descriptor: (Ljava/awt/geom/AffineTransform;)Ljava/awt/geom/PathIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.awt.geom.Line2D this
        start local 1 // java.awt.geom.AffineTransform at
         0: .line 1087
            new java.awt.geom.LineIterator
            dup
            aload 0 /* this */
            aload 1 /* at */
            invokespecial java.awt.geom.LineIterator.<init>:(Ljava/awt/geom/Line2D;Ljava/awt/geom/AffineTransform;)V
            areturn
        end local 1 // java.awt.geom.AffineTransform at
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/geom/Line2D;
            0    1     1    at  Ljava/awt/geom/AffineTransform;
    MethodParameters:
      Name  Flags
      at    

  public java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform, double);
    descriptor: (Ljava/awt/geom/AffineTransform;D)Ljava/awt/geom/PathIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.awt.geom.Line2D this
        start local 1 // java.awt.geom.AffineTransform at
        start local 2 // double flatness
         0: .line 1109
            new java.awt.geom.LineIterator
            dup
            aload 0 /* this */
            aload 1 /* at */
            invokespecial java.awt.geom.LineIterator.<init>:(Ljava/awt/geom/Line2D;Ljava/awt/geom/AffineTransform;)V
            areturn
        end local 2 // double flatness
        end local 1 // java.awt.geom.AffineTransform at
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Ljava/awt/geom/Line2D;
            0    1     1        at  Ljava/awt/geom/AffineTransform;
            0    1     2  flatness  D
    MethodParameters:
          Name  Flags
      at        
      flatness  

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.awt.geom.Line2D this
         0: .line 1122
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
         1: areturn
         2: .line 1123
      StackMap locals:
      StackMap stack: java.lang.CloneNotSupportedException
            astore 1 /* e */
        start local 1 // java.lang.CloneNotSupportedException e
         3: .line 1125
            new java.lang.InternalError
            dup
            aload 1 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.CloneNotSupportedException e
        end local 0 // java.awt.geom.Line2D this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/awt/geom/Line2D;
            3    4     1     e  Ljava/lang/CloneNotSupportedException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.CloneNotSupportedException
}
SourceFile: "Line2D.java"
NestMembers:
  java.awt.geom.Line2D$Double  java.awt.geom.Line2D$Float
InnerClasses:
  public Double = java.awt.geom.Line2D$Double of java.awt.geom.Line2D
  public Float = java.awt.geom.Line2D$Float of java.awt.geom.Line2D
  public Double = java.awt.geom.Rectangle2D$Double of java.awt.geom.Rectangle2D