public class android.graphics.SweepGradient extends android.graphics.Shader
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.graphics.SweepGradient
  super_class: android.graphics.Shader
{
  private static final int TYPE_COLORS_AND_POSITIONS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int TYPE_COLOR_START_AND_COLOR_END;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private int mType;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private float mCx;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private float mCy;
    descriptor: F
    flags: (0x0002) ACC_PRIVATE

  private int[] mColors;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private float[] mPositions;
    descriptor: [F
    flags: (0x0002) ACC_PRIVATE

  private int mColor0;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int mColor1;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>(float, float, int[], float[]);
    descriptor: (FF[I[F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // android.graphics.SweepGradient this
        start local 1 // float cx
        start local 2 // float cy
        start local 3 // int[] colors
        start local 4 // float[] positions
         0: .line 55
            aload 0 /* this */
            invokespecial android.graphics.Shader.<init>:()V
         1: .line 57
            aload 3 /* colors */
            arraylength
            iconst_2
            if_icmpge 3
         2: .line 58
            new java.lang.IllegalArgumentException
            dup
            ldc "needs >= 2 number of colors"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 60
      StackMap locals: android.graphics.SweepGradient float float int[] float[]
      StackMap stack:
            aload 4 /* positions */
            ifnull 7
            aload 3 /* colors */
            arraylength
            aload 4 /* positions */
            arraylength
            if_icmpeq 7
         4: .line 61
            new java.lang.IllegalArgumentException
            dup
         5: .line 62
            ldc "color and position arrays must be of equal length"
         6: .line 61
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 64
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield android.graphics.SweepGradient.mType:I
         8: .line 65
            aload 0 /* this */
            fload 1 /* cx */
            putfield android.graphics.SweepGradient.mCx:F
         9: .line 66
            aload 0 /* this */
            fload 2 /* cy */
            putfield android.graphics.SweepGradient.mCy:F
        10: .line 67
            aload 0 /* this */
            aload 3 /* colors */
            invokevirtual int[].clone:()Ljava/lang/Object;
            checkcast int[]
            putfield android.graphics.SweepGradient.mColors:[I
        11: .line 68
            aload 0 /* this */
            aload 4 /* positions */
            ifnull 12
            aload 4 /* positions */
            invokevirtual float[].clone:()Ljava/lang/Object;
            checkcast float[]
            goto 13
      StackMap locals:
      StackMap stack: android.graphics.SweepGradient
        12: aconst_null
      StackMap locals: android.graphics.SweepGradient float float int[] float[]
      StackMap stack: android.graphics.SweepGradient float[]
        13: putfield android.graphics.SweepGradient.mPositions:[F
        14: .line 69
            return
        end local 4 // float[] positions
        end local 3 // int[] colors
        end local 2 // float cy
        end local 1 // float cx
        end local 0 // android.graphics.SweepGradient this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Landroid/graphics/SweepGradient;
            0   15     1         cx  F
            0   15     2         cy  F
            0   15     3     colors  [I
            0   15     4  positions  [F
    MethodParameters:
           Name  Flags
      cx         
      cy         
      colors     
      positions  

  public void <init>(float, float, int, int);
    descriptor: (FFII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // android.graphics.SweepGradient this
        start local 1 // float cx
        start local 2 // float cy
        start local 3 // int color0
        start local 4 // int color1
         0: .line 79
            aload 0 /* this */
            invokespecial android.graphics.Shader.<init>:()V
         1: .line 80
            aload 0 /* this */
            iconst_2
            putfield android.graphics.SweepGradient.mType:I
         2: .line 81
            aload 0 /* this */
            fload 1 /* cx */
            putfield android.graphics.SweepGradient.mCx:F
         3: .line 82
            aload 0 /* this */
            fload 2 /* cy */
            putfield android.graphics.SweepGradient.mCy:F
         4: .line 83
            aload 0 /* this */
            iload 3 /* color0 */
            putfield android.graphics.SweepGradient.mColor0:I
         5: .line 84
            aload 0 /* this */
            iload 4 /* color1 */
            putfield android.graphics.SweepGradient.mColor1:I
         6: .line 85
            aload 0 /* this */
            aconst_null
            putfield android.graphics.SweepGradient.mColors:[I
         7: .line 86
            aload 0 /* this */
            aconst_null
            putfield android.graphics.SweepGradient.mPositions:[F
         8: .line 87
            return
        end local 4 // int color1
        end local 3 // int color0
        end local 2 // float cy
        end local 1 // float cx
        end local 0 // android.graphics.SweepGradient this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Landroid/graphics/SweepGradient;
            0    9     1      cx  F
            0    9     2      cy  F
            0    9     3  color0  I
            0    9     4  color1  I
    MethodParameters:
        Name  Flags
      cx      
      cy      
      color0  
      color1  

  long createNativeInstance(long);
    descriptor: (J)J
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // android.graphics.SweepGradient this
        start local 1 // long nativeMatrix
         0: .line 91
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mType:I
            iconst_1
            if_icmpne 2
         1: .line 92
            lload 1 /* nativeMatrix */
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mCx:F
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mCy:F
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mColors:[I
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mPositions:[F
            invokestatic android.graphics.SweepGradient.nativeCreate1:(JFF[I[F)J
            lreturn
         2: .line 94
      StackMap locals:
      StackMap stack:
            lload 1 /* nativeMatrix */
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mCx:F
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mCy:F
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mColor0:I
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mColor1:I
            invokestatic android.graphics.SweepGradient.nativeCreate2:(JFFII)J
            lreturn
        end local 1 // long nativeMatrix
        end local 0 // android.graphics.SweepGradient this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Landroid/graphics/SweepGradient;
            0    3     1  nativeMatrix  J
    MethodParameters:
              Name  Flags
      nativeMatrix  

  protected android.graphics.Shader copy();
    descriptor: ()Landroid/graphics/Shader;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // android.graphics.SweepGradient this
         0: .line 104
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mType:I
            iconst_1
            if_icmpne 6
         1: .line 105
            new android.graphics.SweepGradient
            dup
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mCx:F
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mCy:F
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mColors:[I
            invokevirtual int[].clone:()Ljava/lang/Object;
            checkcast int[]
         2: .line 106
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mPositions:[F
            ifnull 3
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mPositions:[F
            invokevirtual float[].clone:()Ljava/lang/Object;
            checkcast float[]
            goto 4
      StackMap locals: android.graphics.SweepGradient
      StackMap stack: new 1 new 1 float float int[]
         3: aconst_null
         4: .line 105
      StackMap locals: android.graphics.SweepGradient
      StackMap stack: new 1 new 1 float float int[] float[]
            invokespecial android.graphics.SweepGradient.<init>:(FF[I[F)V
            astore 1 /* copy */
        start local 1 // android.graphics.SweepGradient copy
         5: .line 107
            goto 7
        end local 1 // android.graphics.SweepGradient copy
         6: .line 108
      StackMap locals:
      StackMap stack:
            new android.graphics.SweepGradient
            dup
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mCx:F
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mCy:F
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mColor0:I
            aload 0 /* this */
            getfield android.graphics.SweepGradient.mColor1:I
            invokespecial android.graphics.SweepGradient.<init>:(FFII)V
            astore 1 /* copy */
        start local 1 // android.graphics.SweepGradient copy
         7: .line 110
      StackMap locals: android.graphics.SweepGradient
      StackMap stack:
            aload 0 /* this */
            aload 1 /* copy */
            invokevirtual android.graphics.SweepGradient.copyLocalMatrix:(Landroid/graphics/Shader;)V
         8: .line 111
            aload 1 /* copy */
            areturn
        end local 1 // android.graphics.SweepGradient copy
        end local 0 // android.graphics.SweepGradient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/graphics/SweepGradient;
            5    6     1  copy  Landroid/graphics/SweepGradient;
            7    9     1  copy  Landroid/graphics/SweepGradient;

  private static native long nativeCreate1(long, float, float, int[], float[]);
    descriptor: (JFF[I[F)J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      matrix     
      x          
      y          
      colors     
      positions  

  private static native long nativeCreate2(long, float, float, int, int);
    descriptor: (JFFII)J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      matrix  
      x       
      y       
      color0  
      color1  
}
SourceFile: "SweepGradient.java"