This commit is contained in:
2022-06-10 21:38:30 +09:00
commit 27f5152838
51323 changed files with 12934539 additions and 0 deletions
@@ -0,0 +1,576 @@
.class Lcom/google/common/primitives/Booleans$BooleanArrayAsList;
.super Ljava/util/AbstractList;
.source "Booleans.java"
# interfaces
.implements Ljava/util/RandomAccess;
.implements Ljava/io/Serializable;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Booleans;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "BooleanArrayAsList"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractList<",
"Ljava/lang/Boolean;",
">;",
"Ljava/util/RandomAccess;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final array:[Z
.field public final end:I
.field public final start:I
# direct methods
.method public constructor <init>([Z)V
.locals 2
.line 1
array-length v0, p1
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;-><init>([ZII)V
return-void
.end method
.method public constructor <init>([ZII)V
.locals 0
.line 2
invoke-direct {p0}, Ljava/util/AbstractList;-><init>()V
.line 3
iput-object p1, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->array:[Z
.line 4
iput p2, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
.line 5
iput p3, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->end:I
return-void
.end method
# virtual methods
.method public contains(Ljava/lang/Object;)Z
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Boolean;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->array:[Z
check-cast p1, Ljava/lang/Boolean;
.line 2
invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
iget v1, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Booleans;->access$000([ZZII)I
move-result p1
const/4 v0, -0x1
if-eq p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 7
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
const/4 v0, 0x1
if-ne p1, p0, :cond_0
return v0
.line 1
:cond_0
instance-of v1, p1, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;
if-eqz v1, :cond_4
.line 2
check-cast p1, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;
.line 3
invoke-virtual {p0}, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->size()I
move-result v1
.line 4
invoke-virtual {p1}, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->size()I
move-result v2
const/4 v3, 0x0
if-eq v2, v1, :cond_1
return v3
:cond_1
move v2, v3
:goto_0
if-ge v2, v1, :cond_3
.line 5
iget-object v4, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->array:[Z
iget v5, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
add-int/2addr v5, v2
aget-boolean v4, v4, v5
iget-object v5, p1, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->array:[Z
iget v6, p1, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
add-int/2addr v6, v2
aget-boolean v5, v5, v6
if-eq v4, v5, :cond_2
return v3
:cond_2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_3
return v0
.line 6
:cond_4
invoke-super {p0, p1}, Ljava/util/AbstractList;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public get(I)Ljava/lang/Boolean;
.locals 2
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->array:[Z
iget v1, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
add-int/2addr v1, p1
aget-boolean p1, v0, v1
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic get(I)Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->get(I)Ljava/lang/Boolean;
move-result-object p1
return-object p1
.end method
.method public hashCode()I
.locals 3
.line 1
iget v0, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
const/4 v1, 0x1
:goto_0
iget v2, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->end:I
if-ge v0, v2, :cond_0
mul-int/lit8 v1, v1, 0x1f
.line 2
iget-object v2, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->array:[Z
aget-boolean v2, v2, v0
invoke-static {v2}, Lcom/google/common/primitives/Booleans;->hashCode(Z)I
move-result v2
add-int/2addr v1, v2
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_0
return v1
.end method
.method public indexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Boolean;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->array:[Z
check-cast p1, Ljava/lang/Boolean;
invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
iget v1, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Booleans;->access$000([ZZII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public isEmpty()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public lastIndexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Boolean;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->array:[Z
check-cast p1, Ljava/lang/Boolean;
invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
iget v1, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Booleans;->access$100([ZZII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public set(ILjava/lang/Boolean;)Ljava/lang/Boolean;
.locals 3
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->array:[Z
iget v1, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
add-int v2, v1, p1
aget-boolean v2, v0, v2
add-int/2addr v1, p1
.line 4
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Boolean;
invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
aput-boolean p1, v0, v1
.line 5
invoke-static {v2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic set(ILjava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p2, Ljava/lang/Boolean;
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->set(ILjava/lang/Boolean;)Ljava/lang/Boolean;
move-result-object p1
return-object p1
.end method
.method public size()I
.locals 2
.line 1
iget v0, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->end:I
iget v1, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
sub-int/2addr v0, v1
return v0
.end method
.method public subList(II)Ljava/util/List;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(II)",
"Ljava/util/List<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->size()I
move-result v0
.line 2
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
if-ne p1, p2, :cond_0
.line 3
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p1
return-object p1
.line 4
:cond_0
new-instance v0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;
iget-object v1, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->array:[Z
iget v2, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
add-int/2addr p1, v2
add-int/2addr v2, p2
invoke-direct {v0, v1, p1, v2}, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;-><init>([ZII)V
return-object v0
.end method
.method public toBooleanArray()[Z
.locals 3
.line 1
iget-object v0, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->array:[Z
iget v1, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->end:I
invoke-static {v0, v1, v2}, Ljava/util/Arrays;->copyOfRange([ZII)[Z
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->size()I
move-result v1
mul-int/lit8 v1, v1, 0x7
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
.line 2
iget-object v1, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->array:[Z
iget v2, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
aget-boolean v1, v1, v2
if-eqz v1, :cond_0
const-string v1, "[true"
goto :goto_0
:cond_0
const-string v1, "[false"
:goto_0
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 3
iget v1, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->start:I
:goto_1
add-int/lit8 v1, v1, 0x1
iget v2, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->end:I
if-ge v1, v2, :cond_2
.line 4
iget-object v2, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->array:[Z
aget-boolean v2, v2, v1
if-eqz v2, :cond_1
const-string v2, ", true"
goto :goto_2
:cond_1
const-string v2, ", false"
:goto_2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_1
:cond_2
const/16 v1, 0x5d
.line 5
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,221 @@
.class final enum Lcom/google/common/primitives/Booleans$BooleanComparator;
.super Ljava/lang/Enum;
.source "Booleans.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Booleans;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "BooleanComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/common/primitives/Booleans$BooleanComparator;",
">;",
"Ljava/util/Comparator<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/primitives/Booleans$BooleanComparator;
.field public static final enum FALSE_FIRST:Lcom/google/common/primitives/Booleans$BooleanComparator;
.field public static final enum TRUE_FIRST:Lcom/google/common/primitives/Booleans$BooleanComparator;
# instance fields
.field private final toString:Ljava/lang/String;
.field private final trueValue:I
# direct methods
.method private static synthetic $values()[Lcom/google/common/primitives/Booleans$BooleanComparator;
.locals 3
const/4 v0, 0x2
new-array v0, v0, [Lcom/google/common/primitives/Booleans$BooleanComparator;
.line 1
sget-object v1, Lcom/google/common/primitives/Booleans$BooleanComparator;->TRUE_FIRST:Lcom/google/common/primitives/Booleans$BooleanComparator;
const/4 v2, 0x0
aput-object v1, v0, v2
sget-object v1, Lcom/google/common/primitives/Booleans$BooleanComparator;->FALSE_FIRST:Lcom/google/common/primitives/Booleans$BooleanComparator;
const/4 v2, 0x1
aput-object v1, v0, v2
return-object v0
.end method
.method public static constructor <clinit>()V
.locals 5
.line 1
new-instance v0, Lcom/google/common/primitives/Booleans$BooleanComparator;
const-string v1, "TRUE_FIRST"
const/4 v2, 0x0
const/4 v3, 0x1
const-string v4, "Booleans.trueFirst()"
invoke-direct {v0, v1, v2, v3, v4}, Lcom/google/common/primitives/Booleans$BooleanComparator;-><init>(Ljava/lang/String;IILjava/lang/String;)V
sput-object v0, Lcom/google/common/primitives/Booleans$BooleanComparator;->TRUE_FIRST:Lcom/google/common/primitives/Booleans$BooleanComparator;
.line 2
new-instance v0, Lcom/google/common/primitives/Booleans$BooleanComparator;
const-string v1, "FALSE_FIRST"
const/4 v2, -0x1
const-string v4, "Booleans.falseFirst()"
invoke-direct {v0, v1, v3, v2, v4}, Lcom/google/common/primitives/Booleans$BooleanComparator;-><init>(Ljava/lang/String;IILjava/lang/String;)V
sput-object v0, Lcom/google/common/primitives/Booleans$BooleanComparator;->FALSE_FIRST:Lcom/google/common/primitives/Booleans$BooleanComparator;
.line 3
invoke-static {}, Lcom/google/common/primitives/Booleans$BooleanComparator;->$values()[Lcom/google/common/primitives/Booleans$BooleanComparator;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/Booleans$BooleanComparator;->$VALUES:[Lcom/google/common/primitives/Booleans$BooleanComparator;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;IILjava/lang/String;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Ljava/lang/String;",
")V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
.line 2
iput p3, p0, Lcom/google/common/primitives/Booleans$BooleanComparator;->trueValue:I
.line 3
iput-object p4, p0, Lcom/google/common/primitives/Booleans$BooleanComparator;->toString:Ljava/lang/String;
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/Booleans$BooleanComparator;
.locals 1
.line 1
const-class v0, Lcom/google/common/primitives/Booleans$BooleanComparator;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/common/primitives/Booleans$BooleanComparator;
return-object p0
.end method
.method public static values()[Lcom/google/common/primitives/Booleans$BooleanComparator;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/Booleans$BooleanComparator;->$VALUES:[Lcom/google/common/primitives/Booleans$BooleanComparator;
invoke-virtual {v0}, [Lcom/google/common/primitives/Booleans$BooleanComparator;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/primitives/Booleans$BooleanComparator;
return-object v0
.end method
# virtual methods
.method public compare(Ljava/lang/Boolean;Ljava/lang/Boolean;)I
.locals 1
.line 2
invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
const/4 v0, 0x0
if-eqz p1, :cond_0
iget p1, p0, Lcom/google/common/primitives/Booleans$BooleanComparator;->trueValue:I
goto :goto_0
:cond_0
move p1, v0
.line 3
:goto_0
invoke-virtual {p2}, Ljava/lang/Boolean;->booleanValue()Z
move-result p2
if-eqz p2, :cond_1
iget v0, p0, Lcom/google/common/primitives/Booleans$BooleanComparator;->trueValue:I
:cond_1
sub-int/2addr v0, p1
return v0
.end method
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Ljava/lang/Boolean;
check-cast p2, Ljava/lang/Boolean;
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Booleans$BooleanComparator;->compare(Ljava/lang/Boolean;Ljava/lang/Boolean;)I
move-result p1
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/primitives/Booleans$BooleanComparator;->toString:Ljava/lang/String;
return-object v0
.end method
@@ -0,0 +1,191 @@
.class final enum Lcom/google/common/primitives/Booleans$LexicographicalComparator;
.super Ljava/lang/Enum;
.source "Booleans.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Booleans;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "LexicographicalComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/common/primitives/Booleans$LexicographicalComparator;",
">;",
"Ljava/util/Comparator<",
"[Z>;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/primitives/Booleans$LexicographicalComparator;
.field public static final enum INSTANCE:Lcom/google/common/primitives/Booleans$LexicographicalComparator;
# direct methods
.method private static synthetic $values()[Lcom/google/common/primitives/Booleans$LexicographicalComparator;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/google/common/primitives/Booleans$LexicographicalComparator;
.line 1
sget-object v1, Lcom/google/common/primitives/Booleans$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Booleans$LexicographicalComparator;
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/primitives/Booleans$LexicographicalComparator;
const-string v1, "INSTANCE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/primitives/Booleans$LexicographicalComparator;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/primitives/Booleans$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Booleans$LexicographicalComparator;
.line 2
invoke-static {}, Lcom/google/common/primitives/Booleans$LexicographicalComparator;->$values()[Lcom/google/common/primitives/Booleans$LexicographicalComparator;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/Booleans$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/Booleans$LexicographicalComparator;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/Booleans$LexicographicalComparator;
.locals 1
.line 1
const-class v0, Lcom/google/common/primitives/Booleans$LexicographicalComparator;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/common/primitives/Booleans$LexicographicalComparator;
return-object p0
.end method
.method public static values()[Lcom/google/common/primitives/Booleans$LexicographicalComparator;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/Booleans$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/Booleans$LexicographicalComparator;
invoke-virtual {v0}, [Lcom/google/common/primitives/Booleans$LexicographicalComparator;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/primitives/Booleans$LexicographicalComparator;
return-object v0
.end method
# virtual methods
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, [Z
check-cast p2, [Z
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Booleans$LexicographicalComparator;->compare([Z[Z)I
move-result p1
return p1
.end method
.method public compare([Z[Z)I
.locals 4
.line 2
array-length v0, p1
array-length v1, p2
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 3
aget-boolean v2, p1, v1
aget-boolean v3, p2, v1
invoke-static {v2, v3}, Lcom/google/common/primitives/Booleans;->compare(ZZ)I
move-result v2
if-eqz v2, :cond_0
return v2
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4
:cond_1
array-length p1, p1
array-length p2, p2
sub-int/2addr p1, p2
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "Booleans.lexicographicalComparator()"
return-object v0
.end method
@@ -0,0 +1,679 @@
.class public final Lcom/google/common/primitives/Booleans;
.super Ljava/lang/Object;
.source "Booleans.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/primitives/Booleans$BooleanArrayAsList;,
Lcom/google/common/primitives/Booleans$LexicographicalComparator;,
Lcom/google/common/primitives/Booleans$BooleanComparator;
}
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static synthetic access$000([ZZII)I
.locals 0
.line 1
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/Booleans;->indexOf([ZZII)I
move-result p0
return p0
.end method
.method public static synthetic access$100([ZZII)I
.locals 0
.line 1
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/Booleans;->lastIndexOf([ZZII)I
move-result p0
return p0
.end method
.method public static varargs asList([Z)Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"([Z)",
"Ljava/util/List<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
.line 1
array-length v0, p0
if-nez v0, :cond_0
.line 2
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p0
return-object p0
.line 3
:cond_0
new-instance v0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;
invoke-direct {v0, p0}, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;-><init>([Z)V
return-object v0
.end method
.method public static compare(ZZ)I
.locals 0
if-ne p0, p1, :cond_0
const/4 p0, 0x0
goto :goto_0
:cond_0
if-eqz p0, :cond_1
const/4 p0, 0x1
goto :goto_0
:cond_1
const/4 p0, -0x1
:goto_0
return p0
.end method
.method public static varargs concat([[Z)[Z
.locals 7
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
move v3, v2
:goto_0
if-ge v2, v0, :cond_0
aget-object v4, p0, v2
.line 2
array-length v4, v4
add-int/2addr v3, v4
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 3
:cond_0
new-array v0, v3, [Z
.line 4
array-length v2, p0
move v3, v1
move v4, v3
:goto_1
if-ge v3, v2, :cond_1
aget-object v5, p0, v3
.line 5
array-length v6, v5
invoke-static {v5, v1, v0, v4, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 6
array-length v5, v5
add-int/2addr v4, v5
add-int/lit8 v3, v3, 0x1
goto :goto_1
:cond_1
return-object v0
.end method
.method public static contains([ZZ)Z
.locals 4
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v2, v0, :cond_1
aget-boolean v3, p0, v2
if-ne v3, p1, :cond_0
const/4 p0, 0x1
return p0
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return v1
.end method
.method public static varargs countTrue([Z)I
.locals 4
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v1, v0, :cond_1
aget-boolean v3, p0, v1
if-eqz v3, :cond_0
add-int/lit8 v2, v2, 0x1
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
return v2
.end method
.method public static ensureCapacity([ZII)[Z
.locals 4
const/4 v0, 0x1
const/4 v1, 0x0
if-ltz p1, :cond_0
move v2, v0
goto :goto_0
:cond_0
move v2, v1
:goto_0
const-string v3, "Invalid minLength: %s"
.line 1
invoke-static {v2, v3, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;I)V
if-ltz p2, :cond_1
goto :goto_1
:cond_1
move v0, v1
:goto_1
const-string v1, "Invalid padding: %s"
.line 2
invoke-static {v0, v1, p2}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;I)V
.line 3
array-length v0, p0
if-ge v0, p1, :cond_2
add-int/2addr p1, p2
invoke-static {p0, p1}, Ljava/util/Arrays;->copyOf([ZI)[Z
move-result-object p0
:cond_2
return-object p0
.end method
.method public static falseFirst()Ljava/util/Comparator;
.locals 1
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Booleans$BooleanComparator;->FALSE_FIRST:Lcom/google/common/primitives/Booleans$BooleanComparator;
return-object v0
.end method
.method public static hashCode(Z)I
.locals 0
if-eqz p0, :cond_0
const/16 p0, 0x4cf
goto :goto_0
:cond_0
const/16 p0, 0x4d5
:goto_0
return p0
.end method
.method public static indexOf([ZZ)I
.locals 2
.line 1
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, p1, v1, v0}, Lcom/google/common/primitives/Booleans;->indexOf([ZZII)I
move-result p0
return p0
.end method
.method private static indexOf([ZZII)I
.locals 1
:goto_0
if-ge p2, p3, :cond_1
.line 2
aget-boolean v0, p0, p2
if-ne v0, p1, :cond_0
return p2
:cond_0
add-int/lit8 p2, p2, 0x1
goto :goto_0
:cond_1
const/4 p0, -0x1
return p0
.end method
.method public static indexOf([Z[Z)I
.locals 5
const-string v0, "array"
.line 3
invoke-static {p0, v0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v0, "target"
.line 4
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5
array-length v0, p1
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
:cond_0
move v0, v1
.line 6
:goto_0
array-length v2, p0
array-length v3, p1
sub-int/2addr v2, v3
add-int/lit8 v2, v2, 0x1
if-ge v0, v2, :cond_3
move v2, v1
.line 7
:goto_1
array-length v3, p1
if-ge v2, v3, :cond_2
add-int v3, v0, v2
.line 8
aget-boolean v3, p0, v3
aget-boolean v4, p1, v2
if-eq v3, v4, :cond_1
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
return v0
:cond_3
const/4 p0, -0x1
return p0
.end method
.method public static varargs join(Ljava/lang/String;[Z)Ljava/lang/String;
.locals 3
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p1
if-nez v0, :cond_0
const-string p0, ""
return-object p0
.line 3
:cond_0
new-instance v0, Ljava/lang/StringBuilder;
array-length v1, p1
mul-int/lit8 v1, v1, 0x7
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v1, 0x0
.line 4
aget-boolean v1, p1, v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const/4 v1, 0x1
.line 5
:goto_0
array-length v2, p1
if-ge v1, v2, :cond_1
.line 6
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-boolean v2, p1, v1
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 7
:cond_1
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static lastIndexOf([ZZ)I
.locals 2
.line 1
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, p1, v1, v0}, Lcom/google/common/primitives/Booleans;->lastIndexOf([ZZII)I
move-result p0
return p0
.end method
.method private static lastIndexOf([ZZII)I
.locals 1
add-int/lit8 p3, p3, -0x1
:goto_0
if-lt p3, p2, :cond_1
.line 2
aget-boolean v0, p0, p3
if-ne v0, p1, :cond_0
return p3
:cond_0
add-int/lit8 p3, p3, -0x1
goto :goto_0
:cond_1
const/4 p0, -0x1
return p0
.end method
.method public static lexicographicalComparator()Ljava/util/Comparator;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator<",
"[Z>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Booleans$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Booleans$LexicographicalComparator;
return-object v0
.end method
.method public static reverse([Z)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/Booleans;->reverse([ZII)V
return-void
.end method
.method public static reverse([ZII)V
.locals 2
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
add-int/lit8 p2, p2, -0x1
:goto_0
if-ge p1, p2, :cond_0
.line 5
aget-boolean v0, p0, p1
.line 6
aget-boolean v1, p0, p2
aput-boolean v1, p0, p1
.line 7
aput-boolean v0, p0, p2
add-int/lit8 p1, p1, 0x1
add-int/lit8 p2, p2, -0x1
goto :goto_0
:cond_0
return-void
.end method
.method public static toArray(Ljava/util/Collection;)[Z
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"Ljava/lang/Boolean;",
">;)[Z"
}
.end annotation
.line 1
instance-of v0, p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;
if-eqz v0, :cond_0
.line 2
check-cast p0, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;
invoke-virtual {p0}, Lcom/google/common/primitives/Booleans$BooleanArrayAsList;->toBooleanArray()[Z
move-result-object p0
return-object p0
.line 3
:cond_0
invoke-interface {p0}, Ljava/util/Collection;->toArray()[Ljava/lang/Object;
move-result-object p0
.line 4
array-length v0, p0
.line 5
new-array v1, v0, [Z
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_1
.line 6
aget-object v3, p0, v2
invoke-static {v3}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Boolean;
invoke-virtual {v3}, Ljava/lang/Boolean;->booleanValue()Z
move-result v3
aput-boolean v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return-object v1
.end method
.method public static trueFirst()Ljava/util/Comparator;
.locals 1
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Booleans$BooleanComparator;->TRUE_FIRST:Lcom/google/common/primitives/Booleans$BooleanComparator;
return-object v0
.end method
@@ -0,0 +1,563 @@
.class Lcom/google/common/primitives/Bytes$ByteArrayAsList;
.super Ljava/util/AbstractList;
.source "Bytes.java"
# interfaces
.implements Ljava/util/RandomAccess;
.implements Ljava/io/Serializable;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Bytes;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "ByteArrayAsList"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractList<",
"Ljava/lang/Byte;",
">;",
"Ljava/util/RandomAccess;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final array:[B
.field public final end:I
.field public final start:I
# direct methods
.method public constructor <init>([B)V
.locals 2
.line 1
array-length v0, p1
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Lcom/google/common/primitives/Bytes$ByteArrayAsList;-><init>([BII)V
return-void
.end method
.method public constructor <init>([BII)V
.locals 0
.line 2
invoke-direct {p0}, Ljava/util/AbstractList;-><init>()V
.line 3
iput-object p1, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->array:[B
.line 4
iput p2, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
.line 5
iput p3, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->end:I
return-void
.end method
# virtual methods
.method public contains(Ljava/lang/Object;)Z
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Byte;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->array:[B
check-cast p1, Ljava/lang/Byte;
invoke-virtual {p1}, Ljava/lang/Byte;->byteValue()B
move-result p1
iget v1, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Bytes;->access$000([BBII)I
move-result p1
const/4 v0, -0x1
if-eq p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 7
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
const/4 v0, 0x1
if-ne p1, p0, :cond_0
return v0
.line 1
:cond_0
instance-of v1, p1, Lcom/google/common/primitives/Bytes$ByteArrayAsList;
if-eqz v1, :cond_4
.line 2
check-cast p1, Lcom/google/common/primitives/Bytes$ByteArrayAsList;
.line 3
invoke-virtual {p0}, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->size()I
move-result v1
.line 4
invoke-virtual {p1}, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->size()I
move-result v2
const/4 v3, 0x0
if-eq v2, v1, :cond_1
return v3
:cond_1
move v2, v3
:goto_0
if-ge v2, v1, :cond_3
.line 5
iget-object v4, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->array:[B
iget v5, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
add-int/2addr v5, v2
aget-byte v4, v4, v5
iget-object v5, p1, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->array:[B
iget v6, p1, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
add-int/2addr v6, v2
aget-byte v5, v5, v6
if-eq v4, v5, :cond_2
return v3
:cond_2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_3
return v0
.line 6
:cond_4
invoke-super {p0, p1}, Ljava/util/AbstractList;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public get(I)Ljava/lang/Byte;
.locals 2
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->array:[B
iget v1, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
add-int/2addr v1, p1
aget-byte p1, v0, v1
invoke-static {p1}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic get(I)Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->get(I)Ljava/lang/Byte;
move-result-object p1
return-object p1
.end method
.method public hashCode()I
.locals 3
.line 1
iget v0, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
const/4 v1, 0x1
:goto_0
iget v2, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->end:I
if-ge v0, v2, :cond_0
mul-int/lit8 v1, v1, 0x1f
.line 2
iget-object v2, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->array:[B
aget-byte v2, v2, v0
invoke-static {v2}, Lcom/google/common/primitives/Bytes;->hashCode(B)I
move-result v2
add-int/2addr v1, v2
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_0
return v1
.end method
.method public indexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Byte;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->array:[B
check-cast p1, Ljava/lang/Byte;
invoke-virtual {p1}, Ljava/lang/Byte;->byteValue()B
move-result p1
iget v1, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Bytes;->access$000([BBII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public isEmpty()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public lastIndexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Byte;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->array:[B
check-cast p1, Ljava/lang/Byte;
invoke-virtual {p1}, Ljava/lang/Byte;->byteValue()B
move-result p1
iget v1, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Bytes;->access$100([BBII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public set(ILjava/lang/Byte;)Ljava/lang/Byte;
.locals 3
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->array:[B
iget v1, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
add-int v2, v1, p1
aget-byte v2, v0, v2
add-int/2addr v1, p1
.line 4
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Byte;
invoke-virtual {p1}, Ljava/lang/Byte;->byteValue()B
move-result p1
aput-byte p1, v0, v1
.line 5
invoke-static {v2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic set(ILjava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p2, Ljava/lang/Byte;
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->set(ILjava/lang/Byte;)Ljava/lang/Byte;
move-result-object p1
return-object p1
.end method
.method public size()I
.locals 2
.line 1
iget v0, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->end:I
iget v1, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
sub-int/2addr v0, v1
return v0
.end method
.method public subList(II)Ljava/util/List;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(II)",
"Ljava/util/List<",
"Ljava/lang/Byte;",
">;"
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->size()I
move-result v0
.line 2
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
if-ne p1, p2, :cond_0
.line 3
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p1
return-object p1
.line 4
:cond_0
new-instance v0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;
iget-object v1, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->array:[B
iget v2, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
add-int/2addr p1, v2
add-int/2addr v2, p2
invoke-direct {v0, v1, p1, v2}, Lcom/google/common/primitives/Bytes$ByteArrayAsList;-><init>([BII)V
return-object v0
.end method
.method public toByteArray()[B
.locals 3
.line 1
iget-object v0, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->array:[B
iget v1, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->end:I
invoke-static {v0, v1, v2}, Ljava/util/Arrays;->copyOfRange([BII)[B
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->size()I
move-result v1
mul-int/lit8 v1, v1, 0x5
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/16 v1, 0x5b
.line 2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->array:[B
iget v2, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
aget-byte v1, v1, v2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 3
iget v1, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->start:I
:goto_0
add-int/lit8 v1, v1, 0x1
iget v2, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->end:I
if-ge v1, v2, :cond_0
const-string v2, ", "
.line 4
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->array:[B
aget-byte v2, v2, v1
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
goto :goto_0
:cond_0
const/16 v1, 0x5d
.line 5
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,499 @@
.class public final Lcom/google/common/primitives/Bytes;
.super Ljava/lang/Object;
.source "Bytes.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/primitives/Bytes$ByteArrayAsList;
}
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static synthetic access$000([BBII)I
.locals 0
.line 1
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/Bytes;->indexOf([BBII)I
move-result p0
return p0
.end method
.method public static synthetic access$100([BBII)I
.locals 0
.line 1
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/Bytes;->lastIndexOf([BBII)I
move-result p0
return p0
.end method
.method public static varargs asList([B)Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"([B)",
"Ljava/util/List<",
"Ljava/lang/Byte;",
">;"
}
.end annotation
.line 1
array-length v0, p0
if-nez v0, :cond_0
.line 2
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p0
return-object p0
.line 3
:cond_0
new-instance v0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;
invoke-direct {v0, p0}, Lcom/google/common/primitives/Bytes$ByteArrayAsList;-><init>([B)V
return-object v0
.end method
.method public static varargs concat([[B)[B
.locals 7
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
move v3, v2
:goto_0
if-ge v2, v0, :cond_0
aget-object v4, p0, v2
.line 2
array-length v4, v4
add-int/2addr v3, v4
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 3
:cond_0
new-array v0, v3, [B
.line 4
array-length v2, p0
move v3, v1
move v4, v3
:goto_1
if-ge v3, v2, :cond_1
aget-object v5, p0, v3
.line 5
array-length v6, v5
invoke-static {v5, v1, v0, v4, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 6
array-length v5, v5
add-int/2addr v4, v5
add-int/lit8 v3, v3, 0x1
goto :goto_1
:cond_1
return-object v0
.end method
.method public static contains([BB)Z
.locals 4
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v2, v0, :cond_1
aget-byte v3, p0, v2
if-ne v3, p1, :cond_0
const/4 p0, 0x1
return p0
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return v1
.end method
.method public static ensureCapacity([BII)[B
.locals 4
const/4 v0, 0x1
const/4 v1, 0x0
if-ltz p1, :cond_0
move v2, v0
goto :goto_0
:cond_0
move v2, v1
:goto_0
const-string v3, "Invalid minLength: %s"
.line 1
invoke-static {v2, v3, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;I)V
if-ltz p2, :cond_1
goto :goto_1
:cond_1
move v0, v1
:goto_1
const-string v1, "Invalid padding: %s"
.line 2
invoke-static {v0, v1, p2}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;I)V
.line 3
array-length v0, p0
if-ge v0, p1, :cond_2
add-int/2addr p1, p2
invoke-static {p0, p1}, Ljava/util/Arrays;->copyOf([BI)[B
move-result-object p0
:cond_2
return-object p0
.end method
.method public static hashCode(B)I
.locals 0
return p0
.end method
.method public static indexOf([BB)I
.locals 2
.line 1
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, p1, v1, v0}, Lcom/google/common/primitives/Bytes;->indexOf([BBII)I
move-result p0
return p0
.end method
.method private static indexOf([BBII)I
.locals 1
:goto_0
if-ge p2, p3, :cond_1
.line 2
aget-byte v0, p0, p2
if-ne v0, p1, :cond_0
return p2
:cond_0
add-int/lit8 p2, p2, 0x1
goto :goto_0
:cond_1
const/4 p0, -0x1
return p0
.end method
.method public static indexOf([B[B)I
.locals 5
const-string v0, "array"
.line 3
invoke-static {p0, v0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v0, "target"
.line 4
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5
array-length v0, p1
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
:cond_0
move v0, v1
.line 6
:goto_0
array-length v2, p0
array-length v3, p1
sub-int/2addr v2, v3
add-int/lit8 v2, v2, 0x1
if-ge v0, v2, :cond_3
move v2, v1
.line 7
:goto_1
array-length v3, p1
if-ge v2, v3, :cond_2
add-int v3, v0, v2
.line 8
aget-byte v3, p0, v3
aget-byte v4, p1, v2
if-eq v3, v4, :cond_1
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
return v0
:cond_3
const/4 p0, -0x1
return p0
.end method
.method public static lastIndexOf([BB)I
.locals 2
.line 1
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, p1, v1, v0}, Lcom/google/common/primitives/Bytes;->lastIndexOf([BBII)I
move-result p0
return p0
.end method
.method private static lastIndexOf([BBII)I
.locals 1
add-int/lit8 p3, p3, -0x1
:goto_0
if-lt p3, p2, :cond_1
.line 2
aget-byte v0, p0, p3
if-ne v0, p1, :cond_0
return p3
:cond_0
add-int/lit8 p3, p3, -0x1
goto :goto_0
:cond_1
const/4 p0, -0x1
return p0
.end method
.method public static reverse([B)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/Bytes;->reverse([BII)V
return-void
.end method
.method public static reverse([BII)V
.locals 2
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
add-int/lit8 p2, p2, -0x1
:goto_0
if-ge p1, p2, :cond_0
.line 5
aget-byte v0, p0, p1
.line 6
aget-byte v1, p0, p2
aput-byte v1, p0, p1
.line 7
aput-byte v0, p0, p2
add-int/lit8 p1, p1, 0x1
add-int/lit8 p2, p2, -0x1
goto :goto_0
:cond_0
return-void
.end method
.method public static toArray(Ljava/util/Collection;)[B
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"+",
"Ljava/lang/Number;",
">;)[B"
}
.end annotation
.line 1
instance-of v0, p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;
if-eqz v0, :cond_0
.line 2
check-cast p0, Lcom/google/common/primitives/Bytes$ByteArrayAsList;
invoke-virtual {p0}, Lcom/google/common/primitives/Bytes$ByteArrayAsList;->toByteArray()[B
move-result-object p0
return-object p0
.line 3
:cond_0
invoke-interface {p0}, Ljava/util/Collection;->toArray()[Ljava/lang/Object;
move-result-object p0
.line 4
array-length v0, p0
.line 5
new-array v1, v0, [B
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_1
.line 6
aget-object v3, p0, v2
invoke-static {v3}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Number;
invoke-virtual {v3}, Ljava/lang/Number;->byteValue()B
move-result v3
aput-byte v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return-object v1
.end method
@@ -0,0 +1,564 @@
.class Lcom/google/common/primitives/Chars$CharArrayAsList;
.super Ljava/util/AbstractList;
.source "Chars.java"
# interfaces
.implements Ljava/util/RandomAccess;
.implements Ljava/io/Serializable;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Chars;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "CharArrayAsList"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractList<",
"Ljava/lang/Character;",
">;",
"Ljava/util/RandomAccess;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final array:[C
.field public final end:I
.field public final start:I
# direct methods
.method public constructor <init>([C)V
.locals 2
.line 1
array-length v0, p1
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Lcom/google/common/primitives/Chars$CharArrayAsList;-><init>([CII)V
return-void
.end method
.method public constructor <init>([CII)V
.locals 0
.line 2
invoke-direct {p0}, Ljava/util/AbstractList;-><init>()V
.line 3
iput-object p1, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->array:[C
.line 4
iput p2, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
.line 5
iput p3, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->end:I
return-void
.end method
# virtual methods
.method public contains(Ljava/lang/Object;)Z
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Character;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->array:[C
check-cast p1, Ljava/lang/Character;
.line 2
invoke-virtual {p1}, Ljava/lang/Character;->charValue()C
move-result p1
iget v1, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Chars;->access$000([CCII)I
move-result p1
const/4 v0, -0x1
if-eq p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 7
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
const/4 v0, 0x1
if-ne p1, p0, :cond_0
return v0
.line 1
:cond_0
instance-of v1, p1, Lcom/google/common/primitives/Chars$CharArrayAsList;
if-eqz v1, :cond_4
.line 2
check-cast p1, Lcom/google/common/primitives/Chars$CharArrayAsList;
.line 3
invoke-virtual {p0}, Lcom/google/common/primitives/Chars$CharArrayAsList;->size()I
move-result v1
.line 4
invoke-virtual {p1}, Lcom/google/common/primitives/Chars$CharArrayAsList;->size()I
move-result v2
const/4 v3, 0x0
if-eq v2, v1, :cond_1
return v3
:cond_1
move v2, v3
:goto_0
if-ge v2, v1, :cond_3
.line 5
iget-object v4, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->array:[C
iget v5, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
add-int/2addr v5, v2
aget-char v4, v4, v5
iget-object v5, p1, Lcom/google/common/primitives/Chars$CharArrayAsList;->array:[C
iget v6, p1, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
add-int/2addr v6, v2
aget-char v5, v5, v6
if-eq v4, v5, :cond_2
return v3
:cond_2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_3
return v0
.line 6
:cond_4
invoke-super {p0, p1}, Ljava/util/AbstractList;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public get(I)Ljava/lang/Character;
.locals 2
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Chars$CharArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->array:[C
iget v1, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
add-int/2addr v1, p1
aget-char p1, v0, v1
invoke-static {p1}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic get(I)Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Chars$CharArrayAsList;->get(I)Ljava/lang/Character;
move-result-object p1
return-object p1
.end method
.method public hashCode()I
.locals 3
.line 1
iget v0, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
const/4 v1, 0x1
:goto_0
iget v2, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->end:I
if-ge v0, v2, :cond_0
mul-int/lit8 v1, v1, 0x1f
.line 2
iget-object v2, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->array:[C
aget-char v2, v2, v0
invoke-static {v2}, Lcom/google/common/primitives/Chars;->hashCode(C)I
move-result v2
add-int/2addr v1, v2
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_0
return v1
.end method
.method public indexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Character;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->array:[C
check-cast p1, Ljava/lang/Character;
invoke-virtual {p1}, Ljava/lang/Character;->charValue()C
move-result p1
iget v1, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Chars;->access$000([CCII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public isEmpty()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public lastIndexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Character;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->array:[C
check-cast p1, Ljava/lang/Character;
invoke-virtual {p1}, Ljava/lang/Character;->charValue()C
move-result p1
iget v1, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Chars;->access$100([CCII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public set(ILjava/lang/Character;)Ljava/lang/Character;
.locals 3
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Chars$CharArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->array:[C
iget v1, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
add-int v2, v1, p1
aget-char v2, v0, v2
add-int/2addr v1, p1
.line 4
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Character;
invoke-virtual {p1}, Ljava/lang/Character;->charValue()C
move-result p1
aput-char p1, v0, v1
.line 5
invoke-static {v2}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic set(ILjava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p2, Ljava/lang/Character;
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Chars$CharArrayAsList;->set(ILjava/lang/Character;)Ljava/lang/Character;
move-result-object p1
return-object p1
.end method
.method public size()I
.locals 2
.line 1
iget v0, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->end:I
iget v1, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
sub-int/2addr v0, v1
return v0
.end method
.method public subList(II)Ljava/util/List;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(II)",
"Ljava/util/List<",
"Ljava/lang/Character;",
">;"
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/common/primitives/Chars$CharArrayAsList;->size()I
move-result v0
.line 2
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
if-ne p1, p2, :cond_0
.line 3
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p1
return-object p1
.line 4
:cond_0
new-instance v0, Lcom/google/common/primitives/Chars$CharArrayAsList;
iget-object v1, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->array:[C
iget v2, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
add-int/2addr p1, v2
add-int/2addr v2, p2
invoke-direct {v0, v1, p1, v2}, Lcom/google/common/primitives/Chars$CharArrayAsList;-><init>([CII)V
return-object v0
.end method
.method public toCharArray()[C
.locals 3
.line 1
iget-object v0, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->array:[C
iget v1, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->end:I
invoke-static {v0, v1, v2}, Ljava/util/Arrays;->copyOfRange([CII)[C
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/common/primitives/Chars$CharArrayAsList;->size()I
move-result v1
mul-int/lit8 v1, v1, 0x3
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/16 v1, 0x5b
.line 2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->array:[C
iget v2, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
aget-char v1, v1, v2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 3
iget v1, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->start:I
:goto_0
add-int/lit8 v1, v1, 0x1
iget v2, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->end:I
if-ge v1, v2, :cond_0
const-string v2, ", "
.line 4
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;->array:[C
aget-char v2, v2, v1
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
:cond_0
const/16 v1, 0x5d
.line 5
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,191 @@
.class final enum Lcom/google/common/primitives/Chars$LexicographicalComparator;
.super Ljava/lang/Enum;
.source "Chars.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Chars;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "LexicographicalComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/common/primitives/Chars$LexicographicalComparator;",
">;",
"Ljava/util/Comparator<",
"[C>;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/primitives/Chars$LexicographicalComparator;
.field public static final enum INSTANCE:Lcom/google/common/primitives/Chars$LexicographicalComparator;
# direct methods
.method private static synthetic $values()[Lcom/google/common/primitives/Chars$LexicographicalComparator;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/google/common/primitives/Chars$LexicographicalComparator;
.line 1
sget-object v1, Lcom/google/common/primitives/Chars$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Chars$LexicographicalComparator;
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/primitives/Chars$LexicographicalComparator;
const-string v1, "INSTANCE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/primitives/Chars$LexicographicalComparator;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/primitives/Chars$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Chars$LexicographicalComparator;
.line 2
invoke-static {}, Lcom/google/common/primitives/Chars$LexicographicalComparator;->$values()[Lcom/google/common/primitives/Chars$LexicographicalComparator;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/Chars$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/Chars$LexicographicalComparator;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/Chars$LexicographicalComparator;
.locals 1
.line 1
const-class v0, Lcom/google/common/primitives/Chars$LexicographicalComparator;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/common/primitives/Chars$LexicographicalComparator;
return-object p0
.end method
.method public static values()[Lcom/google/common/primitives/Chars$LexicographicalComparator;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/Chars$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/Chars$LexicographicalComparator;
invoke-virtual {v0}, [Lcom/google/common/primitives/Chars$LexicographicalComparator;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/primitives/Chars$LexicographicalComparator;
return-object v0
.end method
# virtual methods
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, [C
check-cast p2, [C
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Chars$LexicographicalComparator;->compare([C[C)I
move-result p1
return p1
.end method
.method public compare([C[C)I
.locals 4
.line 2
array-length v0, p1
array-length v1, p2
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 3
aget-char v2, p1, v1
aget-char v3, p2, v1
invoke-static {v2, v3}, Lcom/google/common/primitives/Chars;->compare(CC)I
move-result v2
if-eqz v2, :cond_0
return v2
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4
:cond_1
array-length p1, p1
array-length p2, p2
sub-int/2addr p1, p2
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "Chars.lexicographicalComparator()"
return-object v0
.end method
@@ -0,0 +1,906 @@
.class public final Lcom/google/common/primitives/Chars;
.super Ljava/lang/Object;
.source "Chars.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
emulated = true
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/primitives/Chars$CharArrayAsList;,
Lcom/google/common/primitives/Chars$LexicographicalComparator;
}
.end annotation
# static fields
.field public static final BYTES:I = 0x2
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static synthetic access$000([CCII)I
.locals 0
.line 1
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/Chars;->indexOf([CCII)I
move-result p0
return p0
.end method
.method public static synthetic access$100([CCII)I
.locals 0
.line 1
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/Chars;->lastIndexOf([CCII)I
move-result p0
return p0
.end method
.method public static varargs asList([C)Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"([C)",
"Ljava/util/List<",
"Ljava/lang/Character;",
">;"
}
.end annotation
.line 1
array-length v0, p0
if-nez v0, :cond_0
.line 2
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p0
return-object p0
.line 3
:cond_0
new-instance v0, Lcom/google/common/primitives/Chars$CharArrayAsList;
invoke-direct {v0, p0}, Lcom/google/common/primitives/Chars$CharArrayAsList;-><init>([C)V
return-object v0
.end method
.method public static checkedCast(J)C
.locals 3
long-to-int v0, p0
int-to-char v0, v0
int-to-long v1, v0
cmp-long v1, v1, p0
if-nez v1, :cond_0
const/4 v1, 0x1
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
const-string v2, "Out of range: %s"
.line 1
invoke-static {v1, v2, p0, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;J)V
return v0
.end method
.method public static compare(CC)I
.locals 0
sub-int/2addr p0, p1
return p0
.end method
.method public static varargs concat([[C)[C
.locals 7
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
move v3, v2
:goto_0
if-ge v2, v0, :cond_0
aget-object v4, p0, v2
.line 2
array-length v4, v4
add-int/2addr v3, v4
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 3
:cond_0
new-array v0, v3, [C
.line 4
array-length v2, p0
move v3, v1
move v4, v3
:goto_1
if-ge v3, v2, :cond_1
aget-object v5, p0, v3
.line 5
array-length v6, v5
invoke-static {v5, v1, v0, v4, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 6
array-length v5, v5
add-int/2addr v4, v5
add-int/lit8 v3, v3, 0x1
goto :goto_1
:cond_1
return-object v0
.end method
.method public static constrainToRange(CCC)C
.locals 2
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
if-gt p1, p2, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "min (%s) must be less than or equal to max (%s)"
.line 1
invoke-static {v0, v1, p1, p2}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;CC)V
if-ge p0, p1, :cond_1
move p0, p1
goto :goto_1
:cond_1
if-ge p0, p2, :cond_2
goto :goto_1
:cond_2
move p0, p2
:goto_1
return p0
.end method
.method public static contains([CC)Z
.locals 4
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v2, v0, :cond_1
aget-char v3, p0, v2
if-ne v3, p1, :cond_0
const/4 p0, 0x1
return p0
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return v1
.end method
.method public static ensureCapacity([CII)[C
.locals 4
const/4 v0, 0x1
const/4 v1, 0x0
if-ltz p1, :cond_0
move v2, v0
goto :goto_0
:cond_0
move v2, v1
:goto_0
const-string v3, "Invalid minLength: %s"
.line 1
invoke-static {v2, v3, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;I)V
if-ltz p2, :cond_1
goto :goto_1
:cond_1
move v0, v1
:goto_1
const-string v1, "Invalid padding: %s"
.line 2
invoke-static {v0, v1, p2}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;I)V
.line 3
array-length v0, p0
if-ge v0, p1, :cond_2
add-int/2addr p1, p2
invoke-static {p0, p1}, Ljava/util/Arrays;->copyOf([CI)[C
move-result-object p0
:cond_2
return-object p0
.end method
.method public static fromByteArray([B)C
.locals 6
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.line 1
array-length v0, p0
const/4 v1, 0x1
const/4 v2, 0x0
const/4 v3, 0x2
if-lt v0, v3, :cond_0
move v0, v1
goto :goto_0
:cond_0
move v0, v2
:goto_0
array-length v4, p0
const-string v5, "array too small: %s < %s"
invoke-static {v0, v5, v4, v3}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;II)V
.line 2
aget-byte v0, p0, v2
aget-byte p0, p0, v1
invoke-static {v0, p0}, Lcom/google/common/primitives/Chars;->fromBytes(BB)C
move-result p0
return p0
.end method
.method public static fromBytes(BB)C
.locals 0
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
shl-int/lit8 p0, p0, 0x8
and-int/lit16 p1, p1, 0xff
or-int/2addr p0, p1
int-to-char p0, p0
return p0
.end method
.method public static hashCode(C)I
.locals 0
return p0
.end method
.method public static indexOf([CC)I
.locals 2
.line 1
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, p1, v1, v0}, Lcom/google/common/primitives/Chars;->indexOf([CCII)I
move-result p0
return p0
.end method
.method private static indexOf([CCII)I
.locals 1
:goto_0
if-ge p2, p3, :cond_1
.line 2
aget-char v0, p0, p2
if-ne v0, p1, :cond_0
return p2
:cond_0
add-int/lit8 p2, p2, 0x1
goto :goto_0
:cond_1
const/4 p0, -0x1
return p0
.end method
.method public static indexOf([C[C)I
.locals 5
const-string v0, "array"
.line 3
invoke-static {p0, v0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v0, "target"
.line 4
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5
array-length v0, p1
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
:cond_0
move v0, v1
.line 6
:goto_0
array-length v2, p0
array-length v3, p1
sub-int/2addr v2, v3
add-int/lit8 v2, v2, 0x1
if-ge v0, v2, :cond_3
move v2, v1
.line 7
:goto_1
array-length v3, p1
if-ge v2, v3, :cond_2
add-int v3, v0, v2
.line 8
aget-char v3, p0, v3
aget-char v4, p1, v2
if-eq v3, v4, :cond_1
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
return v0
:cond_3
const/4 p0, -0x1
return p0
.end method
.method public static varargs join(Ljava/lang/String;[C)Ljava/lang/String;
.locals 4
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p1
if-nez v0, :cond_0
const-string p0, ""
return-object p0
.line 3
:cond_0
new-instance v1, Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v2
const/4 v3, -0x1
invoke-static {v0, v3, v2, v0}, Lcom/google/android/material/datepicker/a;->a(IIII)I
move-result v2
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v2, 0x0
.line 4
aget-char v2, p1, v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v2, 0x1
:goto_0
if-ge v2, v0, :cond_1
.line 5
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-char v3, p1, v2
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 6
:cond_1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static lastIndexOf([CC)I
.locals 2
.line 1
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, p1, v1, v0}, Lcom/google/common/primitives/Chars;->lastIndexOf([CCII)I
move-result p0
return p0
.end method
.method private static lastIndexOf([CCII)I
.locals 1
add-int/lit8 p3, p3, -0x1
:goto_0
if-lt p3, p2, :cond_1
.line 2
aget-char v0, p0, p3
if-ne v0, p1, :cond_0
return p3
:cond_0
add-int/lit8 p3, p3, -0x1
goto :goto_0
:cond_1
const/4 p0, -0x1
return p0
.end method
.method public static lexicographicalComparator()Ljava/util/Comparator;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator<",
"[C>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Chars$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Chars$LexicographicalComparator;
return-object v0
.end method
.method public static varargs max([C)C
.locals 3
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget-char v0, p0, v1
.line 3
:goto_1
array-length v1, p0
if-ge v2, v1, :cond_2
.line 4
aget-char v1, p0, v2
if-le v1, v0, :cond_1
.line 5
aget-char v0, p0, v2
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
return v0
.end method
.method public static varargs min([C)C
.locals 3
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget-char v0, p0, v1
.line 3
:goto_1
array-length v1, p0
if-ge v2, v1, :cond_2
.line 4
aget-char v1, p0, v2
if-ge v1, v0, :cond_1
.line 5
aget-char v0, p0, v2
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
return v0
.end method
.method public static reverse([C)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/Chars;->reverse([CII)V
return-void
.end method
.method public static reverse([CII)V
.locals 2
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
add-int/lit8 p2, p2, -0x1
:goto_0
if-ge p1, p2, :cond_0
.line 5
aget-char v0, p0, p1
.line 6
aget-char v1, p0, p2
aput-char v1, p0, p1
.line 7
aput-char v0, p0, p2
add-int/lit8 p1, p1, 0x1
add-int/lit8 p2, p2, -0x1
goto :goto_0
:cond_0
return-void
.end method
.method public static saturatedCast(J)C
.locals 2
const-wide/32 v0, 0xffff
cmp-long v0, p0, v0
if-lez v0, :cond_0
const p0, 0xffff
return p0
:cond_0
const-wide/16 v0, 0x0
cmp-long v0, p0, v0
if-gez v0, :cond_1
const/4 p0, 0x0
return p0
:cond_1
long-to-int p0, p0
int-to-char p0, p0
return p0
.end method
.method public static sortDescending([C)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/Chars;->sortDescending([CII)V
return-void
.end method
.method public static sortDescending([CII)V
.locals 1
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
.line 5
invoke-static {p0, p1, p2}, Ljava/util/Arrays;->sort([CII)V
.line 6
invoke-static {p0, p1, p2}, Lcom/google/common/primitives/Chars;->reverse([CII)V
return-void
.end method
.method public static toArray(Ljava/util/Collection;)[C
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"Ljava/lang/Character;",
">;)[C"
}
.end annotation
.line 1
instance-of v0, p0, Lcom/google/common/primitives/Chars$CharArrayAsList;
if-eqz v0, :cond_0
.line 2
check-cast p0, Lcom/google/common/primitives/Chars$CharArrayAsList;
invoke-virtual {p0}, Lcom/google/common/primitives/Chars$CharArrayAsList;->toCharArray()[C
move-result-object p0
return-object p0
.line 3
:cond_0
invoke-interface {p0}, Ljava/util/Collection;->toArray()[Ljava/lang/Object;
move-result-object p0
.line 4
array-length v0, p0
.line 5
new-array v1, v0, [C
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_1
.line 6
aget-object v3, p0, v2
invoke-static {v3}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Character;
invoke-virtual {v3}, Ljava/lang/Character;->charValue()C
move-result v3
aput-char v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return-object v1
.end method
.method public static toByteArray(C)[B
.locals 3
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
const/4 v0, 0x2
new-array v0, v0, [B
shr-int/lit8 v1, p0, 0x8
int-to-byte v1, v1
const/4 v2, 0x0
aput-byte v1, v0, v2
int-to-byte p0, p0
const/4 v1, 0x1
aput-byte p0, v0, v1
return-object v0
.end method
@@ -0,0 +1,566 @@
.class Lcom/google/common/primitives/Doubles$DoubleArrayAsList;
.super Ljava/util/AbstractList;
.source "Doubles.java"
# interfaces
.implements Ljava/util/RandomAccess;
.implements Ljava/io/Serializable;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Doubles;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "DoubleArrayAsList"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractList<",
"Ljava/lang/Double;",
">;",
"Ljava/util/RandomAccess;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final array:[D
.field public final end:I
.field public final start:I
# direct methods
.method public constructor <init>([D)V
.locals 2
.line 1
array-length v0, p1
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;-><init>([DII)V
return-void
.end method
.method public constructor <init>([DII)V
.locals 0
.line 2
invoke-direct {p0}, Ljava/util/AbstractList;-><init>()V
.line 3
iput-object p1, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->array:[D
.line 4
iput p2, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
.line 5
iput p3, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->end:I
return-void
.end method
# virtual methods
.method public contains(Ljava/lang/Object;)Z
.locals 4
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Double;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->array:[D
check-cast p1, Ljava/lang/Double;
.line 2
invoke-virtual {p1}, Ljava/lang/Double;->doubleValue()D
move-result-wide v1
iget p1, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
iget v3, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->end:I
invoke-static {v0, v1, v2, p1, v3}, Lcom/google/common/primitives/Doubles;->access$000([DDII)I
move-result p1
const/4 v0, -0x1
if-eq p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 9
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
const/4 v0, 0x1
if-ne p1, p0, :cond_0
return v0
.line 1
:cond_0
instance-of v1, p1, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;
if-eqz v1, :cond_4
.line 2
check-cast p1, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;
.line 3
invoke-virtual {p0}, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->size()I
move-result v1
.line 4
invoke-virtual {p1}, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->size()I
move-result v2
const/4 v3, 0x0
if-eq v2, v1, :cond_1
return v3
:cond_1
move v2, v3
:goto_0
if-ge v2, v1, :cond_3
.line 5
iget-object v4, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->array:[D
iget v5, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
add-int/2addr v5, v2
aget-wide v5, v4, v5
iget-object v4, p1, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->array:[D
iget v7, p1, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
add-int/2addr v7, v2
aget-wide v7, v4, v7
cmpl-double v4, v5, v7
if-eqz v4, :cond_2
return v3
:cond_2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_3
return v0
.line 6
:cond_4
invoke-super {p0, p1}, Ljava/util/AbstractList;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public get(I)Ljava/lang/Double;
.locals 3
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->array:[D
iget v1, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
add-int/2addr v1, p1
aget-wide v1, v0, v1
invoke-static {v1, v2}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic get(I)Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->get(I)Ljava/lang/Double;
move-result-object p1
return-object p1
.end method
.method public hashCode()I
.locals 5
.line 1
iget v0, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
const/4 v1, 0x1
:goto_0
iget v2, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->end:I
if-ge v0, v2, :cond_0
mul-int/lit8 v1, v1, 0x1f
.line 2
iget-object v2, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->array:[D
aget-wide v3, v2, v0
invoke-static {v3, v4}, Lcom/google/common/primitives/Doubles;->hashCode(D)I
move-result v2
add-int/2addr v1, v2
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_0
return v1
.end method
.method public indexOf(Ljava/lang/Object;)I
.locals 4
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Double;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->array:[D
check-cast p1, Ljava/lang/Double;
invoke-virtual {p1}, Ljava/lang/Double;->doubleValue()D
move-result-wide v1
iget p1, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
iget v3, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->end:I
invoke-static {v0, v1, v2, p1, v3}, Lcom/google/common/primitives/Doubles;->access$000([DDII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public isEmpty()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public lastIndexOf(Ljava/lang/Object;)I
.locals 4
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Double;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->array:[D
check-cast p1, Ljava/lang/Double;
invoke-virtual {p1}, Ljava/lang/Double;->doubleValue()D
move-result-wide v1
iget p1, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
iget v3, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->end:I
invoke-static {v0, v1, v2, p1, v3}, Lcom/google/common/primitives/Doubles;->access$100([DDII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public set(ILjava/lang/Double;)Ljava/lang/Double;
.locals 4
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->array:[D
iget v1, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
add-int v2, v1, p1
aget-wide v2, v0, v2
add-int/2addr v1, p1
.line 4
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Double;
invoke-virtual {p1}, Ljava/lang/Double;->doubleValue()D
move-result-wide p1
aput-wide p1, v0, v1
.line 5
invoke-static {v2, v3}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic set(ILjava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p2, Ljava/lang/Double;
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->set(ILjava/lang/Double;)Ljava/lang/Double;
move-result-object p1
return-object p1
.end method
.method public size()I
.locals 2
.line 1
iget v0, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->end:I
iget v1, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
sub-int/2addr v0, v1
return v0
.end method
.method public subList(II)Ljava/util/List;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(II)",
"Ljava/util/List<",
"Ljava/lang/Double;",
">;"
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->size()I
move-result v0
.line 2
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
if-ne p1, p2, :cond_0
.line 3
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p1
return-object p1
.line 4
:cond_0
new-instance v0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;
iget-object v1, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->array:[D
iget v2, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
add-int/2addr p1, v2
add-int/2addr v2, p2
invoke-direct {v0, v1, p1, v2}, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;-><init>([DII)V
return-object v0
.end method
.method public toDoubleArray()[D
.locals 3
.line 1
iget-object v0, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->array:[D
iget v1, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->end:I
invoke-static {v0, v1, v2}, Ljava/util/Arrays;->copyOfRange([DII)[D
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 5
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->size()I
move-result v1
mul-int/lit8 v1, v1, 0xc
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/16 v1, 0x5b
.line 2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->array:[D
iget v2, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
aget-wide v2, v1, v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
.line 3
iget v1, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->start:I
:goto_0
add-int/lit8 v1, v1, 0x1
iget v2, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->end:I
if-ge v1, v2, :cond_0
const-string v2, ", "
.line 4
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->array:[D
aget-wide v3, v2, v1
invoke-virtual {v0, v3, v4}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
goto :goto_0
:cond_0
const/16 v1, 0x5d
.line 5
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,124 @@
.class final Lcom/google/common/primitives/Doubles$DoubleConverter;
.super Lcom/google/common/base/Converter;
.source "Doubles.java"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Doubles;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "DoubleConverter"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/base/Converter<",
"Ljava/lang/String;",
"Ljava/lang/Double;",
">;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field public static final INSTANCE:Lcom/google/common/primitives/Doubles$DoubleConverter;
.field private static final serialVersionUID:J = 0x1L
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/common/primitives/Doubles$DoubleConverter;
invoke-direct {v0}, Lcom/google/common/primitives/Doubles$DoubleConverter;-><init>()V
sput-object v0, Lcom/google/common/primitives/Doubles$DoubleConverter;->INSTANCE:Lcom/google/common/primitives/Doubles$DoubleConverter;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/common/base/Converter;-><init>()V
return-void
.end method
.method private readResolve()Ljava/lang/Object;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/Doubles$DoubleConverter;->INSTANCE:Lcom/google/common/primitives/Doubles$DoubleConverter;
return-object v0
.end method
# virtual methods
.method public bridge synthetic doBackward(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/Double;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Doubles$DoubleConverter;->doBackward(Ljava/lang/Double;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public doBackward(Ljava/lang/Double;)Ljava/lang/String;
.locals 0
.line 2
invoke-virtual {p1}, Ljava/lang/Double;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public doForward(Ljava/lang/String;)Ljava/lang/Double;
.locals 0
.line 2
invoke-static {p1}, Ljava/lang/Double;->valueOf(Ljava/lang/String;)Ljava/lang/Double;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic doForward(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/String;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Doubles$DoubleConverter;->doForward(Ljava/lang/String;)Ljava/lang/Double;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "Doubles.stringConverter()"
return-object v0
.end method
@@ -0,0 +1,191 @@
.class final enum Lcom/google/common/primitives/Doubles$LexicographicalComparator;
.super Ljava/lang/Enum;
.source "Doubles.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Doubles;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "LexicographicalComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/common/primitives/Doubles$LexicographicalComparator;",
">;",
"Ljava/util/Comparator<",
"[D>;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/primitives/Doubles$LexicographicalComparator;
.field public static final enum INSTANCE:Lcom/google/common/primitives/Doubles$LexicographicalComparator;
# direct methods
.method private static synthetic $values()[Lcom/google/common/primitives/Doubles$LexicographicalComparator;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/google/common/primitives/Doubles$LexicographicalComparator;
.line 1
sget-object v1, Lcom/google/common/primitives/Doubles$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Doubles$LexicographicalComparator;
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/primitives/Doubles$LexicographicalComparator;
const-string v1, "INSTANCE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/primitives/Doubles$LexicographicalComparator;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/primitives/Doubles$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Doubles$LexicographicalComparator;
.line 2
invoke-static {}, Lcom/google/common/primitives/Doubles$LexicographicalComparator;->$values()[Lcom/google/common/primitives/Doubles$LexicographicalComparator;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/Doubles$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/Doubles$LexicographicalComparator;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/Doubles$LexicographicalComparator;
.locals 1
.line 1
const-class v0, Lcom/google/common/primitives/Doubles$LexicographicalComparator;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/common/primitives/Doubles$LexicographicalComparator;
return-object p0
.end method
.method public static values()[Lcom/google/common/primitives/Doubles$LexicographicalComparator;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/Doubles$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/Doubles$LexicographicalComparator;
invoke-virtual {v0}, [Lcom/google/common/primitives/Doubles$LexicographicalComparator;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/primitives/Doubles$LexicographicalComparator;
return-object v0
.end method
# virtual methods
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, [D
check-cast p2, [D
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Doubles$LexicographicalComparator;->compare([D[D)I
move-result p1
return p1
.end method
.method public compare([D[D)I
.locals 6
.line 2
array-length v0, p1
array-length v1, p2
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 3
aget-wide v2, p1, v1
aget-wide v4, p2, v1
invoke-static {v2, v3, v4, v5}, Ljava/lang/Double;->compare(DD)I
move-result v2
if-eqz v2, :cond_0
return v2
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4
:cond_1
array-length p1, p1
array-length p2, p2
sub-int/2addr p1, p2
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "Doubles.lexicographicalComparator()"
return-object v0
.end method
@@ -0,0 +1,970 @@
.class public final Lcom/google/common/primitives/Doubles;
.super Lcom/google/common/primitives/DoublesMethodsForWeb;
.source "Doubles.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
emulated = true
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/primitives/Doubles$DoubleArrayAsList;,
Lcom/google/common/primitives/Doubles$LexicographicalComparator;,
Lcom/google/common/primitives/Doubles$DoubleConverter;
}
.end annotation
# static fields
.field public static final BYTES:I = 0x8
.field public static final FLOATING_POINT_PATTERN:Ljava/util/regex/Pattern;
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
invoke-static {}, Lcom/google/common/primitives/Doubles;->fpPattern()Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/Doubles;->FLOATING_POINT_PATTERN:Ljava/util/regex/Pattern;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/common/primitives/DoublesMethodsForWeb;-><init>()V
return-void
.end method
.method public static synthetic access$000([DDII)I
.locals 0
.line 1
invoke-static {p0, p1, p2, p3, p4}, Lcom/google/common/primitives/Doubles;->indexOf([DDII)I
move-result p0
return p0
.end method
.method public static synthetic access$100([DDII)I
.locals 0
.line 1
invoke-static {p0, p1, p2, p3, p4}, Lcom/google/common/primitives/Doubles;->lastIndexOf([DDII)I
move-result p0
return p0
.end method
.method public static varargs asList([D)Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"([D)",
"Ljava/util/List<",
"Ljava/lang/Double;",
">;"
}
.end annotation
.line 1
array-length v0, p0
if-nez v0, :cond_0
.line 2
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p0
return-object p0
.line 3
:cond_0
new-instance v0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;
invoke-direct {v0, p0}, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;-><init>([D)V
return-object v0
.end method
.method public static compare(DD)I
.locals 0
.line 1
invoke-static {p0, p1, p2, p3}, Ljava/lang/Double;->compare(DD)I
move-result p0
return p0
.end method
.method public static varargs concat([[D)[D
.locals 7
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
move v3, v2
:goto_0
if-ge v2, v0, :cond_0
aget-object v4, p0, v2
.line 2
array-length v4, v4
add-int/2addr v3, v4
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 3
:cond_0
new-array v0, v3, [D
.line 4
array-length v2, p0
move v3, v1
move v4, v3
:goto_1
if-ge v3, v2, :cond_1
aget-object v5, p0, v3
.line 5
array-length v6, v5
invoke-static {v5, v1, v0, v4, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 6
array-length v5, v5
add-int/2addr v4, v5
add-int/lit8 v3, v3, 0x1
goto :goto_1
:cond_1
return-object v0
.end method
.method public static constrainToRange(DDD)D
.locals 1
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
cmpg-double v0, p2, p4
if-gtz v0, :cond_0
.line 1
invoke-static {p0, p1, p2, p3}, Ljava/lang/Math;->max(DD)D
move-result-wide p0
invoke-static {p0, p1, p4, p5}, Ljava/lang/Math;->min(DD)D
move-result-wide p0
return-wide p0
.line 2
:cond_0
new-instance p0, Ljava/lang/IllegalArgumentException;
const/4 p1, 0x2
new-array p1, p1, [Ljava/lang/Object;
const/4 v0, 0x0
.line 3
invoke-static {p2, p3}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p2
aput-object p2, p1, v0
const/4 p2, 0x1
invoke-static {p4, p5}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p3
aput-object p3, p1, p2
const-string p2, "min (%s) must be less than or equal to max (%s)"
invoke-static {p2, p1}, Lcom/google/common/base/Strings;->lenientFormat(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static contains([DD)Z
.locals 5
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v2, v0, :cond_1
aget-wide v3, p0, v2
cmpl-double v3, v3, p1
if-nez v3, :cond_0
const/4 p0, 0x1
return p0
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return v1
.end method
.method public static ensureCapacity([DII)[D
.locals 4
const/4 v0, 0x1
const/4 v1, 0x0
if-ltz p1, :cond_0
move v2, v0
goto :goto_0
:cond_0
move v2, v1
:goto_0
const-string v3, "Invalid minLength: %s"
.line 1
invoke-static {v2, v3, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;I)V
if-ltz p2, :cond_1
goto :goto_1
:cond_1
move v0, v1
:goto_1
const-string v1, "Invalid padding: %s"
.line 2
invoke-static {v0, v1, p2}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;I)V
.line 3
array-length v0, p0
if-ge v0, p1, :cond_2
add-int/2addr p1, p2
invoke-static {p0, p1}, Ljava/util/Arrays;->copyOf([DI)[D
move-result-object p0
:cond_2
return-object p0
.end method
.method private static fpPattern()Ljava/util/regex/Pattern;
.locals 5
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
const-string v0, "(?:\\d+#(?:\\.\\d*#)?|\\.\\d+#)"
const-string v1, "(?:[eE][+-]?\\d+#)?[fFdD]?"
.line 1
invoke-virtual {v0, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const/16 v1, 0x17
.line 2
invoke-static {v0, v1}, Lcom/android/billingclient/api/d;->a(Ljava/lang/String;I)I
move-result v1
const-string v2, "0[xX](?:[0-9a-fA-F]+#(?:\\.[0-9a-fA-F]*#)?|\\.[0-9a-fA-F]+#)[pP][+-]?\\d+#[fFdD]?"
invoke-static {v2, v1}, Lcom/android/billingclient/api/d;->a(Ljava/lang/String;I)I
move-result v1
const-string v3, "[+-]?(?:NaN|Infinity|"
const-string v4, "|"
invoke-static {v1, v3, v0, v4, v2}, Lcom/google/ads/mediation/a;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "#"
const-string v2, "+"
.line 3
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
move-result-object v0
.line 4
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
return-object v0
.end method
.method public static hashCode(D)I
.locals 0
.line 1
invoke-static {p0, p1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/Double;->hashCode()I
move-result p0
return p0
.end method
.method public static indexOf([DD)I
.locals 2
.line 1
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, p1, p2, v1, v0}, Lcom/google/common/primitives/Doubles;->indexOf([DDII)I
move-result p0
return p0
.end method
.method private static indexOf([DDII)I
.locals 2
:goto_0
if-ge p3, p4, :cond_1
.line 2
aget-wide v0, p0, p3
cmpl-double v0, v0, p1
if-nez v0, :cond_0
return p3
:cond_0
add-int/lit8 p3, p3, 0x1
goto :goto_0
:cond_1
const/4 p0, -0x1
return p0
.end method
.method public static indexOf([D[D)I
.locals 7
const-string v0, "array"
.line 3
invoke-static {p0, v0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v0, "target"
.line 4
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5
array-length v0, p1
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
:cond_0
move v0, v1
.line 6
:goto_0
array-length v2, p0
array-length v3, p1
sub-int/2addr v2, v3
add-int/lit8 v2, v2, 0x1
if-ge v0, v2, :cond_3
move v2, v1
.line 7
:goto_1
array-length v3, p1
if-ge v2, v3, :cond_2
add-int v3, v0, v2
.line 8
aget-wide v3, p0, v3
aget-wide v5, p1, v2
cmpl-double v3, v3, v5
if-eqz v3, :cond_1
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
return v0
:cond_3
const/4 p0, -0x1
return p0
.end method
.method public static isFinite(D)Z
.locals 2
const-wide/high16 v0, -0x10000000000000L # Double.NEGATIVE_INFINITY
cmpg-double v0, v0, p0
if-gez v0, :cond_0
const-wide/high16 v0, 0x7ff0000000000000L # Double.POSITIVE_INFINITY
cmpg-double p0, p0, v0
if-gez p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public static varargs join(Ljava/lang/String;[D)Ljava/lang/String;
.locals 4
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p1
if-nez v0, :cond_0
const-string p0, ""
return-object p0
.line 3
:cond_0
new-instance v0, Ljava/lang/StringBuilder;
array-length v1, p1
mul-int/lit8 v1, v1, 0xc
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v1, 0x0
.line 4
aget-wide v1, p1, v1
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
const/4 v1, 0x1
.line 5
:goto_0
array-length v2, p1
if-ge v1, v2, :cond_1
.line 6
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-wide v2, p1, v1
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 7
:cond_1
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static lastIndexOf([DD)I
.locals 2
.line 1
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, p1, p2, v1, v0}, Lcom/google/common/primitives/Doubles;->lastIndexOf([DDII)I
move-result p0
return p0
.end method
.method private static lastIndexOf([DDII)I
.locals 2
add-int/lit8 p4, p4, -0x1
:goto_0
if-lt p4, p3, :cond_1
.line 2
aget-wide v0, p0, p4
cmpl-double v0, v0, p1
if-nez v0, :cond_0
return p4
:cond_0
add-int/lit8 p4, p4, -0x1
goto :goto_0
:cond_1
const/4 p0, -0x1
return p0
.end method
.method public static lexicographicalComparator()Ljava/util/Comparator;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator<",
"[D>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Doubles$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Doubles$LexicographicalComparator;
return-object v0
.end method
.method public static varargs max([D)D
.locals 5
.annotation build Lcom/google/common/annotations/GwtIncompatible;
value = "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class."
.end annotation
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget-wide v0, p0, v1
.line 3
:goto_1
array-length v3, p0
if-ge v2, v3, :cond_1
.line 4
aget-wide v3, p0, v2
invoke-static {v0, v1, v3, v4}, Ljava/lang/Math;->max(DD)D
move-result-wide v0
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_1
return-wide v0
.end method
.method public static varargs min([D)D
.locals 5
.annotation build Lcom/google/common/annotations/GwtIncompatible;
value = "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class."
.end annotation
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget-wide v0, p0, v1
.line 3
:goto_1
array-length v3, p0
if-ge v2, v3, :cond_1
.line 4
aget-wide v3, p0, v2
invoke-static {v0, v1, v3, v4}, Ljava/lang/Math;->min(DD)D
move-result-wide v0
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_1
return-wide v0
.end method
.method public static reverse([D)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/Doubles;->reverse([DII)V
return-void
.end method
.method public static reverse([DII)V
.locals 4
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
add-int/lit8 p2, p2, -0x1
:goto_0
if-ge p1, p2, :cond_0
.line 5
aget-wide v0, p0, p1
.line 6
aget-wide v2, p0, p2
aput-wide v2, p0, p1
.line 7
aput-wide v0, p0, p2
add-int/lit8 p1, p1, 0x1
add-int/lit8 p2, p2, -0x1
goto :goto_0
:cond_0
return-void
.end method
.method public static sortDescending([D)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/Doubles;->sortDescending([DII)V
return-void
.end method
.method public static sortDescending([DII)V
.locals 1
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
.line 5
invoke-static {p0, p1, p2}, Ljava/util/Arrays;->sort([DII)V
.line 6
invoke-static {p0, p1, p2}, Lcom/google/common/primitives/Doubles;->reverse([DII)V
return-void
.end method
.method public static stringConverter()Lcom/google/common/base/Converter;
.locals 1
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/base/Converter<",
"Ljava/lang/String;",
"Ljava/lang/Double;",
">;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Doubles$DoubleConverter;->INSTANCE:Lcom/google/common/primitives/Doubles$DoubleConverter;
return-object v0
.end method
.method public static toArray(Ljava/util/Collection;)[D
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"+",
"Ljava/lang/Number;",
">;)[D"
}
.end annotation
.line 1
instance-of v0, p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;
if-eqz v0, :cond_0
.line 2
check-cast p0, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;
invoke-virtual {p0}, Lcom/google/common/primitives/Doubles$DoubleArrayAsList;->toDoubleArray()[D
move-result-object p0
return-object p0
.line 3
:cond_0
invoke-interface {p0}, Ljava/util/Collection;->toArray()[Ljava/lang/Object;
move-result-object p0
.line 4
array-length v0, p0
.line 5
new-array v1, v0, [D
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_1
.line 6
aget-object v3, p0, v2
invoke-static {v3}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Number;
invoke-virtual {v3}, Ljava/lang/Number;->doubleValue()D
move-result-wide v3
aput-wide v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return-object v1
.end method
.method public static tryParse(Ljava/lang/String;)Ljava/lang/Double;
.locals 2
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Doubles;->FLOATING_POINT_PATTERN:Ljava/util/regex/Pattern;
invoke-virtual {v0, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
invoke-virtual {v0}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
if-eqz v0, :cond_0
.line 2
:try_start_0
invoke-static {p0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p0
:try_end_0
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
:cond_0
const/4 p0, 0x0
return-object p0
.end method
@@ -0,0 +1,23 @@
.class abstract Lcom/google/common/primitives/DoublesMethodsForWeb;
.super Ljava/lang/Object;
.source "DoublesMethodsForWeb.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
emulated = true
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
@@ -0,0 +1,32 @@
.class interface abstract annotation Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.super Ljava/lang/Object;
.source "ElementTypesAreNonnullByDefault.java"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->RUNTIME:Ljava/lang/annotation/RetentionPolicy;
.end annotation
.annotation runtime Ljava/lang/annotation/Target;
value = {
.enum Ljava/lang/annotation/ElementType;->TYPE:Ljava/lang/annotation/ElementType;
}
.end annotation
.annotation runtime Ljavax/annotation/Nonnull;
.end annotation
.annotation runtime Ljavax/annotation/meta/TypeQualifierDefault;
value = {
.enum Ljava/lang/annotation/ElementType;->FIELD:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->METHOD:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->PARAMETER:Ljava/lang/annotation/ElementType;
}
.end annotation
@@ -0,0 +1,565 @@
.class Lcom/google/common/primitives/Floats$FloatArrayAsList;
.super Ljava/util/AbstractList;
.source "Floats.java"
# interfaces
.implements Ljava/util/RandomAccess;
.implements Ljava/io/Serializable;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Floats;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "FloatArrayAsList"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractList<",
"Ljava/lang/Float;",
">;",
"Ljava/util/RandomAccess;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final array:[F
.field public final end:I
.field public final start:I
# direct methods
.method public constructor <init>([F)V
.locals 2
.line 1
array-length v0, p1
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Lcom/google/common/primitives/Floats$FloatArrayAsList;-><init>([FII)V
return-void
.end method
.method public constructor <init>([FII)V
.locals 0
.line 2
invoke-direct {p0}, Ljava/util/AbstractList;-><init>()V
.line 3
iput-object p1, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->array:[F
.line 4
iput p2, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
.line 5
iput p3, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->end:I
return-void
.end method
# virtual methods
.method public contains(Ljava/lang/Object;)Z
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Float;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->array:[F
check-cast p1, Ljava/lang/Float;
invoke-virtual {p1}, Ljava/lang/Float;->floatValue()F
move-result p1
iget v1, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Floats;->access$000([FFII)I
move-result p1
const/4 v0, -0x1
if-eq p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 7
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
const/4 v0, 0x1
if-ne p1, p0, :cond_0
return v0
.line 1
:cond_0
instance-of v1, p1, Lcom/google/common/primitives/Floats$FloatArrayAsList;
if-eqz v1, :cond_4
.line 2
check-cast p1, Lcom/google/common/primitives/Floats$FloatArrayAsList;
.line 3
invoke-virtual {p0}, Lcom/google/common/primitives/Floats$FloatArrayAsList;->size()I
move-result v1
.line 4
invoke-virtual {p1}, Lcom/google/common/primitives/Floats$FloatArrayAsList;->size()I
move-result v2
const/4 v3, 0x0
if-eq v2, v1, :cond_1
return v3
:cond_1
move v2, v3
:goto_0
if-ge v2, v1, :cond_3
.line 5
iget-object v4, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->array:[F
iget v5, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
add-int/2addr v5, v2
aget v4, v4, v5
iget-object v5, p1, Lcom/google/common/primitives/Floats$FloatArrayAsList;->array:[F
iget v6, p1, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
add-int/2addr v6, v2
aget v5, v5, v6
cmpl-float v4, v4, v5
if-eqz v4, :cond_2
return v3
:cond_2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_3
return v0
.line 6
:cond_4
invoke-super {p0, p1}, Ljava/util/AbstractList;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public get(I)Ljava/lang/Float;
.locals 2
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Floats$FloatArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->array:[F
iget v1, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
add-int/2addr v1, p1
aget p1, v0, v1
invoke-static {p1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic get(I)Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Floats$FloatArrayAsList;->get(I)Ljava/lang/Float;
move-result-object p1
return-object p1
.end method
.method public hashCode()I
.locals 3
.line 1
iget v0, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
const/4 v1, 0x1
:goto_0
iget v2, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->end:I
if-ge v0, v2, :cond_0
mul-int/lit8 v1, v1, 0x1f
.line 2
iget-object v2, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->array:[F
aget v2, v2, v0
invoke-static {v2}, Lcom/google/common/primitives/Floats;->hashCode(F)I
move-result v2
add-int/2addr v1, v2
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_0
return v1
.end method
.method public indexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Float;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->array:[F
check-cast p1, Ljava/lang/Float;
invoke-virtual {p1}, Ljava/lang/Float;->floatValue()F
move-result p1
iget v1, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Floats;->access$000([FFII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public isEmpty()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public lastIndexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Float;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->array:[F
check-cast p1, Ljava/lang/Float;
invoke-virtual {p1}, Ljava/lang/Float;->floatValue()F
move-result p1
iget v1, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Floats;->access$100([FFII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public set(ILjava/lang/Float;)Ljava/lang/Float;
.locals 3
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Floats$FloatArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->array:[F
iget v1, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
add-int v2, v1, p1
aget v2, v0, v2
add-int/2addr v1, p1
.line 4
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Float;
invoke-virtual {p1}, Ljava/lang/Float;->floatValue()F
move-result p1
aput p1, v0, v1
.line 5
invoke-static {v2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic set(ILjava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p2, Ljava/lang/Float;
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Floats$FloatArrayAsList;->set(ILjava/lang/Float;)Ljava/lang/Float;
move-result-object p1
return-object p1
.end method
.method public size()I
.locals 2
.line 1
iget v0, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->end:I
iget v1, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
sub-int/2addr v0, v1
return v0
.end method
.method public subList(II)Ljava/util/List;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(II)",
"Ljava/util/List<",
"Ljava/lang/Float;",
">;"
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/common/primitives/Floats$FloatArrayAsList;->size()I
move-result v0
.line 2
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
if-ne p1, p2, :cond_0
.line 3
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p1
return-object p1
.line 4
:cond_0
new-instance v0, Lcom/google/common/primitives/Floats$FloatArrayAsList;
iget-object v1, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->array:[F
iget v2, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
add-int/2addr p1, v2
add-int/2addr v2, p2
invoke-direct {v0, v1, p1, v2}, Lcom/google/common/primitives/Floats$FloatArrayAsList;-><init>([FII)V
return-object v0
.end method
.method public toFloatArray()[F
.locals 3
.line 1
iget-object v0, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->array:[F
iget v1, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->end:I
invoke-static {v0, v1, v2}, Ljava/util/Arrays;->copyOfRange([FII)[F
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/common/primitives/Floats$FloatArrayAsList;->size()I
move-result v1
mul-int/lit8 v1, v1, 0xc
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/16 v1, 0x5b
.line 2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->array:[F
iget v2, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
aget v1, v1, v2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
.line 3
iget v1, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->start:I
:goto_0
add-int/lit8 v1, v1, 0x1
iget v2, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->end:I
if-ge v1, v2, :cond_0
const-string v2, ", "
.line 4
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;->array:[F
aget v2, v2, v1
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
goto :goto_0
:cond_0
const/16 v1, 0x5d
.line 5
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,124 @@
.class final Lcom/google/common/primitives/Floats$FloatConverter;
.super Lcom/google/common/base/Converter;
.source "Floats.java"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Floats;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "FloatConverter"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/base/Converter<",
"Ljava/lang/String;",
"Ljava/lang/Float;",
">;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field public static final INSTANCE:Lcom/google/common/primitives/Floats$FloatConverter;
.field private static final serialVersionUID:J = 0x1L
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/common/primitives/Floats$FloatConverter;
invoke-direct {v0}, Lcom/google/common/primitives/Floats$FloatConverter;-><init>()V
sput-object v0, Lcom/google/common/primitives/Floats$FloatConverter;->INSTANCE:Lcom/google/common/primitives/Floats$FloatConverter;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/common/base/Converter;-><init>()V
return-void
.end method
.method private readResolve()Ljava/lang/Object;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/Floats$FloatConverter;->INSTANCE:Lcom/google/common/primitives/Floats$FloatConverter;
return-object v0
.end method
# virtual methods
.method public bridge synthetic doBackward(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/Float;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Floats$FloatConverter;->doBackward(Ljava/lang/Float;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public doBackward(Ljava/lang/Float;)Ljava/lang/String;
.locals 0
.line 2
invoke-virtual {p1}, Ljava/lang/Float;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public doForward(Ljava/lang/String;)Ljava/lang/Float;
.locals 0
.line 2
invoke-static {p1}, Ljava/lang/Float;->valueOf(Ljava/lang/String;)Ljava/lang/Float;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic doForward(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/String;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Floats$FloatConverter;->doForward(Ljava/lang/String;)Ljava/lang/Float;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "Floats.stringConverter()"
return-object v0
.end method
@@ -0,0 +1,191 @@
.class final enum Lcom/google/common/primitives/Floats$LexicographicalComparator;
.super Ljava/lang/Enum;
.source "Floats.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Floats;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "LexicographicalComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/common/primitives/Floats$LexicographicalComparator;",
">;",
"Ljava/util/Comparator<",
"[F>;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/primitives/Floats$LexicographicalComparator;
.field public static final enum INSTANCE:Lcom/google/common/primitives/Floats$LexicographicalComparator;
# direct methods
.method private static synthetic $values()[Lcom/google/common/primitives/Floats$LexicographicalComparator;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/google/common/primitives/Floats$LexicographicalComparator;
.line 1
sget-object v1, Lcom/google/common/primitives/Floats$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Floats$LexicographicalComparator;
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/primitives/Floats$LexicographicalComparator;
const-string v1, "INSTANCE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/primitives/Floats$LexicographicalComparator;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/primitives/Floats$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Floats$LexicographicalComparator;
.line 2
invoke-static {}, Lcom/google/common/primitives/Floats$LexicographicalComparator;->$values()[Lcom/google/common/primitives/Floats$LexicographicalComparator;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/Floats$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/Floats$LexicographicalComparator;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/Floats$LexicographicalComparator;
.locals 1
.line 1
const-class v0, Lcom/google/common/primitives/Floats$LexicographicalComparator;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/common/primitives/Floats$LexicographicalComparator;
return-object p0
.end method
.method public static values()[Lcom/google/common/primitives/Floats$LexicographicalComparator;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/Floats$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/Floats$LexicographicalComparator;
invoke-virtual {v0}, [Lcom/google/common/primitives/Floats$LexicographicalComparator;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/primitives/Floats$LexicographicalComparator;
return-object v0
.end method
# virtual methods
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, [F
check-cast p2, [F
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Floats$LexicographicalComparator;->compare([F[F)I
move-result p1
return p1
.end method
.method public compare([F[F)I
.locals 4
.line 2
array-length v0, p1
array-length v1, p2
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 3
aget v2, p1, v1
aget v3, p2, v1
invoke-static {v2, v3}, Ljava/lang/Float;->compare(FF)I
move-result v2
if-eqz v2, :cond_0
return v2
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4
:cond_1
array-length p1, p1
array-length p2, p2
sub-int/2addr p1, p2
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "Floats.lexicographicalComparator()"
return-object v0
.end method
@@ -0,0 +1,892 @@
.class public final Lcom/google/common/primitives/Floats;
.super Lcom/google/common/primitives/FloatsMethodsForWeb;
.source "Floats.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
emulated = true
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/primitives/Floats$FloatArrayAsList;,
Lcom/google/common/primitives/Floats$LexicographicalComparator;,
Lcom/google/common/primitives/Floats$FloatConverter;
}
.end annotation
# static fields
.field public static final BYTES:I = 0x4
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/common/primitives/FloatsMethodsForWeb;-><init>()V
return-void
.end method
.method public static synthetic access$000([FFII)I
.locals 0
.line 1
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/Floats;->indexOf([FFII)I
move-result p0
return p0
.end method
.method public static synthetic access$100([FFII)I
.locals 0
.line 1
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/Floats;->lastIndexOf([FFII)I
move-result p0
return p0
.end method
.method public static varargs asList([F)Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"([F)",
"Ljava/util/List<",
"Ljava/lang/Float;",
">;"
}
.end annotation
.line 1
array-length v0, p0
if-nez v0, :cond_0
.line 2
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p0
return-object p0
.line 3
:cond_0
new-instance v0, Lcom/google/common/primitives/Floats$FloatArrayAsList;
invoke-direct {v0, p0}, Lcom/google/common/primitives/Floats$FloatArrayAsList;-><init>([F)V
return-object v0
.end method
.method public static compare(FF)I
.locals 0
.line 1
invoke-static {p0, p1}, Ljava/lang/Float;->compare(FF)I
move-result p0
return p0
.end method
.method public static varargs concat([[F)[F
.locals 7
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
move v3, v2
:goto_0
if-ge v2, v0, :cond_0
aget-object v4, p0, v2
.line 2
array-length v4, v4
add-int/2addr v3, v4
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 3
:cond_0
new-array v0, v3, [F
.line 4
array-length v2, p0
move v3, v1
move v4, v3
:goto_1
if-ge v3, v2, :cond_1
aget-object v5, p0, v3
.line 5
array-length v6, v5
invoke-static {v5, v1, v0, v4, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 6
array-length v5, v5
add-int/2addr v4, v5
add-int/lit8 v3, v3, 0x1
goto :goto_1
:cond_1
return-object v0
.end method
.method public static constrainToRange(FFF)F
.locals 2
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
cmpg-float v0, p1, p2
if-gtz v0, :cond_0
.line 1
invoke-static {p0, p1}, Ljava/lang/Math;->max(FF)F
move-result p0
invoke-static {p0, p2}, Ljava/lang/Math;->min(FF)F
move-result p0
return p0
.line 2
:cond_0
new-instance p0, Ljava/lang/IllegalArgumentException;
const/4 v0, 0x2
new-array v0, v0, [Ljava/lang/Object;
const/4 v1, 0x0
.line 3
invoke-static {p1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object p1
aput-object p1, v0, v1
const/4 p1, 0x1
invoke-static {p2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object p2
aput-object p2, v0, p1
const-string p1, "min (%s) must be less than or equal to max (%s)"
invoke-static {p1, v0}, Lcom/google/common/base/Strings;->lenientFormat(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static contains([FF)Z
.locals 4
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v2, v0, :cond_1
aget v3, p0, v2
cmpl-float v3, v3, p1
if-nez v3, :cond_0
const/4 p0, 0x1
return p0
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return v1
.end method
.method public static ensureCapacity([FII)[F
.locals 4
const/4 v0, 0x1
const/4 v1, 0x0
if-ltz p1, :cond_0
move v2, v0
goto :goto_0
:cond_0
move v2, v1
:goto_0
const-string v3, "Invalid minLength: %s"
.line 1
invoke-static {v2, v3, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;I)V
if-ltz p2, :cond_1
goto :goto_1
:cond_1
move v0, v1
:goto_1
const-string v1, "Invalid padding: %s"
.line 2
invoke-static {v0, v1, p2}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;I)V
.line 3
array-length v0, p0
if-ge v0, p1, :cond_2
add-int/2addr p1, p2
invoke-static {p0, p1}, Ljava/util/Arrays;->copyOf([FI)[F
move-result-object p0
:cond_2
return-object p0
.end method
.method public static hashCode(F)I
.locals 0
.line 1
invoke-static {p0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/Float;->hashCode()I
move-result p0
return p0
.end method
.method public static indexOf([FF)I
.locals 2
.line 1
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, p1, v1, v0}, Lcom/google/common/primitives/Floats;->indexOf([FFII)I
move-result p0
return p0
.end method
.method private static indexOf([FFII)I
.locals 1
:goto_0
if-ge p2, p3, :cond_1
.line 2
aget v0, p0, p2
cmpl-float v0, v0, p1
if-nez v0, :cond_0
return p2
:cond_0
add-int/lit8 p2, p2, 0x1
goto :goto_0
:cond_1
const/4 p0, -0x1
return p0
.end method
.method public static indexOf([F[F)I
.locals 5
const-string v0, "array"
.line 3
invoke-static {p0, v0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v0, "target"
.line 4
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5
array-length v0, p1
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
:cond_0
move v0, v1
.line 6
:goto_0
array-length v2, p0
array-length v3, p1
sub-int/2addr v2, v3
add-int/lit8 v2, v2, 0x1
if-ge v0, v2, :cond_3
move v2, v1
.line 7
:goto_1
array-length v3, p1
if-ge v2, v3, :cond_2
add-int v3, v0, v2
.line 8
aget v3, p0, v3
aget v4, p1, v2
cmpl-float v3, v3, v4
if-eqz v3, :cond_1
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
return v0
:cond_3
const/4 p0, -0x1
return p0
.end method
.method public static isFinite(F)Z
.locals 1
const/high16 v0, -0x800000 # Float.NEGATIVE_INFINITY
cmpg-float v0, v0, p0
if-gez v0, :cond_0
const/high16 v0, 0x7f800000 # Float.POSITIVE_INFINITY
cmpg-float p0, p0, v0
if-gez p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public static varargs join(Ljava/lang/String;[F)Ljava/lang/String;
.locals 3
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p1
if-nez v0, :cond_0
const-string p0, ""
return-object p0
.line 3
:cond_0
new-instance v0, Ljava/lang/StringBuilder;
array-length v1, p1
mul-int/lit8 v1, v1, 0xc
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v1, 0x0
.line 4
aget v1, p1, v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
const/4 v1, 0x1
.line 5
:goto_0
array-length v2, p1
if-ge v1, v2, :cond_1
.line 6
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget v2, p1, v1
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 7
:cond_1
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static lastIndexOf([FF)I
.locals 2
.line 1
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, p1, v1, v0}, Lcom/google/common/primitives/Floats;->lastIndexOf([FFII)I
move-result p0
return p0
.end method
.method private static lastIndexOf([FFII)I
.locals 1
add-int/lit8 p3, p3, -0x1
:goto_0
if-lt p3, p2, :cond_1
.line 2
aget v0, p0, p3
cmpl-float v0, v0, p1
if-nez v0, :cond_0
return p3
:cond_0
add-int/lit8 p3, p3, -0x1
goto :goto_0
:cond_1
const/4 p0, -0x1
return p0
.end method
.method public static lexicographicalComparator()Ljava/util/Comparator;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator<",
"[F>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Floats$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Floats$LexicographicalComparator;
return-object v0
.end method
.method public static varargs max([F)F
.locals 3
.annotation build Lcom/google/common/annotations/GwtIncompatible;
value = "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class."
.end annotation
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget v0, p0, v1
.line 3
:goto_1
array-length v1, p0
if-ge v2, v1, :cond_1
.line 4
aget v1, p0, v2
invoke-static {v0, v1}, Ljava/lang/Math;->max(FF)F
move-result v0
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_1
return v0
.end method
.method public static varargs min([F)F
.locals 3
.annotation build Lcom/google/common/annotations/GwtIncompatible;
value = "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class."
.end annotation
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget v0, p0, v1
.line 3
:goto_1
array-length v1, p0
if-ge v2, v1, :cond_1
.line 4
aget v1, p0, v2
invoke-static {v0, v1}, Ljava/lang/Math;->min(FF)F
move-result v0
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_1
return v0
.end method
.method public static reverse([F)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/Floats;->reverse([FII)V
return-void
.end method
.method public static reverse([FII)V
.locals 2
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
add-int/lit8 p2, p2, -0x1
:goto_0
if-ge p1, p2, :cond_0
.line 5
aget v0, p0, p1
.line 6
aget v1, p0, p2
aput v1, p0, p1
.line 7
aput v0, p0, p2
add-int/lit8 p1, p1, 0x1
add-int/lit8 p2, p2, -0x1
goto :goto_0
:cond_0
return-void
.end method
.method public static sortDescending([F)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/Floats;->sortDescending([FII)V
return-void
.end method
.method public static sortDescending([FII)V
.locals 1
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
.line 5
invoke-static {p0, p1, p2}, Ljava/util/Arrays;->sort([FII)V
.line 6
invoke-static {p0, p1, p2}, Lcom/google/common/primitives/Floats;->reverse([FII)V
return-void
.end method
.method public static stringConverter()Lcom/google/common/base/Converter;
.locals 1
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/base/Converter<",
"Ljava/lang/String;",
"Ljava/lang/Float;",
">;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Floats$FloatConverter;->INSTANCE:Lcom/google/common/primitives/Floats$FloatConverter;
return-object v0
.end method
.method public static toArray(Ljava/util/Collection;)[F
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"+",
"Ljava/lang/Number;",
">;)[F"
}
.end annotation
.line 1
instance-of v0, p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;
if-eqz v0, :cond_0
.line 2
check-cast p0, Lcom/google/common/primitives/Floats$FloatArrayAsList;
invoke-virtual {p0}, Lcom/google/common/primitives/Floats$FloatArrayAsList;->toFloatArray()[F
move-result-object p0
return-object p0
.line 3
:cond_0
invoke-interface {p0}, Ljava/util/Collection;->toArray()[Ljava/lang/Object;
move-result-object p0
.line 4
array-length v0, p0
.line 5
new-array v1, v0, [F
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_1
.line 6
aget-object v3, p0, v2
invoke-static {v3}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Number;
invoke-virtual {v3}, Ljava/lang/Number;->floatValue()F
move-result v3
aput v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return-object v1
.end method
.method public static tryParse(Ljava/lang/String;)Ljava/lang/Float;
.locals 1
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Doubles;->FLOATING_POINT_PATTERN:Ljava/util/regex/Pattern;
invoke-virtual {v0, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
invoke-virtual {v0}, Ljava/util/regex/Matcher;->matches()Z
move-result v0
if-eqz v0, :cond_0
.line 2
:try_start_0
invoke-static {p0}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
move-result p0
invoke-static {p0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object p0
:try_end_0
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
:cond_0
const/4 p0, 0x0
return-object p0
.end method
@@ -0,0 +1,23 @@
.class abstract Lcom/google/common/primitives/FloatsMethodsForWeb;
.super Ljava/lang/Object;
.source "FloatsMethodsForWeb.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
emulated = true
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
@@ -0,0 +1,14 @@
.class synthetic Lcom/google/common/primitives/ImmutableDoubleArray$1;
.super Ljava/lang/Object;
.source "ImmutableDoubleArray.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/ImmutableDoubleArray;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
@@ -0,0 +1,361 @@
.class Lcom/google/common/primitives/ImmutableDoubleArray$AsList;
.super Ljava/util/AbstractList;
.source "ImmutableDoubleArray.java"
# interfaces
.implements Ljava/util/RandomAccess;
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/ImmutableDoubleArray;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "AsList"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractList<",
"Ljava/lang/Double;",
">;",
"Ljava/util/RandomAccess;",
"Ljava/io/Serializable;"
}
.end annotation
# instance fields
.field private final parent:Lcom/google/common/primitives/ImmutableDoubleArray;
# direct methods
.method private constructor <init>(Lcom/google/common/primitives/ImmutableDoubleArray;)V
.locals 0
.line 2
invoke-direct {p0}, Ljava/util/AbstractList;-><init>()V
.line 3
iput-object p1, p0, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->parent:Lcom/google/common/primitives/ImmutableDoubleArray;
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/common/primitives/ImmutableDoubleArray;Lcom/google/common/primitives/ImmutableDoubleArray$1;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;-><init>(Lcom/google/common/primitives/ImmutableDoubleArray;)V
return-void
.end method
# virtual methods
.method public contains(Ljava/lang/Object;)Z
.locals 0
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->indexOf(Ljava/lang/Object;)I
move-result p1
if-ltz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 7
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;
if-eqz v0, :cond_0
.line 2
check-cast p1, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;
.line 3
iget-object v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->parent:Lcom/google/common/primitives/ImmutableDoubleArray;
iget-object p1, p1, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->parent:Lcom/google/common/primitives/ImmutableDoubleArray;
invoke-virtual {v0, p1}, Lcom/google/common/primitives/ImmutableDoubleArray;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.line 4
:cond_0
instance-of v0, p1, Ljava/util/List;
const/4 v1, 0x0
if-nez v0, :cond_1
return v1
.line 5
:cond_1
check-cast p1, Ljava/util/List;
.line 6
invoke-virtual {p0}, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->size()I
move-result v0
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v2
if-eq v0, v2, :cond_2
return v1
.line 7
:cond_2
iget-object v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->parent:Lcom/google/common/primitives/ImmutableDoubleArray;
invoke-static {v0}, Lcom/google/common/primitives/ImmutableDoubleArray;->access$100(Lcom/google/common/primitives/ImmutableDoubleArray;)I
move-result v0
.line 8
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_5
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
.line 9
instance-of v3, v2, Ljava/lang/Double;
if-eqz v3, :cond_4
iget-object v3, p0, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->parent:Lcom/google/common/primitives/ImmutableDoubleArray;
invoke-static {v3}, Lcom/google/common/primitives/ImmutableDoubleArray;->access$000(Lcom/google/common/primitives/ImmutableDoubleArray;)[D
move-result-object v3
add-int/lit8 v4, v0, 0x1
aget-wide v5, v3, v0
check-cast v2, Ljava/lang/Double;
invoke-virtual {v2}, Ljava/lang/Double;->doubleValue()D
move-result-wide v2
invoke-static {v5, v6, v2, v3}, Lcom/google/common/primitives/ImmutableDoubleArray;->access$500(DD)Z
move-result v0
if-nez v0, :cond_3
goto :goto_1
:cond_3
move v0, v4
goto :goto_0
:cond_4
:goto_1
return v1
:cond_5
const/4 p1, 0x1
return p1
.end method
.method public get(I)Ljava/lang/Double;
.locals 2
.line 2
iget-object v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->parent:Lcom/google/common/primitives/ImmutableDoubleArray;
invoke-virtual {v0, p1}, Lcom/google/common/primitives/ImmutableDoubleArray;->get(I)D
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic get(I)Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->get(I)Ljava/lang/Double;
move-result-object p1
return-object p1
.end method
.method public hashCode()I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->parent:Lcom/google/common/primitives/ImmutableDoubleArray;
invoke-virtual {v0}, Lcom/google/common/primitives/ImmutableDoubleArray;->hashCode()I
move-result v0
return v0
.end method
.method public indexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Double;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->parent:Lcom/google/common/primitives/ImmutableDoubleArray;
check-cast p1, Ljava/lang/Double;
invoke-virtual {p1}, Ljava/lang/Double;->doubleValue()D
move-result-wide v1
invoke-virtual {v0, v1, v2}, Lcom/google/common/primitives/ImmutableDoubleArray;->indexOf(D)I
move-result p1
goto :goto_0
:cond_0
const/4 p1, -0x1
:goto_0
return p1
.end method
.method public lastIndexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Double;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->parent:Lcom/google/common/primitives/ImmutableDoubleArray;
check-cast p1, Ljava/lang/Double;
invoke-virtual {p1}, Ljava/lang/Double;->doubleValue()D
move-result-wide v1
invoke-virtual {v0, v1, v2}, Lcom/google/common/primitives/ImmutableDoubleArray;->lastIndexOf(D)I
move-result p1
goto :goto_0
:cond_0
const/4 p1, -0x1
:goto_0
return p1
.end method
.method public size()I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->parent:Lcom/google/common/primitives/ImmutableDoubleArray;
invoke-virtual {v0}, Lcom/google/common/primitives/ImmutableDoubleArray;->length()I
move-result v0
return v0
.end method
.method public subList(II)Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(II)",
"Ljava/util/List<",
"Ljava/lang/Double;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->parent:Lcom/google/common/primitives/ImmutableDoubleArray;
invoke-virtual {v0, p1, p2}, Lcom/google/common/primitives/ImmutableDoubleArray;->subArray(II)Lcom/google/common/primitives/ImmutableDoubleArray;
move-result-object p1
invoke-virtual {p1}, Lcom/google/common/primitives/ImmutableDoubleArray;->asList()Ljava/util/List;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$AsList;->parent:Lcom/google/common/primitives/ImmutableDoubleArray;
invoke-virtual {v0}, Lcom/google/common/primitives/ImmutableDoubleArray;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,365 @@
.class public final Lcom/google/common/primitives/ImmutableDoubleArray$Builder;
.super Ljava/lang/Object;
.source "ImmutableDoubleArray.java"
# annotations
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/ImmutableDoubleArray;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Builder"
.end annotation
# instance fields
.field private array:[D
.field private count:I
# direct methods
.method public constructor <init>(I)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 2
iput v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->count:I
.line 3
new-array p1, p1, [D
iput-object p1, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->array:[D
return-void
.end method
.method private ensureRoomFor(I)V
.locals 2
.line 1
iget v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->count:I
add-int/2addr v0, p1
.line 2
iget-object p1, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->array:[D
array-length v1, p1
if-le v0, v1, :cond_0
.line 3
array-length v1, p1
invoke-static {v1, v0}, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->expandedCapacity(II)I
move-result v0
invoke-static {p1, v0}, Ljava/util/Arrays;->copyOf([DI)[D
move-result-object p1
iput-object p1, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->array:[D
:cond_0
return-void
.end method
.method private static expandedCapacity(II)I
.locals 1
if-ltz p1, :cond_2
shr-int/lit8 v0, p0, 0x1
add-int/2addr p0, v0
add-int/lit8 p0, p0, 0x1
if-ge p0, p1, :cond_0
add-int/lit8 p1, p1, -0x1
.line 1
invoke-static {p1}, Ljava/lang/Integer;->highestOneBit(I)I
move-result p0
shl-int/lit8 p0, p0, 0x1
:cond_0
if-gez p0, :cond_1
const p0, 0x7fffffff
:cond_1
return p0
.line 2
:cond_2
new-instance p0, Ljava/lang/AssertionError;
const-string p1, "cannot store more than MAX_VALUE elements"
invoke-direct {p0, p1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw p0
.end method
# virtual methods
.method public add(D)Lcom/google/common/primitives/ImmutableDoubleArray$Builder;
.locals 3
const/4 v0, 0x1
.line 1
invoke-direct {p0, v0}, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->ensureRoomFor(I)V
.line 2
iget-object v1, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->array:[D
iget v2, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->count:I
aput-wide p1, v1, v2
add-int/2addr v2, v0
.line 3
iput v2, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->count:I
return-object p0
.end method
.method public addAll(Lcom/google/common/primitives/ImmutableDoubleArray;)Lcom/google/common/primitives/ImmutableDoubleArray$Builder;
.locals 5
.line 11
invoke-virtual {p1}, Lcom/google/common/primitives/ImmutableDoubleArray;->length()I
move-result v0
invoke-direct {p0, v0}, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->ensureRoomFor(I)V
.line 12
invoke-static {p1}, Lcom/google/common/primitives/ImmutableDoubleArray;->access$000(Lcom/google/common/primitives/ImmutableDoubleArray;)[D
move-result-object v0
invoke-static {p1}, Lcom/google/common/primitives/ImmutableDoubleArray;->access$100(Lcom/google/common/primitives/ImmutableDoubleArray;)I
move-result v1
iget-object v2, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->array:[D
iget v3, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->count:I
invoke-virtual {p1}, Lcom/google/common/primitives/ImmutableDoubleArray;->length()I
move-result v4
invoke-static {v0, v1, v2, v3, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 13
iget v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->count:I
invoke-virtual {p1}, Lcom/google/common/primitives/ImmutableDoubleArray;->length()I
move-result p1
add-int/2addr p1, v0
iput p1, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->count:I
return-object p0
.end method
.method public addAll(Ljava/lang/Iterable;)Lcom/google/common/primitives/ImmutableDoubleArray$Builder;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Iterable<",
"Ljava/lang/Double;",
">;)",
"Lcom/google/common/primitives/ImmutableDoubleArray$Builder;"
}
.end annotation
.line 4
instance-of v0, p1, Ljava/util/Collection;
if-eqz v0, :cond_0
.line 5
check-cast p1, Ljava/util/Collection;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->addAll(Ljava/util/Collection;)Lcom/google/common/primitives/ImmutableDoubleArray$Builder;
move-result-object p1
return-object p1
.line 6
:cond_0
invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_1
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Double;
.line 7
invoke-virtual {v0}, Ljava/lang/Double;->doubleValue()D
move-result-wide v0
invoke-virtual {p0, v0, v1}, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->add(D)Lcom/google/common/primitives/ImmutableDoubleArray$Builder;
goto :goto_0
:cond_1
return-object p0
.end method
.method public addAll(Ljava/util/Collection;)Lcom/google/common/primitives/ImmutableDoubleArray$Builder;
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"Ljava/lang/Double;",
">;)",
"Lcom/google/common/primitives/ImmutableDoubleArray$Builder;"
}
.end annotation
.line 8
invoke-interface {p1}, Ljava/util/Collection;->size()I
move-result v0
invoke-direct {p0, v0}, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->ensureRoomFor(I)V
.line 9
invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Double;
.line 10
iget-object v1, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->array:[D
iget v2, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->count:I
add-int/lit8 v3, v2, 0x1
iput v3, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->count:I
invoke-virtual {v0}, Ljava/lang/Double;->doubleValue()D
move-result-wide v3
aput-wide v3, v1, v2
goto :goto_0
:cond_0
return-object p0
.end method
.method public addAll([D)Lcom/google/common/primitives/ImmutableDoubleArray$Builder;
.locals 4
.line 1
array-length v0, p1
invoke-direct {p0, v0}, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->ensureRoomFor(I)V
.line 2
iget-object v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->array:[D
iget v1, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->count:I
array-length v2, p1
const/4 v3, 0x0
invoke-static {p1, v3, v0, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 3
iget v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->count:I
array-length p1, p1
add-int/2addr v0, p1
iput v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->count:I
return-object p0
.end method
.method public build()Lcom/google/common/primitives/ImmutableDoubleArray;
.locals 5
.annotation runtime Lcom/google/errorprone/annotations/CheckReturnValue;
.end annotation
.line 1
iget v0, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->count:I
if-nez v0, :cond_0
invoke-static {}, Lcom/google/common/primitives/ImmutableDoubleArray;->access$200()Lcom/google/common/primitives/ImmutableDoubleArray;
move-result-object v0
goto :goto_0
:cond_0
new-instance v0, Lcom/google/common/primitives/ImmutableDoubleArray;
iget-object v1, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->array:[D
const/4 v2, 0x0
iget v3, p0, Lcom/google/common/primitives/ImmutableDoubleArray$Builder;->count:I
const/4 v4, 0x0
invoke-direct {v0, v1, v2, v3, v4}, Lcom/google/common/primitives/ImmutableDoubleArray;-><init>([DIILcom/google/common/primitives/ImmutableDoubleArray$1;)V
:goto_0
return-object v0
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,14 @@
.class synthetic Lcom/google/common/primitives/ImmutableIntArray$1;
.super Ljava/lang/Object;
.source "ImmutableIntArray.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/ImmutableIntArray;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
@@ -0,0 +1,357 @@
.class Lcom/google/common/primitives/ImmutableIntArray$AsList;
.super Ljava/util/AbstractList;
.source "ImmutableIntArray.java"
# interfaces
.implements Ljava/util/RandomAccess;
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/ImmutableIntArray;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "AsList"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractList<",
"Ljava/lang/Integer;",
">;",
"Ljava/util/RandomAccess;",
"Ljava/io/Serializable;"
}
.end annotation
# instance fields
.field private final parent:Lcom/google/common/primitives/ImmutableIntArray;
# direct methods
.method private constructor <init>(Lcom/google/common/primitives/ImmutableIntArray;)V
.locals 0
.line 2
invoke-direct {p0}, Ljava/util/AbstractList;-><init>()V
.line 3
iput-object p1, p0, Lcom/google/common/primitives/ImmutableIntArray$AsList;->parent:Lcom/google/common/primitives/ImmutableIntArray;
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/common/primitives/ImmutableIntArray;Lcom/google/common/primitives/ImmutableIntArray$1;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/common/primitives/ImmutableIntArray$AsList;-><init>(Lcom/google/common/primitives/ImmutableIntArray;)V
return-void
.end method
# virtual methods
.method public contains(Ljava/lang/Object;)Z
.locals 0
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/primitives/ImmutableIntArray$AsList;->indexOf(Ljava/lang/Object;)I
move-result p1
if-ltz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 5
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Lcom/google/common/primitives/ImmutableIntArray$AsList;
if-eqz v0, :cond_0
.line 2
check-cast p1, Lcom/google/common/primitives/ImmutableIntArray$AsList;
.line 3
iget-object v0, p0, Lcom/google/common/primitives/ImmutableIntArray$AsList;->parent:Lcom/google/common/primitives/ImmutableIntArray;
iget-object p1, p1, Lcom/google/common/primitives/ImmutableIntArray$AsList;->parent:Lcom/google/common/primitives/ImmutableIntArray;
invoke-virtual {v0, p1}, Lcom/google/common/primitives/ImmutableIntArray;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.line 4
:cond_0
instance-of v0, p1, Ljava/util/List;
const/4 v1, 0x0
if-nez v0, :cond_1
return v1
.line 5
:cond_1
check-cast p1, Ljava/util/List;
.line 6
invoke-virtual {p0}, Lcom/google/common/primitives/ImmutableIntArray$AsList;->size()I
move-result v0
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v2
if-eq v0, v2, :cond_2
return v1
.line 7
:cond_2
iget-object v0, p0, Lcom/google/common/primitives/ImmutableIntArray$AsList;->parent:Lcom/google/common/primitives/ImmutableIntArray;
invoke-static {v0}, Lcom/google/common/primitives/ImmutableIntArray;->access$100(Lcom/google/common/primitives/ImmutableIntArray;)I
move-result v0
.line 8
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_5
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
.line 9
instance-of v3, v2, Ljava/lang/Integer;
if-eqz v3, :cond_4
iget-object v3, p0, Lcom/google/common/primitives/ImmutableIntArray$AsList;->parent:Lcom/google/common/primitives/ImmutableIntArray;
invoke-static {v3}, Lcom/google/common/primitives/ImmutableIntArray;->access$000(Lcom/google/common/primitives/ImmutableIntArray;)[I
move-result-object v3
add-int/lit8 v4, v0, 0x1
aget v0, v3, v0
check-cast v2, Ljava/lang/Integer;
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v2
if-eq v0, v2, :cond_3
goto :goto_1
:cond_3
move v0, v4
goto :goto_0
:cond_4
:goto_1
return v1
:cond_5
const/4 p1, 0x1
return p1
.end method
.method public get(I)Ljava/lang/Integer;
.locals 1
.line 2
iget-object v0, p0, Lcom/google/common/primitives/ImmutableIntArray$AsList;->parent:Lcom/google/common/primitives/ImmutableIntArray;
invoke-virtual {v0, p1}, Lcom/google/common/primitives/ImmutableIntArray;->get(I)I
move-result p1
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic get(I)Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/primitives/ImmutableIntArray$AsList;->get(I)Ljava/lang/Integer;
move-result-object p1
return-object p1
.end method
.method public hashCode()I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/primitives/ImmutableIntArray$AsList;->parent:Lcom/google/common/primitives/ImmutableIntArray;
invoke-virtual {v0}, Lcom/google/common/primitives/ImmutableIntArray;->hashCode()I
move-result v0
return v0
.end method
.method public indexOf(Ljava/lang/Object;)I
.locals 1
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Integer;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/primitives/ImmutableIntArray$AsList;->parent:Lcom/google/common/primitives/ImmutableIntArray;
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
invoke-virtual {v0, p1}, Lcom/google/common/primitives/ImmutableIntArray;->indexOf(I)I
move-result p1
goto :goto_0
:cond_0
const/4 p1, -0x1
:goto_0
return p1
.end method
.method public lastIndexOf(Ljava/lang/Object;)I
.locals 1
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Integer;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/primitives/ImmutableIntArray$AsList;->parent:Lcom/google/common/primitives/ImmutableIntArray;
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
invoke-virtual {v0, p1}, Lcom/google/common/primitives/ImmutableIntArray;->lastIndexOf(I)I
move-result p1
goto :goto_0
:cond_0
const/4 p1, -0x1
:goto_0
return p1
.end method
.method public size()I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/primitives/ImmutableIntArray$AsList;->parent:Lcom/google/common/primitives/ImmutableIntArray;
invoke-virtual {v0}, Lcom/google/common/primitives/ImmutableIntArray;->length()I
move-result v0
return v0
.end method
.method public subList(II)Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(II)",
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/primitives/ImmutableIntArray$AsList;->parent:Lcom/google/common/primitives/ImmutableIntArray;
invoke-virtual {v0, p1, p2}, Lcom/google/common/primitives/ImmutableIntArray;->subArray(II)Lcom/google/common/primitives/ImmutableIntArray;
move-result-object p1
invoke-virtual {p1}, Lcom/google/common/primitives/ImmutableIntArray;->asList()Ljava/util/List;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/primitives/ImmutableIntArray$AsList;->parent:Lcom/google/common/primitives/ImmutableIntArray;
invoke-virtual {v0}, Lcom/google/common/primitives/ImmutableIntArray;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,365 @@
.class public final Lcom/google/common/primitives/ImmutableIntArray$Builder;
.super Ljava/lang/Object;
.source "ImmutableIntArray.java"
# annotations
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/ImmutableIntArray;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Builder"
.end annotation
# instance fields
.field private array:[I
.field private count:I
# direct methods
.method public constructor <init>(I)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 2
iput v0, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->count:I
.line 3
new-array p1, p1, [I
iput-object p1, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->array:[I
return-void
.end method
.method private ensureRoomFor(I)V
.locals 2
.line 1
iget v0, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->count:I
add-int/2addr v0, p1
.line 2
iget-object p1, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->array:[I
array-length v1, p1
if-le v0, v1, :cond_0
.line 3
array-length v1, p1
invoke-static {v1, v0}, Lcom/google/common/primitives/ImmutableIntArray$Builder;->expandedCapacity(II)I
move-result v0
invoke-static {p1, v0}, Ljava/util/Arrays;->copyOf([II)[I
move-result-object p1
iput-object p1, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->array:[I
:cond_0
return-void
.end method
.method private static expandedCapacity(II)I
.locals 1
if-ltz p1, :cond_2
shr-int/lit8 v0, p0, 0x1
add-int/2addr p0, v0
add-int/lit8 p0, p0, 0x1
if-ge p0, p1, :cond_0
add-int/lit8 p1, p1, -0x1
.line 1
invoke-static {p1}, Ljava/lang/Integer;->highestOneBit(I)I
move-result p0
shl-int/lit8 p0, p0, 0x1
:cond_0
if-gez p0, :cond_1
const p0, 0x7fffffff
:cond_1
return p0
.line 2
:cond_2
new-instance p0, Ljava/lang/AssertionError;
const-string p1, "cannot store more than MAX_VALUE elements"
invoke-direct {p0, p1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw p0
.end method
# virtual methods
.method public add(I)Lcom/google/common/primitives/ImmutableIntArray$Builder;
.locals 3
const/4 v0, 0x1
.line 1
invoke-direct {p0, v0}, Lcom/google/common/primitives/ImmutableIntArray$Builder;->ensureRoomFor(I)V
.line 2
iget-object v1, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->array:[I
iget v2, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->count:I
aput p1, v1, v2
add-int/2addr v2, v0
.line 3
iput v2, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->count:I
return-object p0
.end method
.method public addAll(Lcom/google/common/primitives/ImmutableIntArray;)Lcom/google/common/primitives/ImmutableIntArray$Builder;
.locals 5
.line 11
invoke-virtual {p1}, Lcom/google/common/primitives/ImmutableIntArray;->length()I
move-result v0
invoke-direct {p0, v0}, Lcom/google/common/primitives/ImmutableIntArray$Builder;->ensureRoomFor(I)V
.line 12
invoke-static {p1}, Lcom/google/common/primitives/ImmutableIntArray;->access$000(Lcom/google/common/primitives/ImmutableIntArray;)[I
move-result-object v0
invoke-static {p1}, Lcom/google/common/primitives/ImmutableIntArray;->access$100(Lcom/google/common/primitives/ImmutableIntArray;)I
move-result v1
iget-object v2, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->array:[I
iget v3, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->count:I
invoke-virtual {p1}, Lcom/google/common/primitives/ImmutableIntArray;->length()I
move-result v4
invoke-static {v0, v1, v2, v3, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 13
iget v0, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->count:I
invoke-virtual {p1}, Lcom/google/common/primitives/ImmutableIntArray;->length()I
move-result p1
add-int/2addr p1, v0
iput p1, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->count:I
return-object p0
.end method
.method public addAll(Ljava/lang/Iterable;)Lcom/google/common/primitives/ImmutableIntArray$Builder;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Iterable<",
"Ljava/lang/Integer;",
">;)",
"Lcom/google/common/primitives/ImmutableIntArray$Builder;"
}
.end annotation
.line 4
instance-of v0, p1, Ljava/util/Collection;
if-eqz v0, :cond_0
.line 5
check-cast p1, Ljava/util/Collection;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/ImmutableIntArray$Builder;->addAll(Ljava/util/Collection;)Lcom/google/common/primitives/ImmutableIntArray$Builder;
move-result-object p1
return-object p1
.line 6
:cond_0
invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_1
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
.line 7
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
invoke-virtual {p0, v0}, Lcom/google/common/primitives/ImmutableIntArray$Builder;->add(I)Lcom/google/common/primitives/ImmutableIntArray$Builder;
goto :goto_0
:cond_1
return-object p0
.end method
.method public addAll(Ljava/util/Collection;)Lcom/google/common/primitives/ImmutableIntArray$Builder;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"Ljava/lang/Integer;",
">;)",
"Lcom/google/common/primitives/ImmutableIntArray$Builder;"
}
.end annotation
.line 8
invoke-interface {p1}, Ljava/util/Collection;->size()I
move-result v0
invoke-direct {p0, v0}, Lcom/google/common/primitives/ImmutableIntArray$Builder;->ensureRoomFor(I)V
.line 9
invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
.line 10
iget-object v1, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->array:[I
iget v2, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->count:I
add-int/lit8 v3, v2, 0x1
iput v3, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->count:I
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
aput v0, v1, v2
goto :goto_0
:cond_0
return-object p0
.end method
.method public addAll([I)Lcom/google/common/primitives/ImmutableIntArray$Builder;
.locals 4
.line 1
array-length v0, p1
invoke-direct {p0, v0}, Lcom/google/common/primitives/ImmutableIntArray$Builder;->ensureRoomFor(I)V
.line 2
iget-object v0, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->array:[I
iget v1, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->count:I
array-length v2, p1
const/4 v3, 0x0
invoke-static {p1, v3, v0, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 3
iget v0, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->count:I
array-length p1, p1
add-int/2addr v0, p1
iput v0, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->count:I
return-object p0
.end method
.method public build()Lcom/google/common/primitives/ImmutableIntArray;
.locals 5
.annotation runtime Lcom/google/errorprone/annotations/CheckReturnValue;
.end annotation
.line 1
iget v0, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->count:I
if-nez v0, :cond_0
invoke-static {}, Lcom/google/common/primitives/ImmutableIntArray;->access$200()Lcom/google/common/primitives/ImmutableIntArray;
move-result-object v0
goto :goto_0
:cond_0
new-instance v0, Lcom/google/common/primitives/ImmutableIntArray;
iget-object v1, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->array:[I
const/4 v2, 0x0
iget v3, p0, Lcom/google/common/primitives/ImmutableIntArray$Builder;->count:I
const/4 v4, 0x0
invoke-direct {v0, v1, v2, v3, v4}, Lcom/google/common/primitives/ImmutableIntArray;-><init>([IIILcom/google/common/primitives/ImmutableIntArray$1;)V
:goto_0
return-object v0
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,14 @@
.class synthetic Lcom/google/common/primitives/ImmutableLongArray$1;
.super Ljava/lang/Object;
.source "ImmutableLongArray.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/ImmutableLongArray;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
@@ -0,0 +1,359 @@
.class Lcom/google/common/primitives/ImmutableLongArray$AsList;
.super Ljava/util/AbstractList;
.source "ImmutableLongArray.java"
# interfaces
.implements Ljava/util/RandomAccess;
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/ImmutableLongArray;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "AsList"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractList<",
"Ljava/lang/Long;",
">;",
"Ljava/util/RandomAccess;",
"Ljava/io/Serializable;"
}
.end annotation
# instance fields
.field private final parent:Lcom/google/common/primitives/ImmutableLongArray;
# direct methods
.method private constructor <init>(Lcom/google/common/primitives/ImmutableLongArray;)V
.locals 0
.line 2
invoke-direct {p0}, Ljava/util/AbstractList;-><init>()V
.line 3
iput-object p1, p0, Lcom/google/common/primitives/ImmutableLongArray$AsList;->parent:Lcom/google/common/primitives/ImmutableLongArray;
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/common/primitives/ImmutableLongArray;Lcom/google/common/primitives/ImmutableLongArray$1;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/common/primitives/ImmutableLongArray$AsList;-><init>(Lcom/google/common/primitives/ImmutableLongArray;)V
return-void
.end method
# virtual methods
.method public contains(Ljava/lang/Object;)Z
.locals 0
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/primitives/ImmutableLongArray$AsList;->indexOf(Ljava/lang/Object;)I
move-result p1
if-ltz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 7
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Lcom/google/common/primitives/ImmutableLongArray$AsList;
if-eqz v0, :cond_0
.line 2
check-cast p1, Lcom/google/common/primitives/ImmutableLongArray$AsList;
.line 3
iget-object v0, p0, Lcom/google/common/primitives/ImmutableLongArray$AsList;->parent:Lcom/google/common/primitives/ImmutableLongArray;
iget-object p1, p1, Lcom/google/common/primitives/ImmutableLongArray$AsList;->parent:Lcom/google/common/primitives/ImmutableLongArray;
invoke-virtual {v0, p1}, Lcom/google/common/primitives/ImmutableLongArray;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.line 4
:cond_0
instance-of v0, p1, Ljava/util/List;
const/4 v1, 0x0
if-nez v0, :cond_1
return v1
.line 5
:cond_1
check-cast p1, Ljava/util/List;
.line 6
invoke-virtual {p0}, Lcom/google/common/primitives/ImmutableLongArray$AsList;->size()I
move-result v0
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v2
if-eq v0, v2, :cond_2
return v1
.line 7
:cond_2
iget-object v0, p0, Lcom/google/common/primitives/ImmutableLongArray$AsList;->parent:Lcom/google/common/primitives/ImmutableLongArray;
invoke-static {v0}, Lcom/google/common/primitives/ImmutableLongArray;->access$100(Lcom/google/common/primitives/ImmutableLongArray;)I
move-result v0
.line 8
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_5
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
.line 9
instance-of v3, v2, Ljava/lang/Long;
if-eqz v3, :cond_4
iget-object v3, p0, Lcom/google/common/primitives/ImmutableLongArray$AsList;->parent:Lcom/google/common/primitives/ImmutableLongArray;
invoke-static {v3}, Lcom/google/common/primitives/ImmutableLongArray;->access$000(Lcom/google/common/primitives/ImmutableLongArray;)[J
move-result-object v3
add-int/lit8 v4, v0, 0x1
aget-wide v5, v3, v0
check-cast v2, Ljava/lang/Long;
invoke-virtual {v2}, Ljava/lang/Long;->longValue()J
move-result-wide v2
cmp-long v0, v5, v2
if-eqz v0, :cond_3
goto :goto_1
:cond_3
move v0, v4
goto :goto_0
:cond_4
:goto_1
return v1
:cond_5
const/4 p1, 0x1
return p1
.end method
.method public get(I)Ljava/lang/Long;
.locals 2
.line 2
iget-object v0, p0, Lcom/google/common/primitives/ImmutableLongArray$AsList;->parent:Lcom/google/common/primitives/ImmutableLongArray;
invoke-virtual {v0, p1}, Lcom/google/common/primitives/ImmutableLongArray;->get(I)J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic get(I)Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/primitives/ImmutableLongArray$AsList;->get(I)Ljava/lang/Long;
move-result-object p1
return-object p1
.end method
.method public hashCode()I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/primitives/ImmutableLongArray$AsList;->parent:Lcom/google/common/primitives/ImmutableLongArray;
invoke-virtual {v0}, Lcom/google/common/primitives/ImmutableLongArray;->hashCode()I
move-result v0
return v0
.end method
.method public indexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Long;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/primitives/ImmutableLongArray$AsList;->parent:Lcom/google/common/primitives/ImmutableLongArray;
check-cast p1, Ljava/lang/Long;
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Lcom/google/common/primitives/ImmutableLongArray;->indexOf(J)I
move-result p1
goto :goto_0
:cond_0
const/4 p1, -0x1
:goto_0
return p1
.end method
.method public lastIndexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Long;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/primitives/ImmutableLongArray$AsList;->parent:Lcom/google/common/primitives/ImmutableLongArray;
check-cast p1, Ljava/lang/Long;
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Lcom/google/common/primitives/ImmutableLongArray;->lastIndexOf(J)I
move-result p1
goto :goto_0
:cond_0
const/4 p1, -0x1
:goto_0
return p1
.end method
.method public size()I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/primitives/ImmutableLongArray$AsList;->parent:Lcom/google/common/primitives/ImmutableLongArray;
invoke-virtual {v0}, Lcom/google/common/primitives/ImmutableLongArray;->length()I
move-result v0
return v0
.end method
.method public subList(II)Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(II)",
"Ljava/util/List<",
"Ljava/lang/Long;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/primitives/ImmutableLongArray$AsList;->parent:Lcom/google/common/primitives/ImmutableLongArray;
invoke-virtual {v0, p1, p2}, Lcom/google/common/primitives/ImmutableLongArray;->subArray(II)Lcom/google/common/primitives/ImmutableLongArray;
move-result-object p1
invoke-virtual {p1}, Lcom/google/common/primitives/ImmutableLongArray;->asList()Ljava/util/List;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/primitives/ImmutableLongArray$AsList;->parent:Lcom/google/common/primitives/ImmutableLongArray;
invoke-virtual {v0}, Lcom/google/common/primitives/ImmutableLongArray;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,365 @@
.class public final Lcom/google/common/primitives/ImmutableLongArray$Builder;
.super Ljava/lang/Object;
.source "ImmutableLongArray.java"
# annotations
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/ImmutableLongArray;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Builder"
.end annotation
# instance fields
.field private array:[J
.field private count:I
# direct methods
.method public constructor <init>(I)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 2
iput v0, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->count:I
.line 3
new-array p1, p1, [J
iput-object p1, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->array:[J
return-void
.end method
.method private ensureRoomFor(I)V
.locals 2
.line 1
iget v0, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->count:I
add-int/2addr v0, p1
.line 2
iget-object p1, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->array:[J
array-length v1, p1
if-le v0, v1, :cond_0
.line 3
array-length v1, p1
invoke-static {v1, v0}, Lcom/google/common/primitives/ImmutableLongArray$Builder;->expandedCapacity(II)I
move-result v0
invoke-static {p1, v0}, Ljava/util/Arrays;->copyOf([JI)[J
move-result-object p1
iput-object p1, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->array:[J
:cond_0
return-void
.end method
.method private static expandedCapacity(II)I
.locals 1
if-ltz p1, :cond_2
shr-int/lit8 v0, p0, 0x1
add-int/2addr p0, v0
add-int/lit8 p0, p0, 0x1
if-ge p0, p1, :cond_0
add-int/lit8 p1, p1, -0x1
.line 1
invoke-static {p1}, Ljava/lang/Integer;->highestOneBit(I)I
move-result p0
shl-int/lit8 p0, p0, 0x1
:cond_0
if-gez p0, :cond_1
const p0, 0x7fffffff
:cond_1
return p0
.line 2
:cond_2
new-instance p0, Ljava/lang/AssertionError;
const-string p1, "cannot store more than MAX_VALUE elements"
invoke-direct {p0, p1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw p0
.end method
# virtual methods
.method public add(J)Lcom/google/common/primitives/ImmutableLongArray$Builder;
.locals 3
const/4 v0, 0x1
.line 1
invoke-direct {p0, v0}, Lcom/google/common/primitives/ImmutableLongArray$Builder;->ensureRoomFor(I)V
.line 2
iget-object v1, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->array:[J
iget v2, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->count:I
aput-wide p1, v1, v2
add-int/2addr v2, v0
.line 3
iput v2, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->count:I
return-object p0
.end method
.method public addAll(Lcom/google/common/primitives/ImmutableLongArray;)Lcom/google/common/primitives/ImmutableLongArray$Builder;
.locals 5
.line 11
invoke-virtual {p1}, Lcom/google/common/primitives/ImmutableLongArray;->length()I
move-result v0
invoke-direct {p0, v0}, Lcom/google/common/primitives/ImmutableLongArray$Builder;->ensureRoomFor(I)V
.line 12
invoke-static {p1}, Lcom/google/common/primitives/ImmutableLongArray;->access$000(Lcom/google/common/primitives/ImmutableLongArray;)[J
move-result-object v0
invoke-static {p1}, Lcom/google/common/primitives/ImmutableLongArray;->access$100(Lcom/google/common/primitives/ImmutableLongArray;)I
move-result v1
iget-object v2, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->array:[J
iget v3, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->count:I
invoke-virtual {p1}, Lcom/google/common/primitives/ImmutableLongArray;->length()I
move-result v4
invoke-static {v0, v1, v2, v3, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 13
iget v0, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->count:I
invoke-virtual {p1}, Lcom/google/common/primitives/ImmutableLongArray;->length()I
move-result p1
add-int/2addr p1, v0
iput p1, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->count:I
return-object p0
.end method
.method public addAll(Ljava/lang/Iterable;)Lcom/google/common/primitives/ImmutableLongArray$Builder;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Iterable<",
"Ljava/lang/Long;",
">;)",
"Lcom/google/common/primitives/ImmutableLongArray$Builder;"
}
.end annotation
.line 4
instance-of v0, p1, Ljava/util/Collection;
if-eqz v0, :cond_0
.line 5
check-cast p1, Ljava/util/Collection;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/ImmutableLongArray$Builder;->addAll(Ljava/util/Collection;)Lcom/google/common/primitives/ImmutableLongArray$Builder;
move-result-object p1
return-object p1
.line 6
:cond_0
invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_1
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Long;
.line 7
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-virtual {p0, v0, v1}, Lcom/google/common/primitives/ImmutableLongArray$Builder;->add(J)Lcom/google/common/primitives/ImmutableLongArray$Builder;
goto :goto_0
:cond_1
return-object p0
.end method
.method public addAll(Ljava/util/Collection;)Lcom/google/common/primitives/ImmutableLongArray$Builder;
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"Ljava/lang/Long;",
">;)",
"Lcom/google/common/primitives/ImmutableLongArray$Builder;"
}
.end annotation
.line 8
invoke-interface {p1}, Ljava/util/Collection;->size()I
move-result v0
invoke-direct {p0, v0}, Lcom/google/common/primitives/ImmutableLongArray$Builder;->ensureRoomFor(I)V
.line 9
invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Long;
.line 10
iget-object v1, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->array:[J
iget v2, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->count:I
add-int/lit8 v3, v2, 0x1
iput v3, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->count:I
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v3
aput-wide v3, v1, v2
goto :goto_0
:cond_0
return-object p0
.end method
.method public addAll([J)Lcom/google/common/primitives/ImmutableLongArray$Builder;
.locals 4
.line 1
array-length v0, p1
invoke-direct {p0, v0}, Lcom/google/common/primitives/ImmutableLongArray$Builder;->ensureRoomFor(I)V
.line 2
iget-object v0, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->array:[J
iget v1, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->count:I
array-length v2, p1
const/4 v3, 0x0
invoke-static {p1, v3, v0, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 3
iget v0, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->count:I
array-length p1, p1
add-int/2addr v0, p1
iput v0, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->count:I
return-object p0
.end method
.method public build()Lcom/google/common/primitives/ImmutableLongArray;
.locals 5
.annotation runtime Lcom/google/errorprone/annotations/CheckReturnValue;
.end annotation
.line 1
iget v0, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->count:I
if-nez v0, :cond_0
invoke-static {}, Lcom/google/common/primitives/ImmutableLongArray;->access$200()Lcom/google/common/primitives/ImmutableLongArray;
move-result-object v0
goto :goto_0
:cond_0
new-instance v0, Lcom/google/common/primitives/ImmutableLongArray;
iget-object v1, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->array:[J
const/4 v2, 0x0
iget v3, p0, Lcom/google/common/primitives/ImmutableLongArray$Builder;->count:I
const/4 v4, 0x0
invoke-direct {v0, v1, v2, v3, v4}, Lcom/google/common/primitives/ImmutableLongArray;-><init>([JIILcom/google/common/primitives/ImmutableLongArray$1;)V
:goto_0
return-object v0
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,563 @@
.class Lcom/google/common/primitives/Ints$IntArrayAsList;
.super Ljava/util/AbstractList;
.source "Ints.java"
# interfaces
.implements Ljava/util/RandomAccess;
.implements Ljava/io/Serializable;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Ints;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "IntArrayAsList"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractList<",
"Ljava/lang/Integer;",
">;",
"Ljava/util/RandomAccess;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final array:[I
.field public final end:I
.field public final start:I
# direct methods
.method public constructor <init>([I)V
.locals 2
.line 1
array-length v0, p1
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Lcom/google/common/primitives/Ints$IntArrayAsList;-><init>([III)V
return-void
.end method
.method public constructor <init>([III)V
.locals 0
.line 2
invoke-direct {p0}, Ljava/util/AbstractList;-><init>()V
.line 3
iput-object p1, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->array:[I
.line 4
iput p2, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
.line 5
iput p3, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->end:I
return-void
.end method
# virtual methods
.method public contains(Ljava/lang/Object;)Z
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Integer;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->array:[I
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
iget v1, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Ints;->access$000([IIII)I
move-result p1
const/4 v0, -0x1
if-eq p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 7
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
const/4 v0, 0x1
if-ne p1, p0, :cond_0
return v0
.line 1
:cond_0
instance-of v1, p1, Lcom/google/common/primitives/Ints$IntArrayAsList;
if-eqz v1, :cond_4
.line 2
check-cast p1, Lcom/google/common/primitives/Ints$IntArrayAsList;
.line 3
invoke-virtual {p0}, Lcom/google/common/primitives/Ints$IntArrayAsList;->size()I
move-result v1
.line 4
invoke-virtual {p1}, Lcom/google/common/primitives/Ints$IntArrayAsList;->size()I
move-result v2
const/4 v3, 0x0
if-eq v2, v1, :cond_1
return v3
:cond_1
move v2, v3
:goto_0
if-ge v2, v1, :cond_3
.line 5
iget-object v4, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->array:[I
iget v5, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
add-int/2addr v5, v2
aget v4, v4, v5
iget-object v5, p1, Lcom/google/common/primitives/Ints$IntArrayAsList;->array:[I
iget v6, p1, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
add-int/2addr v6, v2
aget v5, v5, v6
if-eq v4, v5, :cond_2
return v3
:cond_2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_3
return v0
.line 6
:cond_4
invoke-super {p0, p1}, Ljava/util/AbstractList;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public get(I)Ljava/lang/Integer;
.locals 2
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Ints$IntArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->array:[I
iget v1, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
add-int/2addr v1, p1
aget p1, v0, v1
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic get(I)Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Ints$IntArrayAsList;->get(I)Ljava/lang/Integer;
move-result-object p1
return-object p1
.end method
.method public hashCode()I
.locals 3
.line 1
iget v0, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
const/4 v1, 0x1
:goto_0
iget v2, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->end:I
if-ge v0, v2, :cond_0
mul-int/lit8 v1, v1, 0x1f
.line 2
iget-object v2, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->array:[I
aget v2, v2, v0
invoke-static {v2}, Lcom/google/common/primitives/Ints;->hashCode(I)I
move-result v2
add-int/2addr v1, v2
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_0
return v1
.end method
.method public indexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Integer;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->array:[I
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
iget v1, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Ints;->access$000([IIII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public isEmpty()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public lastIndexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Integer;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->array:[I
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
iget v1, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Ints;->access$100([IIII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public set(ILjava/lang/Integer;)Ljava/lang/Integer;
.locals 3
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Ints$IntArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->array:[I
iget v1, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
add-int v2, v1, p1
aget v2, v0, v2
add-int/2addr v1, p1
.line 4
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I
move-result p1
aput p1, v0, v1
.line 5
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic set(ILjava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p2, Ljava/lang/Integer;
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Ints$IntArrayAsList;->set(ILjava/lang/Integer;)Ljava/lang/Integer;
move-result-object p1
return-object p1
.end method
.method public size()I
.locals 2
.line 1
iget v0, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->end:I
iget v1, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
sub-int/2addr v0, v1
return v0
.end method
.method public subList(II)Ljava/util/List;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(II)",
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/common/primitives/Ints$IntArrayAsList;->size()I
move-result v0
.line 2
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
if-ne p1, p2, :cond_0
.line 3
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p1
return-object p1
.line 4
:cond_0
new-instance v0, Lcom/google/common/primitives/Ints$IntArrayAsList;
iget-object v1, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->array:[I
iget v2, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
add-int/2addr p1, v2
add-int/2addr v2, p2
invoke-direct {v0, v1, p1, v2}, Lcom/google/common/primitives/Ints$IntArrayAsList;-><init>([III)V
return-object v0
.end method
.method public toIntArray()[I
.locals 3
.line 1
iget-object v0, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->array:[I
iget v1, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->end:I
invoke-static {v0, v1, v2}, Ljava/util/Arrays;->copyOfRange([III)[I
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/common/primitives/Ints$IntArrayAsList;->size()I
move-result v1
mul-int/lit8 v1, v1, 0x5
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/16 v1, 0x5b
.line 2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->array:[I
iget v2, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
aget v1, v1, v2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 3
iget v1, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->start:I
:goto_0
add-int/lit8 v1, v1, 0x1
iget v2, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->end:I
if-ge v1, v2, :cond_0
const-string v2, ", "
.line 4
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/google/common/primitives/Ints$IntArrayAsList;->array:[I
aget v2, v2, v1
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
goto :goto_0
:cond_0
const/16 v1, 0x5d
.line 5
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,124 @@
.class final Lcom/google/common/primitives/Ints$IntConverter;
.super Lcom/google/common/base/Converter;
.source "Ints.java"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Ints;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "IntConverter"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/base/Converter<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field public static final INSTANCE:Lcom/google/common/primitives/Ints$IntConverter;
.field private static final serialVersionUID:J = 0x1L
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/common/primitives/Ints$IntConverter;
invoke-direct {v0}, Lcom/google/common/primitives/Ints$IntConverter;-><init>()V
sput-object v0, Lcom/google/common/primitives/Ints$IntConverter;->INSTANCE:Lcom/google/common/primitives/Ints$IntConverter;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/common/base/Converter;-><init>()V
return-void
.end method
.method private readResolve()Ljava/lang/Object;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/Ints$IntConverter;->INSTANCE:Lcom/google/common/primitives/Ints$IntConverter;
return-object v0
.end method
# virtual methods
.method public bridge synthetic doBackward(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/Integer;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Ints$IntConverter;->doBackward(Ljava/lang/Integer;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public doBackward(Ljava/lang/Integer;)Ljava/lang/String;
.locals 0
.line 2
invoke-virtual {p1}, Ljava/lang/Integer;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public doForward(Ljava/lang/String;)Ljava/lang/Integer;
.locals 0
.line 2
invoke-static {p1}, Ljava/lang/Integer;->decode(Ljava/lang/String;)Ljava/lang/Integer;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic doForward(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/String;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Ints$IntConverter;->doForward(Ljava/lang/String;)Ljava/lang/Integer;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "Ints.stringConverter()"
return-object v0
.end method
@@ -0,0 +1,191 @@
.class final enum Lcom/google/common/primitives/Ints$LexicographicalComparator;
.super Ljava/lang/Enum;
.source "Ints.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Ints;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "LexicographicalComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/common/primitives/Ints$LexicographicalComparator;",
">;",
"Ljava/util/Comparator<",
"[I>;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/primitives/Ints$LexicographicalComparator;
.field public static final enum INSTANCE:Lcom/google/common/primitives/Ints$LexicographicalComparator;
# direct methods
.method private static synthetic $values()[Lcom/google/common/primitives/Ints$LexicographicalComparator;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/google/common/primitives/Ints$LexicographicalComparator;
.line 1
sget-object v1, Lcom/google/common/primitives/Ints$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Ints$LexicographicalComparator;
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/primitives/Ints$LexicographicalComparator;
const-string v1, "INSTANCE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/primitives/Ints$LexicographicalComparator;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/primitives/Ints$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Ints$LexicographicalComparator;
.line 2
invoke-static {}, Lcom/google/common/primitives/Ints$LexicographicalComparator;->$values()[Lcom/google/common/primitives/Ints$LexicographicalComparator;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/Ints$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/Ints$LexicographicalComparator;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/Ints$LexicographicalComparator;
.locals 1
.line 1
const-class v0, Lcom/google/common/primitives/Ints$LexicographicalComparator;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/common/primitives/Ints$LexicographicalComparator;
return-object p0
.end method
.method public static values()[Lcom/google/common/primitives/Ints$LexicographicalComparator;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/Ints$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/Ints$LexicographicalComparator;
invoke-virtual {v0}, [Lcom/google/common/primitives/Ints$LexicographicalComparator;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/primitives/Ints$LexicographicalComparator;
return-object v0
.end method
# virtual methods
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, [I
check-cast p2, [I
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Ints$LexicographicalComparator;->compare([I[I)I
move-result p1
return p1
.end method
.method public compare([I[I)I
.locals 4
.line 2
array-length v0, p1
array-length v1, p2
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 3
aget v2, p1, v1
aget v3, p2, v1
invoke-static {v2, v3}, Lcom/google/common/primitives/Ints;->compare(II)I
move-result v2
if-eqz v2, :cond_0
return v2
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4
:cond_1
array-length p1, p1
array-length p2, p2
sub-int/2addr p1, p2
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "Ints.lexicographicalComparator()"
return-object v0
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,23 @@
.class abstract Lcom/google/common/primitives/IntsMethodsForWeb;
.super Ljava/lang/Object;
.source "IntsMethodsForWeb.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
emulated = true
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
@@ -0,0 +1,113 @@
.class final Lcom/google/common/primitives/Longs$AsciiDigits;
.super Ljava/lang/Object;
.source "Longs.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Longs;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "AsciiDigits"
.end annotation
# static fields
.field private static final asciiDigits:[B
# direct methods
.method public static constructor <clinit>()V
.locals 5
const/16 v0, 0x80
new-array v0, v0, [B
const/4 v1, -0x1
.line 1
invoke-static {v0, v1}, Ljava/util/Arrays;->fill([BB)V
const/4 v1, 0x0
move v2, v1
:goto_0
const/16 v3, 0xa
if-ge v2, v3, :cond_0
add-int/lit8 v3, v2, 0x30
int-to-byte v4, v2
.line 2
aput-byte v4, v0, v3
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
:goto_1
const/16 v2, 0x1a
if-ge v1, v2, :cond_1
add-int/lit8 v2, v1, 0x41
add-int/lit8 v3, v1, 0xa
int-to-byte v3, v3
.line 3
aput-byte v3, v0, v2
add-int/lit8 v2, v1, 0x61
.line 4
aput-byte v3, v0, v2
add-int/lit8 v1, v1, 0x1
goto :goto_1
.line 5
:cond_1
sput-object v0, Lcom/google/common/primitives/Longs$AsciiDigits;->asciiDigits:[B
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static digit(C)I
.locals 1
const/16 v0, 0x80
if-ge p0, v0, :cond_0
.line 1
sget-object v0, Lcom/google/common/primitives/Longs$AsciiDigits;->asciiDigits:[B
aget-byte p0, v0, p0
goto :goto_0
:cond_0
const/4 p0, -0x1
:goto_0
return p0
.end method
@@ -0,0 +1,191 @@
.class final enum Lcom/google/common/primitives/Longs$LexicographicalComparator;
.super Ljava/lang/Enum;
.source "Longs.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Longs;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "LexicographicalComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/common/primitives/Longs$LexicographicalComparator;",
">;",
"Ljava/util/Comparator<",
"[J>;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/primitives/Longs$LexicographicalComparator;
.field public static final enum INSTANCE:Lcom/google/common/primitives/Longs$LexicographicalComparator;
# direct methods
.method private static synthetic $values()[Lcom/google/common/primitives/Longs$LexicographicalComparator;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/google/common/primitives/Longs$LexicographicalComparator;
.line 1
sget-object v1, Lcom/google/common/primitives/Longs$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Longs$LexicographicalComparator;
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/primitives/Longs$LexicographicalComparator;
const-string v1, "INSTANCE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/primitives/Longs$LexicographicalComparator;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/primitives/Longs$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Longs$LexicographicalComparator;
.line 2
invoke-static {}, Lcom/google/common/primitives/Longs$LexicographicalComparator;->$values()[Lcom/google/common/primitives/Longs$LexicographicalComparator;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/Longs$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/Longs$LexicographicalComparator;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/Longs$LexicographicalComparator;
.locals 1
.line 1
const-class v0, Lcom/google/common/primitives/Longs$LexicographicalComparator;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/common/primitives/Longs$LexicographicalComparator;
return-object p0
.end method
.method public static values()[Lcom/google/common/primitives/Longs$LexicographicalComparator;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/Longs$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/Longs$LexicographicalComparator;
invoke-virtual {v0}, [Lcom/google/common/primitives/Longs$LexicographicalComparator;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/primitives/Longs$LexicographicalComparator;
return-object v0
.end method
# virtual methods
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, [J
check-cast p2, [J
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Longs$LexicographicalComparator;->compare([J[J)I
move-result p1
return p1
.end method
.method public compare([J[J)I
.locals 6
.line 2
array-length v0, p1
array-length v1, p2
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 3
aget-wide v2, p1, v1
aget-wide v4, p2, v1
invoke-static {v2, v3, v4, v5}, Lcom/google/common/primitives/Longs;->compare(JJ)I
move-result v2
if-eqz v2, :cond_0
return v2
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4
:cond_1
array-length p1, p1
array-length p2, p2
sub-int/2addr p1, p2
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "Longs.lexicographicalComparator()"
return-object v0
.end method
@@ -0,0 +1,565 @@
.class Lcom/google/common/primitives/Longs$LongArrayAsList;
.super Ljava/util/AbstractList;
.source "Longs.java"
# interfaces
.implements Ljava/util/RandomAccess;
.implements Ljava/io/Serializable;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Longs;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "LongArrayAsList"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractList<",
"Ljava/lang/Long;",
">;",
"Ljava/util/RandomAccess;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final array:[J
.field public final end:I
.field public final start:I
# direct methods
.method public constructor <init>([J)V
.locals 2
.line 1
array-length v0, p1
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Lcom/google/common/primitives/Longs$LongArrayAsList;-><init>([JII)V
return-void
.end method
.method public constructor <init>([JII)V
.locals 0
.line 2
invoke-direct {p0}, Ljava/util/AbstractList;-><init>()V
.line 3
iput-object p1, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->array:[J
.line 4
iput p2, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
.line 5
iput p3, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->end:I
return-void
.end method
# virtual methods
.method public contains(Ljava/lang/Object;)Z
.locals 4
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Long;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->array:[J
check-cast p1, Ljava/lang/Long;
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v1
iget p1, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
iget v3, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->end:I
invoke-static {v0, v1, v2, p1, v3}, Lcom/google/common/primitives/Longs;->access$000([JJII)I
move-result p1
const/4 v0, -0x1
if-eq p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 9
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
const/4 v0, 0x1
if-ne p1, p0, :cond_0
return v0
.line 1
:cond_0
instance-of v1, p1, Lcom/google/common/primitives/Longs$LongArrayAsList;
if-eqz v1, :cond_4
.line 2
check-cast p1, Lcom/google/common/primitives/Longs$LongArrayAsList;
.line 3
invoke-virtual {p0}, Lcom/google/common/primitives/Longs$LongArrayAsList;->size()I
move-result v1
.line 4
invoke-virtual {p1}, Lcom/google/common/primitives/Longs$LongArrayAsList;->size()I
move-result v2
const/4 v3, 0x0
if-eq v2, v1, :cond_1
return v3
:cond_1
move v2, v3
:goto_0
if-ge v2, v1, :cond_3
.line 5
iget-object v4, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->array:[J
iget v5, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
add-int/2addr v5, v2
aget-wide v5, v4, v5
iget-object v4, p1, Lcom/google/common/primitives/Longs$LongArrayAsList;->array:[J
iget v7, p1, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
add-int/2addr v7, v2
aget-wide v7, v4, v7
cmp-long v4, v5, v7
if-eqz v4, :cond_2
return v3
:cond_2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_3
return v0
.line 6
:cond_4
invoke-super {p0, p1}, Ljava/util/AbstractList;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public get(I)Ljava/lang/Long;
.locals 3
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Longs$LongArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->array:[J
iget v1, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
add-int/2addr v1, p1
aget-wide v1, v0, v1
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic get(I)Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Longs$LongArrayAsList;->get(I)Ljava/lang/Long;
move-result-object p1
return-object p1
.end method
.method public hashCode()I
.locals 5
.line 1
iget v0, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
const/4 v1, 0x1
:goto_0
iget v2, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->end:I
if-ge v0, v2, :cond_0
mul-int/lit8 v1, v1, 0x1f
.line 2
iget-object v2, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->array:[J
aget-wide v3, v2, v0
invoke-static {v3, v4}, Lcom/google/common/primitives/Longs;->hashCode(J)I
move-result v2
add-int/2addr v1, v2
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_0
return v1
.end method
.method public indexOf(Ljava/lang/Object;)I
.locals 4
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Long;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->array:[J
check-cast p1, Ljava/lang/Long;
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v1
iget p1, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
iget v3, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->end:I
invoke-static {v0, v1, v2, p1, v3}, Lcom/google/common/primitives/Longs;->access$000([JJII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public isEmpty()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public lastIndexOf(Ljava/lang/Object;)I
.locals 4
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Long;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->array:[J
check-cast p1, Ljava/lang/Long;
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v1
iget p1, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
iget v3, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->end:I
invoke-static {v0, v1, v2, p1, v3}, Lcom/google/common/primitives/Longs;->access$100([JJII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public set(ILjava/lang/Long;)Ljava/lang/Long;
.locals 4
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Longs$LongArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->array:[J
iget v1, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
add-int v2, v1, p1
aget-wide v2, v0, v2
add-int/2addr v1, p1
.line 4
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Long;
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide p1
aput-wide p1, v0, v1
.line 5
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic set(ILjava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p2, Ljava/lang/Long;
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Longs$LongArrayAsList;->set(ILjava/lang/Long;)Ljava/lang/Long;
move-result-object p1
return-object p1
.end method
.method public size()I
.locals 2
.line 1
iget v0, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->end:I
iget v1, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
sub-int/2addr v0, v1
return v0
.end method
.method public subList(II)Ljava/util/List;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(II)",
"Ljava/util/List<",
"Ljava/lang/Long;",
">;"
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/common/primitives/Longs$LongArrayAsList;->size()I
move-result v0
.line 2
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
if-ne p1, p2, :cond_0
.line 3
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p1
return-object p1
.line 4
:cond_0
new-instance v0, Lcom/google/common/primitives/Longs$LongArrayAsList;
iget-object v1, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->array:[J
iget v2, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
add-int/2addr p1, v2
add-int/2addr v2, p2
invoke-direct {v0, v1, p1, v2}, Lcom/google/common/primitives/Longs$LongArrayAsList;-><init>([JII)V
return-object v0
.end method
.method public toLongArray()[J
.locals 3
.line 1
iget-object v0, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->array:[J
iget v1, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->end:I
invoke-static {v0, v1, v2}, Ljava/util/Arrays;->copyOfRange([JII)[J
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 5
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/common/primitives/Longs$LongArrayAsList;->size()I
move-result v1
mul-int/lit8 v1, v1, 0xa
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/16 v1, 0x5b
.line 2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->array:[J
iget v2, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
aget-wide v2, v1, v2
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
.line 3
iget v1, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->start:I
:goto_0
add-int/lit8 v1, v1, 0x1
iget v2, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->end:I
if-ge v1, v2, :cond_0
const-string v2, ", "
.line 4
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/google/common/primitives/Longs$LongArrayAsList;->array:[J
aget-wide v3, v2, v1
invoke-virtual {v0, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
goto :goto_0
:cond_0
const/16 v1, 0x5d
.line 5
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,124 @@
.class final Lcom/google/common/primitives/Longs$LongConverter;
.super Lcom/google/common/base/Converter;
.source "Longs.java"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Longs;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "LongConverter"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/base/Converter<",
"Ljava/lang/String;",
"Ljava/lang/Long;",
">;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field public static final INSTANCE:Lcom/google/common/primitives/Longs$LongConverter;
.field private static final serialVersionUID:J = 0x1L
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/common/primitives/Longs$LongConverter;
invoke-direct {v0}, Lcom/google/common/primitives/Longs$LongConverter;-><init>()V
sput-object v0, Lcom/google/common/primitives/Longs$LongConverter;->INSTANCE:Lcom/google/common/primitives/Longs$LongConverter;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/common/base/Converter;-><init>()V
return-void
.end method
.method private readResolve()Ljava/lang/Object;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/Longs$LongConverter;->INSTANCE:Lcom/google/common/primitives/Longs$LongConverter;
return-object v0
.end method
# virtual methods
.method public bridge synthetic doBackward(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/Long;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Longs$LongConverter;->doBackward(Ljava/lang/Long;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public doBackward(Ljava/lang/Long;)Ljava/lang/String;
.locals 0
.line 2
invoke-virtual {p1}, Ljava/lang/Long;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public doForward(Ljava/lang/String;)Ljava/lang/Long;
.locals 0
.line 2
invoke-static {p1}, Ljava/lang/Long;->decode(Ljava/lang/String;)Ljava/lang/Long;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic doForward(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/String;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Longs$LongConverter;->doForward(Ljava/lang/String;)Ljava/lang/Long;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "Longs.stringConverter()"
return-object v0
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,30 @@
.class interface abstract annotation Lcom/google/common/primitives/ParametricNullness;
.super Ljava/lang/Object;
.source "ParametricNullness.java"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->RUNTIME:Ljava/lang/annotation/RetentionPolicy;
.end annotation
.annotation runtime Ljava/lang/annotation/Target;
value = {
.enum Ljava/lang/annotation/ElementType;->FIELD:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->METHOD:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->PARAMETER:Ljava/lang/annotation/ElementType;
}
.end annotation
.annotation runtime Ljavax/annotation/Nonnull;
when = .enum Ljavax/annotation/meta/When;->UNKNOWN:Ljavax/annotation/meta/When;
.end annotation
.annotation build Ljavax/annotation/meta/TypeQualifierNickname;
.end annotation
@@ -0,0 +1,140 @@
.class final Lcom/google/common/primitives/ParseRequest;
.super Ljava/lang/Object;
.source "ParseRequest.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
# instance fields
.field public final radix:I
.field public final rawValue:Ljava/lang/String;
# direct methods
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/common/primitives/ParseRequest;->rawValue:Ljava/lang/String;
.line 3
iput p2, p0, Lcom/google/common/primitives/ParseRequest;->radix:I
return-void
.end method
.method public static fromString(Ljava/lang/String;)Lcom/google/common/primitives/ParseRequest;
.locals 4
.line 1
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
if-eqz v0, :cond_4
const/4 v0, 0x0
.line 2
invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
move-result v0
const-string v1, "0x"
.line 3
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
const/16 v2, 0x10
if-nez v1, :cond_3
const-string v1, "0X"
invoke-virtual {p0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_0
goto :goto_0
:cond_0
const/16 v1, 0x23
const/4 v3, 0x1
if-ne v0, v1, :cond_1
.line 4
invoke-virtual {p0, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p0
goto :goto_1
:cond_1
const/16 v1, 0x30
if-ne v0, v1, :cond_2
.line 5
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
if-le v0, v3, :cond_2
.line 6
invoke-virtual {p0, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p0
const/16 v2, 0x8
goto :goto_1
:cond_2
const/16 v2, 0xa
goto :goto_1
:cond_3
:goto_0
const/4 v0, 0x2
.line 7
invoke-virtual {p0, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p0
.line 8
:goto_1
new-instance v0, Lcom/google/common/primitives/ParseRequest;
invoke-direct {v0, p0, v2}, Lcom/google/common/primitives/ParseRequest;-><init>(Ljava/lang/String;I)V
return-object v0
.line 9
:cond_4
new-instance p0, Ljava/lang/NumberFormatException;
const-string v0, "empty string"
invoke-direct {p0, v0}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw p0
.end method
@@ -0,0 +1,29 @@
.class final Lcom/google/common/primitives/Platform;
.super Ljava/lang/Object;
.source "Platform.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
emulated = true
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static checkGwtRpcEnabled()V
.locals 0
return-void
.end method
@@ -0,0 +1,314 @@
.class public final Lcom/google/common/primitives/Primitives;
.super Ljava/lang/Object;
.source "Primitives.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
# static fields
.field private static final PRIMITIVE_TO_WRAPPER_TYPE:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Class<",
"*>;>;"
}
.end annotation
.end field
.field private static final WRAPPER_TO_PRIMITIVE_TYPE:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Class<",
"*>;>;"
}
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 4
.line 1
new-instance v0, Ljava/util/LinkedHashMap;
const/16 v1, 0x10
invoke-direct {v0, v1}, Ljava/util/LinkedHashMap;-><init>(I)V
.line 2
new-instance v2, Ljava/util/LinkedHashMap;
invoke-direct {v2, v1}, Ljava/util/LinkedHashMap;-><init>(I)V
.line 3
sget-object v1, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
const-class v3, Ljava/lang/Boolean;
invoke-static {v0, v2, v1, v3}, Lcom/google/common/primitives/Primitives;->add(Ljava/util/Map;Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)V
.line 4
sget-object v1, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
const-class v3, Ljava/lang/Byte;
invoke-static {v0, v2, v1, v3}, Lcom/google/common/primitives/Primitives;->add(Ljava/util/Map;Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)V
.line 5
sget-object v1, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
const-class v3, Ljava/lang/Character;
invoke-static {v0, v2, v1, v3}, Lcom/google/common/primitives/Primitives;->add(Ljava/util/Map;Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)V
.line 6
sget-object v1, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
const-class v3, Ljava/lang/Double;
invoke-static {v0, v2, v1, v3}, Lcom/google/common/primitives/Primitives;->add(Ljava/util/Map;Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)V
.line 7
sget-object v1, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
const-class v3, Ljava/lang/Float;
invoke-static {v0, v2, v1, v3}, Lcom/google/common/primitives/Primitives;->add(Ljava/util/Map;Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)V
.line 8
sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
const-class v3, Ljava/lang/Integer;
invoke-static {v0, v2, v1, v3}, Lcom/google/common/primitives/Primitives;->add(Ljava/util/Map;Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)V
.line 9
sget-object v1, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
const-class v3, Ljava/lang/Long;
invoke-static {v0, v2, v1, v3}, Lcom/google/common/primitives/Primitives;->add(Ljava/util/Map;Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)V
.line 10
sget-object v1, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
const-class v3, Ljava/lang/Short;
invoke-static {v0, v2, v1, v3}, Lcom/google/common/primitives/Primitives;->add(Ljava/util/Map;Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)V
.line 11
sget-object v1, Ljava/lang/Void;->TYPE:Ljava/lang/Class;
const-class v3, Ljava/lang/Void;
invoke-static {v0, v2, v1, v3}, Lcom/google/common/primitives/Primitives;->add(Ljava/util/Map;Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)V
.line 12
invoke-static {v0}, Ljava/util/Collections;->unmodifiableMap(Ljava/util/Map;)Ljava/util/Map;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/Primitives;->PRIMITIVE_TO_WRAPPER_TYPE:Ljava/util/Map;
.line 13
invoke-static {v2}, Ljava/util/Collections;->unmodifiableMap(Ljava/util/Map;)Ljava/util/Map;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/Primitives;->WRAPPER_TO_PRIMITIVE_TYPE:Ljava/util/Map;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static add(Ljava/util/Map;Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Class<",
"*>;>;",
"Ljava/util/Map<",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Class<",
"*>;>;",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Class<",
"*>;)V"
}
.end annotation
.line 1
invoke-interface {p0, p2, p3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 2
invoke-interface {p1, p3, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method public static allPrimitiveTypes()Ljava/util/Set;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"Ljava/lang/Class<",
"*>;>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Primitives;->PRIMITIVE_TO_WRAPPER_TYPE:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v0
return-object v0
.end method
.method public static allWrapperTypes()Ljava/util/Set;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"Ljava/lang/Class<",
"*>;>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Primitives;->WRAPPER_TO_PRIMITIVE_TYPE:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v0
return-object v0
.end method
.method public static isWrapperType(Ljava/lang/Class;)Z
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)Z"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Primitives;->WRAPPER_TO_PRIMITIVE_TYPE:Ljava/util/Map;
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
invoke-interface {v0, p0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static unwrap(Ljava/lang/Class;)Ljava/lang/Class;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Class<",
"TT;>;)",
"Ljava/lang/Class<",
"TT;>;"
}
.end annotation
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
sget-object v0, Lcom/google/common/primitives/Primitives;->WRAPPER_TO_PRIMITIVE_TYPE:Ljava/util/Map;
invoke-interface {v0, p0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Class;
if-nez v0, :cond_0
goto :goto_0
:cond_0
move-object p0, v0
:goto_0
return-object p0
.end method
.method public static wrap(Ljava/lang/Class;)Ljava/lang/Class;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Class<",
"TT;>;)",
"Ljava/lang/Class<",
"TT;>;"
}
.end annotation
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
sget-object v0, Lcom/google/common/primitives/Primitives;->PRIMITIVE_TO_WRAPPER_TYPE:Ljava/util/Map;
invoke-interface {v0, p0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Class;
if-nez v0, :cond_0
goto :goto_0
:cond_0
move-object p0, v0
:goto_0
return-object p0
.end method
@@ -0,0 +1,191 @@
.class final enum Lcom/google/common/primitives/Shorts$LexicographicalComparator;
.super Ljava/lang/Enum;
.source "Shorts.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Shorts;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "LexicographicalComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/common/primitives/Shorts$LexicographicalComparator;",
">;",
"Ljava/util/Comparator<",
"[S>;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/primitives/Shorts$LexicographicalComparator;
.field public static final enum INSTANCE:Lcom/google/common/primitives/Shorts$LexicographicalComparator;
# direct methods
.method private static synthetic $values()[Lcom/google/common/primitives/Shorts$LexicographicalComparator;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/google/common/primitives/Shorts$LexicographicalComparator;
.line 1
sget-object v1, Lcom/google/common/primitives/Shorts$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Shorts$LexicographicalComparator;
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/primitives/Shorts$LexicographicalComparator;
const-string v1, "INSTANCE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/primitives/Shorts$LexicographicalComparator;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/primitives/Shorts$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Shorts$LexicographicalComparator;
.line 2
invoke-static {}, Lcom/google/common/primitives/Shorts$LexicographicalComparator;->$values()[Lcom/google/common/primitives/Shorts$LexicographicalComparator;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/Shorts$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/Shorts$LexicographicalComparator;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/Shorts$LexicographicalComparator;
.locals 1
.line 1
const-class v0, Lcom/google/common/primitives/Shorts$LexicographicalComparator;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/common/primitives/Shorts$LexicographicalComparator;
return-object p0
.end method
.method public static values()[Lcom/google/common/primitives/Shorts$LexicographicalComparator;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/Shorts$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/Shorts$LexicographicalComparator;
invoke-virtual {v0}, [Lcom/google/common/primitives/Shorts$LexicographicalComparator;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/primitives/Shorts$LexicographicalComparator;
return-object v0
.end method
# virtual methods
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, [S
check-cast p2, [S
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Shorts$LexicographicalComparator;->compare([S[S)I
move-result p1
return p1
.end method
.method public compare([S[S)I
.locals 4
.line 2
array-length v0, p1
array-length v1, p2
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 3
aget-short v2, p1, v1
aget-short v3, p2, v1
invoke-static {v2, v3}, Lcom/google/common/primitives/Shorts;->compare(SS)I
move-result v2
if-eqz v2, :cond_0
return v2
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4
:cond_1
array-length p1, p1
array-length p2, p2
sub-int/2addr p1, p2
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "Shorts.lexicographicalComparator()"
return-object v0
.end method
@@ -0,0 +1,563 @@
.class Lcom/google/common/primitives/Shorts$ShortArrayAsList;
.super Ljava/util/AbstractList;
.source "Shorts.java"
# interfaces
.implements Ljava/util/RandomAccess;
.implements Ljava/io/Serializable;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Shorts;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "ShortArrayAsList"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractList<",
"Ljava/lang/Short;",
">;",
"Ljava/util/RandomAccess;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final array:[S
.field public final end:I
.field public final start:I
# direct methods
.method public constructor <init>([S)V
.locals 2
.line 1
array-length v0, p1
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Lcom/google/common/primitives/Shorts$ShortArrayAsList;-><init>([SII)V
return-void
.end method
.method public constructor <init>([SII)V
.locals 0
.line 2
invoke-direct {p0}, Ljava/util/AbstractList;-><init>()V
.line 3
iput-object p1, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->array:[S
.line 4
iput p2, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
.line 5
iput p3, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->end:I
return-void
.end method
# virtual methods
.method public contains(Ljava/lang/Object;)Z
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Short;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->array:[S
check-cast p1, Ljava/lang/Short;
invoke-virtual {p1}, Ljava/lang/Short;->shortValue()S
move-result p1
iget v1, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Shorts;->access$000([SSII)I
move-result p1
const/4 v0, -0x1
if-eq p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 7
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
const/4 v0, 0x1
if-ne p1, p0, :cond_0
return v0
.line 1
:cond_0
instance-of v1, p1, Lcom/google/common/primitives/Shorts$ShortArrayAsList;
if-eqz v1, :cond_4
.line 2
check-cast p1, Lcom/google/common/primitives/Shorts$ShortArrayAsList;
.line 3
invoke-virtual {p0}, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->size()I
move-result v1
.line 4
invoke-virtual {p1}, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->size()I
move-result v2
const/4 v3, 0x0
if-eq v2, v1, :cond_1
return v3
:cond_1
move v2, v3
:goto_0
if-ge v2, v1, :cond_3
.line 5
iget-object v4, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->array:[S
iget v5, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
add-int/2addr v5, v2
aget-short v4, v4, v5
iget-object v5, p1, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->array:[S
iget v6, p1, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
add-int/2addr v6, v2
aget-short v5, v5, v6
if-eq v4, v5, :cond_2
return v3
:cond_2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_3
return v0
.line 6
:cond_4
invoke-super {p0, p1}, Ljava/util/AbstractList;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public bridge synthetic get(I)Ljava/lang/Object;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->get(I)Ljava/lang/Short;
move-result-object p1
return-object p1
.end method
.method public get(I)Ljava/lang/Short;
.locals 2
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->array:[S
iget v1, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
add-int/2addr v1, p1
aget-short p1, v0, v1
invoke-static {p1}, Ljava/lang/Short;->valueOf(S)Ljava/lang/Short;
move-result-object p1
return-object p1
.end method
.method public hashCode()I
.locals 3
.line 1
iget v0, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
const/4 v1, 0x1
:goto_0
iget v2, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->end:I
if-ge v0, v2, :cond_0
mul-int/lit8 v1, v1, 0x1f
.line 2
iget-object v2, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->array:[S
aget-short v2, v2, v0
invoke-static {v2}, Lcom/google/common/primitives/Shorts;->hashCode(S)I
move-result v2
add-int/2addr v1, v2
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_0
return v1
.end method
.method public indexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Short;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->array:[S
check-cast p1, Ljava/lang/Short;
invoke-virtual {p1}, Ljava/lang/Short;->shortValue()S
move-result p1
iget v1, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Shorts;->access$000([SSII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public isEmpty()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public lastIndexOf(Ljava/lang/Object;)I
.locals 3
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Ljava/lang/Short;
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->array:[S
check-cast p1, Ljava/lang/Short;
invoke-virtual {p1}, Ljava/lang/Short;->shortValue()S
move-result p1
iget v1, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->end:I
invoke-static {v0, p1, v1, v2}, Lcom/google/common/primitives/Shorts;->access$100([SSII)I
move-result p1
if-ltz p1, :cond_0
.line 3
iget v0, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
sub-int/2addr p1, v0
return p1
:cond_0
const/4 p1, -0x1
return p1
.end method
.method public bridge synthetic set(ILjava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p2, Ljava/lang/Short;
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->set(ILjava/lang/Short;)Ljava/lang/Short;
move-result-object p1
return-object p1
.end method
.method public set(ILjava/lang/Short;)Ljava/lang/Short;
.locals 3
.line 2
invoke-virtual {p0}, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
.line 3
iget-object v0, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->array:[S
iget v1, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
add-int v2, v1, p1
aget-short v2, v0, v2
add-int/2addr v1, p1
.line 4
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Short;
invoke-virtual {p1}, Ljava/lang/Short;->shortValue()S
move-result p1
aput-short p1, v0, v1
.line 5
invoke-static {v2}, Ljava/lang/Short;->valueOf(S)Ljava/lang/Short;
move-result-object p1
return-object p1
.end method
.method public size()I
.locals 2
.line 1
iget v0, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->end:I
iget v1, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
sub-int/2addr v0, v1
return v0
.end method
.method public subList(II)Ljava/util/List;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(II)",
"Ljava/util/List<",
"Ljava/lang/Short;",
">;"
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->size()I
move-result v0
.line 2
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
if-ne p1, p2, :cond_0
.line 3
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p1
return-object p1
.line 4
:cond_0
new-instance v0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;
iget-object v1, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->array:[S
iget v2, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
add-int/2addr p1, v2
add-int/2addr v2, p2
invoke-direct {v0, v1, p1, v2}, Lcom/google/common/primitives/Shorts$ShortArrayAsList;-><init>([SII)V
return-object v0
.end method
.method public toShortArray()[S
.locals 3
.line 1
iget-object v0, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->array:[S
iget v1, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
iget v2, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->end:I
invoke-static {v0, v1, v2}, Ljava/util/Arrays;->copyOfRange([SII)[S
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->size()I
move-result v1
mul-int/lit8 v1, v1, 0x6
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/16 v1, 0x5b
.line 2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->array:[S
iget v2, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
aget-short v1, v1, v2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 3
iget v1, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->start:I
:goto_0
add-int/lit8 v1, v1, 0x1
iget v2, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->end:I
if-ge v1, v2, :cond_0
const-string v2, ", "
.line 4
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->array:[S
aget-short v2, v2, v1
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
goto :goto_0
:cond_0
const/16 v1, 0x5d
.line 5
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,124 @@
.class final Lcom/google/common/primitives/Shorts$ShortConverter;
.super Lcom/google/common/base/Converter;
.source "Shorts.java"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/Shorts;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ShortConverter"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/base/Converter<",
"Ljava/lang/String;",
"Ljava/lang/Short;",
">;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field public static final INSTANCE:Lcom/google/common/primitives/Shorts$ShortConverter;
.field private static final serialVersionUID:J = 0x1L
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/common/primitives/Shorts$ShortConverter;
invoke-direct {v0}, Lcom/google/common/primitives/Shorts$ShortConverter;-><init>()V
sput-object v0, Lcom/google/common/primitives/Shorts$ShortConverter;->INSTANCE:Lcom/google/common/primitives/Shorts$ShortConverter;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/common/base/Converter;-><init>()V
return-void
.end method
.method private readResolve()Ljava/lang/Object;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/Shorts$ShortConverter;->INSTANCE:Lcom/google/common/primitives/Shorts$ShortConverter;
return-object v0
.end method
# virtual methods
.method public bridge synthetic doBackward(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/Short;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Shorts$ShortConverter;->doBackward(Ljava/lang/Short;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public doBackward(Ljava/lang/Short;)Ljava/lang/String;
.locals 0
.line 2
invoke-virtual {p1}, Ljava/lang/Short;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic doForward(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/String;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/Shorts$ShortConverter;->doForward(Ljava/lang/String;)Ljava/lang/Short;
move-result-object p1
return-object p1
.end method
.method public doForward(Ljava/lang/String;)Ljava/lang/Short;
.locals 0
.line 2
invoke-static {p1}, Ljava/lang/Short;->decode(Ljava/lang/String;)Ljava/lang/Short;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "Shorts.stringConverter()"
return-object v0
.end method
@@ -0,0 +1,934 @@
.class public final Lcom/google/common/primitives/Shorts;
.super Lcom/google/common/primitives/ShortsMethodsForWeb;
.source "Shorts.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
emulated = true
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/primitives/Shorts$ShortArrayAsList;,
Lcom/google/common/primitives/Shorts$LexicographicalComparator;,
Lcom/google/common/primitives/Shorts$ShortConverter;
}
.end annotation
# static fields
.field public static final BYTES:I = 0x2
.field public static final MAX_POWER_OF_TWO:S = 0x4000s
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/common/primitives/ShortsMethodsForWeb;-><init>()V
return-void
.end method
.method public static synthetic access$000([SSII)I
.locals 0
.line 1
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/Shorts;->indexOf([SSII)I
move-result p0
return p0
.end method
.method public static synthetic access$100([SSII)I
.locals 0
.line 1
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/Shorts;->lastIndexOf([SSII)I
move-result p0
return p0
.end method
.method public static varargs asList([S)Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"([S)",
"Ljava/util/List<",
"Ljava/lang/Short;",
">;"
}
.end annotation
.line 1
array-length v0, p0
if-nez v0, :cond_0
.line 2
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p0
return-object p0
.line 3
:cond_0
new-instance v0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;
invoke-direct {v0, p0}, Lcom/google/common/primitives/Shorts$ShortArrayAsList;-><init>([S)V
return-object v0
.end method
.method public static checkedCast(J)S
.locals 3
long-to-int v0, p0
int-to-short v0, v0
int-to-long v1, v0
cmp-long v1, v1, p0
if-nez v1, :cond_0
const/4 v1, 0x1
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
const-string v2, "Out of range: %s"
.line 1
invoke-static {v1, v2, p0, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;J)V
return v0
.end method
.method public static compare(SS)I
.locals 0
sub-int/2addr p0, p1
return p0
.end method
.method public static varargs concat([[S)[S
.locals 7
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
move v3, v2
:goto_0
if-ge v2, v0, :cond_0
aget-object v4, p0, v2
.line 2
array-length v4, v4
add-int/2addr v3, v4
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 3
:cond_0
new-array v0, v3, [S
.line 4
array-length v2, p0
move v3, v1
move v4, v3
:goto_1
if-ge v3, v2, :cond_1
aget-object v5, p0, v3
.line 5
array-length v6, v5
invoke-static {v5, v1, v0, v4, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 6
array-length v5, v5
add-int/2addr v4, v5
add-int/lit8 v3, v3, 0x1
goto :goto_1
:cond_1
return-object v0
.end method
.method public static constrainToRange(SSS)S
.locals 2
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
if-gt p1, p2, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "min (%s) must be less than or equal to max (%s)"
.line 1
invoke-static {v0, v1, p1, p2}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;II)V
if-ge p0, p1, :cond_1
move p0, p1
goto :goto_1
:cond_1
if-ge p0, p2, :cond_2
goto :goto_1
:cond_2
move p0, p2
:goto_1
return p0
.end method
.method public static contains([SS)Z
.locals 4
.line 1
array-length v0, p0
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v2, v0, :cond_1
aget-short v3, p0, v2
if-ne v3, p1, :cond_0
const/4 p0, 0x1
return p0
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return v1
.end method
.method public static ensureCapacity([SII)[S
.locals 4
const/4 v0, 0x1
const/4 v1, 0x0
if-ltz p1, :cond_0
move v2, v0
goto :goto_0
:cond_0
move v2, v1
:goto_0
const-string v3, "Invalid minLength: %s"
.line 1
invoke-static {v2, v3, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;I)V
if-ltz p2, :cond_1
goto :goto_1
:cond_1
move v0, v1
:goto_1
const-string v1, "Invalid padding: %s"
.line 2
invoke-static {v0, v1, p2}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;I)V
.line 3
array-length v0, p0
if-ge v0, p1, :cond_2
add-int/2addr p1, p2
invoke-static {p0, p1}, Ljava/util/Arrays;->copyOf([SI)[S
move-result-object p0
:cond_2
return-object p0
.end method
.method public static fromByteArray([B)S
.locals 6
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.line 1
array-length v0, p0
const/4 v1, 0x1
const/4 v2, 0x0
const/4 v3, 0x2
if-lt v0, v3, :cond_0
move v0, v1
goto :goto_0
:cond_0
move v0, v2
:goto_0
array-length v4, p0
const-string v5, "array too small: %s < %s"
invoke-static {v0, v5, v4, v3}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;II)V
.line 2
aget-byte v0, p0, v2
aget-byte p0, p0, v1
invoke-static {v0, p0}, Lcom/google/common/primitives/Shorts;->fromBytes(BB)S
move-result p0
return p0
.end method
.method public static fromBytes(BB)S
.locals 0
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
shl-int/lit8 p0, p0, 0x8
and-int/lit16 p1, p1, 0xff
or-int/2addr p0, p1
int-to-short p0, p0
return p0
.end method
.method public static hashCode(S)I
.locals 0
return p0
.end method
.method public static indexOf([SS)I
.locals 2
.line 1
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, p1, v1, v0}, Lcom/google/common/primitives/Shorts;->indexOf([SSII)I
move-result p0
return p0
.end method
.method private static indexOf([SSII)I
.locals 1
:goto_0
if-ge p2, p3, :cond_1
.line 2
aget-short v0, p0, p2
if-ne v0, p1, :cond_0
return p2
:cond_0
add-int/lit8 p2, p2, 0x1
goto :goto_0
:cond_1
const/4 p0, -0x1
return p0
.end method
.method public static indexOf([S[S)I
.locals 5
const-string v0, "array"
.line 3
invoke-static {p0, v0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v0, "target"
.line 4
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5
array-length v0, p1
const/4 v1, 0x0
if-nez v0, :cond_0
return v1
:cond_0
move v0, v1
.line 6
:goto_0
array-length v2, p0
array-length v3, p1
sub-int/2addr v2, v3
add-int/lit8 v2, v2, 0x1
if-ge v0, v2, :cond_3
move v2, v1
.line 7
:goto_1
array-length v3, p1
if-ge v2, v3, :cond_2
add-int v3, v0, v2
.line 8
aget-short v3, p0, v3
aget-short v4, p1, v2
if-eq v3, v4, :cond_1
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
return v0
:cond_3
const/4 p0, -0x1
return p0
.end method
.method public static varargs join(Ljava/lang/String;[S)Ljava/lang/String;
.locals 3
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p1
if-nez v0, :cond_0
const-string p0, ""
return-object p0
.line 3
:cond_0
new-instance v0, Ljava/lang/StringBuilder;
array-length v1, p1
mul-int/lit8 v1, v1, 0x6
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v1, 0x0
.line 4
aget-short v1, p1, v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/4 v1, 0x1
.line 5
:goto_0
array-length v2, p1
if-ge v1, v2, :cond_1
.line 6
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-short v2, p1, v1
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 7
:cond_1
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static lastIndexOf([SS)I
.locals 2
.line 1
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, p1, v1, v0}, Lcom/google/common/primitives/Shorts;->lastIndexOf([SSII)I
move-result p0
return p0
.end method
.method private static lastIndexOf([SSII)I
.locals 1
add-int/lit8 p3, p3, -0x1
:goto_0
if-lt p3, p2, :cond_1
.line 2
aget-short v0, p0, p3
if-ne v0, p1, :cond_0
return p3
:cond_0
add-int/lit8 p3, p3, -0x1
goto :goto_0
:cond_1
const/4 p0, -0x1
return p0
.end method
.method public static lexicographicalComparator()Ljava/util/Comparator;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator<",
"[S>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Shorts$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/Shorts$LexicographicalComparator;
return-object v0
.end method
.method public static varargs max([S)S
.locals 3
.annotation build Lcom/google/common/annotations/GwtIncompatible;
value = "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class."
.end annotation
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget-short v0, p0, v1
.line 3
:goto_1
array-length v1, p0
if-ge v2, v1, :cond_2
.line 4
aget-short v1, p0, v2
if-le v1, v0, :cond_1
.line 5
aget-short v0, p0, v2
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
return v0
.end method
.method public static varargs min([S)S
.locals 3
.annotation build Lcom/google/common/annotations/GwtIncompatible;
value = "Available in GWT! Annotation is to avoid conflict with GWT specialization of base class."
.end annotation
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget-short v0, p0, v1
.line 3
:goto_1
array-length v1, p0
if-ge v2, v1, :cond_2
.line 4
aget-short v1, p0, v2
if-ge v1, v0, :cond_1
.line 5
aget-short v0, p0, v2
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
return v0
.end method
.method public static reverse([S)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/Shorts;->reverse([SII)V
return-void
.end method
.method public static reverse([SII)V
.locals 2
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
add-int/lit8 p2, p2, -0x1
:goto_0
if-ge p1, p2, :cond_0
.line 5
aget-short v0, p0, p1
.line 6
aget-short v1, p0, p2
aput-short v1, p0, p1
.line 7
aput-short v0, p0, p2
add-int/lit8 p1, p1, 0x1
add-int/lit8 p2, p2, -0x1
goto :goto_0
:cond_0
return-void
.end method
.method public static saturatedCast(J)S
.locals 2
const-wide/16 v0, 0x7fff
cmp-long v0, p0, v0
if-lez v0, :cond_0
const/16 p0, 0x7fff
return p0
:cond_0
const-wide/16 v0, -0x8000
cmp-long v0, p0, v0
if-gez v0, :cond_1
const/16 p0, -0x8000
return p0
:cond_1
long-to-int p0, p0
int-to-short p0, p0
return p0
.end method
.method public static sortDescending([S)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/Shorts;->sortDescending([SII)V
return-void
.end method
.method public static sortDescending([SII)V
.locals 1
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
.line 5
invoke-static {p0, p1, p2}, Ljava/util/Arrays;->sort([SII)V
.line 6
invoke-static {p0, p1, p2}, Lcom/google/common/primitives/Shorts;->reverse([SII)V
return-void
.end method
.method public static stringConverter()Lcom/google/common/base/Converter;
.locals 1
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/base/Converter<",
"Ljava/lang/String;",
"Ljava/lang/Short;",
">;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/Shorts$ShortConverter;->INSTANCE:Lcom/google/common/primitives/Shorts$ShortConverter;
return-object v0
.end method
.method public static toArray(Ljava/util/Collection;)[S
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"+",
"Ljava/lang/Number;",
">;)[S"
}
.end annotation
.line 1
instance-of v0, p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;
if-eqz v0, :cond_0
.line 2
check-cast p0, Lcom/google/common/primitives/Shorts$ShortArrayAsList;
invoke-virtual {p0}, Lcom/google/common/primitives/Shorts$ShortArrayAsList;->toShortArray()[S
move-result-object p0
return-object p0
.line 3
:cond_0
invoke-interface {p0}, Ljava/util/Collection;->toArray()[Ljava/lang/Object;
move-result-object p0
.line 4
array-length v0, p0
.line 5
new-array v1, v0, [S
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_1
.line 6
aget-object v3, p0, v2
invoke-static {v3}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Number;
invoke-virtual {v3}, Ljava/lang/Number;->shortValue()S
move-result v3
aput-short v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return-object v1
.end method
.method public static toByteArray(S)[B
.locals 3
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
const/4 v0, 0x2
new-array v0, v0, [B
shr-int/lit8 v1, p0, 0x8
int-to-byte v1, v1
const/4 v2, 0x0
aput-byte v1, v0, v2
int-to-byte p0, p0
const/4 v1, 0x1
aput-byte p0, v0, v1
return-object v0
.end method
@@ -0,0 +1,23 @@
.class abstract Lcom/google/common/primitives/ShortsMethodsForWeb;
.super Ljava/lang/Object;
.source "ShortsMethodsForWeb.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
emulated = true
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
@@ -0,0 +1,191 @@
.class final enum Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
.super Ljava/lang/Enum;
.source "SignedBytes.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/SignedBytes;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "LexicographicalComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;",
">;",
"Ljava/util/Comparator<",
"[B>;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
.field public static final enum INSTANCE:Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
# direct methods
.method private static synthetic $values()[Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
.line 1
sget-object v1, Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
const-string v1, "INSTANCE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
.line 2
invoke-static {}, Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;->$values()[Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
.locals 1
.line 1
const-class v0, Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
return-object p0
.end method
.method public static values()[Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
invoke-virtual {v0}, [Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
return-object v0
.end method
# virtual methods
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, [B
check-cast p2, [B
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;->compare([B[B)I
move-result p1
return p1
.end method
.method public compare([B[B)I
.locals 4
.line 2
array-length v0, p1
array-length v1, p2
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 3
aget-byte v2, p1, v1
aget-byte v3, p2, v1
invoke-static {v2, v3}, Lcom/google/common/primitives/SignedBytes;->compare(BB)I
move-result v2
if-eqz v2, :cond_0
return v2
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4
:cond_1
array-length p1, p1
array-length p2, p2
sub-int/2addr p1, p2
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "SignedBytes.lexicographicalComparator()"
return-object v0
.end method
@@ -0,0 +1,309 @@
.class public final Lcom/google/common/primitives/SignedBytes;
.super Ljava/lang/Object;
.source "SignedBytes.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
}
.end annotation
# static fields
.field public static final MAX_POWER_OF_TWO:B = 0x40t
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static checkedCast(J)B
.locals 3
long-to-int v0, p0
int-to-byte v0, v0
int-to-long v1, v0
cmp-long v1, v1, p0
if-nez v1, :cond_0
const/4 v1, 0x1
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
const-string v2, "Out of range: %s"
.line 1
invoke-static {v1, v2, p0, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;J)V
return v0
.end method
.method public static compare(BB)I
.locals 0
sub-int/2addr p0, p1
return p0
.end method
.method public static varargs join(Ljava/lang/String;[B)Ljava/lang/String;
.locals 3
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p1
if-nez v0, :cond_0
const-string p0, ""
return-object p0
.line 3
:cond_0
new-instance v0, Ljava/lang/StringBuilder;
array-length v1, p1
mul-int/lit8 v1, v1, 0x5
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v1, 0x0
.line 4
aget-byte v1, p1, v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/4 v1, 0x1
.line 5
:goto_0
array-length v2, p1
if-ge v1, v2, :cond_1
.line 6
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-byte v2, p1, v1
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 7
:cond_1
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static lexicographicalComparator()Ljava/util/Comparator;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator<",
"[B>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/SignedBytes$LexicographicalComparator;
return-object v0
.end method
.method public static varargs max([B)B
.locals 3
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget-byte v0, p0, v1
.line 3
:goto_1
array-length v1, p0
if-ge v2, v1, :cond_2
.line 4
aget-byte v1, p0, v2
if-le v1, v0, :cond_1
.line 5
aget-byte v0, p0, v2
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
return v0
.end method
.method public static varargs min([B)B
.locals 3
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget-byte v0, p0, v1
.line 3
:goto_1
array-length v1, p0
if-ge v2, v1, :cond_2
.line 4
aget-byte v1, p0, v2
if-ge v1, v0, :cond_1
.line 5
aget-byte v0, p0, v2
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
return v0
.end method
.method public static saturatedCast(J)B
.locals 2
const-wide/16 v0, 0x7f
cmp-long v0, p0, v0
if-lez v0, :cond_0
const/16 p0, 0x7f
return p0
:cond_0
const-wide/16 v0, -0x80
cmp-long v0, p0, v0
if-gez v0, :cond_1
const/16 p0, -0x80
return p0
:cond_1
long-to-int p0, p0
int-to-byte p0, p0
return p0
.end method
.method public static sortDescending([B)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/SignedBytes;->sortDescending([BII)V
return-void
.end method
.method public static sortDescending([BII)V
.locals 1
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
.line 5
invoke-static {p0, p1, p2}, Ljava/util/Arrays;->sort([BII)V
.line 6
invoke-static {p0, p1, p2}, Lcom/google/common/primitives/Bytes;->reverse([BII)V
return-void
.end method
@@ -0,0 +1,191 @@
.class final enum Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
.super Ljava/lang/Enum;
.source "UnsignedBytes.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "PureJavaComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;",
">;",
"Ljava/util/Comparator<",
"[B>;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
.field public static final enum INSTANCE:Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
# direct methods
.method private static synthetic $values()[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
.line 1
sget-object v1, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;->INSTANCE:Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
const-string v1, "INSTANCE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;->INSTANCE:Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
.line 2
invoke-static {}, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;->$values()[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;->$VALUES:[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
.locals 1
.line 1
const-class v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
return-object p0
.end method
.method public static values()[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;->$VALUES:[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
invoke-virtual {v0}, [Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
return-object v0
.end method
# virtual methods
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, [B
check-cast p2, [B
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;->compare([B[B)I
move-result p1
return p1
.end method
.method public compare([B[B)I
.locals 4
.line 2
array-length v0, p1
array-length v1, p2
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 3
aget-byte v2, p1, v1
aget-byte v3, p2, v1
invoke-static {v2, v3}, Lcom/google/common/primitives/UnsignedBytes;->compare(BB)I
move-result v2
if-eqz v2, :cond_0
return v2
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4
:cond_1
array-length p1, p1
array-length p2, p2
sub-int/2addr p1, p2
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "UnsignedBytes.lexicographicalComparator() (pure Java version)"
return-object v0
.end method
@@ -0,0 +1,124 @@
.class Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1;
.super Ljava/lang/Object;
.source "UnsignedBytes.java"
# interfaces
.implements Ljava/security/PrivilegedExceptionAction;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->getUnsafe()Lsun/misc/Unsafe;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/security/PrivilegedExceptionAction<",
"Lsun/misc/Unsafe;",
">;"
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public bridge synthetic run()Ljava/lang/Object;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1;->run()Lsun/misc/Unsafe;
move-result-object v0
return-object v0
.end method
.method public run()Lsun/misc/Unsafe;
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 2
const-class v0, Lsun/misc/Unsafe;
.line 3
invoke-virtual {v0}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field;
move-result-object v1
array-length v2, v1
const/4 v3, 0x0
:goto_0
if-ge v3, v2, :cond_1
aget-object v4, v1, v3
const/4 v5, 0x1
.line 4
invoke-virtual {v4, v5}, Ljava/lang/reflect/Field;->setAccessible(Z)V
const/4 v5, 0x0
.line 5
invoke-virtual {v4, v5}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
.line 6
invoke-virtual {v0, v4}, Ljava/lang/Class;->isInstance(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_0
.line 7
invoke-virtual {v0, v4}, Ljava/lang/Class;->cast(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lsun/misc/Unsafe;
return-object v0
:cond_0
add-int/lit8 v3, v3, 0x1
goto :goto_0
.line 8
:cond_1
new-instance v0, Ljava/lang/NoSuchFieldError;
const-string v1, "the Unsafe"
invoke-direct {v0, v1}, Ljava/lang/NoSuchFieldError;-><init>(Ljava/lang/String;)V
throw v0
.end method
@@ -0,0 +1,391 @@
.class final enum Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
.super Ljava/lang/Enum;
.source "UnsignedBytes.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation build Lcom/google/common/annotations/VisibleForTesting;
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "UnsafeComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;",
">;",
"Ljava/util/Comparator<",
"[B>;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
.field public static final BIG_ENDIAN:Z
.field public static final BYTE_ARRAY_BASE_OFFSET:I
.field public static final enum INSTANCE:Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
.field public static final theUnsafe:Lsun/misc/Unsafe;
# direct methods
.method private static synthetic $values()[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
.line 1
sget-object v1, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->INSTANCE:Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method
.method public static constructor <clinit>()V
.locals 5
.line 1
const-class v0, [B
new-instance v1, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
const-string v2, "INSTANCE"
const/4 v3, 0x0
invoke-direct {v1, v2, v3}, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;-><init>(Ljava/lang/String;I)V
sput-object v1, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->INSTANCE:Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
.line 2
invoke-static {}, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->$values()[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
move-result-object v1
sput-object v1, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->$VALUES:[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
.line 3
invoke-static {}, Ljava/nio/ByteOrder;->nativeOrder()Ljava/nio/ByteOrder;
move-result-object v1
sget-object v2, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v1, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
sput-boolean v1, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->BIG_ENDIAN:Z
.line 4
invoke-static {}, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->getUnsafe()Lsun/misc/Unsafe;
move-result-object v1
sput-object v1, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->theUnsafe:Lsun/misc/Unsafe;
.line 5
invoke-virtual {v1, v0}, Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I
move-result v2
sput v2, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->BYTE_ARRAY_BASE_OFFSET:I
const-string v3, "sun.arch.data.model"
.line 6
invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
const-string v4, "64"
invoke-virtual {v4, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_0
rem-int/lit8 v2, v2, 0x8
if-nez v2, :cond_0
.line 7
invoke-virtual {v1, v0}, Lsun/misc/Unsafe;->arrayIndexScale(Ljava/lang/Class;)I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_0
return-void
.line 8
:cond_0
new-instance v0, Ljava/lang/Error;
invoke-direct {v0}, Ljava/lang/Error;-><init>()V
throw v0
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method private static getUnsafe()Lsun/misc/Unsafe;
.locals 3
.line 1
:try_start_0
invoke-static {}, Lsun/misc/Unsafe;->getUnsafe()Lsun/misc/Unsafe;
move-result-object v0
:try_end_0
.catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_0} :catch_0
return-object v0
.line 2
:catch_0
:try_start_1
new-instance v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1;
invoke-direct {v0}, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1;-><init>()V
invoke-static {v0}, Ljava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lsun/misc/Unsafe;
:try_end_1
.catch Ljava/security/PrivilegedActionException; {:try_start_1 .. :try_end_1} :catch_1
return-object v0
:catch_1
move-exception v0
.line 3
new-instance v1, Ljava/lang/RuntimeException;
invoke-virtual {v0}, Ljava/security/PrivilegedActionException;->getCause()Ljava/lang/Throwable;
move-result-object v0
const-string v2, "Could not initialize intrinsics"
invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
.locals 1
.line 1
const-class v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
return-object p0
.end method
.method public static values()[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->$VALUES:[Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
invoke-virtual {v0}, [Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
return-object v0
.end method
# virtual methods
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, [B
check-cast p2, [B
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->compare([B[B)I
move-result p1
return p1
.end method
.method public compare([B[B)I
.locals 11
.line 2
array-length v0, p1
array-length v1, p2
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
and-int/lit8 v1, v0, -0x8
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_2
.line 3
sget-object v3, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->theUnsafe:Lsun/misc/Unsafe;
sget v4, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->BYTE_ARRAY_BASE_OFFSET:I
int-to-long v5, v4
int-to-long v7, v2
add-long/2addr v5, v7
invoke-virtual {v3, p1, v5, v6}, Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J
move-result-wide v5
int-to-long v9, v4
add-long/2addr v9, v7
.line 4
invoke-virtual {v3, p2, v9, v10}, Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J
move-result-wide v3
cmp-long v7, v5, v3
if-eqz v7, :cond_1
.line 5
sget-boolean p1, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;->BIG_ENDIAN:Z
if-eqz p1, :cond_0
.line 6
invoke-static {v5, v6, v3, v4}, Lcom/google/common/primitives/UnsignedLongs;->compare(JJ)I
move-result p1
return p1
:cond_0
xor-long p1, v5, v3
.line 7
invoke-static {p1, p2}, Ljava/lang/Long;->numberOfTrailingZeros(J)I
move-result p1
and-int/lit8 p1, p1, -0x8
ushr-long v0, v5, p1
const-wide/16 v5, 0xff
and-long/2addr v0, v5
long-to-int p2, v0
ushr-long v0, v3, p1
and-long/2addr v0, v5
long-to-int p1, v0
sub-int/2addr p2, p1
return p2
:cond_1
add-int/lit8 v2, v2, 0x8
goto :goto_0
:cond_2
:goto_1
if-ge v2, v0, :cond_4
.line 8
aget-byte v1, p1, v2
aget-byte v3, p2, v2
invoke-static {v1, v3}, Lcom/google/common/primitives/UnsignedBytes;->compare(BB)I
move-result v1
if-eqz v1, :cond_3
return v1
:cond_3
add-int/lit8 v2, v2, 0x1
goto :goto_1
.line 9
:cond_4
array-length p1, p1
array-length p2, p2
sub-int/2addr p1, p2
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "UnsignedBytes.lexicographicalComparator() (sun.misc.Unsafe version)"
return-object v0
.end method
@@ -0,0 +1,124 @@
.class Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;
.super Ljava/lang/Object;
.source "UnsignedBytes.java"
# annotations
.annotation build Lcom/google/common/annotations/VisibleForTesting;
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/UnsignedBytes;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "LexicographicalComparatorHolder"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;,
Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
}
.end annotation
# static fields
.field public static final BEST_COMPARATOR:Ljava/util/Comparator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Comparator<",
"[B>;"
}
.end annotation
.end field
.field public static final UNSAFE_COMPARATOR_NAME:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 2
.line 1
const-class v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;
.line 2
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
const-string v1, "$UnsafeComparator"
invoke-virtual {v0, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;->UNSAFE_COMPARATOR_NAME:Ljava/lang/String;
.line 3
invoke-static {}, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;->getBestComparator()Ljava/util/Comparator;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;->BEST_COMPARATOR:Ljava/util/Comparator;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getBestComparator()Ljava/util/Comparator;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator<",
"[B>;"
}
.end annotation
.line 1
:try_start_0
sget-object v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;->UNSAFE_COMPARATOR_NAME:Ljava/lang/String;
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
.line 2
invoke-virtual {v0}, Ljava/lang/Class;->getEnumConstants()[Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v0, [Ljava/lang/Object;
const/4 v1, 0x0
.line 3
aget-object v0, v0, v1
check-cast v0, Ljava/util/Comparator;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
return-object v0
.line 4
:catchall_0
invoke-static {}, Lcom/google/common/primitives/UnsignedBytes;->lexicographicalComparatorJavaImpl()Ljava/util/Comparator;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,619 @@
.class public final Lcom/google/common/primitives/UnsignedBytes;
.super Ljava/lang/Object;
.source "UnsignedBytes.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;
}
.end annotation
# static fields
.field public static final MAX_POWER_OF_TWO:B = -0x80t
.field public static final MAX_VALUE:B = -0x1t
.field private static final UNSIGNED_MASK:I = 0xff
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static checkedCast(J)B
.locals 4
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
const/16 v0, 0x8
shr-long v0, p0, v0
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "out of range: %s"
.line 1
invoke-static {v0, v1, p0, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;J)V
long-to-int p0, p0
int-to-byte p0, p0
return p0
.end method
.method public static compare(BB)I
.locals 0
.line 1
invoke-static {p0}, Lcom/google/common/primitives/UnsignedBytes;->toInt(B)I
move-result p0
invoke-static {p1}, Lcom/google/common/primitives/UnsignedBytes;->toInt(B)I
move-result p1
sub-int/2addr p0, p1
return p0
.end method
.method private static flip(B)B
.locals 0
xor-int/lit16 p0, p0, 0x80
int-to-byte p0, p0
return p0
.end method
.method public static varargs join(Ljava/lang/String;[B)Ljava/lang/String;
.locals 3
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p1
if-nez v0, :cond_0
const-string p0, ""
return-object p0
.line 3
:cond_0
new-instance v0, Ljava/lang/StringBuilder;
array-length v1, p1
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, 0x3
mul-int/2addr v2, v1
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v1, 0x0
.line 4
aget-byte v1, p1, v1
invoke-static {v1}, Lcom/google/common/primitives/UnsignedBytes;->toInt(B)I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/4 v1, 0x1
.line 5
:goto_0
array-length v2, p1
if-ge v1, v2, :cond_1
.line 6
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-byte v2, p1, v1
invoke-static {v2}, Lcom/google/common/primitives/UnsignedBytes;->toString(B)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 7
:cond_1
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static lexicographicalComparator()Ljava/util/Comparator;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator<",
"[B>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;->BEST_COMPARATOR:Ljava/util/Comparator;
return-object v0
.end method
.method public static lexicographicalComparatorJavaImpl()Ljava/util/Comparator;
.locals 1
.annotation build Lcom/google/common/annotations/VisibleForTesting;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator<",
"[B>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;->INSTANCE:Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;
return-object v0
.end method
.method public static varargs max([B)B
.locals 3
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget-byte v0, p0, v1
invoke-static {v0}, Lcom/google/common/primitives/UnsignedBytes;->toInt(B)I
move-result v0
.line 3
:goto_1
array-length v1, p0
if-ge v2, v1, :cond_2
.line 4
aget-byte v1, p0, v2
invoke-static {v1}, Lcom/google/common/primitives/UnsignedBytes;->toInt(B)I
move-result v1
if-le v1, v0, :cond_1
move v0, v1
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
int-to-byte p0, v0
return p0
.end method
.method public static varargs min([B)B
.locals 3
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget-byte v0, p0, v1
invoke-static {v0}, Lcom/google/common/primitives/UnsignedBytes;->toInt(B)I
move-result v0
.line 3
:goto_1
array-length v1, p0
if-ge v2, v1, :cond_2
.line 4
aget-byte v1, p0, v2
invoke-static {v1}, Lcom/google/common/primitives/UnsignedBytes;->toInt(B)I
move-result v1
if-ge v1, v0, :cond_1
move v0, v1
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
:cond_2
int-to-byte p0, v0
return p0
.end method
.method public static parseUnsignedByte(Ljava/lang/String;)B
.locals 1
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
const/16 v0, 0xa
.line 1
invoke-static {p0, v0}, Lcom/google/common/primitives/UnsignedBytes;->parseUnsignedByte(Ljava/lang/String;I)B
move-result p0
return p0
.end method
.method public static parseUnsignedByte(Ljava/lang/String;I)B
.locals 2
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 2
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/String;
invoke-static {p0, p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
move-result p0
shr-int/lit8 p1, p0, 0x8
if-nez p1, :cond_0
int-to-byte p0, p0
return p0
.line 3
:cond_0
new-instance p1, Ljava/lang/NumberFormatException;
const/16 v0, 0x19
const-string v1, "out of range: "
invoke-static {v0, v1, p0}, Lcom/google/android/gms/ads/a;->a(ILjava/lang/String;I)Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public static saturatedCast(J)B
.locals 3
const/4 v0, -0x1
.line 1
invoke-static {v0}, Lcom/google/common/primitives/UnsignedBytes;->toInt(B)I
move-result v1
int-to-long v1, v1
cmp-long v1, p0, v1
if-lez v1, :cond_0
return v0
:cond_0
const-wide/16 v0, 0x0
cmp-long v0, p0, v0
if-gez v0, :cond_1
const/4 p0, 0x0
return p0
:cond_1
long-to-int p0, p0
int-to-byte p0, p0
return p0
.end method
.method public static sort([B)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/UnsignedBytes;->sort([BII)V
return-void
.end method
.method public static sort([BII)V
.locals 2
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
move v0, p1
:goto_0
if-ge v0, p2, :cond_0
.line 5
aget-byte v1, p0, v0
invoke-static {v1}, Lcom/google/common/primitives/UnsignedBytes;->flip(B)B
move-result v1
aput-byte v1, p0, v0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 6
:cond_0
invoke-static {p0, p1, p2}, Ljava/util/Arrays;->sort([BII)V
:goto_1
if-ge p1, p2, :cond_1
.line 7
aget-byte v0, p0, p1
invoke-static {v0}, Lcom/google/common/primitives/UnsignedBytes;->flip(B)B
move-result v0
aput-byte v0, p0, p1
add-int/lit8 p1, p1, 0x1
goto :goto_1
:cond_1
return-void
.end method
.method public static sortDescending([B)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/UnsignedBytes;->sortDescending([BII)V
return-void
.end method
.method public static sortDescending([BII)V
.locals 2
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
move v0, p1
:goto_0
if-ge v0, p2, :cond_0
.line 5
aget-byte v1, p0, v0
xor-int/lit8 v1, v1, 0x7f
int-to-byte v1, v1
aput-byte v1, p0, v0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 6
:cond_0
invoke-static {p0, p1, p2}, Ljava/util/Arrays;->sort([BII)V
:goto_1
if-ge p1, p2, :cond_1
.line 7
aget-byte v0, p0, p1
xor-int/lit8 v0, v0, 0x7f
int-to-byte v0, v0
aput-byte v0, p0, p1
add-int/lit8 p1, p1, 0x1
goto :goto_1
:cond_1
return-void
.end method
.method public static toInt(B)I
.locals 0
and-int/lit16 p0, p0, 0xff
return p0
.end method
.method public static toString(B)Ljava/lang/String;
.locals 1
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
const/16 v0, 0xa
.line 1
invoke-static {p0, v0}, Lcom/google/common/primitives/UnsignedBytes;->toString(BI)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static toString(BI)Ljava/lang/String;
.locals 2
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
const/4 v0, 0x2
if-lt p1, v0, :cond_0
const/16 v0, 0x24
if-gt p1, v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "radix (%s) must be between Character.MIN_RADIX and Character.MAX_RADIX"
.line 2
invoke-static {v0, v1, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;I)V
.line 3
invoke-static {p0}, Lcom/google/common/primitives/UnsignedBytes;->toInt(B)I
move-result p0
invoke-static {p0, p1}, Ljava/lang/Integer;->toString(II)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
@@ -0,0 +1,486 @@
.class public final Lcom/google/common/primitives/UnsignedInteger;
.super Ljava/lang/Number;
.source "UnsignedInteger.java"
# interfaces
.implements Ljava/lang/Comparable;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
emulated = true
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Number;",
"Ljava/lang/Comparable<",
"Lcom/google/common/primitives/UnsignedInteger;",
">;"
}
.end annotation
# static fields
.field public static final MAX_VALUE:Lcom/google/common/primitives/UnsignedInteger;
.field public static final ONE:Lcom/google/common/primitives/UnsignedInteger;
.field public static final ZERO:Lcom/google/common/primitives/UnsignedInteger;
# instance fields
.field private final value:I
# direct methods
.method public static constructor <clinit>()V
.locals 1
const/4 v0, 0x0
.line 1
invoke-static {v0}, Lcom/google/common/primitives/UnsignedInteger;->fromIntBits(I)Lcom/google/common/primitives/UnsignedInteger;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/UnsignedInteger;->ZERO:Lcom/google/common/primitives/UnsignedInteger;
const/4 v0, 0x1
.line 2
invoke-static {v0}, Lcom/google/common/primitives/UnsignedInteger;->fromIntBits(I)Lcom/google/common/primitives/UnsignedInteger;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/UnsignedInteger;->ONE:Lcom/google/common/primitives/UnsignedInteger;
const/4 v0, -0x1
.line 3
invoke-static {v0}, Lcom/google/common/primitives/UnsignedInteger;->fromIntBits(I)Lcom/google/common/primitives/UnsignedInteger;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/UnsignedInteger;->MAX_VALUE:Lcom/google/common/primitives/UnsignedInteger;
return-void
.end method
.method private constructor <init>(I)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Number;-><init>()V
and-int/lit8 p1, p1, -0x1
.line 2
iput p1, p0, Lcom/google/common/primitives/UnsignedInteger;->value:I
return-void
.end method
.method public static fromIntBits(I)Lcom/google/common/primitives/UnsignedInteger;
.locals 1
.line 1
new-instance v0, Lcom/google/common/primitives/UnsignedInteger;
invoke-direct {v0, p0}, Lcom/google/common/primitives/UnsignedInteger;-><init>(I)V
return-object v0
.end method
.method public static valueOf(J)Lcom/google/common/primitives/UnsignedInteger;
.locals 2
const-wide v0, 0xffffffffL
and-long/2addr v0, p0
cmp-long v0, v0, p0
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "value (%s) is outside the range for an unsigned integer value"
.line 1
invoke-static {v0, v1, p0, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;J)V
long-to-int p0, p0
.line 2
invoke-static {p0}, Lcom/google/common/primitives/UnsignedInteger;->fromIntBits(I)Lcom/google/common/primitives/UnsignedInteger;
move-result-object p0
return-object p0
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/UnsignedInteger;
.locals 1
const/16 v0, 0xa
.line 7
invoke-static {p0, v0}, Lcom/google/common/primitives/UnsignedInteger;->valueOf(Ljava/lang/String;I)Lcom/google/common/primitives/UnsignedInteger;
move-result-object p0
return-object p0
.end method
.method public static valueOf(Ljava/lang/String;I)Lcom/google/common/primitives/UnsignedInteger;
.locals 0
.line 8
invoke-static {p0, p1}, Lcom/google/common/primitives/UnsignedInts;->parseUnsignedInt(Ljava/lang/String;I)I
move-result p0
invoke-static {p0}, Lcom/google/common/primitives/UnsignedInteger;->fromIntBits(I)Lcom/google/common/primitives/UnsignedInteger;
move-result-object p0
return-object p0
.end method
.method public static valueOf(Ljava/math/BigInteger;)Lcom/google/common/primitives/UnsignedInteger;
.locals 2
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
invoke-virtual {p0}, Ljava/math/BigInteger;->signum()I
move-result v0
if-ltz v0, :cond_0
invoke-virtual {p0}, Ljava/math/BigInteger;->bitLength()I
move-result v0
const/16 v1, 0x20
if-gt v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "value (%s) is outside the range for an unsigned integer value"
.line 5
invoke-static {v0, v1, p0}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
.line 6
invoke-virtual {p0}, Ljava/math/BigInteger;->intValue()I
move-result p0
invoke-static {p0}, Lcom/google/common/primitives/UnsignedInteger;->fromIntBits(I)Lcom/google/common/primitives/UnsignedInteger;
move-result-object p0
return-object p0
.end method
# virtual methods
.method public bigIntegerValue()Ljava/math/BigInteger;
.locals 2
.line 1
invoke-virtual {p0}, Lcom/google/common/primitives/UnsignedInteger;->longValue()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object v0
return-object v0
.end method
.method public compareTo(Lcom/google/common/primitives/UnsignedInteger;)I
.locals 1
.line 2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
iget v0, p0, Lcom/google/common/primitives/UnsignedInteger;->value:I
iget p1, p1, Lcom/google/common/primitives/UnsignedInteger;->value:I
invoke-static {v0, p1}, Lcom/google/common/primitives/UnsignedInts;->compare(II)I
move-result p1
return p1
.end method
.method public bridge synthetic compareTo(Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Lcom/google/common/primitives/UnsignedInteger;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/UnsignedInteger;->compareTo(Lcom/google/common/primitives/UnsignedInteger;)I
move-result p1
return p1
.end method
.method public dividedBy(Lcom/google/common/primitives/UnsignedInteger;)Lcom/google/common/primitives/UnsignedInteger;
.locals 1
.line 1
iget v0, p0, Lcom/google/common/primitives/UnsignedInteger;->value:I
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/primitives/UnsignedInteger;
iget p1, p1, Lcom/google/common/primitives/UnsignedInteger;->value:I
invoke-static {v0, p1}, Lcom/google/common/primitives/UnsignedInts;->divide(II)I
move-result p1
invoke-static {p1}, Lcom/google/common/primitives/UnsignedInteger;->fromIntBits(I)Lcom/google/common/primitives/UnsignedInteger;
move-result-object p1
return-object p1
.end method
.method public doubleValue()D
.locals 2
.line 1
invoke-virtual {p0}, Lcom/google/common/primitives/UnsignedInteger;->longValue()J
move-result-wide v0
long-to-double v0, v0
return-wide v0
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 2
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Lcom/google/common/primitives/UnsignedInteger;
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 2
check-cast p1, Lcom/google/common/primitives/UnsignedInteger;
.line 3
iget v0, p0, Lcom/google/common/primitives/UnsignedInteger;->value:I
iget p1, p1, Lcom/google/common/primitives/UnsignedInteger;->value:I
if-ne v0, p1, :cond_0
const/4 v1, 0x1
:cond_0
return v1
.end method
.method public floatValue()F
.locals 2
.line 1
invoke-virtual {p0}, Lcom/google/common/primitives/UnsignedInteger;->longValue()J
move-result-wide v0
long-to-float v0, v0
return v0
.end method
.method public hashCode()I
.locals 1
.line 1
iget v0, p0, Lcom/google/common/primitives/UnsignedInteger;->value:I
return v0
.end method
.method public intValue()I
.locals 1
.line 1
iget v0, p0, Lcom/google/common/primitives/UnsignedInteger;->value:I
return v0
.end method
.method public longValue()J
.locals 2
.line 1
iget v0, p0, Lcom/google/common/primitives/UnsignedInteger;->value:I
invoke-static {v0}, Lcom/google/common/primitives/UnsignedInts;->toLong(I)J
move-result-wide v0
return-wide v0
.end method
.method public minus(Lcom/google/common/primitives/UnsignedInteger;)Lcom/google/common/primitives/UnsignedInteger;
.locals 1
.line 1
iget v0, p0, Lcom/google/common/primitives/UnsignedInteger;->value:I
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/primitives/UnsignedInteger;
iget p1, p1, Lcom/google/common/primitives/UnsignedInteger;->value:I
sub-int/2addr v0, p1
invoke-static {v0}, Lcom/google/common/primitives/UnsignedInteger;->fromIntBits(I)Lcom/google/common/primitives/UnsignedInteger;
move-result-object p1
return-object p1
.end method
.method public mod(Lcom/google/common/primitives/UnsignedInteger;)Lcom/google/common/primitives/UnsignedInteger;
.locals 1
.line 1
iget v0, p0, Lcom/google/common/primitives/UnsignedInteger;->value:I
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/primitives/UnsignedInteger;
iget p1, p1, Lcom/google/common/primitives/UnsignedInteger;->value:I
invoke-static {v0, p1}, Lcom/google/common/primitives/UnsignedInts;->remainder(II)I
move-result p1
invoke-static {p1}, Lcom/google/common/primitives/UnsignedInteger;->fromIntBits(I)Lcom/google/common/primitives/UnsignedInteger;
move-result-object p1
return-object p1
.end method
.method public plus(Lcom/google/common/primitives/UnsignedInteger;)Lcom/google/common/primitives/UnsignedInteger;
.locals 1
.line 1
iget v0, p0, Lcom/google/common/primitives/UnsignedInteger;->value:I
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/primitives/UnsignedInteger;
iget p1, p1, Lcom/google/common/primitives/UnsignedInteger;->value:I
add-int/2addr v0, p1
invoke-static {v0}, Lcom/google/common/primitives/UnsignedInteger;->fromIntBits(I)Lcom/google/common/primitives/UnsignedInteger;
move-result-object p1
return-object p1
.end method
.method public times(Lcom/google/common/primitives/UnsignedInteger;)Lcom/google/common/primitives/UnsignedInteger;
.locals 1
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.line 1
iget v0, p0, Lcom/google/common/primitives/UnsignedInteger;->value:I
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/primitives/UnsignedInteger;
iget p1, p1, Lcom/google/common/primitives/UnsignedInteger;->value:I
mul-int/2addr v0, p1
invoke-static {v0}, Lcom/google/common/primitives/UnsignedInteger;->fromIntBits(I)Lcom/google/common/primitives/UnsignedInteger;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const/16 v0, 0xa
.line 1
invoke-virtual {p0, v0}, Lcom/google/common/primitives/UnsignedInteger;->toString(I)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public toString(I)Ljava/lang/String;
.locals 1
.line 2
iget v0, p0, Lcom/google/common/primitives/UnsignedInteger;->value:I
invoke-static {v0, p1}, Lcom/google/common/primitives/UnsignedInts;->toString(II)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,196 @@
.class final enum Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
.super Ljava/lang/Enum;
.source "UnsignedInts.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/UnsignedInts;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "LexicographicalComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;",
">;",
"Ljava/util/Comparator<",
"[I>;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
.field public static final enum INSTANCE:Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
# direct methods
.method private static synthetic $values()[Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
.line 1
sget-object v1, Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
const-string v1, "INSTANCE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
.line 2
invoke-static {}, Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;->$values()[Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
.locals 1
.line 1
const-class v0, Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
return-object p0
.end method
.method public static values()[Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
invoke-virtual {v0}, [Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
return-object v0
.end method
# virtual methods
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, [I
check-cast p2, [I
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;->compare([I[I)I
move-result p1
return p1
.end method
.method public compare([I[I)I
.locals 4
.line 2
array-length v0, p1
array-length v1, p2
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 3
aget v2, p1, v1
aget v3, p2, v1
if-eq v2, v3, :cond_0
.line 4
aget p1, p1, v1
aget p2, p2, v1
invoke-static {p1, p2}, Lcom/google/common/primitives/UnsignedInts;->compare(II)I
move-result p1
return p1
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 5
:cond_1
array-length p1, p1
array-length p2, p2
sub-int/2addr p1, p2
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "UnsignedInts.lexicographicalComparator()"
return-object v0
.end method
@@ -0,0 +1,687 @@
.class public final Lcom/google/common/primitives/UnsignedInts;
.super Ljava/lang/Object;
.source "UnsignedInts.java"
# annotations
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
}
.end annotation
# static fields
.field public static final INT_MASK:J = 0xffffffffL
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static checkedCast(J)I
.locals 4
const/16 v0, 0x20
shr-long v0, p0, v0
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "out of range: %s"
.line 1
invoke-static {v0, v1, p0, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;J)V
long-to-int p0, p0
return p0
.end method
.method public static compare(II)I
.locals 0
.line 1
invoke-static {p0}, Lcom/google/common/primitives/UnsignedInts;->flip(I)I
move-result p0
invoke-static {p1}, Lcom/google/common/primitives/UnsignedInts;->flip(I)I
move-result p1
invoke-static {p0, p1}, Lcom/google/common/primitives/Ints;->compare(II)I
move-result p0
return p0
.end method
.method public static decode(Ljava/lang/String;)I
.locals 4
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 1
invoke-static {p0}, Lcom/google/common/primitives/ParseRequest;->fromString(Ljava/lang/String;)Lcom/google/common/primitives/ParseRequest;
move-result-object v0
.line 2
:try_start_0
iget-object v1, v0, Lcom/google/common/primitives/ParseRequest;->rawValue:Ljava/lang/String;
iget v0, v0, Lcom/google/common/primitives/ParseRequest;->radix:I
invoke-static {v1, v0}, Lcom/google/common/primitives/UnsignedInts;->parseUnsignedInt(Ljava/lang/String;I)I
move-result p0
:try_end_0
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0
return p0
:catch_0
move-exception v0
.line 3
new-instance v1, Ljava/lang/NumberFormatException;
const-string v2, "Error parsing value: "
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v3
if-eqz v3, :cond_0
invoke-virtual {v2, p0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
goto :goto_0
:cond_0
new-instance p0, Ljava/lang/String;
invoke-direct {p0, v2}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
:goto_0
invoke-direct {v1, p0}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
.line 4
invoke-virtual {v1, v0}, Ljava/lang/NumberFormatException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
.line 5
throw v1
.end method
.method public static divide(II)I
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/primitives/UnsignedInts;->toLong(I)J
move-result-wide v0
invoke-static {p1}, Lcom/google/common/primitives/UnsignedInts;->toLong(I)J
move-result-wide p0
div-long/2addr v0, p0
long-to-int p0, v0
return p0
.end method
.method public static flip(I)I
.locals 1
const/high16 v0, -0x80000000
xor-int/2addr p0, v0
return p0
.end method
.method public static varargs join(Ljava/lang/String;[I)Ljava/lang/String;
.locals 3
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p1
if-nez v0, :cond_0
const-string p0, ""
return-object p0
.line 3
:cond_0
new-instance v0, Ljava/lang/StringBuilder;
array-length v1, p1
mul-int/lit8 v1, v1, 0x5
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v1, 0x0
.line 4
aget v1, p1, v1
invoke-static {v1}, Lcom/google/common/primitives/UnsignedInts;->toString(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 v1, 0x1
.line 5
:goto_0
array-length v2, p1
if-ge v1, v2, :cond_1
.line 6
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget v2, p1, v1
invoke-static {v2}, Lcom/google/common/primitives/UnsignedInts;->toString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 7
:cond_1
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static lexicographicalComparator()Ljava/util/Comparator;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator<",
"[I>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/UnsignedInts$LexicographicalComparator;
return-object v0
.end method
.method public static varargs max([I)I
.locals 3
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget v0, p0, v1
invoke-static {v0}, Lcom/google/common/primitives/UnsignedInts;->flip(I)I
move-result v0
.line 3
:goto_1
array-length v1, p0
if-ge v2, v1, :cond_2
.line 4
aget v1, p0, v2
invoke-static {v1}, Lcom/google/common/primitives/UnsignedInts;->flip(I)I
move-result v1
if-le v1, v0, :cond_1
move v0, v1
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
.line 5
:cond_2
invoke-static {v0}, Lcom/google/common/primitives/UnsignedInts;->flip(I)I
move-result p0
return p0
.end method
.method public static varargs min([I)I
.locals 3
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget v0, p0, v1
invoke-static {v0}, Lcom/google/common/primitives/UnsignedInts;->flip(I)I
move-result v0
.line 3
:goto_1
array-length v1, p0
if-ge v2, v1, :cond_2
.line 4
aget v1, p0, v2
invoke-static {v1}, Lcom/google/common/primitives/UnsignedInts;->flip(I)I
move-result v1
if-ge v1, v0, :cond_1
move v0, v1
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
.line 5
:cond_2
invoke-static {v0}, Lcom/google/common/primitives/UnsignedInts;->flip(I)I
move-result p0
return p0
.end method
.method public static parseUnsignedInt(Ljava/lang/String;)I
.locals 1
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
const/16 v0, 0xa
.line 1
invoke-static {p0, v0}, Lcom/google/common/primitives/UnsignedInts;->parseUnsignedInt(Ljava/lang/String;I)I
move-result p0
return p0
.end method
.method public static parseUnsignedInt(Ljava/lang/String;I)I
.locals 4
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 2
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
invoke-static {p0, p1}, Ljava/lang/Long;->parseLong(Ljava/lang/String;I)J
move-result-wide v0
const-wide v2, 0xffffffffL
and-long/2addr v2, v0
cmp-long v2, v2, v0
if-nez v2, :cond_0
long-to-int p0, v0
return p0
.line 4
:cond_0
new-instance v0, Ljava/lang/NumberFormatException;
const/16 v1, 0x45
invoke-static {p0, v1}, Lcom/android/billingclient/api/d;->a(Ljava/lang/String;I)I
move-result v1
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "Input "
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, " in base "
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p0, " is not in the range of an unsigned integer"
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static remainder(II)I
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/primitives/UnsignedInts;->toLong(I)J
move-result-wide v0
invoke-static {p1}, Lcom/google/common/primitives/UnsignedInts;->toLong(I)J
move-result-wide p0
rem-long/2addr v0, p0
long-to-int p0, v0
return p0
.end method
.method public static saturatedCast(J)I
.locals 2
const-wide/16 v0, 0x0
cmp-long v0, p0, v0
if-gtz v0, :cond_0
const/4 p0, 0x0
return p0
:cond_0
const-wide v0, 0x100000000L
cmp-long v0, p0, v0
if-ltz v0, :cond_1
const/4 p0, -0x1
return p0
:cond_1
long-to-int p0, p0
return p0
.end method
.method public static sort([I)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/UnsignedInts;->sort([III)V
return-void
.end method
.method public static sort([III)V
.locals 2
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
move v0, p1
:goto_0
if-ge v0, p2, :cond_0
.line 5
aget v1, p0, v0
invoke-static {v1}, Lcom/google/common/primitives/UnsignedInts;->flip(I)I
move-result v1
aput v1, p0, v0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 6
:cond_0
invoke-static {p0, p1, p2}, Ljava/util/Arrays;->sort([III)V
:goto_1
if-ge p1, p2, :cond_1
.line 7
aget v0, p0, p1
invoke-static {v0}, Lcom/google/common/primitives/UnsignedInts;->flip(I)I
move-result v0
aput v0, p0, p1
add-int/lit8 p1, p1, 0x1
goto :goto_1
:cond_1
return-void
.end method
.method public static sortDescending([I)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/UnsignedInts;->sortDescending([III)V
return-void
.end method
.method public static sortDescending([III)V
.locals 3
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
move v0, p1
:goto_0
const v1, 0x7fffffff
if-ge v0, p2, :cond_0
.line 5
aget v2, p0, v0
xor-int/2addr v1, v2
aput v1, p0, v0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 6
:cond_0
invoke-static {p0, p1, p2}, Ljava/util/Arrays;->sort([III)V
:goto_1
if-ge p1, p2, :cond_1
.line 7
aget v0, p0, p1
xor-int/2addr v0, v1
aput v0, p0, p1
add-int/lit8 p1, p1, 0x1
goto :goto_1
:cond_1
return-void
.end method
.method public static toLong(I)J
.locals 4
int-to-long v0, p0
const-wide v2, 0xffffffffL
and-long/2addr v0, v2
return-wide v0
.end method
.method public static toString(I)Ljava/lang/String;
.locals 1
const/16 v0, 0xa
.line 1
invoke-static {p0, v0}, Lcom/google/common/primitives/UnsignedInts;->toString(II)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static toString(II)Ljava/lang/String;
.locals 4
int-to-long v0, p0
const-wide v2, 0xffffffffL
and-long/2addr v0, v2
.line 2
invoke-static {v0, v1, p1}, Ljava/lang/Long;->toString(JI)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
@@ -0,0 +1,559 @@
.class public final Lcom/google/common/primitives/UnsignedLong;
.super Ljava/lang/Number;
.source "UnsignedLong.java"
# interfaces
.implements Ljava/lang/Comparable;
.implements Ljava/io/Serializable;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
serializable = true
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Number;",
"Ljava/lang/Comparable<",
"Lcom/google/common/primitives/UnsignedLong;",
">;",
"Ljava/io/Serializable;"
}
.end annotation
# static fields
.field public static final MAX_VALUE:Lcom/google/common/primitives/UnsignedLong;
.field public static final ONE:Lcom/google/common/primitives/UnsignedLong;
.field private static final UNSIGNED_MASK:J = 0x7fffffffffffffffL
.field public static final ZERO:Lcom/google/common/primitives/UnsignedLong;
# instance fields
.field private final value:J
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/primitives/UnsignedLong;
const-wide/16 v1, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/primitives/UnsignedLong;-><init>(J)V
sput-object v0, Lcom/google/common/primitives/UnsignedLong;->ZERO:Lcom/google/common/primitives/UnsignedLong;
.line 2
new-instance v0, Lcom/google/common/primitives/UnsignedLong;
const-wide/16 v1, 0x1
invoke-direct {v0, v1, v2}, Lcom/google/common/primitives/UnsignedLong;-><init>(J)V
sput-object v0, Lcom/google/common/primitives/UnsignedLong;->ONE:Lcom/google/common/primitives/UnsignedLong;
.line 3
new-instance v0, Lcom/google/common/primitives/UnsignedLong;
const-wide/16 v1, -0x1
invoke-direct {v0, v1, v2}, Lcom/google/common/primitives/UnsignedLong;-><init>(J)V
sput-object v0, Lcom/google/common/primitives/UnsignedLong;->MAX_VALUE:Lcom/google/common/primitives/UnsignedLong;
return-void
.end method
.method private constructor <init>(J)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Number;-><init>()V
.line 2
iput-wide p1, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
return-void
.end method
.method public static fromLongBits(J)Lcom/google/common/primitives/UnsignedLong;
.locals 1
.line 1
new-instance v0, Lcom/google/common/primitives/UnsignedLong;
invoke-direct {v0, p0, p1}, Lcom/google/common/primitives/UnsignedLong;-><init>(J)V
return-object v0
.end method
.method public static valueOf(J)Lcom/google/common/primitives/UnsignedLong;
.locals 2
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
const-wide/16 v0, 0x0
cmp-long v0, p0, v0
if-ltz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "value (%s) is outside the range for an unsigned long value"
.line 1
invoke-static {v0, v1, p0, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;J)V
.line 2
invoke-static {p0, p1}, Lcom/google/common/primitives/UnsignedLong;->fromLongBits(J)Lcom/google/common/primitives/UnsignedLong;
move-result-object p0
return-object p0
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/UnsignedLong;
.locals 1
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
const/16 v0, 0xa
.line 7
invoke-static {p0, v0}, Lcom/google/common/primitives/UnsignedLong;->valueOf(Ljava/lang/String;I)Lcom/google/common/primitives/UnsignedLong;
move-result-object p0
return-object p0
.end method
.method public static valueOf(Ljava/lang/String;I)Lcom/google/common/primitives/UnsignedLong;
.locals 0
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 8
invoke-static {p0, p1}, Lcom/google/common/primitives/UnsignedLongs;->parseUnsignedLong(Ljava/lang/String;I)J
move-result-wide p0
invoke-static {p0, p1}, Lcom/google/common/primitives/UnsignedLong;->fromLongBits(J)Lcom/google/common/primitives/UnsignedLong;
move-result-object p0
return-object p0
.end method
.method public static valueOf(Ljava/math/BigInteger;)Lcom/google/common/primitives/UnsignedLong;
.locals 2
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
invoke-virtual {p0}, Ljava/math/BigInteger;->signum()I
move-result v0
if-ltz v0, :cond_0
invoke-virtual {p0}, Ljava/math/BigInteger;->bitLength()I
move-result v0
const/16 v1, 0x40
if-gt v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "value (%s) is outside the range for an unsigned long value"
.line 5
invoke-static {v0, v1, p0}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
.line 6
invoke-virtual {p0}, Ljava/math/BigInteger;->longValue()J
move-result-wide v0
invoke-static {v0, v1}, Lcom/google/common/primitives/UnsignedLong;->fromLongBits(J)Lcom/google/common/primitives/UnsignedLong;
move-result-object p0
return-object p0
.end method
# virtual methods
.method public bigIntegerValue()Ljava/math/BigInteger;
.locals 5
.line 1
iget-wide v0, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
const-wide v2, 0x7fffffffffffffffL
and-long/2addr v0, v2
invoke-static {v0, v1}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object v0
.line 2
iget-wide v1, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
const-wide/16 v3, 0x0
cmp-long v1, v1, v3
if-gez v1, :cond_0
const/16 v1, 0x3f
.line 3
invoke-virtual {v0, v1}, Ljava/math/BigInteger;->setBit(I)Ljava/math/BigInteger;
move-result-object v0
:cond_0
return-object v0
.end method
.method public compareTo(Lcom/google/common/primitives/UnsignedLong;)I
.locals 4
.line 2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
iget-wide v0, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
iget-wide v2, p1, Lcom/google/common/primitives/UnsignedLong;->value:J
invoke-static {v0, v1, v2, v3}, Lcom/google/common/primitives/UnsignedLongs;->compare(JJ)I
move-result p1
return p1
.end method
.method public bridge synthetic compareTo(Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Lcom/google/common/primitives/UnsignedLong;
invoke-virtual {p0, p1}, Lcom/google/common/primitives/UnsignedLong;->compareTo(Lcom/google/common/primitives/UnsignedLong;)I
move-result p1
return p1
.end method
.method public dividedBy(Lcom/google/common/primitives/UnsignedLong;)Lcom/google/common/primitives/UnsignedLong;
.locals 4
.line 1
iget-wide v0, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/primitives/UnsignedLong;
iget-wide v2, p1, Lcom/google/common/primitives/UnsignedLong;->value:J
invoke-static {v0, v1, v2, v3}, Lcom/google/common/primitives/UnsignedLongs;->divide(JJ)J
move-result-wide v0
invoke-static {v0, v1}, Lcom/google/common/primitives/UnsignedLong;->fromLongBits(J)Lcom/google/common/primitives/UnsignedLong;
move-result-object p1
return-object p1
.end method
.method public doubleValue()D
.locals 6
.line 1
iget-wide v0, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
const-wide/16 v2, 0x0
cmp-long v2, v0, v2
if-ltz v2, :cond_0
long-to-double v0, v0
return-wide v0
:cond_0
const/4 v2, 0x1
ushr-long v2, v0, v2
const-wide/16 v4, 0x1
and-long/2addr v0, v4
or-long/2addr v0, v2
long-to-double v0, v0
const-wide/high16 v2, 0x4000000000000000L # 2.0
mul-double/2addr v0, v2
return-wide v0
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 6
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
instance-of v0, p1, Lcom/google/common/primitives/UnsignedLong;
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 2
check-cast p1, Lcom/google/common/primitives/UnsignedLong;
.line 3
iget-wide v2, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
iget-wide v4, p1, Lcom/google/common/primitives/UnsignedLong;->value:J
cmp-long p1, v2, v4
if-nez p1, :cond_0
const/4 v1, 0x1
:cond_0
return v1
.end method
.method public floatValue()F
.locals 6
.line 1
iget-wide v0, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
const-wide/16 v2, 0x0
cmp-long v2, v0, v2
if-ltz v2, :cond_0
long-to-float v0, v0
return v0
:cond_0
const/4 v2, 0x1
ushr-long v2, v0, v2
const-wide/16 v4, 0x1
and-long/2addr v0, v4
or-long/2addr v0, v2
long-to-float v0, v0
const/high16 v1, 0x40000000 # 2.0f
mul-float/2addr v0, v1
return v0
.end method
.method public hashCode()I
.locals 2
.line 1
iget-wide v0, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
invoke-static {v0, v1}, Lcom/google/common/primitives/Longs;->hashCode(J)I
move-result v0
return v0
.end method
.method public intValue()I
.locals 2
.line 1
iget-wide v0, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
long-to-int v0, v0
return v0
.end method
.method public longValue()J
.locals 2
.line 1
iget-wide v0, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
return-wide v0
.end method
.method public minus(Lcom/google/common/primitives/UnsignedLong;)Lcom/google/common/primitives/UnsignedLong;
.locals 4
.line 1
iget-wide v0, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/primitives/UnsignedLong;
iget-wide v2, p1, Lcom/google/common/primitives/UnsignedLong;->value:J
sub-long/2addr v0, v2
invoke-static {v0, v1}, Lcom/google/common/primitives/UnsignedLong;->fromLongBits(J)Lcom/google/common/primitives/UnsignedLong;
move-result-object p1
return-object p1
.end method
.method public mod(Lcom/google/common/primitives/UnsignedLong;)Lcom/google/common/primitives/UnsignedLong;
.locals 4
.line 1
iget-wide v0, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/primitives/UnsignedLong;
iget-wide v2, p1, Lcom/google/common/primitives/UnsignedLong;->value:J
invoke-static {v0, v1, v2, v3}, Lcom/google/common/primitives/UnsignedLongs;->remainder(JJ)J
move-result-wide v0
invoke-static {v0, v1}, Lcom/google/common/primitives/UnsignedLong;->fromLongBits(J)Lcom/google/common/primitives/UnsignedLong;
move-result-object p1
return-object p1
.end method
.method public plus(Lcom/google/common/primitives/UnsignedLong;)Lcom/google/common/primitives/UnsignedLong;
.locals 4
.line 1
iget-wide v0, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/primitives/UnsignedLong;
iget-wide v2, p1, Lcom/google/common/primitives/UnsignedLong;->value:J
add-long/2addr v0, v2
invoke-static {v0, v1}, Lcom/google/common/primitives/UnsignedLong;->fromLongBits(J)Lcom/google/common/primitives/UnsignedLong;
move-result-object p1
return-object p1
.end method
.method public times(Lcom/google/common/primitives/UnsignedLong;)Lcom/google/common/primitives/UnsignedLong;
.locals 4
.line 1
iget-wide v0, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/primitives/UnsignedLong;
iget-wide v2, p1, Lcom/google/common/primitives/UnsignedLong;->value:J
mul-long/2addr v0, v2
invoke-static {v0, v1}, Lcom/google/common/primitives/UnsignedLong;->fromLongBits(J)Lcom/google/common/primitives/UnsignedLong;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 2
.line 1
iget-wide v0, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
invoke-static {v0, v1}, Lcom/google/common/primitives/UnsignedLongs;->toString(J)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public toString(I)Ljava/lang/String;
.locals 2
.line 2
iget-wide v0, p0, Lcom/google/common/primitives/UnsignedLong;->value:J
invoke-static {v0, v1, p1}, Lcom/google/common/primitives/UnsignedLongs;->toString(JI)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,198 @@
.class final enum Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
.super Ljava/lang/Enum;
.source "UnsignedLongs.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/UnsignedLongs;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "LexicographicalComparator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;",
">;",
"Ljava/util/Comparator<",
"[J>;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
.field public static final enum INSTANCE:Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
# direct methods
.method private static synthetic $values()[Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
.locals 3
const/4 v0, 0x1
new-array v0, v0, [Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
.line 1
sget-object v1, Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
const/4 v2, 0x0
aput-object v1, v0, v2
return-object v0
.end method
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
const-string v1, "INSTANCE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
.line 2
invoke-static {}, Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;->$values()[Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
.locals 1
.line 1
const-class v0, Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
return-object p0
.end method
.method public static values()[Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
.locals 1
.line 1
sget-object v0, Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;->$VALUES:[Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
invoke-virtual {v0}, [Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
return-object v0
.end method
# virtual methods
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, [J
check-cast p2, [J
invoke-virtual {p0, p1, p2}, Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;->compare([J[J)I
move-result p1
return p1
.end method
.method public compare([J[J)I
.locals 6
.line 2
array-length v0, p1
array-length v1, p2
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 3
aget-wide v2, p1, v1
aget-wide v4, p2, v1
cmp-long v2, v2, v4
if-eqz v2, :cond_0
.line 4
aget-wide v2, p1, v1
aget-wide p1, p2, v1
invoke-static {v2, v3, p1, p2}, Lcom/google/common/primitives/UnsignedLongs;->compare(JJ)I
move-result p1
return p1
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 5
:cond_1
array-length p1, p1
array-length p2, p2
sub-int/2addr p1, p2
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "UnsignedLongs.lexicographicalComparator()"
return-object v0
.end method
@@ -0,0 +1,168 @@
.class final Lcom/google/common/primitives/UnsignedLongs$ParseOverflowDetection;
.super Ljava/lang/Object;
.source "UnsignedLongs.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/UnsignedLongs;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ParseOverflowDetection"
.end annotation
# static fields
.field public static final maxSafeDigits:[I
.field public static final maxValueDivs:[J
.field public static final maxValueMods:[I
# direct methods
.method public static constructor <clinit>()V
.locals 9
const/16 v0, 0x25
new-array v1, v0, [J
.line 1
sput-object v1, Lcom/google/common/primitives/UnsignedLongs$ParseOverflowDetection;->maxValueDivs:[J
new-array v1, v0, [I
.line 2
sput-object v1, Lcom/google/common/primitives/UnsignedLongs$ParseOverflowDetection;->maxValueMods:[I
new-array v0, v0, [I
.line 3
sput-object v0, Lcom/google/common/primitives/UnsignedLongs$ParseOverflowDetection;->maxSafeDigits:[I
.line 4
new-instance v0, Ljava/math/BigInteger;
const-string v1, "10000000000000000"
const/16 v2, 0x10
invoke-direct {v0, v1, v2}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;I)V
const/4 v1, 0x2
:goto_0
const/16 v2, 0x24
if-gt v1, v2, :cond_0
.line 5
sget-object v2, Lcom/google/common/primitives/UnsignedLongs$ParseOverflowDetection;->maxValueDivs:[J
int-to-long v3, v1
const-wide/16 v5, -0x1
invoke-static {v5, v6, v3, v4}, Lcom/google/common/primitives/UnsignedLongs;->divide(JJ)J
move-result-wide v7
aput-wide v7, v2, v1
.line 6
sget-object v2, Lcom/google/common/primitives/UnsignedLongs$ParseOverflowDetection;->maxValueMods:[I
invoke-static {v5, v6, v3, v4}, Lcom/google/common/primitives/UnsignedLongs;->remainder(JJ)J
move-result-wide v3
long-to-int v3, v3
aput v3, v2, v1
.line 7
sget-object v2, Lcom/google/common/primitives/UnsignedLongs$ParseOverflowDetection;->maxSafeDigits:[I
invoke-virtual {v0, v1}, Ljava/math/BigInteger;->toString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v3
add-int/lit8 v3, v3, -0x1
aput v3, v2, v1
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static overflowInParse(JII)Z
.locals 6
const-wide/16 v0, 0x0
cmp-long v0, p0, v0
const/4 v1, 0x1
if-ltz v0, :cond_3
.line 1
sget-object v0, Lcom/google/common/primitives/UnsignedLongs$ParseOverflowDetection;->maxValueDivs:[J
aget-wide v2, v0, p3
cmp-long v2, p0, v2
const/4 v3, 0x0
if-gez v2, :cond_0
return v3
.line 2
:cond_0
aget-wide v4, v0, p3
cmp-long p0, p0, v4
if-lez p0, :cond_1
return v1
.line 3
:cond_1
sget-object p0, Lcom/google/common/primitives/UnsignedLongs$ParseOverflowDetection;->maxValueMods:[I
aget p0, p0, p3
if-le p2, p0, :cond_2
goto :goto_0
:cond_2
move v1, v3
:cond_3
:goto_0
return v1
.end method
@@ -0,0 +1,937 @@
.class public final Lcom/google/common/primitives/UnsignedLongs;
.super Ljava/lang/Object;
.source "UnsignedLongs.java"
# annotations
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation runtime Lcom/google/common/primitives/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/primitives/UnsignedLongs$ParseOverflowDetection;,
Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
}
.end annotation
# static fields
.field public static final MAX_VALUE:J = -0x1L
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static compare(JJ)I
.locals 0
.line 1
invoke-static {p0, p1}, Lcom/google/common/primitives/UnsignedLongs;->flip(J)J
move-result-wide p0
invoke-static {p2, p3}, Lcom/google/common/primitives/UnsignedLongs;->flip(J)J
move-result-wide p2
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/Longs;->compare(JJ)I
move-result p0
return p0
.end method
.method public static decode(Ljava/lang/String;)J
.locals 4
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 1
invoke-static {p0}, Lcom/google/common/primitives/ParseRequest;->fromString(Ljava/lang/String;)Lcom/google/common/primitives/ParseRequest;
move-result-object v0
.line 2
:try_start_0
iget-object v1, v0, Lcom/google/common/primitives/ParseRequest;->rawValue:Ljava/lang/String;
iget v0, v0, Lcom/google/common/primitives/ParseRequest;->radix:I
invoke-static {v1, v0}, Lcom/google/common/primitives/UnsignedLongs;->parseUnsignedLong(Ljava/lang/String;I)J
move-result-wide v0
:try_end_0
.catch Ljava/lang/NumberFormatException; {:try_start_0 .. :try_end_0} :catch_0
return-wide v0
:catch_0
move-exception v0
.line 3
new-instance v1, Ljava/lang/NumberFormatException;
const-string v2, "Error parsing value: "
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v3
if-eqz v3, :cond_0
invoke-virtual {v2, p0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
goto :goto_0
:cond_0
new-instance p0, Ljava/lang/String;
invoke-direct {p0, v2}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
:goto_0
invoke-direct {v1, p0}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
.line 4
invoke-virtual {v1, v0}, Ljava/lang/NumberFormatException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
.line 5
throw v1
.end method
.method public static divide(JJ)J
.locals 5
const-wide/16 v0, 0x0
cmp-long v2, p2, v0
if-gez v2, :cond_1
.line 1
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/UnsignedLongs;->compare(JJ)I
move-result p0
if-gez p0, :cond_0
return-wide v0
:cond_0
const-wide/16 p0, 0x1
return-wide p0
:cond_1
cmp-long v0, p0, v0
if-ltz v0, :cond_2
.line 2
div-long/2addr p0, p2
return-wide p0
:cond_2
const/4 v0, 0x1
ushr-long v1, p0, v0
.line 3
div-long/2addr v1, p2
shl-long/2addr v1, v0
mul-long v3, v1, p2
sub-long/2addr p0, v3
.line 4
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/UnsignedLongs;->compare(JJ)I
move-result p0
if-ltz p0, :cond_3
goto :goto_0
:cond_3
const/4 v0, 0x0
:goto_0
int-to-long p0, v0
add-long/2addr v1, p0
return-wide v1
.end method
.method private static flip(J)J
.locals 2
const-wide/high16 v0, -0x8000000000000000L
xor-long/2addr p0, v0
return-wide p0
.end method
.method public static varargs join(Ljava/lang/String;[J)Ljava/lang/String;
.locals 4
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p1
if-nez v0, :cond_0
const-string p0, ""
return-object p0
.line 3
:cond_0
new-instance v0, Ljava/lang/StringBuilder;
array-length v1, p1
mul-int/lit8 v1, v1, 0x5
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v1, 0x0
.line 4
aget-wide v1, p1, v1
invoke-static {v1, v2}, Lcom/google/common/primitives/UnsignedLongs;->toString(J)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 v1, 0x1
.line 5
:goto_0
array-length v2, p1
if-ge v1, v2, :cond_1
.line 6
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-wide v2, p1, v1
invoke-static {v2, v3}, Lcom/google/common/primitives/UnsignedLongs;->toString(J)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 7
:cond_1
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static lexicographicalComparator()Ljava/util/Comparator;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator<",
"[J>;"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;->INSTANCE:Lcom/google/common/primitives/UnsignedLongs$LexicographicalComparator;
return-object v0
.end method
.method public static varargs max([J)J
.locals 6
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget-wide v0, p0, v1
invoke-static {v0, v1}, Lcom/google/common/primitives/UnsignedLongs;->flip(J)J
move-result-wide v0
.line 3
:goto_1
array-length v3, p0
if-ge v2, v3, :cond_2
.line 4
aget-wide v3, p0, v2
invoke-static {v3, v4}, Lcom/google/common/primitives/UnsignedLongs;->flip(J)J
move-result-wide v3
cmp-long v5, v3, v0
if-lez v5, :cond_1
move-wide v0, v3
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
.line 5
:cond_2
invoke-static {v0, v1}, Lcom/google/common/primitives/UnsignedLongs;->flip(J)J
move-result-wide v0
return-wide v0
.end method
.method public static varargs min([J)J
.locals 6
.line 1
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v1
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 2
aget-wide v0, p0, v1
invoke-static {v0, v1}, Lcom/google/common/primitives/UnsignedLongs;->flip(J)J
move-result-wide v0
.line 3
:goto_1
array-length v3, p0
if-ge v2, v3, :cond_2
.line 4
aget-wide v3, p0, v2
invoke-static {v3, v4}, Lcom/google/common/primitives/UnsignedLongs;->flip(J)J
move-result-wide v3
cmp-long v5, v3, v0
if-gez v5, :cond_1
move-wide v0, v3
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_1
.line 5
:cond_2
invoke-static {v0, v1}, Lcom/google/common/primitives/UnsignedLongs;->flip(J)J
move-result-wide v0
return-wide v0
.end method
.method public static parseUnsignedLong(Ljava/lang/String;)J
.locals 2
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
const/16 v0, 0xa
.line 1
invoke-static {p0, v0}, Lcom/google/common/primitives/UnsignedLongs;->parseUnsignedLong(Ljava/lang/String;I)J
move-result-wide v0
return-wide v0
.end method
.method public static parseUnsignedLong(Ljava/lang/String;I)J
.locals 7
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 2
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
if-eqz v0, :cond_5
const/4 v0, 0x2
if-lt p1, v0, :cond_4
const/16 v0, 0x24
if-gt p1, v0, :cond_4
.line 4
sget-object v0, Lcom/google/common/primitives/UnsignedLongs$ParseOverflowDetection;->maxSafeDigits:[I
aget v0, v0, p1
add-int/lit8 v0, v0, -0x1
const-wide/16 v1, 0x0
const/4 v3, 0x0
.line 5
:goto_0
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v4
if-ge v3, v4, :cond_3
.line 6
invoke-virtual {p0, v3}, Ljava/lang/String;->charAt(I)C
move-result v4
invoke-static {v4, p1}, Ljava/lang/Character;->digit(CI)I
move-result v4
const/4 v5, -0x1
if-eq v4, v5, :cond_2
if-le v3, v0, :cond_1
.line 7
invoke-static {v1, v2, v4, p1}, Lcom/google/common/primitives/UnsignedLongs$ParseOverflowDetection;->overflowInParse(JII)Z
move-result v5
if-eqz v5, :cond_1
.line 8
new-instance p1, Ljava/lang/NumberFormatException;
const-string v0, "Too large for unsigned long: "
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v1
if-eqz v1, :cond_0
invoke-virtual {v0, p0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
goto :goto_1
:cond_0
new-instance p0, Ljava/lang/String;
invoke-direct {p0, v0}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
:goto_1
invoke-direct {p1, p0}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw p1
:cond_1
int-to-long v5, p1
mul-long/2addr v1, v5
int-to-long v4, v4
add-long/2addr v1, v4
add-int/lit8 v3, v3, 0x1
goto :goto_0
.line 9
:cond_2
new-instance p1, Ljava/lang/NumberFormatException;
invoke-direct {p1, p0}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw p1
:cond_3
return-wide v1
.line 10
:cond_4
new-instance p0, Ljava/lang/NumberFormatException;
const/16 v0, 0x1a
const-string v1, "illegal radix: "
invoke-static {v0, v1, p1}, Lcom/google/android/gms/ads/a;->a(ILjava/lang/String;I)Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw p0
.line 11
:cond_5
new-instance p0, Ljava/lang/NumberFormatException;
const-string p1, "empty string"
invoke-direct {p0, p1}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static remainder(JJ)J
.locals 5
const-wide/16 v0, 0x0
cmp-long v2, p2, v0
if-gez v2, :cond_1
.line 1
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/UnsignedLongs;->compare(JJ)I
move-result v0
if-gez v0, :cond_0
return-wide p0
:cond_0
sub-long/2addr p0, p2
return-wide p0
:cond_1
cmp-long v2, p0, v0
if-ltz v2, :cond_2
.line 2
rem-long/2addr p0, p2
return-wide p0
:cond_2
const/4 v2, 0x1
ushr-long v3, p0, v2
.line 3
div-long/2addr v3, p2
shl-long v2, v3, v2
mul-long/2addr v2, p2
sub-long/2addr p0, v2
.line 4
invoke-static {p0, p1, p2, p3}, Lcom/google/common/primitives/UnsignedLongs;->compare(JJ)I
move-result v2
if-ltz v2, :cond_3
goto :goto_0
:cond_3
move-wide p2, v0
:goto_0
sub-long/2addr p0, p2
return-wide p0
.end method
.method public static sort([J)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/UnsignedLongs;->sort([JII)V
return-void
.end method
.method public static sort([JII)V
.locals 3
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
move v0, p1
:goto_0
if-ge v0, p2, :cond_0
.line 5
aget-wide v1, p0, v0
invoke-static {v1, v2}, Lcom/google/common/primitives/UnsignedLongs;->flip(J)J
move-result-wide v1
aput-wide v1, p0, v0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 6
:cond_0
invoke-static {p0, p1, p2}, Ljava/util/Arrays;->sort([JII)V
:goto_1
if-ge p1, p2, :cond_1
.line 7
aget-wide v0, p0, p1
invoke-static {v0, v1}, Lcom/google/common/primitives/UnsignedLongs;->flip(J)J
move-result-wide v0
aput-wide v0, p0, p1
add-int/lit8 p1, p1, 0x1
goto :goto_1
:cond_1
return-void
.end method
.method public static sortDescending([J)V
.locals 2
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
array-length v0, p0
const/4 v1, 0x0
invoke-static {p0, v1, v0}, Lcom/google/common/primitives/UnsignedLongs;->sortDescending([JII)V
return-void
.end method
.method public static sortDescending([JII)V
.locals 5
.line 3
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 4
array-length v0, p0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
move v0, p1
:goto_0
const-wide v1, 0x7fffffffffffffffL
if-ge v0, p2, :cond_0
.line 5
aget-wide v3, p0, v0
xor-long/2addr v1, v3
aput-wide v1, p0, v0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 6
:cond_0
invoke-static {p0, p1, p2}, Ljava/util/Arrays;->sort([JII)V
:goto_1
if-ge p1, p2, :cond_1
.line 7
aget-wide v3, p0, p1
xor-long/2addr v3, v1
aput-wide v3, p0, p1
add-int/lit8 p1, p1, 0x1
goto :goto_1
:cond_1
return-void
.end method
.method public static toString(J)Ljava/lang/String;
.locals 1
const/16 v0, 0xa
.line 1
invoke-static {p0, p1, v0}, Lcom/google/common/primitives/UnsignedLongs;->toString(JI)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static toString(JI)Ljava/lang/String;
.locals 11
const/4 v0, 0x1
const/4 v1, 0x2
if-lt p2, v1, :cond_0
const/16 v1, 0x24
if-gt p2, v1, :cond_0
move v1, v0
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
const-string v2, "radix (%s) must be between Character.MIN_RADIX and Character.MAX_RADIX"
.line 2
invoke-static {v1, v2, p2}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;I)V
const-wide/16 v1, 0x0
cmp-long v3, p0, v1
if-nez v3, :cond_1
const-string p0, "0"
return-object p0
:cond_1
if-lez v3, :cond_2
.line 3
invoke-static {p0, p1, p2}, Ljava/lang/Long;->toString(JI)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_2
const/16 v3, 0x40
new-array v4, v3, [C
add-int/lit8 v5, p2, -0x1
and-int v6, p2, v5
if-nez v6, :cond_4
.line 4
invoke-static {p2}, Ljava/lang/Integer;->numberOfTrailingZeros(I)I
move-result v6
:cond_3
add-int/lit8 v3, v3, -0x1
long-to-int v0, p0
and-int/2addr v0, v5
.line 5
invoke-static {v0, p2}, Ljava/lang/Character;->forDigit(II)C
move-result v0
aput-char v0, v4, v3
ushr-long/2addr p0, v6
cmp-long v0, p0, v1
if-nez v0, :cond_3
goto :goto_3
:cond_4
and-int/lit8 v3, p2, 0x1
if-nez v3, :cond_5
ushr-long v5, p0, v0
ushr-int/lit8 v0, p2, 0x1
int-to-long v7, v0
.line 6
div-long/2addr v5, v7
goto :goto_1
:cond_5
int-to-long v5, p2
.line 7
invoke-static {p0, p1, v5, v6}, Lcom/google/common/primitives/UnsignedLongs;->divide(JJ)J
move-result-wide v5
:goto_1
int-to-long v7, p2
mul-long v9, v5, v7
sub-long/2addr p0, v9
const/16 v0, 0x3f
long-to-int p0, p0
.line 8
invoke-static {p0, p2}, Ljava/lang/Character;->forDigit(II)C
move-result p0
aput-char p0, v4, v0
move v3, v0
:goto_2
cmp-long p0, v5, v1
if-lez p0, :cond_6
add-int/lit8 v3, v3, -0x1
.line 9
rem-long p0, v5, v7
long-to-int p0, p0
invoke-static {p0, p2}, Ljava/lang/Character;->forDigit(II)C
move-result p0
aput-char p0, v4, v3
.line 10
div-long/2addr v5, v7
goto :goto_2
.line 11
:cond_6
:goto_3
new-instance p0, Ljava/lang/String;
rsub-int/lit8 p1, v3, 0x40
invoke-direct {p0, v4, v3, p1}, Ljava/lang/String;-><init>([CII)V
return-object p0
.end method
@@ -0,0 +1,11 @@
.class interface abstract synthetic Lcom/google/common/primitives/package-info;
.super Ljava/lang/Object;
.source "package-info.java"
# annotations
.annotation runtime Lcom/google/errorprone/annotations/CheckReturnValue;
.end annotation
.annotation runtime Ljavax/annotation/ParametersAreNonnullByDefault;
.end annotation