public abstract class sun.security.ec.point.ProjectivePoint<T extends sun.security.util.math.IntegerModuloP> implements sun.security.ec.point.Point
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.security.ec.point.ProjectivePoint
  super_class: java.lang.Object
{
  protected final T x;
    descriptor: Lsun/security/util/math/IntegerModuloP;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: TT;

  protected final T y;
    descriptor: Lsun/security/util/math/IntegerModuloP;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: TT;

  protected final T z;
    descriptor: Lsun/security/util/math/IntegerModuloP;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: TT;

  protected void <init>(T, T, );
    descriptor: (Lsun/security/util/math/IntegerModuloP;Lsun/security/util/math/IntegerModuloP;Lsun/security/util/math/IntegerModuloP;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // sun.security.ec.point.ProjectivePoint this
        start local 1 // sun.security.util.math.IntegerModuloP x
        start local 2 // sun.security.util.math.IntegerModuloP y
        start local 3 // sun.security.util.math.IntegerModuloP z
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 43
            aload 0 /* this */
            aload 1 /* x */
            putfield sun.security.ec.point.ProjectivePoint.x:Lsun/security/util/math/IntegerModuloP;
         2: .line 44
            aload 0 /* this */
            aload 2 /* y */
            putfield sun.security.ec.point.ProjectivePoint.y:Lsun/security/util/math/IntegerModuloP;
         3: .line 45
            aload 0 /* this */
            aload 3 /* z */
            putfield sun.security.ec.point.ProjectivePoint.z:Lsun/security/util/math/IntegerModuloP;
         4: .line 46
            return
        end local 3 // sun.security.util.math.IntegerModuloP z
        end local 2 // sun.security.util.math.IntegerModuloP y
        end local 1 // sun.security.util.math.IntegerModuloP x
        end local 0 // sun.security.ec.point.ProjectivePoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/ec/point/ProjectivePoint<TT;>;
            0    5     1     x  TT;
            0    5     2     y  TT;
            0    5     3     z  TT;
    Signature: (TT;TT;TT;)V
    MethodParameters:
      Name  Flags
      x     
      y     
      z     

  public sun.security.util.math.IntegerFieldModuloP getField();
    descriptor: ()Lsun/security/util/math/IntegerFieldModuloP;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ec.point.ProjectivePoint this
         0: .line 50
            aload 0 /* this */
            getfield sun.security.ec.point.ProjectivePoint.x:Lsun/security/util/math/IntegerModuloP;
            invokeinterface sun.security.util.math.IntegerModuloP.getField:()Lsun/security/util/math/IntegerFieldModuloP;
            areturn
        end local 0 // sun.security.ec.point.ProjectivePoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ec/point/ProjectivePoint<TT;>;

  public sun.security.ec.point.ProjectivePoint$Immutable fixed();
    descriptor: ()Lsun/security/ec/point/ProjectivePoint$Immutable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.security.ec.point.ProjectivePoint this
         0: .line 55
            new sun.security.ec.point.ProjectivePoint$Immutable
            dup
            aload 0 /* this */
            getfield sun.security.ec.point.ProjectivePoint.x:Lsun/security/util/math/IntegerModuloP;
            invokeinterface sun.security.util.math.IntegerModuloP.fixed:()Lsun/security/util/math/ImmutableIntegerModuloP;
            aload 0 /* this */
            getfield sun.security.ec.point.ProjectivePoint.y:Lsun/security/util/math/IntegerModuloP;
            invokeinterface sun.security.util.math.IntegerModuloP.fixed:()Lsun/security/util/math/ImmutableIntegerModuloP;
            aload 0 /* this */
            getfield sun.security.ec.point.ProjectivePoint.z:Lsun/security/util/math/IntegerModuloP;
            invokeinterface sun.security.util.math.IntegerModuloP.fixed:()Lsun/security/util/math/ImmutableIntegerModuloP;
            invokespecial sun.security.ec.point.ProjectivePoint$Immutable.<init>:(Lsun/security/util/math/ImmutableIntegerModuloP;Lsun/security/util/math/ImmutableIntegerModuloP;Lsun/security/util/math/ImmutableIntegerModuloP;)V
            areturn
        end local 0 // sun.security.ec.point.ProjectivePoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ec/point/ProjectivePoint<TT;>;

  public sun.security.ec.point.ProjectivePoint$Mutable mutable();
    descriptor: ()Lsun/security/ec/point/ProjectivePoint$Mutable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.security.ec.point.ProjectivePoint this
         0: .line 60
            new sun.security.ec.point.ProjectivePoint$Mutable
            dup
            aload 0 /* this */
            getfield sun.security.ec.point.ProjectivePoint.x:Lsun/security/util/math/IntegerModuloP;
            invokeinterface sun.security.util.math.IntegerModuloP.mutable:()Lsun/security/util/math/MutableIntegerModuloP;
            aload 0 /* this */
            getfield sun.security.ec.point.ProjectivePoint.y:Lsun/security/util/math/IntegerModuloP;
            invokeinterface sun.security.util.math.IntegerModuloP.mutable:()Lsun/security/util/math/MutableIntegerModuloP;
            aload 0 /* this */
            getfield sun.security.ec.point.ProjectivePoint.z:Lsun/security/util/math/IntegerModuloP;
            invokeinterface sun.security.util.math.IntegerModuloP.mutable:()Lsun/security/util/math/MutableIntegerModuloP;
            invokespecial sun.security.ec.point.ProjectivePoint$Mutable.<init>:(Lsun/security/util/math/MutableIntegerModuloP;Lsun/security/util/math/MutableIntegerModuloP;Lsun/security/util/math/MutableIntegerModuloP;)V
            areturn
        end local 0 // sun.security.ec.point.ProjectivePoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ec/point/ProjectivePoint<TT;>;

  public T getX();
    descriptor: ()Lsun/security/util/math/IntegerModuloP;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ec.point.ProjectivePoint this
         0: .line 64
            aload 0 /* this */
            getfield sun.security.ec.point.ProjectivePoint.x:Lsun/security/util/math/IntegerModuloP;
            areturn
        end local 0 // sun.security.ec.point.ProjectivePoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ec/point/ProjectivePoint<TT;>;
    Signature: ()TT;

  public T getY();
    descriptor: ()Lsun/security/util/math/IntegerModuloP;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ec.point.ProjectivePoint this
         0: .line 68
            aload 0 /* this */
            getfield sun.security.ec.point.ProjectivePoint.y:Lsun/security/util/math/IntegerModuloP;
            areturn
        end local 0 // sun.security.ec.point.ProjectivePoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ec/point/ProjectivePoint<TT;>;
    Signature: ()TT;

  public T getZ();
    descriptor: ()Lsun/security/util/math/IntegerModuloP;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.ec.point.ProjectivePoint this
         0: .line 72
            aload 0 /* this */
            getfield sun.security.ec.point.ProjectivePoint.z:Lsun/security/util/math/IntegerModuloP;
            areturn
        end local 0 // sun.security.ec.point.ProjectivePoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ec/point/ProjectivePoint<TT;>;
    Signature: ()TT;

  public sun.security.ec.point.AffinePoint asAffine();
    descriptor: ()Lsun/security/ec/point/AffinePoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // sun.security.ec.point.ProjectivePoint this
         0: .line 76
            aload 0 /* this */
            getfield sun.security.ec.point.ProjectivePoint.z:Lsun/security/util/math/IntegerModuloP;
            invokeinterface sun.security.util.math.IntegerModuloP.multiplicativeInverse:()Lsun/security/util/math/ImmutableIntegerModuloP;
            astore 1 /* zInv */
        start local 1 // sun.security.util.math.IntegerModuloP zInv
         1: .line 77
            new sun.security.ec.point.AffinePoint
            dup
            aload 0 /* this */
            getfield sun.security.ec.point.ProjectivePoint.x:Lsun/security/util/math/IntegerModuloP;
            aload 1 /* zInv */
            invokeinterface sun.security.util.math.IntegerModuloP.multiply:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/ImmutableIntegerModuloP;
            aload 0 /* this */
            getfield sun.security.ec.point.ProjectivePoint.y:Lsun/security/util/math/IntegerModuloP;
            aload 1 /* zInv */
            invokeinterface sun.security.util.math.IntegerModuloP.multiply:(Lsun/security/util/math/IntegerModuloP;)Lsun/security/util/math/ImmutableIntegerModuloP;
            invokespecial sun.security.ec.point.AffinePoint.<init>:(Lsun/security/util/math/ImmutableIntegerModuloP;Lsun/security/util/math/ImmutableIntegerModuloP;)V
            areturn
        end local 1 // sun.security.util.math.IntegerModuloP zInv
        end local 0 // sun.security.ec.point.ProjectivePoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/ec/point/ProjectivePoint<TT;>;
            1    2     1  zInv  Lsun/security/util/math/IntegerModuloP;

  public sun.security.ec.point.ImmutablePoint fixed();
    descriptor: ()Lsun/security/ec/point/ImmutablePoint;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual sun.security.ec.point.ProjectivePoint.fixed:()Lsun/security/ec/point/ProjectivePoint$Immutable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public sun.security.ec.point.MutablePoint mutable();
    descriptor: ()Lsun/security/ec/point/MutablePoint;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual sun.security.ec.point.ProjectivePoint.mutable:()Lsun/security/ec/point/ProjectivePoint$Mutable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <T::Lsun/security/util/math/IntegerModuloP;>Ljava/lang/Object;Lsun/security/ec/point/Point;
SourceFile: "ProjectivePoint.java"
NestMembers:
  sun.security.ec.point.ProjectivePoint$Immutable  sun.security.ec.point.ProjectivePoint$Mutable
InnerClasses:
  public Immutable = sun.security.ec.point.ProjectivePoint$Immutable of sun.security.ec.point.ProjectivePoint
  public Mutable = sun.security.ec.point.ProjectivePoint$Mutable of sun.security.ec.point.ProjectivePoint