public abstract class sun.awt.geom.Crossings
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.awt.geom.Crossings
  super_class: java.lang.Object
{
  public static final boolean debug;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  int limit;
    descriptor: I
    flags: (0x0000) 

  double[] yranges;
    descriptor: [D
    flags: (0x0000) 

  double xlo;
    descriptor: D
    flags: (0x0000) 

  double ylo;
    descriptor: D
    flags: (0x0000) 

  double xhi;
    descriptor: D
    flags: (0x0000) 

  double yhi;
    descriptor: D
    flags: (0x0000) 

  private java.util.Vector<sun.awt.geom.Curve> tmp;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Vector<Lsun/awt/geom/Curve;>;

  public void <init>(double, double, double, double);
    descriptor: (DDDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=5
        start local 0 // sun.awt.geom.Crossings this
        start local 1 // double xlo
        start local 3 // double ylo
        start local 5 // double xhi
        start local 7 // double yhi
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 35
            aload 0 /* this */
            iconst_0
            putfield sun.awt.geom.Crossings.limit:I
         2: .line 36
            aload 0 /* this */
            bipush 10
            newarray 7
            putfield sun.awt.geom.Crossings.yranges:[D
         3: .line 240
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield sun.awt.geom.Crossings.tmp:Ljava/util/Vector;
         4: .line 41
            aload 0 /* this */
            dload 1 /* xlo */
            putfield sun.awt.geom.Crossings.xlo:D
         5: .line 42
            aload 0 /* this */
            dload 3 /* ylo */
            putfield sun.awt.geom.Crossings.ylo:D
         6: .line 43
            aload 0 /* this */
            dload 5 /* xhi */
            putfield sun.awt.geom.Crossings.xhi:D
         7: .line 44
            aload 0 /* this */
            dload 7 /* yhi */
            putfield sun.awt.geom.Crossings.yhi:D
         8: .line 45
            return
        end local 7 // double yhi
        end local 5 // double xhi
        end local 3 // double ylo
        end local 1 // double xlo
        end local 0 // sun.awt.geom.Crossings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/awt/geom/Crossings;
            0    9     1   xlo  D
            0    9     3   ylo  D
            0    9     5   xhi  D
            0    9     7   yhi  D
    MethodParameters:
      Name  Flags
      xlo   
      ylo   
      xhi   
      yhi   

  public final double getXLo();
    descriptor: ()D
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.geom.Crossings this
         0: .line 48
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xlo:D
            dreturn
        end local 0 // sun.awt.geom.Crossings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/geom/Crossings;

  public final double getYLo();
    descriptor: ()D
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.geom.Crossings this
         0: .line 52
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            dreturn
        end local 0 // sun.awt.geom.Crossings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/geom/Crossings;

  public final double getXHi();
    descriptor: ()D
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.geom.Crossings this
         0: .line 56
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xhi:D
            dreturn
        end local 0 // sun.awt.geom.Crossings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/geom/Crossings;

  public final double getYHi();
    descriptor: ()D
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.awt.geom.Crossings this
         0: .line 60
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            dreturn
        end local 0 // sun.awt.geom.Crossings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/geom/Crossings;

  public abstract void record(double, double, int);
    descriptor: (DDI)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      ystart     
      yend       
      direction  

  public void print();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // sun.awt.geom.Crossings this
         0: .line 66
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Crossings ["
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 67
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "  bounds = ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 68
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 6
         4: .line 69
      StackMap locals: int
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "  ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yranges:[D
            iload 1 /* i */
            daload
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yranges:[D
            iload 1 /* i */
            iconst_1
            iadd
            daload
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 68
            iinc 1 /* i */ 2
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.limit:I
            if_icmplt 4
        end local 1 // int i
         7: .line 71
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "]"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         8: .line 72
            return
        end local 0 // sun.awt.geom.Crossings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/awt/geom/Crossings;
            3    7     1     i  I

  public final boolean isEmpty();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.geom.Crossings this
         0: .line 75
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.limit:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // sun.awt.geom.Crossings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/geom/Crossings;

  public abstract boolean covers(double, double);
    descriptor: (DD)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      ystart  
      yend    

  public static sun.awt.geom.Crossings findCrossings(java.util.Vector<? extends sun.awt.geom.Curve>, double, double, double, double);
    descriptor: (Ljava/util/Vector;DDDD)Lsun/awt/geom/Crossings;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=12, args_size=5
        start local 0 // java.util.Vector curves
        start local 1 // double xlo
        start local 3 // double ylo
        start local 5 // double xhi
        start local 7 // double yhi
         0: .line 84
            new sun.awt.geom.Crossings$EvenOdd
            dup
            dload 1 /* xlo */
            dload 3 /* ylo */
            dload 5 /* xhi */
            dload 7 /* yhi */
            invokespecial sun.awt.geom.Crossings$EvenOdd.<init>:(DDDD)V
            astore 9 /* cross */
        start local 9 // sun.awt.geom.Crossings cross
         1: .line 85
            aload 0 /* curves */
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 10 /* enum_ */
        start local 10 // java.util.Enumeration enum_
         2: .line 86
            goto 6
         3: .line 87
      StackMap locals: sun.awt.geom.Crossings java.util.Enumeration
      StackMap stack:
            aload 10 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.awt.geom.Curve
            astore 11 /* c */
        start local 11 // sun.awt.geom.Curve c
         4: .line 88
            aload 11 /* c */
            aload 9 /* cross */
            invokevirtual sun.awt.geom.Curve.accumulateCrossings:(Lsun/awt/geom/Crossings;)Z
            ifeq 6
         5: .line 89
            aconst_null
            areturn
        end local 11 // sun.awt.geom.Curve c
         6: .line 86
      StackMap locals:
      StackMap stack:
            aload 10 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
         7: .line 95
            aload 9 /* cross */
            areturn
        end local 10 // java.util.Enumeration enum_
        end local 9 // sun.awt.geom.Crossings cross
        end local 7 // double yhi
        end local 5 // double xhi
        end local 3 // double ylo
        end local 1 // double xlo
        end local 0 // java.util.Vector curves
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  curves  Ljava/util/Vector<+Lsun/awt/geom/Curve;>;
            0    8     1     xlo  D
            0    8     3     ylo  D
            0    8     5     xhi  D
            0    8     7     yhi  D
            1    8     9   cross  Lsun/awt/geom/Crossings;
            2    8    10   enum_  Ljava/util/Enumeration<+Lsun/awt/geom/Curve;>;
            4    6    11       c  Lsun/awt/geom/Curve;
    Signature: (Ljava/util/Vector<+Lsun/awt/geom/Curve;>;DDDD)Lsun/awt/geom/Crossings;
    MethodParameters:
        Name  Flags
      curves  
      xlo     
      ylo     
      xhi     
      yhi     

  public static sun.awt.geom.Crossings findCrossings(java.awt.geom.PathIterator, double, double, double, double);
    descriptor: (Ljava/awt/geom/PathIterator;DDDD)Lsun/awt/geom/Crossings;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=24, args_size=5
        start local 0 // java.awt.geom.PathIterator pi
        start local 1 // double xlo
        start local 3 // double ylo
        start local 5 // double xhi
        start local 7 // double yhi
         0: .line 103
            aload 0 /* pi */
            invokeinterface java.awt.geom.PathIterator.getWindingRule:()I
            ifne 3
         1: .line 104
            new sun.awt.geom.Crossings$EvenOdd
            dup
            dload 1 /* xlo */
            dload 3 /* ylo */
            dload 5 /* xhi */
            dload 7 /* yhi */
            invokespecial sun.awt.geom.Crossings$EvenOdd.<init>:(DDDD)V
            astore 9 /* cross */
        start local 9 // sun.awt.geom.Crossings cross
         2: .line 105
            goto 4
        end local 9 // sun.awt.geom.Crossings cross
         3: .line 106
      StackMap locals:
      StackMap stack:
            new sun.awt.geom.Crossings$NonZero
            dup
            dload 1 /* xlo */
            dload 3 /* ylo */
            dload 5 /* xhi */
            dload 7 /* yhi */
            invokespecial sun.awt.geom.Crossings$NonZero.<init>:(DDDD)V
            astore 9 /* cross */
        start local 9 // sun.awt.geom.Crossings cross
         4: .line 122
      StackMap locals: sun.awt.geom.Crossings
      StackMap stack:
            bipush 23
            newarray 7
            astore 10 /* coords */
        start local 10 // double[] coords
         5: .line 123
            dconst_0
            dstore 11 /* movx */
        start local 11 // double movx
         6: .line 124
            dconst_0
            dstore 13 /* movy */
        start local 13 // double movy
         7: .line 125
            dconst_0
            dstore 15 /* curx */
        start local 15 // double curx
         8: .line 126
            dconst_0
            dstore 17 /* cury */
        start local 17 // double cury
         9: .line 128
            goto 45
        10: .line 129
      StackMap locals: java.awt.geom.PathIterator double double double double sun.awt.geom.Crossings double[] double double double double
      StackMap stack:
            aload 0 /* pi */
            aload 10 /* coords */
            invokeinterface java.awt.geom.PathIterator.currentSegment:([D)I
            istore 23 /* type */
        start local 23 // int type
        11: .line 130
            iload 23 /* type */
            tableswitch { // 0 - 4
                    0: 12
                    1: 18
                    2: 25
                    3: 32
                    4: 39
              default: 44
          }
        12: .line 132
      StackMap locals: java.awt.geom.PathIterator double double double double sun.awt.geom.Crossings double[] double double double double top top top top int
      StackMap stack:
            dload 13 /* movy */
            dload 17 /* cury */
            dcmpl
            ifeq 15
        13: .line 133
            aload 9 /* cross */
            dload 15 /* curx */
            dload 17 /* cury */
            dload 11 /* movx */
            dload 13 /* movy */
            invokevirtual sun.awt.geom.Crossings.accumulateLine:(DDDD)Z
            ifeq 15
        14: .line 135
            aconst_null
            areturn
        15: .line 137
      StackMap locals:
      StackMap stack:
            aload 10 /* coords */
            iconst_0
            daload
            dup2
            dstore 15 /* curx */
            dstore 11 /* movx */
        16: .line 138
            aload 10 /* coords */
            iconst_1
            daload
            dup2
            dstore 17 /* cury */
            dstore 13 /* movy */
        17: .line 139
            goto 44
        18: .line 141
      StackMap locals:
      StackMap stack:
            aload 10 /* coords */
            iconst_0
            daload
            dstore 19 /* newx */
        start local 19 // double newx
        19: .line 142
            aload 10 /* coords */
            iconst_1
            daload
            dstore 21 /* newy */
        start local 21 // double newy
        20: .line 143
            aload 9 /* cross */
            dload 15 /* curx */
            dload 17 /* cury */
            dload 19 /* newx */
            dload 21 /* newy */
            invokevirtual sun.awt.geom.Crossings.accumulateLine:(DDDD)Z
            ifeq 22
        21: .line 144
            aconst_null
            areturn
        22: .line 146
      StackMap locals: java.awt.geom.PathIterator double double double double sun.awt.geom.Crossings double[] double double double double double double int
      StackMap stack:
            dload 19 /* newx */
            dstore 15 /* curx */
        23: .line 147
            dload 21 /* newy */
            dstore 17 /* cury */
        24: .line 148
            goto 44
        end local 21 // double newy
        end local 19 // double newx
        25: .line 150
      StackMap locals: java.awt.geom.PathIterator double double double double sun.awt.geom.Crossings double[] double double double double top top top top int
      StackMap stack:
            aload 10 /* coords */
            iconst_2
            daload
            dstore 19 /* newx */
        start local 19 // double newx
        26: .line 151
            aload 10 /* coords */
            iconst_3
            daload
            dstore 21 /* newy */
        start local 21 // double newy
        27: .line 152
            aload 9 /* cross */
            dload 15 /* curx */
            dload 17 /* cury */
            aload 10 /* coords */
            invokevirtual sun.awt.geom.Crossings.accumulateQuad:(DD[D)Z
            ifeq 29
        28: .line 153
            aconst_null
            areturn
        29: .line 155
      StackMap locals: java.awt.geom.PathIterator double double double double sun.awt.geom.Crossings double[] double double double double double double int
      StackMap stack:
            dload 19 /* newx */
            dstore 15 /* curx */
        30: .line 156
            dload 21 /* newy */
            dstore 17 /* cury */
        31: .line 157
            goto 44
        end local 21 // double newy
        end local 19 // double newx
        32: .line 159
      StackMap locals: java.awt.geom.PathIterator double double double double sun.awt.geom.Crossings double[] double double double double top top top top int
      StackMap stack:
            aload 10 /* coords */
            iconst_4
            daload
            dstore 19 /* newx */
        start local 19 // double newx
        33: .line 160
            aload 10 /* coords */
            iconst_5
            daload
            dstore 21 /* newy */
        start local 21 // double newy
        34: .line 161
            aload 9 /* cross */
            dload 15 /* curx */
            dload 17 /* cury */
            aload 10 /* coords */
            invokevirtual sun.awt.geom.Crossings.accumulateCubic:(DD[D)Z
            ifeq 36
        35: .line 162
            aconst_null
            areturn
        36: .line 164
      StackMap locals: java.awt.geom.PathIterator double double double double sun.awt.geom.Crossings double[] double double double double double double int
      StackMap stack:
            dload 19 /* newx */
            dstore 15 /* curx */
        37: .line 165
            dload 21 /* newy */
            dstore 17 /* cury */
        38: .line 166
            goto 44
        end local 21 // double newy
        end local 19 // double newx
        39: .line 168
      StackMap locals: java.awt.geom.PathIterator double double double double sun.awt.geom.Crossings double[] double double double double top top top top int
      StackMap stack:
            dload 13 /* movy */
            dload 17 /* cury */
            dcmpl
            ifeq 42
        40: .line 169
            aload 9 /* cross */
            dload 15 /* curx */
            dload 17 /* cury */
            dload 11 /* movx */
            dload 13 /* movy */
            invokevirtual sun.awt.geom.Crossings.accumulateLine:(DDDD)Z
            ifeq 42
        41: .line 171
            aconst_null
            areturn
        42: .line 173
      StackMap locals:
      StackMap stack:
            dload 11 /* movx */
            dstore 15 /* curx */
        43: .line 174
            dload 13 /* movy */
            dstore 17 /* cury */
        44: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* pi */
            invokeinterface java.awt.geom.PathIterator.next:()V
        end local 23 // int type
        45: .line 128
      StackMap locals: java.awt.geom.PathIterator double double double double sun.awt.geom.Crossings double[] double double double double
      StackMap stack:
            aload 0 /* pi */
            invokeinterface java.awt.geom.PathIterator.isDone:()Z
            ifeq 10
        46: .line 179
            dload 13 /* movy */
            dload 17 /* cury */
            dcmpl
            ifeq 49
        47: .line 180
            aload 9 /* cross */
            dload 15 /* curx */
            dload 17 /* cury */
            dload 11 /* movx */
            dload 13 /* movy */
            invokevirtual sun.awt.geom.Crossings.accumulateLine:(DDDD)Z
            ifeq 49
        48: .line 181
            aconst_null
            areturn
        49: .line 187
      StackMap locals:
      StackMap stack:
            aload 9 /* cross */
            areturn
        end local 17 // double cury
        end local 15 // double curx
        end local 13 // double movy
        end local 11 // double movx
        end local 10 // double[] coords
        end local 9 // sun.awt.geom.Crossings cross
        end local 7 // double yhi
        end local 5 // double xhi
        end local 3 // double ylo
        end local 1 // double xlo
        end local 0 // java.awt.geom.PathIterator pi
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   50     0      pi  Ljava/awt/geom/PathIterator;
            0   50     1     xlo  D
            0   50     3     ylo  D
            0   50     5     xhi  D
            0   50     7     yhi  D
            2    3     9   cross  Lsun/awt/geom/Crossings;
            4   50     9   cross  Lsun/awt/geom/Crossings;
            5   50    10  coords  [D
            6   50    11    movx  D
            7   50    13    movy  D
            8   50    15    curx  D
            9   50    17    cury  D
           19   25    19    newx  D
           26   32    19    newx  D
           33   39    19    newx  D
           20   25    21    newy  D
           27   32    21    newy  D
           34   39    21    newy  D
           11   45    23    type  I
    MethodParameters:
      Name  Flags
      pi    
      xlo   
      ylo   
      xhi   
      yhi   

  public boolean accumulateLine(double, double, double, double);
    descriptor: (DDDD)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=9, args_size=5
        start local 0 // sun.awt.geom.Crossings this
        start local 1 // double x0
        start local 3 // double y0
        start local 5 // double x1
        start local 7 // double y1
         0: .line 193
            dload 3 /* y0 */
            dload 7 /* y1 */
            dcmpg
            ifgt 2
         1: .line 194
            aload 0 /* this */
            dload 1 /* x0 */
            dload 3 /* y0 */
            dload 5 /* x1 */
            dload 7 /* y1 */
            iconst_1
            invokevirtual sun.awt.geom.Crossings.accumulateLine:(DDDDI)Z
            ireturn
         2: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 5 /* x1 */
            dload 7 /* y1 */
            dload 1 /* x0 */
            dload 3 /* y0 */
            iconst_m1
            invokevirtual sun.awt.geom.Crossings.accumulateLine:(DDDDI)Z
            ireturn
        end local 7 // double y1
        end local 5 // double x1
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // sun.awt.geom.Crossings this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/geom/Crossings;
            0    3     1    x0  D
            0    3     3    y0  D
            0    3     5    x1  D
            0    3     7    y1  D
    MethodParameters:
      Name  Flags
      x0    
      y0    
      x1    
      y1    

  public boolean accumulateLine(double, double, double, double, int);
    descriptor: (DDDDI)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=22, args_size=6
        start local 0 // sun.awt.geom.Crossings this
        start local 1 // double x0
        start local 3 // double y0
        start local 5 // double x1
        start local 7 // double y1
        start local 9 // int direction
         0: .line 204
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            dload 3 /* y0 */
            dcmpg
            ifle 1
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            dload 7 /* y1 */
            dcmpl
            iflt 2
         1: .line 205
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 207
      StackMap locals:
      StackMap stack:
            dload 1 /* x0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xhi:D
            dcmpl
            iflt 4
            dload 5 /* x1 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xhi:D
            dcmpl
            iflt 4
         3: .line 208
            iconst_0
            ireturn
         4: .line 210
      StackMap locals:
      StackMap stack:
            dload 3 /* y0 */
            dload 7 /* y1 */
            dcmpl
            ifne 7
         5: .line 211
            dload 1 /* x0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xlo:D
            dcmpl
            ifge 6
            dload 5 /* x1 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xlo:D
            dcmpl
            ifge 6
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_1
            ireturn
         7: .line 214
      StackMap locals:
      StackMap stack:
            dload 5 /* x1 */
            dload 1 /* x0 */
            dsub
            dstore 18 /* dx */
        start local 18 // double dx
         8: .line 215
            dload 7 /* y1 */
            dload 3 /* y0 */
            dsub
            dstore 20 /* dy */
        start local 20 // double dy
         9: .line 216
            dload 3 /* y0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            dcmpg
            ifge 13
        10: .line 217
            dload 1 /* x0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            dload 3 /* y0 */
            dsub
            dload 18 /* dx */
            dmul
            dload 20 /* dy */
            ddiv
            dadd
            dstore 10 /* xstart */
        start local 10 // double xstart
        11: .line 218
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            dstore 12 /* ystart */
        start local 12 // double ystart
        12: .line 219
            goto 15
        end local 12 // double ystart
        end local 10 // double xstart
        13: .line 220
      StackMap locals: sun.awt.geom.Crossings double double double double int top top top top top top top top double double
      StackMap stack:
            dload 1 /* x0 */
            dstore 10 /* xstart */
        start local 10 // double xstart
        14: .line 221
            dload 3 /* y0 */
            dstore 12 /* ystart */
        start local 12 // double ystart
        15: .line 223
      StackMap locals: sun.awt.geom.Crossings double double double double int double double top top top top double double
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            dload 7 /* y1 */
            dcmpg
            ifge 19
        16: .line 224
            dload 1 /* x0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            dload 3 /* y0 */
            dsub
            dload 18 /* dx */
            dmul
            dload 20 /* dy */
            ddiv
            dadd
            dstore 14 /* xend */
        start local 14 // double xend
        17: .line 225
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            dstore 16 /* yend */
        start local 16 // double yend
        18: .line 226
            goto 21
        end local 16 // double yend
        end local 14 // double xend
        19: .line 227
      StackMap locals:
      StackMap stack:
            dload 5 /* x1 */
            dstore 14 /* xend */
        start local 14 // double xend
        20: .line 228
            dload 7 /* y1 */
            dstore 16 /* yend */
        start local 16 // double yend
        21: .line 230
      StackMap locals: sun.awt.geom.Crossings double double double double int double double double double double double
      StackMap stack:
            dload 10 /* xstart */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xhi:D
            dcmpl
            iflt 23
            dload 14 /* xend */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xhi:D
            dcmpl
            iflt 23
        22: .line 231
            iconst_0
            ireturn
        23: .line 233
      StackMap locals:
      StackMap stack:
            dload 10 /* xstart */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xlo:D
            dcmpl
            ifgt 24
            dload 14 /* xend */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xlo:D
            dcmpl
            ifle 25
        24: .line 234
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        25: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 12 /* ystart */
            dload 16 /* yend */
            iload 9 /* direction */
            invokevirtual sun.awt.geom.Crossings.record:(DDI)V
        26: .line 237
            iconst_0
            ireturn
        end local 20 // double dy
        end local 18 // double dx
        end local 16 // double yend
        end local 14 // double xend
        end local 12 // double ystart
        end local 10 // double xstart
        end local 9 // int direction
        end local 7 // double y1
        end local 5 // double x1
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // sun.awt.geom.Crossings this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       this  Lsun/awt/geom/Crossings;
            0   27     1         x0  D
            0   27     3         y0  D
            0   27     5         x1  D
            0   27     7         y1  D
            0   27     9  direction  I
           11   13    10     xstart  D
           14   27    10     xstart  D
           12   13    12     ystart  D
           15   27    12     ystart  D
           17   19    14       xend  D
           20   27    14       xend  D
           18   19    16       yend  D
           21   27    16       yend  D
            8   27    18         dx  D
            9   27    20         dy  D
    MethodParameters:
           Name  Flags
      x0         
      y0         
      x1         
      y1         
      direction  

  public boolean accumulateQuad(double, double, double[]);
    descriptor: (DD[D)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // sun.awt.geom.Crossings this
        start local 1 // double x0
        start local 3 // double y0
        start local 5 // double[] coords
         0: .line 243
            dload 3 /* y0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            dcmpg
            ifge 2
            aload 5 /* coords */
            iconst_1
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            dcmpg
            ifge 2
            aload 5 /* coords */
            iconst_3
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            dcmpg
            ifge 2
         1: .line 244
            iconst_0
            ireturn
         2: .line 246
      StackMap locals:
      StackMap stack:
            dload 3 /* y0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            dcmpl
            ifle 4
            aload 5 /* coords */
            iconst_1
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            dcmpl
            ifle 4
            aload 5 /* coords */
            iconst_3
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            dcmpl
            ifle 4
         3: .line 247
            iconst_0
            ireturn
         4: .line 249
      StackMap locals:
      StackMap stack:
            dload 1 /* x0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xhi:D
            dcmpl
            ifle 6
            aload 5 /* coords */
            iconst_0
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xhi:D
            dcmpl
            ifle 6
            aload 5 /* coords */
            iconst_2
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xhi:D
            dcmpl
            ifle 6
         5: .line 250
            iconst_0
            ireturn
         6: .line 252
      StackMap locals:
      StackMap stack:
            dload 1 /* x0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xlo:D
            dcmpg
            ifge 13
            aload 5 /* coords */
            iconst_0
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xlo:D
            dcmpg
            ifge 13
            aload 5 /* coords */
            iconst_2
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xlo:D
            dcmpg
            ifge 13
         7: .line 253
            dload 3 /* y0 */
            aload 5 /* coords */
            iconst_3
            daload
            dcmpg
            ifge 10
         8: .line 254
            aload 0 /* this */
            dload 3 /* y0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            invokestatic java.lang.Math.max:(DD)D
            aload 5 /* coords */
            iconst_3
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            invokestatic java.lang.Math.min:(DD)D
            iconst_1
            invokevirtual sun.awt.geom.Crossings.record:(DDI)V
         9: .line 255
            goto 12
      StackMap locals:
      StackMap stack:
        10: dload 3 /* y0 */
            aload 5 /* coords */
            iconst_3
            daload
            dcmpl
            ifle 12
        11: .line 256
            aload 0 /* this */
            aload 5 /* coords */
            iconst_3
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            invokestatic java.lang.Math.max:(DD)D
            dload 3 /* y0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            invokestatic java.lang.Math.min:(DD)D
            iconst_m1
            invokevirtual sun.awt.geom.Crossings.record:(DDI)V
        12: .line 258
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        13: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.tmp:Ljava/util/Vector;
            dload 1 /* x0 */
            dload 3 /* y0 */
            aload 5 /* coords */
            invokestatic sun.awt.geom.Curve.insertQuad:(Ljava/util/Vector;DD[D)V
        14: .line 261
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.tmp:Ljava/util/Vector;
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 6 /* enum_ */
        start local 6 // java.util.Enumeration enum_
        15: .line 262
            goto 19
        16: .line 263
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.awt.geom.Curve
            astore 7 /* c */
        start local 7 // sun.awt.geom.Curve c
        17: .line 264
            aload 7 /* c */
            aload 0 /* this */
            invokevirtual sun.awt.geom.Curve.accumulateCrossings:(Lsun/awt/geom/Crossings;)Z
            ifeq 19
        18: .line 265
            iconst_1
            ireturn
        end local 7 // sun.awt.geom.Curve c
        19: .line 262
      StackMap locals:
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 16
        20: .line 268
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.tmp:Ljava/util/Vector;
            invokevirtual java.util.Vector.clear:()V
        21: .line 269
            iconst_0
            ireturn
        end local 6 // java.util.Enumeration enum_
        end local 5 // double[] coords
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // sun.awt.geom.Crossings this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0    this  Lsun/awt/geom/Crossings;
            0   22     1      x0  D
            0   22     3      y0  D
            0   22     5  coords  [D
           15   22     6   enum_  Ljava/util/Enumeration<Lsun/awt/geom/Curve;>;
           17   19     7       c  Lsun/awt/geom/Curve;
    MethodParameters:
        Name  Flags
      x0      
      y0      
      coords  

  public boolean accumulateCubic(double, double, double[]);
    descriptor: (DD[D)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // sun.awt.geom.Crossings this
        start local 1 // double x0
        start local 3 // double y0
        start local 5 // double[] coords
         0: .line 273
            dload 3 /* y0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            dcmpg
            ifge 3
            aload 5 /* coords */
            iconst_1
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            dcmpg
            ifge 3
         1: .line 274
            aload 5 /* coords */
            iconst_3
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            dcmpg
            ifge 3
            aload 5 /* coords */
            iconst_5
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            dcmpg
            ifge 3
         2: .line 276
            iconst_0
            ireturn
         3: .line 278
      StackMap locals:
      StackMap stack:
            dload 3 /* y0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            dcmpl
            ifle 6
            aload 5 /* coords */
            iconst_1
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            dcmpl
            ifle 6
         4: .line 279
            aload 5 /* coords */
            iconst_3
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            dcmpl
            ifle 6
            aload 5 /* coords */
            iconst_5
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            dcmpl
            ifle 6
         5: .line 281
            iconst_0
            ireturn
         6: .line 283
      StackMap locals:
      StackMap stack:
            dload 1 /* x0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xhi:D
            dcmpl
            ifle 9
            aload 5 /* coords */
            iconst_0
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xhi:D
            dcmpl
            ifle 9
         7: .line 284
            aload 5 /* coords */
            iconst_2
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xhi:D
            dcmpl
            ifle 9
            aload 5 /* coords */
            iconst_4
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xhi:D
            dcmpl
            ifle 9
         8: .line 286
            iconst_0
            ireturn
         9: .line 288
      StackMap locals:
      StackMap stack:
            dload 1 /* x0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xlo:D
            dcmpg
            ifge 16
            aload 5 /* coords */
            iconst_0
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xlo:D
            dcmpg
            ifge 16
        10: .line 289
            aload 5 /* coords */
            iconst_2
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xlo:D
            dcmpg
            ifge 16
            aload 5 /* coords */
            iconst_4
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.xlo:D
            dcmpg
            ifge 16
        11: .line 291
            dload 3 /* y0 */
            aload 5 /* coords */
            iconst_5
            daload
            dcmpg
            ifgt 14
        12: .line 292
            aload 0 /* this */
            dload 3 /* y0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            invokestatic java.lang.Math.max:(DD)D
            aload 5 /* coords */
            iconst_5
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            invokestatic java.lang.Math.min:(DD)D
            iconst_1
            invokevirtual sun.awt.geom.Crossings.record:(DDI)V
        13: .line 293
            goto 15
        14: .line 294
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* coords */
            iconst_5
            daload
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.ylo:D
            invokestatic java.lang.Math.max:(DD)D
            dload 3 /* y0 */
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.yhi:D
            invokestatic java.lang.Math.min:(DD)D
            iconst_m1
            invokevirtual sun.awt.geom.Crossings.record:(DDI)V
        15: .line 296
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        16: .line 298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.tmp:Ljava/util/Vector;
            dload 1 /* x0 */
            dload 3 /* y0 */
            aload 5 /* coords */
            invokestatic sun.awt.geom.Curve.insertCubic:(Ljava/util/Vector;DD[D)V
        17: .line 299
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.tmp:Ljava/util/Vector;
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 6 /* enum_ */
        start local 6 // java.util.Enumeration enum_
        18: .line 300
            goto 22
        19: .line 301
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.awt.geom.Curve
            astore 7 /* c */
        start local 7 // sun.awt.geom.Curve c
        20: .line 302
            aload 7 /* c */
            aload 0 /* this */
            invokevirtual sun.awt.geom.Curve.accumulateCrossings:(Lsun/awt/geom/Crossings;)Z
            ifeq 22
        21: .line 303
            iconst_1
            ireturn
        end local 7 // sun.awt.geom.Curve c
        22: .line 300
      StackMap locals:
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 19
        23: .line 306
            aload 0 /* this */
            getfield sun.awt.geom.Crossings.tmp:Ljava/util/Vector;
            invokevirtual java.util.Vector.clear:()V
        24: .line 307
            iconst_0
            ireturn
        end local 6 // java.util.Enumeration enum_
        end local 5 // double[] coords
        end local 3 // double y0
        end local 1 // double x0
        end local 0 // sun.awt.geom.Crossings this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   25     0    this  Lsun/awt/geom/Crossings;
            0   25     1      x0  D
            0   25     3      y0  D
            0   25     5  coords  [D
           18   25     6   enum_  Ljava/util/Enumeration<Lsun/awt/geom/Curve;>;
           20   22     7       c  Lsun/awt/geom/Curve;
    MethodParameters:
        Name  Flags
      x0      
      y0      
      coords  
}
SourceFile: "Crossings.java"
NestMembers:
  sun.awt.geom.Crossings$EvenOdd  sun.awt.geom.Crossings$NonZero
InnerClasses:
  public final EvenOdd = sun.awt.geom.Crossings$EvenOdd of sun.awt.geom.Crossings
  public final NonZero = sun.awt.geom.Crossings$NonZero of sun.awt.geom.Crossings