IntType.smali
.class public abstract Lorg/web3j/abi/datatypes/IntType;
.super Lorg/web3j/abi/datatypes/NumericType;
.source "IntType.java"
# direct methods
.method public constructor <init>(Ljava/lang/String;ILjava/math/BigInteger;)V
.registers 6
.prologue
.line 11
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0, p3}, Lorg/web3j/abi/datatypes/NumericType;-><init>(Ljava/lang/String;Ljava/math/BigInteger;)V
.line 12
invoke-virtual {p0, p2, p3}, Lorg/web3j/abi/datatypes/IntType;->valid(ILjava/math/BigInteger;)Z
move-result v0
if-nez v0, :cond_22
.line 13
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "Bitsize must be 8 bit aligned, and in range 0 < bitSize <= 256"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.line 16
:cond_22
return-void
.end method
.method private static isValidBitCount(ILjava/math/BigInteger;)Z
.registers 3
.prologue
.line 30
invoke-virtual {p1}, Ljava/math/BigInteger;->bitLength()I
move-result v0
if-gt v0, p0, :cond_8
const/4 v0, 0x1
:goto_7
return v0
:cond_8
const/4 v0, 0x0
goto :goto_7
.end method
.method static isValidBitSize(I)Z
.registers 2
.prologue
.line 24
rem-int/lit8 v0, p0, 0x8
if-nez v0, :cond_c
if-lez p0, :cond_c
const/16 v0, 0x100
if-gt p0, v0, :cond_c
const/4 v0, 0x1
:goto_b
return v0
:cond_c
const/4 v0, 0x0
goto :goto_b
.end method
# virtual methods
.method valid(ILjava/math/BigInteger;)Z
.registers 4
.prologue
.line 19
invoke-static {p1}, Lorg/web3j/abi/datatypes/IntType;->isValidBitSize(I)Z
move-result v0
if-eqz v0, :cond_e
invoke-static {p1, p2}, Lorg/web3j/abi/datatypes/IntType;->isValidBitCount(ILjava/math/BigInteger;)Z
move-result v0
if-eqz v0, :cond_e
const/4 v0, 0x1
:goto_d
return v0
:cond_e
const/4 v0, 0x0
goto :goto_d
.end method