LongArray.smali
.class public Lcom/facebook/react/common/LongArray;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static final INNER_ARRAY_GROWTH_FACTOR:D = 1.8
# instance fields
.field private mArray:[J
.field private mLength:I
# direct methods
.method private constructor <init>(I)V
.registers 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-array p1, p1, [J
iput-object p1, p0, Lcom/facebook/react/common/LongArray;->mArray:[J
const/4 p1, 0x0
.line 3
iput p1, p0, Lcom/facebook/react/common/LongArray;->mLength:I
return-void
.end method
.method public static createWithInitialCapacity(I)Lcom/facebook/react/common/LongArray;
.registers 2
new-instance v0, Lcom/facebook/react/common/LongArray;
invoke-direct {v0, p0}, Lcom/facebook/react/common/LongArray;-><init>(I)V
return-object v0
.end method
.method private growArrayIfNeeded()V
.registers 7
.line 1
iget v0, p0, Lcom/facebook/react/common/LongArray;->mLength:I
iget-object v1, p0, Lcom/facebook/react/common/LongArray;->mArray:[J
array-length v1, v1
if-ne v0, v1, :cond_22
add-int/lit8 v1, v0, 0x1
int-to-double v2, v0
const-wide v4, 0x3ffccccccccccccdL # 1.8
mul-double v2, v2, v4
double-to-int v0, v2
.line 2
invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I
move-result v0
.line 3
new-array v0, v0, [J
.line 4
iget-object v1, p0, Lcom/facebook/react/common/LongArray;->mArray:[J
iget v2, p0, Lcom/facebook/react/common/LongArray;->mLength:I
const/4 v3, 0x0
invoke-static {v1, v3, v0, v3, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 5
iput-object v0, p0, Lcom/facebook/react/common/LongArray;->mArray:[J
:cond_22
return-void
.end method
# virtual methods
.method public add(J)V
.registers 6
.line 1
invoke-direct {p0}, Lcom/facebook/react/common/LongArray;->growArrayIfNeeded()V
.line 2
iget-object v0, p0, Lcom/facebook/react/common/LongArray;->mArray:[J
iget v1, p0, Lcom/facebook/react/common/LongArray;->mLength:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/facebook/react/common/LongArray;->mLength:I
aput-wide p1, v0, v1
return-void
.end method
.method public dropTail(I)V
.registers 5
.line 1
iget v0, p0, Lcom/facebook/react/common/LongArray;->mLength:I
if-gt p1, v0, :cond_8
sub-int/2addr v0, p1
.line 2
iput v0, p0, Lcom/facebook/react/common/LongArray;->mLength:I
return-void
.line 3
:cond_8
new-instance v0, Ljava/lang/IndexOutOfBoundsException;
const-string v1, "Trying to drop "
const-string v2, " items from array of length "
.line 4
invoke-static {v1, p1, v2}, Landroidx/core/content/c;->g(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
.line 5
iget v1, p0, Lcom/facebook/react/common/LongArray;->mLength:I
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public get(I)J
.registers 5
.line 1
iget v0, p0, Lcom/facebook/react/common/LongArray;->mLength:I
if-ge p1, v0, :cond_9
.line 2
iget-object v0, p0, Lcom/facebook/react/common/LongArray;->mArray:[J
aget-wide v1, v0, p1
return-wide v1
.line 3
:cond_9
new-instance v0, Ljava/lang/IndexOutOfBoundsException;
const-string v1, ""
const-string v2, " >= "
.line 4
invoke-static {v1, p1, v2}, Landroidx/core/content/c;->g(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p1
.line 5
iget v1, p0, Lcom/facebook/react/common/LongArray;->mLength:I
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/String