public abstract class org.bouncycastle.math.ec.ECPoint
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.bouncycastle.math.ec.ECPoint
super_class: java.lang.Object
{
org.bouncycastle.math.ec.ECCurve curve;
descriptor: Lorg/bouncycastle/math/ec/ECCurve;
flags: (0x0000)
org.bouncycastle.math.ec.ECFieldElement x;
descriptor: Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0000)
org.bouncycastle.math.ec.ECFieldElement y;
descriptor: Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0000)
protected boolean withCompression;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected org.bouncycastle.math.ec.ECMultiplier multiplier;
descriptor: Lorg/bouncycastle/math/ec/ECMultiplier;
flags: (0x0004) ACC_PROTECTED
protected org.bouncycastle.math.ec.PreCompInfo preCompInfo;
descriptor: Lorg/bouncycastle/math/ec/PreCompInfo;
flags: (0x0004) ACC_PROTECTED
private static org.bouncycastle.asn1.x9.X9IntegerConverter converter;
descriptor: Lorg/bouncycastle/asn1/x9/X9IntegerConverter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.bouncycastle.asn1.x9.X9IntegerConverter
dup
invokespecial org.bouncycastle.asn1.x9.X9IntegerConverter.<init>:()V
putstatic org.bouncycastle.math.ec.ECPoint.converter:Lorg/bouncycastle/asn1/x9/X9IntegerConverter;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.bouncycastle.math.ec.ECCurve, org.bouncycastle.math.ec.ECFieldElement, org.bouncycastle.math.ec.ECFieldElement);
descriptor: (Lorg/bouncycastle/math/ec/ECCurve;Lorg/bouncycastle/math/ec/ECFieldElement;Lorg/bouncycastle/math/ec/ECFieldElement;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield org.bouncycastle.math.ec.ECPoint.multiplier:Lorg/bouncycastle/math/ec/ECMultiplier;
2: aload 0
aconst_null
putfield org.bouncycastle.math.ec.ECPoint.preCompInfo:Lorg/bouncycastle/math/ec/PreCompInfo;
3: aload 0
aload 1
putfield org.bouncycastle.math.ec.ECPoint.curve:Lorg/bouncycastle/math/ec/ECCurve;
4: aload 0
aload 2
putfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
5: aload 0
aload 3
putfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 7 1 curve Lorg/bouncycastle/math/ec/ECCurve;
0 7 2 x Lorg/bouncycastle/math/ec/ECFieldElement;
0 7 3 y Lorg/bouncycastle/math/ec/ECFieldElement;
MethodParameters:
Name Flags
curve
x
y
public org.bouncycastle.math.ec.ECCurve getCurve();
descriptor: ()Lorg/bouncycastle/math/ec/ECCurve;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.curve:Lorg/bouncycastle/math/ec/ECCurve;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
public org.bouncycastle.math.ec.ECFieldElement getX();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
public org.bouncycastle.math.ec.ECFieldElement getY();
descriptor: ()Lorg/bouncycastle/math/ec/ECFieldElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
public boolean isInfinity();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
ifnonnull 1
aload 0
getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
ifnonnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/ECPoint;
public boolean isCompressed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.withCompression:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/math/ec/ECPoint;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.bouncycastle.math.ec.ECPoint
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.bouncycastle.math.ec.ECPoint
astore 2
start local 2 5: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifeq 7
6: aload 2
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ireturn
7: StackMap locals: org.bouncycastle.math.ec.ECPoint
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 2
getfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
aload 0
getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
aload 2
getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 9 1 other Ljava/lang/Object;
5 9 2 o Lorg/bouncycastle/math/ec/ECPoint;
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.math.ec.ECPoint.x:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual java.lang.Object.hashCode:()I
aload 0
getfield org.bouncycastle.math.ec.ECPoint.y:Lorg/bouncycastle/math/ec/ECFieldElement;
invokevirtual java.lang.Object.hashCode:()I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/ECPoint;
void setPreCompInfo(org.bouncycastle.math.ec.PreCompInfo);
descriptor: (Lorg/bouncycastle/math/ec/PreCompInfo;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.bouncycastle.math.ec.ECPoint.preCompInfo:Lorg/bouncycastle/math/ec/PreCompInfo;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 2 1 preCompInfo Lorg/bouncycastle/math/ec/PreCompInfo;
MethodParameters:
Name Flags
preCompInfo
public abstract byte[] getEncoded();
descriptor: ()[B
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract org.bouncycastle.math.ec.ECPoint add(org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
b
public abstract org.bouncycastle.math.ec.ECPoint subtract(org.bouncycastle.math.ec.ECPoint);
descriptor: (Lorg/bouncycastle/math/ec/ECPoint;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
b
public abstract org.bouncycastle.math.ec.ECPoint negate();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract org.bouncycastle.math.ec.ECPoint twice();
descriptor: ()Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
synchronized void assertECMultiplier();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.math.ec.ECPoint.multiplier:Lorg/bouncycastle/math/ec/ECMultiplier;
ifnonnull 2
1: aload 0
new org.bouncycastle.math.ec.FpNafMultiplier
dup
invokespecial org.bouncycastle.math.ec.FpNafMultiplier.<init>:()V
putfield org.bouncycastle.math.ec.ECPoint.multiplier:Lorg/bouncycastle/math/ec/ECMultiplier;
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/math/ec/ECPoint;
public org.bouncycastle.math.ec.ECPoint multiply(java.math.BigInteger);
descriptor: (Ljava/math/BigInteger;)Lorg/bouncycastle/math/ec/ECPoint;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.math.BigInteger.signum:()I
ifge 2
1: new java.lang.IllegalArgumentException
dup
ldc "The multiplicator cannot be negative"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.isInfinity:()Z
ifeq 4
3: aload 0
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.math.BigInteger.signum:()I
ifne 6
5: aload 0
getfield org.bouncycastle.math.ec.ECPoint.curve:Lorg/bouncycastle/math/ec/ECCurve;
invokevirtual org.bouncycastle.math.ec.ECCurve.getInfinity:()Lorg/bouncycastle/math/ec/ECPoint;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.bouncycastle.math.ec.ECPoint.assertECMultiplier:()V
7: aload 0
getfield org.bouncycastle.math.ec.ECPoint.multiplier:Lorg/bouncycastle/math/ec/ECMultiplier;
aload 0
aload 1
aload 0
getfield org.bouncycastle.math.ec.ECPoint.preCompInfo:Lorg/bouncycastle/math/ec/PreCompInfo;
invokeinterface org.bouncycastle.math.ec.ECMultiplier.multiply:(Lorg/bouncycastle/math/ec/ECPoint;Ljava/math/BigInteger;Lorg/bouncycastle/math/ec/PreCompInfo;)Lorg/bouncycastle/math/ec/ECPoint;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/math/ec/ECPoint;
0 8 1 k Ljava/math/BigInteger;
MethodParameters:
Name Flags
k
}
SourceFile: "ECPoint.java"
NestMembers:
org.bouncycastle.math.ec.ECPoint$F2m org.bouncycastle.math.ec.ECPoint$Fp
InnerClasses:
public F2m = org.bouncycastle.math.ec.ECPoint$F2m of org.bouncycastle.math.ec.ECPoint
public Fp = org.bouncycastle.math.ec.ECPoint$Fp of org.bouncycastle.math.ec.ECPoint