Add Discord APKTool decompilation (Smali source for modding)

- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
This commit is contained in:
2026-02-18 16:13:44 -08:00
parent c080f0d97f
commit f3960ee359
44288 changed files with 10998761 additions and 0 deletions

View File

@@ -0,0 +1,104 @@
.class public final Lcom/google/common/base/Absent;
.super Lcom/google/common/base/Optional;
.source "SourceFile"
# static fields
.field public static final INSTANCE:Lcom/google/common/base/Absent;
.field private static final serialVersionUID:J
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 28
new-instance v0, Lcom/google/common/base/Absent;
invoke-direct {v0}, Lcom/google/common/base/Absent;-><init>()V
sput-object v0, Lcom/google/common/base/Absent;->INSTANCE:Lcom/google/common/base/Absent;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 35
invoke-direct {p0}, Lcom/google/common/base/Optional;-><init>()V
return-void
.end method
.method private readResolve()Ljava/lang/Object;
.locals 1
sget-object v0, Lcom/google/common/base/Absent;->INSTANCE:Lcom/google/common/base/Absent;
return-object v0
.end method
.method public static withType()Lcom/google/common/base/Optional;
.locals 1
sget-object v0, Lcom/google/common/base/Absent;->INSTANCE:Lcom/google/common/base/Absent;
return-object v0
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 0
if-ne p1, p0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public get()Ljava/lang/Object;
.locals 2
.line 44
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Optional.get() cannot be called on an absent value"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public hashCode()I
.locals 1
const v0, 0x79a31aac
return v0
.end method
.method public isPresent()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "Optional.absent()"
return-object v0
.end method

View File

@@ -0,0 +1,98 @@
.class public abstract Lcom/google/common/base/Ascii;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static isUpperCase(C)Z
.locals 1
const/16 v0, 0x41
if-lt p0, v0, :cond_0
const/16 v0, 0x5a
if-gt p0, v0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public static toLowerCase(Ljava/lang/String;)Ljava/lang/String;
.locals 4
.line 408
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_3
.line 410
invoke-virtual {p0, v1}, Ljava/lang/String;->charAt(I)C
move-result v2
invoke-static {v2}, Lcom/google/common/base/Ascii;->isUpperCase(C)Z
move-result v2
if-eqz v2, :cond_2
.line 411
invoke-virtual {p0}, Ljava/lang/String;->toCharArray()[C
move-result-object p0
:goto_1
if-ge v1, v0, :cond_1
.line 413
aget-char v2, p0, v1
.line 414
invoke-static {v2}, Lcom/google/common/base/Ascii;->isUpperCase(C)Z
move-result v3
if-eqz v3, :cond_0
xor-int/lit8 v2, v2, 0x20
int-to-char v2, v2
.line 415
aput-char v2, p0, v1
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_1
.line 418
:cond_1
invoke-static {p0}, Ljava/lang/String;->valueOf([C)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_2
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_3
return-object p0
.end method

View File

@@ -0,0 +1,79 @@
.class public abstract Lcom/google/common/base/Charsets;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final ISO_8859_1:Ljava/nio/charset/Charset;
.field public static final US_ASCII:Ljava/nio/charset/Charset;
.field public static final UTF_16:Ljava/nio/charset/Charset;
.field public static final UTF_16BE:Ljava/nio/charset/Charset;
.field public static final UTF_16LE:Ljava/nio/charset/Charset;
.field public static final UTF_8:Ljava/nio/charset/Charset;
# direct methods
.method static constructor <clinit>()V
.locals 1
const-string v0, "US-ASCII"
.line 46
invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
sput-object v0, Lcom/google/common/base/Charsets;->US_ASCII:Ljava/nio/charset/Charset;
const-string v0, "ISO-8859-1"
.line 55
invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
sput-object v0, Lcom/google/common/base/Charsets;->ISO_8859_1:Ljava/nio/charset/Charset;
const-string v0, "UTF-8"
.line 64
invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
sput-object v0, Lcom/google/common/base/Charsets;->UTF_8:Ljava/nio/charset/Charset;
const-string v0, "UTF-16BE"
.line 74
invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
sput-object v0, Lcom/google/common/base/Charsets;->UTF_16BE:Ljava/nio/charset/Charset;
const-string v0, "UTF-16LE"
.line 84
invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
sput-object v0, Lcom/google/common/base/Charsets;->UTF_16LE:Ljava/nio/charset/Charset;
const-string v0, "UTF-16"
.line 95
invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
sput-object v0, Lcom/google/common/base/Charsets;->UTF_16:Ljava/nio/charset/Charset;
return-void
.end method

View File

@@ -0,0 +1,3 @@
.class public abstract Lcom/google/common/base/ExtraObjectsMethodsForWeb;
.super Ljava/lang/Object;
.source "SourceFile"

View File

@@ -0,0 +1,19 @@
.class public interface abstract Lcom/google/common/base/Function;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract apply(Ljava/lang/Object;)Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
")",
"Ljava/lang/Object;"
}
.end annotation
.end method
.method public abstract equals(Ljava/lang/Object;)Z
.end method

View File

@@ -0,0 +1,14 @@
.class public abstract synthetic Lcom/google/common/base/MoreObjects$1;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/base/MoreObjects;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation

View File

@@ -0,0 +1,42 @@
.class public Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/base/MoreObjects$ToStringHelper;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "ValueHolder"
.end annotation
# instance fields
.field public name:Ljava/lang/String;
.field public next:Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
.field public value:Ljava/lang/Object;
# direct methods
.method public constructor <init>()V
.locals 0
.line 444
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/common/base/MoreObjects$1;)V
.locals 0
.line 444
invoke-direct {p0}, Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,353 @@
.class public final Lcom/google/common/base/MoreObjects$ToStringHelper;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/base/MoreObjects;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ToStringHelper"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
}
.end annotation
# instance fields
.field public final className:Ljava/lang/String;
.field public final holderHead:Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
.field public holderTail:Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
.field public omitEmptyValues:Z
.field public omitNullValues:Z
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 2
.line 172
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 166
new-instance v0, Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;-><init>(Lcom/google/common/base/MoreObjects$1;)V
iput-object v0, p0, Lcom/google/common/base/MoreObjects$ToStringHelper;->holderHead:Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
iput-object v0, p0, Lcom/google/common/base/MoreObjects$ToStringHelper;->holderTail:Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/google/common/base/MoreObjects$ToStringHelper;->omitNullValues:Z
iput-boolean v0, p0, Lcom/google/common/base/MoreObjects$ToStringHelper;->omitEmptyValues:Z
.line 173
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
iput-object p1, p0, Lcom/google/common/base/MoreObjects$ToStringHelper;->className:Ljava/lang/String;
return-void
.end method
.method public synthetic constructor <init>(Ljava/lang/String;Lcom/google/common/base/MoreObjects$1;)V
.locals 0
.line 164
invoke-direct {p0, p1}, Lcom/google/common/base/MoreObjects$ToStringHelper;-><init>(Ljava/lang/String;)V
return-void
.end method
.method public static isEmpty(Ljava/lang/Object;)Z
.locals 3
.line 350
instance-of v0, p0, Ljava/lang/CharSequence;
const/4 v1, 0x0
const/4 v2, 0x1
if-eqz v0, :cond_1
.line 351
check-cast p0, Ljava/lang/CharSequence;
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result p0
if-nez p0, :cond_0
move v1, v2
:cond_0
return v1
.line 352
:cond_1
instance-of v0, p0, Ljava/util/Collection;
if-eqz v0, :cond_2
.line 353
check-cast p0, Ljava/util/Collection;
invoke-interface {p0}, Ljava/util/Collection;->isEmpty()Z
move-result p0
return p0
.line 354
:cond_2
instance-of v0, p0, Ljava/util/Map;
if-eqz v0, :cond_3
.line 355
check-cast p0, Ljava/util/Map;
invoke-interface {p0}, Ljava/util/Map;->isEmpty()Z
move-result p0
return p0
.line 356
:cond_3
instance-of v0, p0, Lcom/google/common/base/Optional;
if-eqz v0, :cond_4
.line 357
check-cast p0, Lcom/google/common/base/Optional;
invoke-virtual {p0}, Lcom/google/common/base/Optional;->isPresent()Z
move-result p0
xor-int/2addr p0, v2
return p0
.line 358
:cond_4
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->isArray()Z
move-result v0
if-eqz v0, :cond_5
.line 359
invoke-static {p0}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I
move-result p0
if-nez p0, :cond_5
move v1, v2
:cond_5
return v1
.end method
# virtual methods
.method public final addHolder()Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
.locals 2
.line 406
new-instance v0, Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;-><init>(Lcom/google/common/base/MoreObjects$1;)V
iget-object v1, p0, Lcom/google/common/base/MoreObjects$ToStringHelper;->holderTail:Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
.line 407
iput-object v0, v1, Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;->next:Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
iput-object v0, p0, Lcom/google/common/base/MoreObjects$ToStringHelper;->holderTail:Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
return-object v0
.end method
.method public final addHolder(Ljava/lang/Object;)Lcom/google/common/base/MoreObjects$ToStringHelper;
.locals 1
.line 412
invoke-virtual {p0}, Lcom/google/common/base/MoreObjects$ToStringHelper;->addHolder()Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
move-result-object v0
.line 413
iput-object p1, v0, Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;->value:Ljava/lang/Object;
return-object p0
.end method
.method public addValue(Ljava/lang/Object;)Lcom/google/common/base/MoreObjects$ToStringHelper;
.locals 0
.line 267
invoke-virtual {p0, p1}, Lcom/google/common/base/MoreObjects$ToStringHelper;->addHolder(Ljava/lang/Object;)Lcom/google/common/base/MoreObjects$ToStringHelper;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 7
iget-boolean v0, p0, Lcom/google/common/base/MoreObjects$ToStringHelper;->omitNullValues:Z
iget-boolean v1, p0, Lcom/google/common/base/MoreObjects$ToStringHelper;->omitEmptyValues:Z
.line 378
new-instance v2, Ljava/lang/StringBuilder;
const/16 v3, 0x20
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(I)V
iget-object v3, p0, Lcom/google/common/base/MoreObjects$ToStringHelper;->className:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v3, 0x7b
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v3, p0, Lcom/google/common/base/MoreObjects$ToStringHelper;->holderHead:Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
.line 379
iget-object v3, v3, Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;->next:Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
const-string v4, ""
:goto_0
if-eqz v3, :cond_5
.line 382
iget-object v5, v3, Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;->value:Ljava/lang/Object;
if-nez v5, :cond_0
if-nez v0, :cond_4
goto :goto_1
:cond_0
if-eqz v1, :cond_1
.line 386
invoke-static {v5}, Lcom/google/common/base/MoreObjects$ToStringHelper;->isEmpty(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_4
.line 387
:cond_1
:goto_1
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 390
iget-object v4, v3, Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;->name:Ljava/lang/String;
if-eqz v4, :cond_2
.line 391
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v4, 0x3d
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
:cond_2
if-eqz v5, :cond_3
.line 393
invoke-virtual {v5}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/Class;->isArray()Z
move-result v4
if-eqz v4, :cond_3
filled-new-array {v5}, [Ljava/lang/Object;
move-result-object v4
.line 395
invoke-static {v4}, Ljava/util/Arrays;->deepToString([Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
.line 396
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v5
const/4 v6, 0x1
sub-int/2addr v5, v6
invoke-virtual {v2, v4, v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
goto :goto_2
.line 398
:cond_3
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
:goto_2
const-string v4, ", "
.line 381
:cond_4
iget-object v3, v3, Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;->next:Lcom/google/common/base/MoreObjects$ToStringHelper$ValueHolder;
goto :goto_0
:cond_5
const/16 v0, 0x7d
.line 402
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,34 @@
.class public abstract Lcom/google/common/base/MoreObjects;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/base/MoreObjects$ToStringHelper;
}
.end annotation
# direct methods
.method public static toStringHelper(Ljava/lang/Object;)Lcom/google/common/base/MoreObjects$ToStringHelper;
.locals 2
.line 129
new-instance v0, Lcom/google/common/base/MoreObjects$ToStringHelper;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lcom/google/common/base/MoreObjects$ToStringHelper;-><init>(Ljava/lang/String;Lcom/google/common/base/MoreObjects$1;)V
return-object v0
.end method

View File

@@ -0,0 +1,11 @@
.class public abstract Lcom/google/common/base/NullnessCasts;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static uncheckedCastNullableTToT(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
return-object p0
.end method

View File

@@ -0,0 +1,45 @@
.class public abstract Lcom/google/common/base/Objects;
.super Lcom/google/common/base/ExtraObjectsMethodsForWeb;
.source "SourceFile"
# direct methods
.method public static equal(Ljava/lang/Object;Ljava/lang/Object;)Z
.locals 0
if-eq p0, p1, :cond_1
if-eqz p0, :cond_0
.line 54
invoke-virtual {p0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_0
goto :goto_0
:cond_0
const/4 p0, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p0, 0x1
:goto_1
return p0
.end method
.method public static varargs hashCode([Ljava/lang/Object;)I
.locals 0
.line 79
invoke-static {p0}, Ljava/util/Arrays;->hashCode([Ljava/lang/Object;)I
move-result p0
return p0
.end method

View File

@@ -0,0 +1,55 @@
.class public abstract Lcom/google/common/base/Optional;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/io/Serializable;
# static fields
.field private static final serialVersionUID:J
# direct methods
.method public constructor <init>()V
.locals 0
.line 120
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static absent()Lcom/google/common/base/Optional;
.locals 1
.line 94
invoke-static {}, Lcom/google/common/base/Absent;->withType()Lcom/google/common/base/Optional;
move-result-object v0
return-object v0
.end method
.method public static of(Ljava/lang/Object;)Lcom/google/common/base/Optional;
.locals 1
.line 106
new-instance v0, Lcom/google/common/base/Present;
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
invoke-direct {v0, p0}, Lcom/google/common/base/Present;-><init>(Ljava/lang/Object;)V
return-object v0
.end method
# virtual methods
.method public abstract get()Ljava/lang/Object;
.end method
.method public abstract isPresent()Z
.end method

View File

@@ -0,0 +1,443 @@
.class public abstract Lcom/google/common/base/Preconditions;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static badElementIndex(IILjava/lang/String;)Ljava/lang/String;
.locals 1
if-gez p0, :cond_0
.line 1362
invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
filled-new-array {p2, p0}, [Ljava/lang/Object;
move-result-object p0
const-string p1, "%s (%s) must not be negative"
invoke-static {p1, p0}, Lcom/google/common/base/Strings;->lenientFormat(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_0
if-ltz p1, :cond_1
.line 1366
invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
filled-new-array {p2, p0, p1}, [Ljava/lang/Object;
move-result-object p0
const-string p1, "%s (%s) must be less than size (%s)"
invoke-static {p1, p0}, Lcom/google/common/base/Strings;->lenientFormat(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
.line 1364
:cond_1
new-instance p0, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
const/16 v0, 0x1a
invoke-direct {p2, v0}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v0, "negative size: "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()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 badPositionIndex(IILjava/lang/String;)Ljava/lang/String;
.locals 1
if-gez p0, :cond_0
.line 1407
invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
filled-new-array {p2, p0}, [Ljava/lang/Object;
move-result-object p0
const-string p1, "%s (%s) must not be negative"
invoke-static {p1, p0}, Lcom/google/common/base/Strings;->lenientFormat(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_0
if-ltz p1, :cond_1
.line 1411
invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
filled-new-array {p2, p0, p1}, [Ljava/lang/Object;
move-result-object p0
const-string p1, "%s (%s) must not be greater than size (%s)"
invoke-static {p1, p0}, Lcom/google/common/base/Strings;->lenientFormat(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
.line 1409
:cond_1
new-instance p0, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
const/16 v0, 0x1a
invoke-direct {p2, v0}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v0, "negative size: "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()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 badPositionIndexes(III)Ljava/lang/String;
.locals 0
if-ltz p0, :cond_3
if-le p0, p2, :cond_0
goto :goto_1
:cond_0
if-ltz p1, :cond_2
if-le p1, p2, :cond_1
goto :goto_0
.line 1442
:cond_1
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
filled-new-array {p1, p0}, [Ljava/lang/Object;
move-result-object p0
const-string p1, "end index (%s) must not be less than start index (%s)"
invoke-static {p1, p0}, Lcom/google/common/base/Strings;->lenientFormat(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_2
:goto_0
const-string p0, "end index"
.line 1439
invoke-static {p1, p2, p0}, Lcom/google/common/base/Preconditions;->badPositionIndex(IILjava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_3
:goto_1
const-string p1, "start index"
.line 1436
invoke-static {p0, p2, p1}, Lcom/google/common/base/Preconditions;->badPositionIndex(IILjava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static checkArgument(Z)V
.locals 0
if-eqz p0, :cond_0
return-void
.line 131
:cond_0
new-instance p0, Ljava/lang/IllegalArgumentException;
invoke-direct {p0}, Ljava/lang/IllegalArgumentException;-><init>()V
throw p0
.end method
.method public static checkArgument(ZLjava/lang/Object;)V
.locals 0
if-eqz p0, :cond_0
return-void
.line 145
:cond_0
new-instance p0, Ljava/lang/IllegalArgumentException;
invoke-static {p1}, Ljava/lang/String;->valueOf(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 checkArgument(ZLjava/lang/String;II)V
.locals 0
if-eqz p0, :cond_0
return-void
.line 299
:cond_0
new-instance p0, Ljava/lang/IllegalArgumentException;
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p3
filled-new-array {p2, p3}, [Ljava/lang/Object;
move-result-object p2
invoke-static {p1, p2}, 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 checkElementIndex(II)I
.locals 1
const-string v0, "index"
.line 1337
invoke-static {p0, p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(IILjava/lang/String;)I
move-result p0
return p0
.end method
.method public static checkElementIndex(IILjava/lang/String;)I
.locals 1
if-ltz p0, :cond_0
if-ge p0, p1, :cond_0
return p0
.line 1355
:cond_0
new-instance v0, Ljava/lang/IndexOutOfBoundsException;
invoke-static {p0, p1, p2}, Lcom/google/common/base/Preconditions;->badElementIndex(IILjava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 889
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
return-object p0
.end method
.method public static checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
if-eqz p0, :cond_0
return-object p0
.line 907
:cond_0
new-instance p0, Ljava/lang/NullPointerException;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static checkPositionIndex(II)I
.locals 1
const-string v0, "index"
.line 1382
invoke-static {p0, p1, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndex(IILjava/lang/String;)I
move-result p0
return p0
.end method
.method public static checkPositionIndex(IILjava/lang/String;)I
.locals 1
if-ltz p0, :cond_0
if-gt p0, p1, :cond_0
return p0
.line 1400
:cond_0
new-instance v0, Ljava/lang/IndexOutOfBoundsException;
invoke-static {p0, p1, p2}, Lcom/google/common/base/Preconditions;->badPositionIndex(IILjava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static checkPositionIndexes(III)V
.locals 1
if-ltz p0, :cond_0
if-lt p1, p0, :cond_0
if-gt p1, p2, :cond_0
return-void
.line 1430
:cond_0
new-instance v0, Ljava/lang/IndexOutOfBoundsException;
invoke-static {p0, p1, p2}, Lcom/google/common/base/Preconditions;->badPositionIndexes(III)Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static checkState(ZLjava/lang/Object;)V
.locals 0
if-eqz p0, :cond_0
return-void
.line 502
:cond_0
new-instance p0, Ljava/lang/IllegalStateException;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static checkState(ZLjava/lang/String;Ljava/lang/Object;)V
.locals 0
if-eqz p0, :cond_0
return-void
.line 590
:cond_0
new-instance p0, Ljava/lang/IllegalStateException;
filled-new-array {p2}, [Ljava/lang/Object;
move-result-object p2
invoke-static {p1, p2}, 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/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p0
.end method

View File

@@ -0,0 +1,124 @@
.class public final Lcom/google/common/base/Present;
.super Lcom/google/common/base/Optional;
.source "SourceFile"
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final reference:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Ljava/lang/Object;)V
.locals 0
.line 30
invoke-direct {p0}, Lcom/google/common/base/Optional;-><init>()V
iput-object p1, p0, Lcom/google/common/base/Present;->reference:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 1
.line 82
instance-of v0, p1, Lcom/google/common/base/Present;
if-eqz v0, :cond_0
.line 83
check-cast p1, Lcom/google/common/base/Present;
iget-object v0, p0, Lcom/google/common/base/Present;->reference:Ljava/lang/Object;
.line 84
iget-object p1, p1, Lcom/google/common/base/Present;->reference:Ljava/lang/Object;
invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
:cond_0
const/4 p1, 0x0
return p1
.end method
.method public get()Ljava/lang/Object;
.locals 1
iget-object v0, p0, Lcom/google/common/base/Present;->reference:Ljava/lang/Object;
return-object v0
.end method
.method public hashCode()I
.locals 2
iget-object v0, p0, Lcom/google/common/base/Present;->reference:Ljava/lang/Object;
.line 91
invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I
move-result v0
const v1, 0x598df91c
add-int/2addr v0, v1
return v0
.end method
.method public isPresent()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
iget-object v0, p0, Lcom/google/common/base/Present;->reference:Ljava/lang/Object;
.line 96
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
add-int/lit8 v1, v1, 0xd
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "Optional.of("
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ")"
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,329 @@
.class public abstract Lcom/google/common/base/Strings;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static varargs lenientFormat(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
.locals 6
.line 264
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
const/4 v0, 0x0
if-nez p1, :cond_0
const-string p1, "(Object[])null"
filled-new-array {p1}, [Ljava/lang/Object;
move-result-object p1
goto :goto_1
:cond_0
move v1, v0
.line 269
:goto_0
array-length v2, p1
if-ge v1, v2, :cond_1
.line 270
aget-object v2, p1, v1
invoke-static {v2}, Lcom/google/common/base/Strings;->lenientToString(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
aput-object v2, p1, v1
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 275
:cond_1
:goto_1
new-instance v1, Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v2
array-length v3, p1
mul-int/lit8 v3, v3, 0x10
add-int/2addr v2, v3
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(I)V
move v2, v0
.line 278
:goto_2
array-length v3, p1
if-ge v0, v3, :cond_3
const-string v3, "%s"
.line 279
invoke-virtual {p0, v3, v2}, Ljava/lang/String;->indexOf(Ljava/lang/String;I)I
move-result v3
const/4 v4, -0x1
if-ne v3, v4, :cond_2
goto :goto_3
.line 283
:cond_2
invoke-virtual {v1, p0, v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
add-int/lit8 v2, v0, 0x1
.line 284
aget-object v0, p1, v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
add-int/lit8 v0, v3, 0x2
move v5, v2
move v2, v0
move v0, v5
goto :goto_2
.line 287
:cond_3
:goto_3
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v3
invoke-virtual {v1, p0, v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
.line 290
array-length p0, p1
if-ge v0, p0, :cond_5
const-string p0, " ["
.line 291
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p0, v0, 0x1
.line 292
aget-object v0, p1, v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
.line 293
:goto_4
array-length v0, p1
if-ge p0, v0, :cond_4
const-string v0, ", "
.line 294
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v0, p0, 0x1
.line 295
aget-object p0, p1, p0
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move p0, v0
goto :goto_4
:cond_4
const/16 p0, 0x5d
.line 297
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 300
:cond_5
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static lenientToString(Ljava/lang/Object;)Ljava/lang/String;
.locals 6
if-nez p0, :cond_0
const-string p0, "null"
return-object p0
.line 308
:cond_0
:try_start_0
invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p0
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
move-exception v0
.line 312
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v1
invoke-static {p0}, Ljava/lang/System;->identityHashCode(Ljava/lang/Object;)I
move-result p0
invoke-static {p0}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object p0
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, 0x1
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v2, v3
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v2}, Ljava/lang/StringBuilder;-><init>(I)V
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x40
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const-string v1, "com.google.common.base.Strings"
.line 314
invoke-static {v1}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
move-result-object v1
sget-object v2, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v4
const-string v5, "Exception during lenientFormat for "
if-eqz v4, :cond_1
invoke-virtual {v5, v3}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
goto :goto_0
:cond_1
new-instance v3, Ljava/lang/String;
invoke-direct {v3, v5}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
.line 315
:goto_0
invoke-virtual {v1, v2, v3, v0}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 316
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
add-int/lit8 v1, v1, 0x9
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v2
add-int/2addr v1, v2
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "<"
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, " threw "
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, ">"
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
return-object p0
.end method

View File

@@ -0,0 +1,8 @@
.class public interface abstract Lcom/google/common/base/Supplier;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract get()Ljava/lang/Object;
.end method

View File

@@ -0,0 +1,190 @@
.class public Lcom/google/common/base/Suppliers$MemoizingSupplier;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/google/common/base/Supplier;
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/base/Suppliers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "MemoizingSupplier"
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final delegate:Lcom/google/common/base/Supplier;
.field public volatile transient initialized:Z
.field public transient value:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Lcom/google/common/base/Supplier;)V
.locals 0
.line 126
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 127
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/base/Supplier;
iput-object p1, p0, Lcom/google/common/base/Suppliers$MemoizingSupplier;->delegate:Lcom/google/common/base/Supplier;
return-void
.end method
# virtual methods
.method public get()Ljava/lang/Object;
.locals 2
iget-boolean v0, p0, Lcom/google/common/base/Suppliers$MemoizingSupplier;->initialized:Z
if-nez v0, :cond_1
.line 135
monitor-enter p0
:try_start_0
iget-boolean v0, p0, Lcom/google/common/base/Suppliers$MemoizingSupplier;->initialized:Z
if-nez v0, :cond_0
iget-object v0, p0, Lcom/google/common/base/Suppliers$MemoizingSupplier;->delegate:Lcom/google/common/base/Supplier;
.line 137
invoke-interface {v0}, Lcom/google/common/base/Supplier;->get()Ljava/lang/Object;
move-result-object v0
iput-object v0, p0, Lcom/google/common/base/Suppliers$MemoizingSupplier;->value:Ljava/lang/Object;
const/4 v1, 0x1
iput-boolean v1, p0, Lcom/google/common/base/Suppliers$MemoizingSupplier;->initialized:Z
.line 140
monitor-exit p0
return-object v0
:catchall_0
move-exception v0
goto :goto_0
.line 142
:cond_0
monitor-exit p0
goto :goto_1
:goto_0
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
:cond_1
:goto_1
iget-object v0, p0, Lcom/google/common/base/Suppliers$MemoizingSupplier;->value:Ljava/lang/Object;
.line 145
invoke-static {v0}, Lcom/google/common/base/NullnessCasts;->uncheckedCastNullableTToT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
iget-boolean v0, p0, Lcom/google/common/base/Suppliers$MemoizingSupplier;->initialized:Z
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/base/Suppliers$MemoizingSupplier;->value:Ljava/lang/Object;
.line 151
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
add-int/lit8 v1, v1, 0x19
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "<supplier that returned "
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ">"
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/google/common/base/Suppliers$MemoizingSupplier;->delegate:Lcom/google/common/base/Supplier;
:goto_0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
add-int/lit8 v1, v1, 0x13
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "Suppliers.memoize("
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ")"
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,188 @@
.class public Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/google/common/base/Supplier;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/base/Suppliers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "NonSerializableMemoizingSupplier"
.end annotation
# instance fields
.field public volatile delegate:Lcom/google/common/base/Supplier;
.field public volatile initialized:Z
.field public value:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Lcom/google/common/base/Supplier;)V
.locals 0
.line 166
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 167
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/base/Supplier;
iput-object p1, p0, Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;->delegate:Lcom/google/common/base/Supplier;
return-void
.end method
# virtual methods
.method public get()Ljava/lang/Object;
.locals 2
iget-boolean v0, p0, Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;->initialized:Z
if-nez v0, :cond_1
.line 175
monitor-enter p0
:try_start_0
iget-boolean v0, p0, Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;->initialized:Z
if-nez v0, :cond_0
iget-object v0, p0, Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;->delegate:Lcom/google/common/base/Supplier;
.line 183
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v0, Lcom/google/common/base/Supplier;
invoke-interface {v0}, Lcom/google/common/base/Supplier;->get()Ljava/lang/Object;
move-result-object v0
iput-object v0, p0, Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;->value:Ljava/lang/Object;
const/4 v1, 0x1
iput-boolean v1, p0, Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;->initialized:Z
const/4 v1, 0x0
iput-object v1, p0, Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;->delegate:Lcom/google/common/base/Supplier;
.line 188
monitor-exit p0
return-object v0
:catchall_0
move-exception v0
goto :goto_0
.line 190
:cond_0
monitor-exit p0
goto :goto_1
:goto_0
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
:cond_1
:goto_1
iget-object v0, p0, Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;->value:Ljava/lang/Object;
.line 193
invoke-static {v0}, Lcom/google/common/base/NullnessCasts;->uncheckedCastNullableTToT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
iget-object v0, p0, Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;->delegate:Lcom/google/common/base/Supplier;
if-nez v0, :cond_0
iget-object v0, p0, Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;->value:Ljava/lang/Object;
.line 200
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
add-int/lit8 v1, v1, 0x19
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "<supplier that returned "
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ">"
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:cond_0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
add-int/lit8 v1, v1, 0x13
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "Suppliers.memoize("
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ")"
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,131 @@
.class public Lcom/google/common/base/Suppliers$SupplierOfInstance;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/google/common/base/Supplier;
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/base/Suppliers;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "SupplierOfInstance"
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final instance:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Ljava/lang/Object;)V
.locals 0
.line 296
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/google/common/base/Suppliers$SupplierOfInstance;->instance:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 1
.line 308
instance-of v0, p1, Lcom/google/common/base/Suppliers$SupplierOfInstance;
if-eqz v0, :cond_0
.line 309
check-cast p1, Lcom/google/common/base/Suppliers$SupplierOfInstance;
iget-object v0, p0, Lcom/google/common/base/Suppliers$SupplierOfInstance;->instance:Ljava/lang/Object;
.line 310
iget-object p1, p1, Lcom/google/common/base/Suppliers$SupplierOfInstance;->instance:Ljava/lang/Object;
invoke-static {v0, p1}, Lcom/google/common/base/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
return p1
:cond_0
const/4 p1, 0x0
return p1
.end method
.method public get()Ljava/lang/Object;
.locals 1
iget-object v0, p0, Lcom/google/common/base/Suppliers$SupplierOfInstance;->instance:Ljava/lang/Object;
return-object v0
.end method
.method public hashCode()I
.locals 1
iget-object v0, p0, Lcom/google/common/base/Suppliers$SupplierOfInstance;->instance:Ljava/lang/Object;
filled-new-array {v0}, [Ljava/lang/Object;
move-result-object v0
.line 317
invoke-static {v0}, Lcom/google/common/base/Objects;->hashCode([Ljava/lang/Object;)I
move-result v0
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
iget-object v0, p0, Lcom/google/common/base/Suppliers$SupplierOfInstance;->instance:Ljava/lang/Object;
.line 322
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
add-int/lit8 v1, v1, 0x16
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "Suppliers.ofInstance("
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ")"
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,67 @@
.class public abstract Lcom/google/common/base/Suppliers;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/base/Suppliers$SupplierOfInstance;,
Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;,
Lcom/google/common/base/Suppliers$MemoizingSupplier;
}
.end annotation
# direct methods
.method public static memoize(Lcom/google/common/base/Supplier;)Lcom/google/common/base/Supplier;
.locals 1
.line 109
instance-of v0, p0, Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;
if-nez v0, :cond_2
instance-of v0, p0, Lcom/google/common/base/Suppliers$MemoizingSupplier;
if-eqz v0, :cond_0
goto :goto_1
.line 113
:cond_0
instance-of v0, p0, Ljava/io/Serializable;
if-eqz v0, :cond_1
.line 114
new-instance v0, Lcom/google/common/base/Suppliers$MemoizingSupplier;
invoke-direct {v0, p0}, Lcom/google/common/base/Suppliers$MemoizingSupplier;-><init>(Lcom/google/common/base/Supplier;)V
goto :goto_0
.line 115
:cond_1
new-instance v0, Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;
invoke-direct {v0, p0}, Lcom/google/common/base/Suppliers$NonSerializableMemoizingSupplier;-><init>(Lcom/google/common/base/Supplier;)V
:goto_0
return-object v0
:cond_2
:goto_1
return-object p0
.end method
.method public static ofInstance(Ljava/lang/Object;)Lcom/google/common/base/Supplier;
.locals 1
.line 289
new-instance v0, Lcom/google/common/base/Suppliers$SupplierOfInstance;
invoke-direct {v0, p0}, Lcom/google/common/base/Suppliers$SupplierOfInstance;-><init>(Ljava/lang/Object;)V
return-object v0
.end method

View File

@@ -0,0 +1,152 @@
.class public abstract Lcom/google/common/collect/AbstractIndexedListIterator;
.super Lcom/google/common/collect/UnmodifiableListIterator;
.source "SourceFile"
# instance fields
.field public position:I
.field public final size:I
# direct methods
.method public constructor <init>(II)V
.locals 0
.line 65
invoke-direct {p0}, Lcom/google/common/collect/UnmodifiableListIterator;-><init>()V
.line 66
invoke-static {p2, p1}, Lcom/google/common/base/Preconditions;->checkPositionIndex(II)I
iput p1, p0, Lcom/google/common/collect/AbstractIndexedListIterator;->size:I
iput p2, p0, Lcom/google/common/collect/AbstractIndexedListIterator;->position:I
return-void
.end method
# virtual methods
.method public abstract get(I)Ljava/lang/Object;
.end method
.method public final hasNext()Z
.locals 2
iget v0, p0, Lcom/google/common/collect/AbstractIndexedListIterator;->position:I
iget v1, p0, Lcom/google/common/collect/AbstractIndexedListIterator;->size:I
if-ge v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public final hasPrevious()Z
.locals 1
iget v0, p0, Lcom/google/common/collect/AbstractIndexedListIterator;->position:I
if-lez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public final next()Ljava/lang/Object;
.locals 2
.line 79
invoke-virtual {p0}, Lcom/google/common/collect/AbstractIndexedListIterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
iget v0, p0, Lcom/google/common/collect/AbstractIndexedListIterator;->position:I
add-int/lit8 v1, v0, 0x1
iput v1, p0, Lcom/google/common/collect/AbstractIndexedListIterator;->position:I
.line 82
invoke-virtual {p0, v0}, Lcom/google/common/collect/AbstractIndexedListIterator;->get(I)Ljava/lang/Object;
move-result-object v0
return-object v0
.line 80
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public final nextIndex()I
.locals 1
iget v0, p0, Lcom/google/common/collect/AbstractIndexedListIterator;->position:I
return v0
.end method
.method public final previous()Ljava/lang/Object;
.locals 1
.line 98
invoke-virtual {p0}, Lcom/google/common/collect/AbstractIndexedListIterator;->hasPrevious()Z
move-result v0
if-eqz v0, :cond_0
iget v0, p0, Lcom/google/common/collect/AbstractIndexedListIterator;->position:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/google/common/collect/AbstractIndexedListIterator;->position:I
.line 101
invoke-virtual {p0, v0}, Lcom/google/common/collect/AbstractIndexedListIterator;->get(I)Ljava/lang/Object;
move-result-object v0
return-object v0
.line 99
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public final previousIndex()I
.locals 1
iget v0, p0, Lcom/google/common/collect/AbstractIndexedListIterator;->position:I
add-int/lit8 v0, v0, -0x1
return v0
.end method

View File

@@ -0,0 +1,168 @@
.class public abstract Lcom/google/common/collect/AbstractMapEntry;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/Map$Entry;
# direct methods
.method public constructor <init>()V
.locals 0
.line 33
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 3
.line 52
instance-of v0, p1, Ljava/util/Map$Entry;
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 53
check-cast p1, Ljava/util/Map$Entry;
.line 54
invoke-virtual {p0}, Lcom/google/common/collect/AbstractMapEntry;->getKey()Ljava/lang/Object;
move-result-object v0
invoke-interface {p1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
invoke-static {v0, v2}, Lcom/google/common/base/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
.line 55
invoke-virtual {p0}, Lcom/google/common/collect/AbstractMapEntry;->getValue()Ljava/lang/Object;
move-result-object v0
invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object p1
invoke-static {v0, p1}, Lcom/google/common/base/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
const/4 v1, 0x1
:cond_0
return v1
.end method
.method public abstract getKey()Ljava/lang/Object;
.end method
.method public abstract getValue()Ljava/lang/Object;
.end method
.method public hashCode()I
.locals 3
.line 62
invoke-virtual {p0}, Lcom/google/common/collect/AbstractMapEntry;->getKey()Ljava/lang/Object;
move-result-object v0
.line 63
invoke-virtual {p0}, Lcom/google/common/collect/AbstractMapEntry;->getValue()Ljava/lang/Object;
move-result-object v1
const/4 v2, 0x0
if-nez v0, :cond_0
move v0, v2
goto :goto_0
.line 64
:cond_0
invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I
move-result v0
:goto_0
if-nez v1, :cond_1
goto :goto_1
:cond_1
invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
move-result v2
:goto_1
xor-int/2addr v0, v2
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 4
.line 70
invoke-virtual {p0}, Lcom/google/common/collect/AbstractMapEntry;->getKey()Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {p0}, Lcom/google/common/collect/AbstractMapEntry;->getValue()Ljava/lang/Object;
move-result-object v1
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, 0x1
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v2, v3
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v2}, Ljava/lang/StringBuilder;-><init>(I)V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "="
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,109 @@
.class public abstract Lcom/google/common/collect/AbstractMultimap;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/google/common/collect/Multimap;
# direct methods
.method public constructor <init>()V
.locals 0
.line 41
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public abstract asMap()Ljava/util/Map;
.end method
.method public containsValue(Ljava/lang/Object;)Z
.locals 2
.line 50
invoke-virtual {p0}, Lcom/google/common/collect/AbstractMultimap;->asMap()Ljava/util/Map;
move-result-object v0
invoke-interface {v0}, Ljava/util/Map;->values()Ljava/util/Collection;
move-result-object v0
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Collection;
.line 51
invoke-interface {v1, p1}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_0
const/4 p1, 0x1
return p1
:cond_1
const/4 p1, 0x0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 0
.line 221
invoke-static {p0, p1}, Lcom/google/common/collect/Multimaps;->equalsImpl(Lcom/google/common/collect/Multimap;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public hashCode()I
.locals 1
.line 234
invoke-virtual {p0}, Lcom/google/common/collect/AbstractMultimap;->asMap()Ljava/util/Map;
move-result-object v0
invoke-interface {v0}, Ljava/util/Map;->hashCode()I
move-result v0
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 245
invoke-virtual {p0}, Lcom/google/common/collect/AbstractMultimap;->asMap()Ljava/util/Map;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,14 @@
.class public abstract Lcom/google/common/collect/BaseImmutableMultimap;
.super Lcom/google/common/collect/AbstractMultimap;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 26
invoke-direct {p0}, Lcom/google/common/collect/AbstractMultimap;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,195 @@
.class public final Lcom/google/common/collect/ByFunctionOrdering;
.super Lcom/google/common/collect/Ordering;
.source "SourceFile"
# interfaces
.implements Ljava/io/Serializable;
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final function:Lcom/google/common/base/Function;
.field public final ordering:Lcom/google/common/collect/Ordering;
# direct methods
.method public constructor <init>(Lcom/google/common/base/Function;Lcom/google/common/collect/Ordering;)V
.locals 0
.line 39
invoke-direct {p0}, Lcom/google/common/collect/Ordering;-><init>()V
.line 40
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/base/Function;
iput-object p1, p0, Lcom/google/common/collect/ByFunctionOrdering;->function:Lcom/google/common/base/Function;
.line 41
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/collect/Ordering;
iput-object p1, p0, Lcom/google/common/collect/ByFunctionOrdering;->ordering:Lcom/google/common/collect/Ordering;
return-void
.end method
# virtual methods
.method public compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 2
iget-object v0, p0, Lcom/google/common/collect/ByFunctionOrdering;->ordering:Lcom/google/common/collect/Ordering;
iget-object v1, p0, Lcom/google/common/collect/ByFunctionOrdering;->function:Lcom/google/common/base/Function;
.line 46
invoke-interface {v1, p1}, Lcom/google/common/base/Function;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
iget-object v1, p0, Lcom/google/common/collect/ByFunctionOrdering;->function:Lcom/google/common/base/Function;
invoke-interface {v1, p2}, Lcom/google/common/base/Function;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
invoke-virtual {v0, p1, p2}, Lcom/google/common/collect/Ordering;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 4
const/4 v0, 0x1
if-ne p1, p0, :cond_0
return v0
.line 54
:cond_0
instance-of v1, p1, Lcom/google/common/collect/ByFunctionOrdering;
const/4 v2, 0x0
if-eqz v1, :cond_2
.line 55
check-cast p1, Lcom/google/common/collect/ByFunctionOrdering;
iget-object v1, p0, Lcom/google/common/collect/ByFunctionOrdering;->function:Lcom/google/common/base/Function;
.line 56
iget-object v3, p1, Lcom/google/common/collect/ByFunctionOrdering;->function:Lcom/google/common/base/Function;
invoke-interface {v1, v3}, Lcom/google/common/base/Function;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1
iget-object v1, p0, Lcom/google/common/collect/ByFunctionOrdering;->ordering:Lcom/google/common/collect/Ordering;
iget-object p1, p1, Lcom/google/common/collect/ByFunctionOrdering;->ordering:Lcom/google/common/collect/Ordering;
invoke-virtual {v1, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
goto :goto_0
:cond_1
move v0, v2
:goto_0
return v0
:cond_2
return v2
.end method
.method public hashCode()I
.locals 2
iget-object v0, p0, Lcom/google/common/collect/ByFunctionOrdering;->function:Lcom/google/common/base/Function;
iget-object v1, p0, Lcom/google/common/collect/ByFunctionOrdering;->ordering:Lcom/google/common/collect/Ordering;
filled-new-array {v0, v1}, [Ljava/lang/Object;
move-result-object v0
.line 63
invoke-static {v0}, Lcom/google/common/base/Objects;->hashCode([Ljava/lang/Object;)I
move-result v0
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 4
iget-object v0, p0, Lcom/google/common/collect/ByFunctionOrdering;->ordering:Lcom/google/common/collect/Ordering;
.line 68
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
iget-object v1, p0, Lcom/google/common/collect/ByFunctionOrdering;->function:Lcom/google/common/base/Function;
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, 0xd
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v2, v3
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3, v2}, Ljava/lang/StringBuilder;-><init>(I)V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ".onResultOf("
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, ")"
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,136 @@
.class public abstract Lcom/google/common/collect/CollectPreconditions;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static checkEntryNotNull(Ljava/lang/Object;Ljava/lang/Object;)V
.locals 2
if-eqz p0, :cond_1
if-eqz p1, :cond_0
return-void
.line 33
:cond_0
new-instance p1, Ljava/lang/NullPointerException;
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 v0
add-int/lit8 v0, v0, 0x1a
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v0}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v0, "null value in entry: "
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "=null"
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.line 31
:cond_1
new-instance p0, Ljava/lang/NullPointerException;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
add-int/lit8 v0, v0, 0x18
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1, v0}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v0, "null key in entry: null="
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static checkNonnegative(ILjava/lang/String;)I
.locals 3
if-ltz p0, :cond_0
return p0
.line 40
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
add-int/lit8 v1, v1, 0x28
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(I)V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " cannot be negative but was: "
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static checkRemove(Z)V
.locals 1
const-string v0, "no calls to next() since the last call to remove()"
.line 64
invoke-static {p0, v0}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/Object;)V
return-void
.end method

View File

@@ -0,0 +1,35 @@
.class public abstract Lcom/google/common/collect/Collections2;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static newStringBuilderForCollection(I)Ljava/lang/StringBuilder;
.locals 5
const-string v0, "size"
.line 334
invoke-static {p0, v0}, Lcom/google/common/collect/CollectPreconditions;->checkNonnegative(ILjava/lang/String;)I
.line 335
new-instance v0, Ljava/lang/StringBuilder;
int-to-long v1, p0
const-wide/16 v3, 0x8
mul-long/2addr v1, v3
const-wide/32 v3, 0x40000000
invoke-static {v1, v2, v3, v4}, Ljava/lang/Math;->min(JJ)J
move-result-wide v1
long-to-int p0, v1
invoke-direct {v0, p0}, Ljava/lang/StringBuilder;-><init>(I)V
return-object v0
.end method

View File

@@ -0,0 +1,48 @@
.class public Lcom/google/common/collect/CompactHashMap$1;
.super Lcom/google/common/collect/CompactHashMap$Itr;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/collect/CompactHashMap;->keySetIterator()Ljava/util/Iterator;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/collect/CompactHashMap;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/CompactHashMap;)V
.locals 1
iput-object p1, p0, Lcom/google/common/collect/CompactHashMap$1;->this$0:Lcom/google/common/collect/CompactHashMap;
const/4 v0, 0x0
.line 720
invoke-direct {p0, p1, v0}, Lcom/google/common/collect/CompactHashMap$Itr;-><init>(Lcom/google/common/collect/CompactHashMap;Lcom/google/common/collect/CompactHashMap$1;)V
return-void
.end method
# virtual methods
.method public getOutput(I)Ljava/lang/Object;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$1;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 724
invoke-static {v0, p1}, Lcom/google/common/collect/CompactHashMap;->access$100(Lcom/google/common/collect/CompactHashMap;I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method

View File

@@ -0,0 +1,59 @@
.class public Lcom/google/common/collect/CompactHashMap$2;
.super Lcom/google/common/collect/CompactHashMap$Itr;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/collect/CompactHashMap;->entrySetIterator()Ljava/util/Iterator;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/collect/CompactHashMap;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/CompactHashMap;)V
.locals 1
iput-object p1, p0, Lcom/google/common/collect/CompactHashMap$2;->this$0:Lcom/google/common/collect/CompactHashMap;
const/4 v0, 0x0
.line 810
invoke-direct {p0, p1, v0}, Lcom/google/common/collect/CompactHashMap$Itr;-><init>(Lcom/google/common/collect/CompactHashMap;Lcom/google/common/collect/CompactHashMap$1;)V
return-void
.end method
# virtual methods
.method public bridge synthetic getOutput(I)Ljava/lang/Object;
.locals 0
.line 810
invoke-virtual {p0, p1}, Lcom/google/common/collect/CompactHashMap$2;->getOutput(I)Ljava/util/Map$Entry;
move-result-object p1
return-object p1
.end method
.method public getOutput(I)Ljava/util/Map$Entry;
.locals 2
.line 813
new-instance v0, Lcom/google/common/collect/CompactHashMap$MapEntry;
iget-object v1, p0, Lcom/google/common/collect/CompactHashMap$2;->this$0:Lcom/google/common/collect/CompactHashMap;
invoke-direct {v0, v1, p1}, Lcom/google/common/collect/CompactHashMap$MapEntry;-><init>(Lcom/google/common/collect/CompactHashMap;I)V
return-object v0
.end method

View File

@@ -0,0 +1,48 @@
.class public Lcom/google/common/collect/CompactHashMap$3;
.super Lcom/google/common/collect/CompactHashMap$Itr;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/collect/CompactHashMap;->valuesIterator()Ljava/util/Iterator;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/collect/CompactHashMap;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/CompactHashMap;)V
.locals 1
iput-object p1, p0, Lcom/google/common/collect/CompactHashMap$3;->this$0:Lcom/google/common/collect/CompactHashMap;
const/4 v0, 0x0
.line 943
invoke-direct {p0, p1, v0}, Lcom/google/common/collect/CompactHashMap$Itr;-><init>(Lcom/google/common/collect/CompactHashMap;Lcom/google/common/collect/CompactHashMap$1;)V
return-void
.end method
# virtual methods
.method public getOutput(I)Ljava/lang/Object;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$3;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 947
invoke-static {v0, p1}, Lcom/google/common/collect/CompactHashMap;->access$600(Lcom/google/common/collect/CompactHashMap;I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method

View File

@@ -0,0 +1,270 @@
.class public Lcom/google/common/collect/CompactHashMap$EntrySetView;
.super Ljava/util/AbstractSet;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/CompactHashMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "EntrySetView"
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/collect/CompactHashMap;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/CompactHashMap;)V
.locals 0
iput-object p1, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 741
invoke-direct {p0}, Ljava/util/AbstractSet;-><init>()V
return-void
.end method
# virtual methods
.method public clear()V
.locals 1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 750
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->clear()V
return-void
.end method
.method public contains(Ljava/lang/Object;)Z
.locals 3
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 760
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->delegateOrNull()Ljava/util/Map;
move-result-object v0
if-eqz v0, :cond_0
.line 762
invoke-interface {v0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0, p1}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result p1
return p1
.line 763
:cond_0
instance-of v0, p1, Ljava/util/Map$Entry;
const/4 v1, 0x0
if-eqz v0, :cond_1
.line 764
check-cast p1, Ljava/util/Map$Entry;
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 765
invoke-interface {p1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
invoke-static {v0, v2}, Lcom/google/common/collect/CompactHashMap;->access$500(Lcom/google/common/collect/CompactHashMap;Ljava/lang/Object;)I
move-result v0
const/4 v2, -0x1
if-eq v0, v2, :cond_1
iget-object v2, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 766
invoke-static {v2, v0}, Lcom/google/common/collect/CompactHashMap;->access$600(Lcom/google/common/collect/CompactHashMap;I)Ljava/lang/Object;
move-result-object v0
invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object p1
invoke-static {v0, p1}, Lcom/google/common/base/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
const/4 v1, 0x1
:cond_1
return v1
.end method
.method public iterator()Ljava/util/Iterator;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 755
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->entrySetIterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.end method
.method public remove(Ljava/lang/Object;)Z
.locals 9
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 773
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->delegateOrNull()Ljava/util/Map;
move-result-object v0
if-eqz v0, :cond_0
.line 775
invoke-interface {v0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
move-result p1
return p1
.line 776
:cond_0
instance-of v0, p1, Ljava/util/Map$Entry;
const/4 v1, 0x0
if-eqz v0, :cond_3
.line 777
check-cast p1, Ljava/util/Map$Entry;
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 778
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->needsAllocArrays()Z
move-result v0
if-eqz v0, :cond_1
return v1
:cond_1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 781
invoke-static {v0}, Lcom/google/common/collect/CompactHashMap;->access$700(Lcom/google/common/collect/CompactHashMap;)I
move-result v0
.line 784
invoke-interface {p1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
.line 785
invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v3
iget-object p1, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 787
invoke-static {p1}, Lcom/google/common/collect/CompactHashMap;->access$800(Lcom/google/common/collect/CompactHashMap;)Ljava/lang/Object;
move-result-object v5
iget-object p1, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 788
invoke-static {p1}, Lcom/google/common/collect/CompactHashMap;->access$900(Lcom/google/common/collect/CompactHashMap;)[I
move-result-object v6
iget-object p1, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 789
invoke-static {p1}, Lcom/google/common/collect/CompactHashMap;->access$1000(Lcom/google/common/collect/CompactHashMap;)[Ljava/lang/Object;
move-result-object v7
iget-object p1, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 790
invoke-static {p1}, Lcom/google/common/collect/CompactHashMap;->access$1100(Lcom/google/common/collect/CompactHashMap;)[Ljava/lang/Object;
move-result-object v8
move v4, v0
.line 783
invoke-static/range {v2 .. v8}, Lcom/google/common/collect/CompactHashing;->remove(Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;[I[Ljava/lang/Object;[Ljava/lang/Object;)I
move-result p1
const/4 v2, -0x1
if-ne p1, v2, :cond_2
return v1
:cond_2
iget-object v1, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 795
invoke-virtual {v1, p1, v0}, Lcom/google/common/collect/CompactHashMap;->moveLastEntry(II)V
iget-object p1, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 796
invoke-static {p1}, Lcom/google/common/collect/CompactHashMap;->access$1210(Lcom/google/common/collect/CompactHashMap;)I
iget-object p1, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 797
invoke-virtual {p1}, Lcom/google/common/collect/CompactHashMap;->incrementModCount()V
const/4 p1, 0x1
return p1
:cond_3
return v1
.end method
.method public size()I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$EntrySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 745
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->size()I
move-result v0
return v0
.end method

View File

@@ -0,0 +1,226 @@
.class public abstract Lcom/google/common/collect/CompactHashMap$Itr;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/Iterator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/CompactHashMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x401
name = "Itr"
.end annotation
# instance fields
.field public currentIndex:I
.field public expectedMetadata:I
.field public indexToRemove:I
.field public final synthetic this$0:Lcom/google/common/collect/CompactHashMap;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/CompactHashMap;)V
.locals 1
iput-object p1, p0, Lcom/google/common/collect/CompactHashMap$Itr;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 626
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 627
invoke-static {p1}, Lcom/google/common/collect/CompactHashMap;->access$000(Lcom/google/common/collect/CompactHashMap;)I
move-result v0
iput v0, p0, Lcom/google/common/collect/CompactHashMap$Itr;->expectedMetadata:I
.line 628
invoke-virtual {p1}, Lcom/google/common/collect/CompactHashMap;->firstEntryIndex()I
move-result p1
iput p1, p0, Lcom/google/common/collect/CompactHashMap$Itr;->currentIndex:I
const/4 p1, -0x1
iput p1, p0, Lcom/google/common/collect/CompactHashMap$Itr;->indexToRemove:I
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/common/collect/CompactHashMap;Lcom/google/common/collect/CompactHashMap$1;)V
.locals 0
.line 626
invoke-direct {p0, p1}, Lcom/google/common/collect/CompactHashMap$Itr;-><init>(Lcom/google/common/collect/CompactHashMap;)V
return-void
.end method
# virtual methods
.method public final checkForConcurrentModification()V
.locals 2
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$Itr;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 667
invoke-static {v0}, Lcom/google/common/collect/CompactHashMap;->access$000(Lcom/google/common/collect/CompactHashMap;)I
move-result v0
iget v1, p0, Lcom/google/common/collect/CompactHashMap$Itr;->expectedMetadata:I
if-ne v0, v1, :cond_0
return-void
.line 668
:cond_0
new-instance v0, Ljava/util/ConcurrentModificationException;
invoke-direct {v0}, Ljava/util/ConcurrentModificationException;-><init>()V
throw v0
.end method
.method public abstract getOutput(I)Ljava/lang/Object;
.end method
.method public hasNext()Z
.locals 1
iget v0, p0, Lcom/google/common/collect/CompactHashMap$Itr;->currentIndex:I
if-ltz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public incrementExpectedModCount()V
.locals 1
iget v0, p0, Lcom/google/common/collect/CompactHashMap$Itr;->expectedMetadata:I
add-int/lit8 v0, v0, 0x20
iput v0, p0, Lcom/google/common/collect/CompactHashMap$Itr;->expectedMetadata:I
return-void
.end method
.method public next()Ljava/lang/Object;
.locals 3
.line 642
invoke-virtual {p0}, Lcom/google/common/collect/CompactHashMap$Itr;->checkForConcurrentModification()V
.line 643
invoke-virtual {p0}, Lcom/google/common/collect/CompactHashMap$Itr;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
iget v0, p0, Lcom/google/common/collect/CompactHashMap$Itr;->currentIndex:I
iput v0, p0, Lcom/google/common/collect/CompactHashMap$Itr;->indexToRemove:I
.line 647
invoke-virtual {p0, v0}, Lcom/google/common/collect/CompactHashMap$Itr;->getOutput(I)Ljava/lang/Object;
move-result-object v0
iget-object v1, p0, Lcom/google/common/collect/CompactHashMap$Itr;->this$0:Lcom/google/common/collect/CompactHashMap;
iget v2, p0, Lcom/google/common/collect/CompactHashMap$Itr;->currentIndex:I
.line 648
invoke-virtual {v1, v2}, Lcom/google/common/collect/CompactHashMap;->getSuccessor(I)I
move-result v1
iput v1, p0, Lcom/google/common/collect/CompactHashMap$Itr;->currentIndex:I
return-object v0
.line 644
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public remove()V
.locals 3
.line 654
invoke-virtual {p0}, Lcom/google/common/collect/CompactHashMap$Itr;->checkForConcurrentModification()V
iget v0, p0, Lcom/google/common/collect/CompactHashMap$Itr;->indexToRemove:I
if-ltz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
.line 655
:goto_0
invoke-static {v0}, Lcom/google/common/collect/CollectPreconditions;->checkRemove(Z)V
.line 656
invoke-virtual {p0}, Lcom/google/common/collect/CompactHashMap$Itr;->incrementExpectedModCount()V
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$Itr;->this$0:Lcom/google/common/collect/CompactHashMap;
iget v1, p0, Lcom/google/common/collect/CompactHashMap$Itr;->indexToRemove:I
.line 657
invoke-static {v0, v1}, Lcom/google/common/collect/CompactHashMap;->access$100(Lcom/google/common/collect/CompactHashMap;I)Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/google/common/collect/CompactHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$Itr;->this$0:Lcom/google/common/collect/CompactHashMap;
iget v1, p0, Lcom/google/common/collect/CompactHashMap$Itr;->currentIndex:I
iget v2, p0, Lcom/google/common/collect/CompactHashMap$Itr;->indexToRemove:I
.line 658
invoke-virtual {v0, v1, v2}, Lcom/google/common/collect/CompactHashMap;->adjustAfterRemove(II)I
move-result v0
iput v0, p0, Lcom/google/common/collect/CompactHashMap$Itr;->currentIndex:I
const/4 v0, -0x1
iput v0, p0, Lcom/google/common/collect/CompactHashMap$Itr;->indexToRemove:I
return-void
.end method

View File

@@ -0,0 +1,131 @@
.class public Lcom/google/common/collect/CompactHashMap$KeySetView;
.super Ljava/util/AbstractSet;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/CompactHashMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "KeySetView"
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/collect/CompactHashMap;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/CompactHashMap;)V
.locals 0
iput-object p1, p0, Lcom/google/common/collect/CompactHashMap$KeySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 685
invoke-direct {p0}, Ljava/util/AbstractSet;-><init>()V
return-void
.end method
# virtual methods
.method public clear()V
.locals 1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$KeySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 711
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->clear()V
return-void
.end method
.method public contains(Ljava/lang/Object;)Z
.locals 1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$KeySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 693
invoke-virtual {v0, p1}, Lcom/google/common/collect/CompactHashMap;->containsKey(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public iterator()Ljava/util/Iterator;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$KeySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 706
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->keySetIterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.end method
.method public remove(Ljava/lang/Object;)Z
.locals 1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$KeySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 698
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->delegateOrNull()Ljava/util/Map;
move-result-object v0
if-eqz v0, :cond_0
.line 700
invoke-interface {v0}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
move-result p1
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$KeySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 701
invoke-static {v0, p1}, Lcom/google/common/collect/CompactHashMap;->access$200(Lcom/google/common/collect/CompactHashMap;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-static {}, Lcom/google/common/collect/CompactHashMap;->access$300()Ljava/lang/Object;
move-result-object v0
if-eq p1, v0, :cond_1
const/4 p1, 0x1
goto :goto_0
:cond_1
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public size()I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$KeySetView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 688
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->size()I
move-result v0
return v0
.end method

View File

@@ -0,0 +1,225 @@
.class public final Lcom/google/common/collect/CompactHashMap$MapEntry;
.super Lcom/google/common/collect/AbstractMapEntry;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/CompactHashMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "MapEntry"
.end annotation
# instance fields
.field public final key:Ljava/lang/Object;
.field public lastKnownIndex:I
.field public final synthetic this$0:Lcom/google/common/collect/CompactHashMap;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/CompactHashMap;I)V
.locals 0
iput-object p1, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 823
invoke-direct {p0}, Lcom/google/common/collect/AbstractMapEntry;-><init>()V
.line 824
invoke-static {p1, p2}, Lcom/google/common/collect/CompactHashMap;->access$100(Lcom/google/common/collect/CompactHashMap;I)Ljava/lang/Object;
move-result-object p1
iput-object p1, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->key:Ljava/lang/Object;
iput p2, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->lastKnownIndex:I
return-void
.end method
# virtual methods
.method public getKey()Ljava/lang/Object;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->key:Ljava/lang/Object;
return-object v0
.end method
.method public getValue()Ljava/lang/Object;
.locals 2
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 845
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->delegateOrNull()Ljava/util/Map;
move-result-object v0
if-eqz v0, :cond_0
iget-object v1, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->key:Ljava/lang/Object;
.line 851
invoke-interface {v0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Lcom/google/common/collect/NullnessCasts;->uncheckedCastNullableTToT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
return-object v0
.line 853
:cond_0
invoke-virtual {p0}, Lcom/google/common/collect/CompactHashMap$MapEntry;->updateLastKnownIndex()V
iget v0, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->lastKnownIndex:I
const/4 v1, -0x1
if-ne v0, v1, :cond_1
.line 862
invoke-static {}, Lcom/google/common/collect/NullnessCasts;->unsafeNull()Ljava/lang/Object;
move-result-object v0
goto :goto_0
:cond_1
iget-object v1, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->this$0:Lcom/google/common/collect/CompactHashMap;
invoke-static {v1, v0}, Lcom/google/common/collect/CompactHashMap;->access$600(Lcom/google/common/collect/CompactHashMap;I)Ljava/lang/Object;
move-result-object v0
:goto_0
return-object v0
.end method
.method public setValue(Ljava/lang/Object;)Ljava/lang/Object;
.locals 3
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 868
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->delegateOrNull()Ljava/util/Map;
move-result-object v0
if-eqz v0, :cond_0
iget-object v1, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->key:Ljava/lang/Object;
.line 870
invoke-interface {v0, v1, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lcom/google/common/collect/NullnessCasts;->uncheckedCastNullableTToT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 872
:cond_0
invoke-virtual {p0}, Lcom/google/common/collect/CompactHashMap$MapEntry;->updateLastKnownIndex()V
iget v0, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->lastKnownIndex:I
const/4 v1, -0x1
if-ne v0, v1, :cond_1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->this$0:Lcom/google/common/collect/CompactHashMap;
iget-object v1, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->key:Ljava/lang/Object;
.line 874
invoke-virtual {v0, v1, p1}, Lcom/google/common/collect/CompactHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 875
invoke-static {}, Lcom/google/common/collect/NullnessCasts;->unsafeNull()Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_1
iget-object v1, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 877
invoke-static {v1, v0}, Lcom/google/common/collect/CompactHashMap;->access$600(Lcom/google/common/collect/CompactHashMap;I)Ljava/lang/Object;
move-result-object v0
iget-object v1, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->this$0:Lcom/google/common/collect/CompactHashMap;
iget v2, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->lastKnownIndex:I
.line 878
invoke-static {v1, v2, p1}, Lcom/google/common/collect/CompactHashMap;->access$1300(Lcom/google/common/collect/CompactHashMap;ILjava/lang/Object;)V
return-object v0
.end method
.method public final updateLastKnownIndex()V
.locals 3
iget v0, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->lastKnownIndex:I
const/4 v1, -0x1
if-eq v0, v1, :cond_0
iget-object v1, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 836
invoke-virtual {v1}, Lcom/google/common/collect/CompactHashMap;->size()I
move-result v1
if-ge v0, v1, :cond_0
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->key:Ljava/lang/Object;
iget-object v1, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->this$0:Lcom/google/common/collect/CompactHashMap;
iget v2, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->lastKnownIndex:I
.line 837
invoke-static {v1, v2}, Lcom/google/common/collect/CompactHashMap;->access$100(Lcom/google/common/collect/CompactHashMap;I)Ljava/lang/Object;
move-result-object v1
invoke-static {v0, v1}, Lcom/google/common/base/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_1
:cond_0
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->this$0:Lcom/google/common/collect/CompactHashMap;
iget-object v1, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->key:Ljava/lang/Object;
.line 838
invoke-static {v0, v1}, Lcom/google/common/collect/CompactHashMap;->access$500(Lcom/google/common/collect/CompactHashMap;Ljava/lang/Object;)I
move-result v0
iput v0, p0, Lcom/google/common/collect/CompactHashMap$MapEntry;->lastKnownIndex:I
:cond_1
return-void
.end method

View File

@@ -0,0 +1,70 @@
.class public Lcom/google/common/collect/CompactHashMap$ValuesView;
.super Ljava/util/AbstractCollection;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/CompactHashMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "ValuesView"
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/collect/CompactHashMap;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/CompactHashMap;)V
.locals 0
iput-object p1, p0, Lcom/google/common/collect/CompactHashMap$ValuesView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 921
invoke-direct {p0}, Ljava/util/AbstractCollection;-><init>()V
return-void
.end method
# virtual methods
.method public clear()V
.locals 1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$ValuesView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 929
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->clear()V
return-void
.end method
.method public iterator()Ljava/util/Iterator;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$ValuesView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 934
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->valuesIterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.end method
.method public size()I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/CompactHashMap$ValuesView;->this$0:Lcom/google/common/collect/CompactHashMap;
.line 924
invoke-virtual {v0}, Lcom/google/common/collect/CompactHashMap;->size()I
move-result v0
return v0
.end method

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,381 @@
.class public abstract Lcom/google/common/collect/CompactHashing;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static createTable(I)Ljava/lang/Object;
.locals 3
const/4 v0, 0x2
if-lt p0, v0, :cond_2
const/high16 v0, 0x40000000 # 2.0f
if-gt p0, v0, :cond_2
.line 79
invoke-static {p0}, Ljava/lang/Integer;->highestOneBit(I)I
move-result v0
if-ne v0, p0, :cond_2
const/16 v0, 0x100
if-gt p0, v0, :cond_0
.line 83
new-array p0, p0, [B
return-object p0
:cond_0
const/high16 v0, 0x10000
if-gt p0, v0, :cond_1
.line 85
new-array p0, p0, [S
return-object p0
.line 87
:cond_1
new-array p0, p0, [I
return-object p0
.line 80
:cond_2
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const/16 v2, 0x34
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v2, "must be power of 2 between 2^1 and 2^30: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static getHashPrefix(II)I
.locals 0
not-int p1, p1
and-int/2addr p0, p1
return p0
.end method
.method public static getNext(II)I
.locals 0
and-int/2addr p0, p1
return p0
.end method
.method public static maskCombine(III)I
.locals 1
not-int v0, p2
and-int/2addr p0, v0
and-int/2addr p1, p2
or-int/2addr p0, p1
return p0
.end method
.method public static newCapacity(I)I
.locals 1
const/16 v0, 0x20
if-ge p0, v0, :cond_0
const/4 v0, 0x4
goto :goto_0
:cond_0
const/4 v0, 0x2
:goto_0
add-int/lit8 p0, p0, 0x1
mul-int/2addr v0, p0
return v0
.end method
.method public static remove(Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;[I[Ljava/lang/Object;[Ljava/lang/Object;)I
.locals 8
.line 167
invoke-static {p0}, Lcom/google/common/collect/Hashing;->smearedHash(Ljava/lang/Object;)I
move-result v0
and-int v1, v0, p2
.line 169
invoke-static {p3, v1}, Lcom/google/common/collect/CompactHashing;->tableGet(Ljava/lang/Object;I)I
move-result v2
const/4 v3, -0x1
if-nez v2, :cond_0
return v3
.line 173
:cond_0
invoke-static {v0, p2}, Lcom/google/common/collect/CompactHashing;->getHashPrefix(II)I
move-result v0
move v4, v3
:goto_0
add-int/lit8 v2, v2, -0x1
.line 177
aget v5, p4, v2
.line 178
invoke-static {v5, p2}, Lcom/google/common/collect/CompactHashing;->getHashPrefix(II)I
move-result v6
if-ne v6, v0, :cond_3
aget-object v6, p5, v2
.line 179
invoke-static {p0, v6}, Lcom/google/common/base/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_3
if-eqz p6, :cond_1
aget-object v6, p6, v2
.line 180
invoke-static {p1, v6}, Lcom/google/common/base/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_3
.line 181
:cond_1
invoke-static {v5, p2}, Lcom/google/common/collect/CompactHashing;->getNext(II)I
move-result p0
if-ne v4, v3, :cond_2
.line 184
invoke-static {p3, v1, p0}, Lcom/google/common/collect/CompactHashing;->tableSet(Ljava/lang/Object;II)V
goto :goto_1
.line 187
:cond_2
aget p1, p4, v4
invoke-static {p1, p0, p2}, Lcom/google/common/collect/CompactHashing;->maskCombine(III)I
move-result p0
aput p0, p4, v4
:goto_1
return v2
.line 193
:cond_3
invoke-static {v5, p2}, Lcom/google/common/collect/CompactHashing;->getNext(II)I
move-result v4
if-nez v4, :cond_4
return v3
:cond_4
move v7, v4
move v4, v2
move v2, v7
goto :goto_0
.end method
.method public static tableClear(Ljava/lang/Object;)V
.locals 2
.line 92
instance-of v0, p0, [B
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 93
check-cast p0, [B
invoke-static {p0, v1}, Ljava/util/Arrays;->fill([BB)V
goto :goto_0
.line 94
:cond_0
instance-of v0, p0, [S
if-eqz v0, :cond_1
.line 95
check-cast p0, [S
invoke-static {p0, v1}, Ljava/util/Arrays;->fill([SS)V
goto :goto_0
.line 97
:cond_1
check-cast p0, [I
invoke-static {p0, v1}, Ljava/util/Arrays;->fill([II)V
:goto_0
return-void
.end method
.method public static tableGet(Ljava/lang/Object;I)I
.locals 1
.line 107
instance-of v0, p0, [B
if-eqz v0, :cond_0
.line 108
check-cast p0, [B
aget-byte p0, p0, p1
and-int/lit16 p0, p0, 0xff
return p0
.line 109
:cond_0
instance-of v0, p0, [S
if-eqz v0, :cond_1
.line 110
check-cast p0, [S
aget-short p0, p0, p1
const p1, 0xffff
and-int/2addr p0, p1
return p0
.line 112
:cond_1
check-cast p0, [I
aget p0, p0, p1
return p0
.end method
.method public static tableSet(Ljava/lang/Object;II)V
.locals 1
.line 124
instance-of v0, p0, [B
if-eqz v0, :cond_0
.line 125
check-cast p0, [B
int-to-byte p2, p2
aput-byte p2, p0, p1
goto :goto_0
.line 126
:cond_0
instance-of v0, p0, [S
if-eqz v0, :cond_1
.line 127
check-cast p0, [S
int-to-short p2, p2
aput-short p2, p0, p1
goto :goto_0
.line 129
:cond_1
check-cast p0, [I
aput p2, p0, p1
:goto_0
return-void
.end method
.method public static tableSize(I)I
.locals 2
add-int/lit8 p0, p0, 0x1
const-wide/high16 v0, 0x3ff0000000000000L # 1.0
.line 72
invoke-static {p0, v0, v1}, Lcom/google/common/collect/Hashing;->closedTableSize(ID)I
move-result p0
const/4 v0, 0x4
invoke-static {v0, p0}, Ljava/lang/Math;->max(II)I
move-result p0
return p0
.end method

View File

@@ -0,0 +1,110 @@
.class public final Lcom/google/common/collect/ComparatorOrdering;
.super Lcom/google/common/collect/Ordering;
.source "SourceFile"
# interfaces
.implements Ljava/io/Serializable;
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final comparator:Ljava/util/Comparator;
# direct methods
.method public constructor <init>(Ljava/util/Comparator;)V
.locals 0
.line 34
invoke-direct {p0}, Lcom/google/common/collect/Ordering;-><init>()V
.line 35
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/Comparator;
iput-object p1, p0, Lcom/google/common/collect/ComparatorOrdering;->comparator:Ljava/util/Comparator;
return-void
.end method
# virtual methods
.method public compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ComparatorOrdering;->comparator:Ljava/util/Comparator;
.line 40
invoke-interface {v0, p1, p2}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result p1
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 1
if-ne p1, p0, :cond_0
const/4 p1, 0x1
return p1
.line 48
:cond_0
instance-of v0, p1, Lcom/google/common/collect/ComparatorOrdering;
if-eqz v0, :cond_1
.line 49
check-cast p1, Lcom/google/common/collect/ComparatorOrdering;
iget-object v0, p0, Lcom/google/common/collect/ComparatorOrdering;->comparator:Ljava/util/Comparator;
.line 50
iget-object p1, p1, Lcom/google/common/collect/ComparatorOrdering;->comparator:Ljava/util/Comparator;
invoke-interface {v0, p1}, Ljava/util/Comparator;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
:cond_1
const/4 p1, 0x0
return p1
.end method
.method public hashCode()I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ComparatorOrdering;->comparator:Ljava/util/Comparator;
.line 57
invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I
move-result v0
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ComparatorOrdering;->comparator:Ljava/util/Comparator;
.line 62
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,97 @@
.class public Lcom/google/common/collect/ComparisonChain$1;
.super Lcom/google/common/collect/ComparisonChain;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ComparisonChain;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 1
const/4 v0, 0x0
.line 70
invoke-direct {p0, v0}, Lcom/google/common/collect/ComparisonChain;-><init>(Lcom/google/common/collect/ComparisonChain$1;)V
return-void
.end method
# virtual methods
.method public classify(I)Lcom/google/common/collect/ComparisonChain;
.locals 0
if-gez p1, :cond_0
.line 114
invoke-static {}, Lcom/google/common/collect/ComparisonChain;->access$100()Lcom/google/common/collect/ComparisonChain;
move-result-object p1
goto :goto_0
:cond_0
if-lez p1, :cond_1
invoke-static {}, Lcom/google/common/collect/ComparisonChain;->access$200()Lcom/google/common/collect/ComparisonChain;
move-result-object p1
goto :goto_0
:cond_1
invoke-static {}, Lcom/google/common/collect/ComparisonChain;->access$300()Lcom/google/common/collect/ComparisonChain;
move-result-object p1
:goto_0
return-object p1
.end method
.method public compare(II)Lcom/google/common/collect/ComparisonChain;
.locals 0
.line 85
invoke-static {p1, p2}, Lcom/google/common/primitives/Ints;->compare(II)I
move-result p1
invoke-virtual {p0, p1}, Lcom/google/common/collect/ComparisonChain$1;->classify(I)Lcom/google/common/collect/ComparisonChain;
move-result-object p1
return-object p1
.end method
.method public compare(JJ)Lcom/google/common/collect/ComparisonChain;
.locals 0
.line 90
invoke-static {p1, p2, p3, p4}, Lcom/google/common/primitives/Longs;->compare(JJ)I
move-result p1
invoke-virtual {p0, p1}, Lcom/google/common/collect/ComparisonChain$1;->classify(I)Lcom/google/common/collect/ComparisonChain;
move-result-object p1
return-object p1
.end method
.method public result()I
.locals 1
const/4 v0, 0x0
return v0
.end method

View File

@@ -0,0 +1,57 @@
.class public final Lcom/google/common/collect/ComparisonChain$InactiveComparisonChain;
.super Lcom/google/common/collect/ComparisonChain;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ComparisonChain;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "InactiveComparisonChain"
.end annotation
# instance fields
.field public final result:I
# direct methods
.method public constructor <init>(I)V
.locals 1
const/4 v0, 0x0
.line 130
invoke-direct {p0, v0}, Lcom/google/common/collect/ComparisonChain;-><init>(Lcom/google/common/collect/ComparisonChain$1;)V
iput p1, p0, Lcom/google/common/collect/ComparisonChain$InactiveComparisonChain;->result:I
return-void
.end method
# virtual methods
.method public compare(II)Lcom/google/common/collect/ComparisonChain;
.locals 0
.line 0
return-object p0
.end method
.method public compare(JJ)Lcom/google/common/collect/ComparisonChain;
.locals 0
.line 0
return-object p0
.end method
.method public result()I
.locals 1
iget v0, p0, Lcom/google/common/collect/ComparisonChain$InactiveComparisonChain;->result:I
return v0
.end method

View File

@@ -0,0 +1,113 @@
.class public abstract Lcom/google/common/collect/ComparisonChain;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/collect/ComparisonChain$InactiveComparisonChain;
}
.end annotation
# static fields
.field public static final ACTIVE:Lcom/google/common/collect/ComparisonChain;
.field public static final GREATER:Lcom/google/common/collect/ComparisonChain;
.field public static final LESS:Lcom/google/common/collect/ComparisonChain;
# direct methods
.method static constructor <clinit>()V
.locals 2
.line 69
new-instance v0, Lcom/google/common/collect/ComparisonChain$1;
invoke-direct {v0}, Lcom/google/common/collect/ComparisonChain$1;-><init>()V
sput-object v0, Lcom/google/common/collect/ComparisonChain;->ACTIVE:Lcom/google/common/collect/ComparisonChain;
.line 123
new-instance v0, Lcom/google/common/collect/ComparisonChain$InactiveComparisonChain;
const/4 v1, -0x1
invoke-direct {v0, v1}, Lcom/google/common/collect/ComparisonChain$InactiveComparisonChain;-><init>(I)V
sput-object v0, Lcom/google/common/collect/ComparisonChain;->LESS:Lcom/google/common/collect/ComparisonChain;
.line 125
new-instance v0, Lcom/google/common/collect/ComparisonChain$InactiveComparisonChain;
const/4 v1, 0x1
invoke-direct {v0, v1}, Lcom/google/common/collect/ComparisonChain$InactiveComparisonChain;-><init>(I)V
sput-object v0, Lcom/google/common/collect/ComparisonChain;->GREATER:Lcom/google/common/collect/ComparisonChain;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 62
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/common/collect/ComparisonChain$1;)V
.locals 0
.line 61
invoke-direct {p0}, Lcom/google/common/collect/ComparisonChain;-><init>()V
return-void
.end method
.method public static synthetic access$100()Lcom/google/common/collect/ComparisonChain;
.locals 1
sget-object v0, Lcom/google/common/collect/ComparisonChain;->LESS:Lcom/google/common/collect/ComparisonChain;
return-object v0
.end method
.method public static synthetic access$200()Lcom/google/common/collect/ComparisonChain;
.locals 1
sget-object v0, Lcom/google/common/collect/ComparisonChain;->GREATER:Lcom/google/common/collect/ComparisonChain;
return-object v0
.end method
.method public static synthetic access$300()Lcom/google/common/collect/ComparisonChain;
.locals 1
sget-object v0, Lcom/google/common/collect/ComparisonChain;->ACTIVE:Lcom/google/common/collect/ComparisonChain;
return-object v0
.end method
.method public static start()Lcom/google/common/collect/ComparisonChain;
.locals 1
sget-object v0, Lcom/google/common/collect/ComparisonChain;->ACTIVE:Lcom/google/common/collect/ComparisonChain;
return-object v0
.end method
# virtual methods
.method public abstract compare(II)Lcom/google/common/collect/ComparisonChain;
.end method
.method public abstract compare(JJ)Lcom/google/common/collect/ComparisonChain;
.end method
.method public abstract result()I
.end method

View File

@@ -0,0 +1,49 @@
.class public Lcom/google/common/collect/EmptyImmutableSetMultimap;
.super Lcom/google/common/collect/ImmutableSetMultimap;
.source "SourceFile"
# static fields
.field public static final INSTANCE:Lcom/google/common/collect/EmptyImmutableSetMultimap;
.field private static final serialVersionUID:J
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 29
new-instance v0, Lcom/google/common/collect/EmptyImmutableSetMultimap;
invoke-direct {v0}, Lcom/google/common/collect/EmptyImmutableSetMultimap;-><init>()V
sput-object v0, Lcom/google/common/collect/EmptyImmutableSetMultimap;->INSTANCE:Lcom/google/common/collect/EmptyImmutableSetMultimap;
return-void
.end method
.method public constructor <init>()V
.locals 3
.line 32
invoke-static {}, Lcom/google/common/collect/ImmutableMap;->of()Lcom/google/common/collect/ImmutableMap;
move-result-object v0
const/4 v1, 0x0
const/4 v2, 0x0
invoke-direct {p0, v0, v1, v2}, Lcom/google/common/collect/ImmutableSetMultimap;-><init>(Lcom/google/common/collect/ImmutableMap;ILjava/util/Comparator;)V
return-void
.end method
.method private readResolve()Ljava/lang/Object;
.locals 1
sget-object v0, Lcom/google/common/collect/EmptyImmutableSetMultimap;->INSTANCE:Lcom/google/common/collect/EmptyImmutableSetMultimap;
return-object v0
.end method

View File

@@ -0,0 +1,96 @@
.class public abstract Lcom/google/common/collect/Hashing;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static closedTableSize(ID)I
.locals 3
const/4 v0, 0x2
.line 63
invoke-static {p0, v0}, Ljava/lang/Math;->max(II)I
move-result p0
.line 64
invoke-static {p0}, Ljava/lang/Integer;->highestOneBit(I)I
move-result v0
int-to-double v1, v0
mul-double/2addr p1, v1
double-to-int p1, p1
if-le p0, p1, :cond_1
shl-int/lit8 p0, v0, 0x1
if-lez p0, :cond_0
goto :goto_0
:cond_0
const/high16 p0, 0x40000000 # 2.0f
:goto_0
return p0
:cond_1
return v0
.end method
.method public static smear(I)I
.locals 4
int-to-long v0, p0
const-wide/32 v2, -0x3361d2af
mul-long/2addr v0, v2
long-to-int p0, v0
const/16 v0, 0xf
.line 51
invoke-static {p0, v0}, Ljava/lang/Integer;->rotateLeft(II)I
move-result p0
int-to-long v0, p0
const-wide/32 v2, 0x1b873593
mul-long/2addr v0, v2
long-to-int p0, v0
return p0
.end method
.method public static smearedHash(Ljava/lang/Object;)I
.locals 0
if-nez p0, :cond_0
const/4 p0, 0x0
goto :goto_0
.line 55
:cond_0
invoke-virtual {p0}, Ljava/lang/Object;->hashCode()I
move-result p0
:goto_0
invoke-static {p0}, Lcom/google/common/collect/Hashing;->smear(I)I
move-result p0
return p0
.end method

View File

@@ -0,0 +1,169 @@
.class public abstract Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;
.super Lcom/google/common/collect/ImmutableCollection$Builder;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableCollection;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "ArrayBasedBuilder"
.end annotation
# instance fields
.field public contents:[Ljava/lang/Object;
.field public forceCopy:Z
.field public size:I
# direct methods
.method public constructor <init>(I)V
.locals 1
.line 473
invoke-direct {p0}, Lcom/google/common/collect/ImmutableCollection$Builder;-><init>()V
const-string v0, "initialCapacity"
.line 474
invoke-static {p1, v0}, Lcom/google/common/collect/CollectPreconditions;->checkNonnegative(ILjava/lang/String;)I
.line 475
new-array p1, p1, [Ljava/lang/Object;
iput-object p1, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->contents:[Ljava/lang/Object;
const/4 p1, 0x0
iput p1, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
return-void
.end method
# virtual methods
.method public add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;
.locals 3
.line 498
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
iget v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
add-int/lit8 v0, v0, 0x1
.line 499
invoke-virtual {p0, v0}, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->getReadyToExpandTo(I)V
iget-object v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->contents:[Ljava/lang/Object;
iget v1, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
.line 500
aput-object p1, v0, v1
return-object p0
.end method
.method public varargs add([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableCollection$Builder;
.locals 1
.line 507
array-length v0, p1
invoke-virtual {p0, p1, v0}, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->addAll([Ljava/lang/Object;I)V
return-object p0
.end method
.method public final addAll([Ljava/lang/Object;I)V
.locals 3
.line 512
invoke-static {p1, p2}, Lcom/google/common/collect/ObjectArrays;->checkElementsNotNull([Ljava/lang/Object;I)[Ljava/lang/Object;
iget v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
add-int/2addr v0, p2
.line 513
invoke-virtual {p0, v0}, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->getReadyToExpandTo(I)V
iget-object v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->contents:[Ljava/lang/Object;
iget v1, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
const/4 v2, 0x0
.line 522
invoke-static {p1, v2, v0, v1, p2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
iget p1, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
add-int/2addr p1, p2
iput p1, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
return-void
.end method
.method public final getReadyToExpandTo(I)V
.locals 3
iget-object v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->contents:[Ljava/lang/Object;
.line 485
array-length v1, v0
const/4 v2, 0x0
if-ge v1, p1, :cond_0
.line 486
array-length v1, v0
.line 487
invoke-static {v1, p1}, Lcom/google/common/collect/ImmutableCollection$Builder;->expandedCapacity(II)I
move-result p1
invoke-static {v0, p1}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object p1
iput-object p1, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->contents:[Ljava/lang/Object;
iput-boolean v2, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->forceCopy:Z
goto :goto_0
:cond_0
iget-boolean p1, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->forceCopy:Z
if-eqz p1, :cond_1
.line 490
invoke-virtual {v0}, [Ljava/lang/Object;->clone()Ljava/lang/Object;
move-result-object p1
check-cast p1, [Ljava/lang/Object;
iput-object p1, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->contents:[Ljava/lang/Object;
iput-boolean v2, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->forceCopy:Z
:cond_1
:goto_0
return-void
.end method

View File

@@ -0,0 +1,66 @@
.class public abstract Lcom/google/common/collect/ImmutableCollection$Builder;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableCollection;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "Builder"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 389
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public 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 380
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 375
: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

View File

@@ -0,0 +1,250 @@
.class public abstract Lcom/google/common/collect/ImmutableCollection;
.super Ljava/util/AbstractCollection;
.source "SourceFile"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;,
Lcom/google/common/collect/ImmutableCollection$Builder;
}
.end annotation
# static fields
.field public static final EMPTY_ARRAY:[Ljava/lang/Object;
# direct methods
.method static constructor <clinit>()V
.locals 1
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/Object;
sput-object v0, Lcom/google/common/collect/ImmutableCollection;->EMPTY_ARRAY:[Ljava/lang/Object;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 171
invoke-direct {p0}, Ljava/util/AbstractCollection;-><init>()V
return-void
.end method
# virtual methods
.method public final add(Ljava/lang/Object;)Z
.locals 0
.line 253
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw p1
.end method
.method public final addAll(Ljava/util/Collection;)Z
.locals 0
.line 281
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw p1
.end method
.method public abstract asList()Lcom/google/common/collect/ImmutableList;
.end method
.method public final clear()V
.locals 1
.line 322
new-instance v0, Ljava/lang/UnsupportedOperationException;
invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw v0
.end method
.method public abstract contains(Ljava/lang/Object;)Z
.end method
.method public abstract copyIntoArray([Ljava/lang/Object;I)I
.end method
.method public internalArray()[Ljava/lang/Object;
.locals 1
const/4 v0, 0x0
return-object v0
.end method
.method public internalArrayEnd()I
.locals 1
.line 236
new-instance v0, Ljava/lang/UnsupportedOperationException;
invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw v0
.end method
.method public internalArrayStart()I
.locals 1
.line 228
new-instance v0, Ljava/lang/UnsupportedOperationException;
invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw v0
.end method
.method public abstract isPartialView()Z
.end method
.method public abstract iterator()Lcom/google/common/collect/UnmodifiableIterator;
.end method
.method public final remove(Ljava/lang/Object;)Z
.locals 0
.line 267
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw p1
.end method
.method public final removeAll(Ljava/util/Collection;)Z
.locals 0
.line 295
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw p1
.end method
.method public final retainAll(Ljava/util/Collection;)Z
.locals 0
.line 309
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw p1
.end method
.method public final toArray()[Ljava/lang/Object;
.locals 1
sget-object v0, Lcom/google/common/collect/ImmutableCollection;->EMPTY_ARRAY:[Ljava/lang/Object;
.line 181
invoke-virtual {p0, v0}, Lcom/google/common/collect/ImmutableCollection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public final toArray([Ljava/lang/Object;)[Ljava/lang/Object;
.locals 3
.line 200
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 201
invoke-virtual {p0}, Ljava/util/AbstractCollection;->size()I
move-result v0
.line 203
array-length v1, p1
if-ge v1, v0, :cond_1
.line 204
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableCollection;->internalArray()[Ljava/lang/Object;
move-result-object v1
if-eqz v1, :cond_0
.line 206
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableCollection;->internalArrayStart()I
move-result v0
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableCollection;->internalArrayEnd()I
move-result v2
invoke-static {v1, v0, v2, p1}, Lcom/google/common/collect/Platform;->copy([Ljava/lang/Object;II[Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p1
return-object p1
.line 208
:cond_0
invoke-static {p1, v0}, Lcom/google/common/collect/ObjectArrays;->newArray([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object p1
goto :goto_0
.line 209
:cond_1
array-length v1, p1
if-le v1, v0, :cond_2
const/4 v1, 0x0
.line 210
aput-object v1, p1, v0
:cond_2
:goto_0
const/4 v0, 0x0
.line 212
invoke-virtual {p0, p1, v0}, Lcom/google/common/collect/ImmutableCollection;->copyIntoArray([Ljava/lang/Object;I)I
return-object p1
.end method
.method public writeReplace()Ljava/lang/Object;
.locals 2
.line 361
new-instance v0, Lcom/google/common/collect/ImmutableList$SerializedForm;
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableCollection;->toArray()[Ljava/lang/Object;
move-result-object v1
invoke-direct {v0, v1}, Lcom/google/common/collect/ImmutableList$SerializedForm;-><init>([Ljava/lang/Object;)V
return-object v0
.end method

View File

@@ -0,0 +1,66 @@
.class public final Lcom/google/common/collect/ImmutableList$Builder;
.super Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableList;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Builder"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 1
const/4 v0, 0x4
.line 733
invoke-direct {p0, v0}, Lcom/google/common/collect/ImmutableList$Builder;-><init>(I)V
return-void
.end method
.method public constructor <init>(I)V
.locals 0
.line 737
invoke-direct {p0, p1}, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;-><init>(I)V
return-void
.end method
# virtual methods
.method public varargs add([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;
.locals 0
.line 764
invoke-super {p0, p1}, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->add([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableCollection$Builder;
return-object p0
.end method
.method public build()Lcom/google/common/collect/ImmutableList;
.locals 2
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->forceCopy:Z
iget-object v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->contents:[Ljava/lang/Object;
iget v1, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
.line 808
invoke-static {v0, v1}, Lcom/google/common/collect/ImmutableList;->asImmutableList([Ljava/lang/Object;I)Lcom/google/common/collect/ImmutableList;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,50 @@
.class public Lcom/google/common/collect/ImmutableList$Itr;
.super Lcom/google/common/collect/AbstractIndexedListIterator;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableList;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Itr"
.end annotation
# instance fields
.field public final list:Lcom/google/common/collect/ImmutableList;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/ImmutableList;I)V
.locals 1
.line 385
invoke-virtual {p1}, Ljava/util/AbstractCollection;->size()I
move-result v0
invoke-direct {p0, v0, p2}, Lcom/google/common/collect/AbstractIndexedListIterator;-><init>(II)V
iput-object p1, p0, Lcom/google/common/collect/ImmutableList$Itr;->list:Lcom/google/common/collect/ImmutableList;
return-void
.end method
# virtual methods
.method public get(I)Ljava/lang/Object;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$Itr;->list:Lcom/google/common/collect/ImmutableList;
.line 391
invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method

View File

@@ -0,0 +1,260 @@
.class public Lcom/google/common/collect/ImmutableList$ReverseImmutableList;
.super Lcom/google/common/collect/ImmutableList;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableList;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "ReverseImmutableList"
.end annotation
# instance fields
.field public final transient forwardList:Lcom/google/common/collect/ImmutableList;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/ImmutableList;)V
.locals 0
.line 579
invoke-direct {p0}, Lcom/google/common/collect/ImmutableList;-><init>()V
iput-object p1, p0, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->forwardList:Lcom/google/common/collect/ImmutableList;
return-void
.end method
# virtual methods
.method public contains(Ljava/lang/Object;)Z
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->forwardList:Lcom/google/common/collect/ImmutableList;
.line 598
invoke-virtual {v0, p1}, Lcom/google/common/collect/ImmutableList;->contains(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public get(I)Ljava/lang/Object;
.locals 1
.line 621
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->forwardList:Lcom/google/common/collect/ImmutableList;
.line 622
invoke-virtual {p0, p1}, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->reverseIndex(I)I
move-result p1
invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public indexOf(Ljava/lang/Object;)I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->forwardList:Lcom/google/common/collect/ImmutableList;
.line 603
invoke-virtual {v0, p1}, Lcom/google/common/collect/ImmutableList;->lastIndexOf(Ljava/lang/Object;)I
move-result p1
if-ltz p1, :cond_0
.line 604
invoke-virtual {p0, p1}, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->reverseIndex(I)I
move-result p1
goto :goto_0
:cond_0
const/4 p1, -0x1
:goto_0
return p1
.end method
.method public isPartialView()Z
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->forwardList:Lcom/google/common/collect/ImmutableList;
.line 632
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableCollection;->isPartialView()Z
move-result v0
return v0
.end method
.method public bridge synthetic iterator()Ljava/util/Iterator;
.locals 1
.line 576
invoke-super {p0}, Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public lastIndexOf(Ljava/lang/Object;)I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->forwardList:Lcom/google/common/collect/ImmutableList;
.line 609
invoke-virtual {v0, p1}, Lcom/google/common/collect/ImmutableList;->indexOf(Ljava/lang/Object;)I
move-result p1
if-ltz p1, :cond_0
.line 610
invoke-virtual {p0, p1}, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->reverseIndex(I)I
move-result p1
goto :goto_0
:cond_0
const/4 p1, -0x1
:goto_0
return p1
.end method
.method public bridge synthetic listIterator()Ljava/util/ListIterator;
.locals 1
.line 576
invoke-super {p0}, Lcom/google/common/collect/ImmutableList;->listIterator()Lcom/google/common/collect/UnmodifiableListIterator;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic listIterator(I)Ljava/util/ListIterator;
.locals 0
.line 576
invoke-super {p0, p1}, Lcom/google/common/collect/ImmutableList;->listIterator(I)Lcom/google/common/collect/UnmodifiableListIterator;
move-result-object p1
return-object p1
.end method
.method public reverse()Lcom/google/common/collect/ImmutableList;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->forwardList:Lcom/google/common/collect/ImmutableList;
return-object v0
.end method
.method public final reverseIndex(I)I
.locals 1
.line 584
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
sub-int/2addr v0, p1
return v0
.end method
.method public final reversePosition(I)I
.locals 1
.line 588
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->size()I
move-result v0
sub-int/2addr v0, p1
return v0
.end method
.method public size()I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->forwardList:Lcom/google/common/collect/ImmutableList;
.line 627
invoke-virtual {v0}, Ljava/util/AbstractCollection;->size()I
move-result v0
return v0
.end method
.method public subList(II)Lcom/google/common/collect/ImmutableList;
.locals 1
.line 615
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->size()I
move-result v0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->forwardList:Lcom/google/common/collect/ImmutableList;
.line 616
invoke-virtual {p0, p2}, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->reversePosition(I)I
move-result p2
invoke-virtual {p0, p1}, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->reversePosition(I)I
move-result p1
invoke-virtual {v0, p2, p1}, Lcom/google/common/collect/ImmutableList;->subList(II)Lcom/google/common/collect/ImmutableList;
move-result-object p1
invoke-virtual {p1}, Lcom/google/common/collect/ImmutableList;->reverse()Lcom/google/common/collect/ImmutableList;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic subList(II)Ljava/util/List;
.locals 0
.line 576
invoke-virtual {p0, p1, p2}, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;->subList(II)Lcom/google/common/collect/ImmutableList;
move-result-object p1
return-object p1
.end method

View File

@@ -0,0 +1,53 @@
.class public Lcom/google/common/collect/ImmutableList$SerializedForm;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableList;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "SerializedForm"
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final elements:[Ljava/lang/Object;
# direct methods
.method public constructor <init>([Ljava/lang/Object;)V
.locals 0
.line 661
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/google/common/collect/ImmutableList$SerializedForm;->elements:[Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public readResolve()Ljava/lang/Object;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$SerializedForm;->elements:[Ljava/lang/Object;
.line 666
invoke-static {v0}, Lcom/google/common/collect/ImmutableList;->copyOf([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,198 @@
.class public Lcom/google/common/collect/ImmutableList$SubList;
.super Lcom/google/common/collect/ImmutableList;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableList;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "SubList"
.end annotation
# instance fields
.field public final transient length:I
.field public final transient offset:I
.field public final synthetic this$0:Lcom/google/common/collect/ImmutableList;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/ImmutableList;II)V
.locals 0
iput-object p1, p0, Lcom/google/common/collect/ImmutableList$SubList;->this$0:Lcom/google/common/collect/ImmutableList;
.line 442
invoke-direct {p0}, Lcom/google/common/collect/ImmutableList;-><init>()V
iput p2, p0, Lcom/google/common/collect/ImmutableList$SubList;->offset:I
iput p3, p0, Lcom/google/common/collect/ImmutableList$SubList;->length:I
return-void
.end method
# virtual methods
.method public get(I)Ljava/lang/Object;
.locals 2
iget v0, p0, Lcom/google/common/collect/ImmutableList$SubList;->length:I
.line 471
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$SubList;->this$0:Lcom/google/common/collect/ImmutableList;
iget v1, p0, Lcom/google/common/collect/ImmutableList$SubList;->offset:I
add-int/2addr p1, v1
.line 472
invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public internalArray()[Ljava/lang/Object;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$SubList;->this$0:Lcom/google/common/collect/ImmutableList;
.line 456
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableCollection;->internalArray()[Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public internalArrayEnd()I
.locals 2
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$SubList;->this$0:Lcom/google/common/collect/ImmutableList;
.line 466
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableCollection;->internalArrayStart()I
move-result v0
iget v1, p0, Lcom/google/common/collect/ImmutableList$SubList;->offset:I
add-int/2addr v0, v1
iget v1, p0, Lcom/google/common/collect/ImmutableList$SubList;->length:I
add-int/2addr v0, v1
return v0
.end method
.method public internalArrayStart()I
.locals 2
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$SubList;->this$0:Lcom/google/common/collect/ImmutableList;
.line 461
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableCollection;->internalArrayStart()I
move-result v0
iget v1, p0, Lcom/google/common/collect/ImmutableList$SubList;->offset:I
add-int/2addr v0, v1
return v0
.end method
.method public isPartialView()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public bridge synthetic iterator()Ljava/util/Iterator;
.locals 1
.line 438
invoke-super {p0}, Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic listIterator()Ljava/util/ListIterator;
.locals 1
.line 438
invoke-super {p0}, Lcom/google/common/collect/ImmutableList;->listIterator()Lcom/google/common/collect/UnmodifiableListIterator;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic listIterator(I)Ljava/util/ListIterator;
.locals 0
.line 438
invoke-super {p0, p1}, Lcom/google/common/collect/ImmutableList;->listIterator(I)Lcom/google/common/collect/UnmodifiableListIterator;
move-result-object p1
return-object p1
.end method
.method public size()I
.locals 1
iget v0, p0, Lcom/google/common/collect/ImmutableList$SubList;->length:I
return v0
.end method
.method public subList(II)Lcom/google/common/collect/ImmutableList;
.locals 2
iget v0, p0, Lcom/google/common/collect/ImmutableList$SubList;->length:I
.line 477
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
iget-object v0, p0, Lcom/google/common/collect/ImmutableList$SubList;->this$0:Lcom/google/common/collect/ImmutableList;
iget v1, p0, Lcom/google/common/collect/ImmutableList$SubList;->offset:I
add-int/2addr p1, v1
add-int/2addr p2, v1
.line 478
invoke-virtual {v0, p1, p2}, Lcom/google/common/collect/ImmutableList;->subList(II)Lcom/google/common/collect/ImmutableList;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic subList(II)Ljava/util/List;
.locals 0
.line 438
invoke-virtual {p0, p1, p2}, Lcom/google/common/collect/ImmutableList$SubList;->subList(II)Lcom/google/common/collect/ImmutableList;
move-result-object p1
return-object p1
.end method

View File

@@ -0,0 +1,674 @@
.class public abstract Lcom/google/common/collect/ImmutableList;
.super Lcom/google/common/collect/ImmutableCollection;
.source "SourceFile"
# interfaces
.implements Ljava/util/List;
.implements Ljava/util/RandomAccess;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/collect/ImmutableList$Builder;,
Lcom/google/common/collect/ImmutableList$SerializedForm;,
Lcom/google/common/collect/ImmutableList$ReverseImmutableList;,
Lcom/google/common/collect/ImmutableList$SubList;,
Lcom/google/common/collect/ImmutableList$Itr;
}
.end annotation
# static fields
.field public static final EMPTY_ITR:Lcom/google/common/collect/UnmodifiableListIterator;
# direct methods
.method static constructor <clinit>()V
.locals 3
.line 378
new-instance v0, Lcom/google/common/collect/ImmutableList$Itr;
sget-object v1, Lcom/google/common/collect/RegularImmutableList;->EMPTY:Lcom/google/common/collect/ImmutableList;
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/collect/ImmutableList$Itr;-><init>(Lcom/google/common/collect/ImmutableList;I)V
sput-object v0, Lcom/google/common/collect/ImmutableList;->EMPTY_ITR:Lcom/google/common/collect/UnmodifiableListIterator;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 352
invoke-direct {p0}, Lcom/google/common/collect/ImmutableCollection;-><init>()V
return-void
.end method
.method public static asImmutableList([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
.locals 1
.line 341
array-length v0, p0
invoke-static {p0, v0}, Lcom/google/common/collect/ImmutableList;->asImmutableList([Ljava/lang/Object;I)Lcom/google/common/collect/ImmutableList;
move-result-object p0
return-object p0
.end method
.method public static asImmutableList([Ljava/lang/Object;I)Lcom/google/common/collect/ImmutableList;
.locals 1
if-nez p1, :cond_0
.line 347
invoke-static {}, Lcom/google/common/collect/ImmutableList;->of()Lcom/google/common/collect/ImmutableList;
move-result-object p0
return-object p0
.line 349
:cond_0
new-instance v0, Lcom/google/common/collect/RegularImmutableList;
invoke-direct {v0, p0, p1}, Lcom/google/common/collect/RegularImmutableList;-><init>([Ljava/lang/Object;I)V
return-object v0
.end method
.method public static varargs construct([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
.locals 0
.line 332
invoke-static {p0}, Lcom/google/common/collect/ObjectArrays;->checkElementsNotNull([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p0
invoke-static {p0}, Lcom/google/common/collect/ImmutableList;->asImmutableList([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
move-result-object p0
return-object p0
.end method
.method public static copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableList;
.locals 1
.line 244
instance-of v0, p0, Lcom/google/common/collect/ImmutableCollection;
if-eqz v0, :cond_1
.line 246
check-cast p0, Lcom/google/common/collect/ImmutableCollection;
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableCollection;->asList()Lcom/google/common/collect/ImmutableList;
move-result-object p0
.line 247
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableCollection;->isPartialView()Z
move-result v0
if-eqz v0, :cond_0
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableCollection;->toArray()[Ljava/lang/Object;
move-result-object p0
invoke-static {p0}, Lcom/google/common/collect/ImmutableList;->asImmutableList([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
move-result-object p0
:cond_0
return-object p0
.line 249
:cond_1
invoke-interface {p0}, Ljava/util/Collection;->toArray()[Ljava/lang/Object;
move-result-object p0
invoke-static {p0}, Lcom/google/common/collect/ImmutableList;->construct([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
move-result-object p0
return-object p0
.end method
.method public static copyOf([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
.locals 1
.line 277
array-length v0, p0
if-nez v0, :cond_0
.line 278
invoke-static {}, Lcom/google/common/collect/ImmutableList;->of()Lcom/google/common/collect/ImmutableList;
move-result-object p0
goto :goto_0
.line 279
:cond_0
invoke-virtual {p0}, [Ljava/lang/Object;->clone()Ljava/lang/Object;
move-result-object p0
check-cast p0, [Ljava/lang/Object;
invoke-static {p0}, Lcom/google/common/collect/ImmutableList;->construct([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
move-result-object p0
:goto_0
return-object p0
.end method
.method public static of()Lcom/google/common/collect/ImmutableList;
.locals 1
.line 73
sget-object v0, Lcom/google/common/collect/RegularImmutableList;->EMPTY:Lcom/google/common/collect/ImmutableList;
return-object v0
.end method
.method public static of(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
.locals 0
filled-new-array {p0}, [Ljava/lang/Object;
move-result-object p0
.line 84
invoke-static {p0}, Lcom/google/common/collect/ImmutableList;->construct([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
move-result-object p0
return-object p0
.end method
.method public static of(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
.locals 0
filled-new-array {p0, p1}, [Ljava/lang/Object;
move-result-object p0
.line 93
invoke-static {p0}, Lcom/google/common/collect/ImmutableList;->construct([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
move-result-object p0
return-object p0
.end method
.method public static of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
.locals 0
filled-new-array {p0, p1, p2}, [Ljava/lang/Object;
move-result-object p0
.line 102
invoke-static {p0}, Lcom/google/common/collect/ImmutableList;->construct([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
move-result-object p0
return-object p0
.end method
.method public static of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
.locals 0
filled-new-array/range {p0 .. p6}, [Ljava/lang/Object;
move-result-object p0
.line 138
invoke-static {p0}, Lcom/google/common/collect/ImmutableList;->construct([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
move-result-object p0
return-object p0
.end method
.method private readObject(Ljava/io/ObjectInputStream;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/InvalidObjectException;
}
.end annotation
.line 673
new-instance p1, Ljava/io/InvalidObjectException;
const-string v0, "Use SerializedForm"
invoke-direct {p1, v0}, Ljava/io/InvalidObjectException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public static sortedCopyOf(Ljava/util/Comparator;Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList;
.locals 0
.line 322
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 324
invoke-static {p1}, Lcom/google/common/collect/Iterables;->toArray(Ljava/lang/Iterable;)[Ljava/lang/Object;
move-result-object p1
.line 325
invoke-static {p1}, Lcom/google/common/collect/ObjectArrays;->checkElementsNotNull([Ljava/lang/Object;)[Ljava/lang/Object;
.line 326
invoke-static {p1, p0}, Ljava/util/Arrays;->sort([Ljava/lang/Object;Ljava/util/Comparator;)V
.line 327
invoke-static {p1}, Lcom/google/common/collect/ImmutableList;->asImmutableList([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
move-result-object p0
return-object p0
.end method
# virtual methods
.method public final add(ILjava/lang/Object;)V
.locals 0
.line 525
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw p1
.end method
.method public final addAll(ILjava/util/Collection;)Z
.locals 0
.line 498
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw p1
.end method
.method public final asList()Lcom/google/common/collect/ImmutableList;
.locals 0
return-object p0
.end method
.method public contains(Ljava/lang/Object;)Z
.locals 0
.line 407
invoke-virtual {p0, p1}, Lcom/google/common/collect/ImmutableList;->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 copyIntoArray([Ljava/lang/Object;I)I
.locals 4
.line 558
invoke-virtual {p0}, Ljava/util/AbstractCollection;->size()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
add-int v2, p2, v1
.line 560
invoke-interface {p0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
aput-object v3, p1, v2
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
add-int/2addr p2, v0
return p2
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 0
.line 638
invoke-static {p0, p1}, Lcom/google/common/collect/Lists;->equalsImpl(Ljava/util/List;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public hashCode()I
.locals 4
.line 644
invoke-virtual {p0}, Ljava/util/AbstractCollection;->size()I
move-result v0
const/4 v1, 0x1
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_0
mul-int/lit8 v1, v1, 0x1f
.line 646
invoke-interface {p0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/Object;->hashCode()I
move-result v3
add-int/2addr v1, v3
not-int v1, v1
not-int v1, v1
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
return v1
.end method
.method public indexOf(Ljava/lang/Object;)I
.locals 0
if-nez p1, :cond_0
const/4 p1, -0x1
goto :goto_0
.line 397
:cond_0
invoke-static {p0, p1}, Lcom/google/common/collect/Lists;->indexOfImpl(Ljava/util/List;Ljava/lang/Object;)I
move-result p1
:goto_0
return p1
.end method
.method public iterator()Lcom/google/common/collect/UnmodifiableIterator;
.locals 1
.line 358
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableList;->listIterator()Lcom/google/common/collect/UnmodifiableListIterator;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic iterator()Ljava/util/Iterator;
.locals 1
.line 58
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public lastIndexOf(Ljava/lang/Object;)I
.locals 0
if-nez p1, :cond_0
const/4 p1, -0x1
goto :goto_0
.line 402
:cond_0
invoke-static {p0, p1}, Lcom/google/common/collect/Lists;->lastIndexOfImpl(Ljava/util/List;Ljava/lang/Object;)I
move-result p1
:goto_0
return p1
.end method
.method public listIterator()Lcom/google/common/collect/UnmodifiableListIterator;
.locals 1
const/4 v0, 0x0
.line 363
invoke-virtual {p0, v0}, Lcom/google/common/collect/ImmutableList;->listIterator(I)Lcom/google/common/collect/UnmodifiableListIterator;
move-result-object v0
return-object v0
.end method
.method public listIterator(I)Lcom/google/common/collect/UnmodifiableListIterator;
.locals 1
.line 369
invoke-virtual {p0}, Ljava/util/AbstractCollection;->size()I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndex(II)I
.line 370
invoke-virtual {p0}, Ljava/util/AbstractCollection;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
sget-object p1, Lcom/google/common/collect/ImmutableList;->EMPTY_ITR:Lcom/google/common/collect/UnmodifiableListIterator;
return-object p1
.line 373
:cond_0
new-instance v0, Lcom/google/common/collect/ImmutableList$Itr;
invoke-direct {v0, p0, p1}, Lcom/google/common/collect/ImmutableList$Itr;-><init>(Lcom/google/common/collect/ImmutableList;I)V
return-object v0
.end method
.method public bridge synthetic listIterator()Ljava/util/ListIterator;
.locals 1
.line 58
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableList;->listIterator()Lcom/google/common/collect/UnmodifiableListIterator;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic listIterator(I)Ljava/util/ListIterator;
.locals 0
.line 58
invoke-virtual {p0, p1}, Lcom/google/common/collect/ImmutableList;->listIterator(I)Lcom/google/common/collect/UnmodifiableListIterator;
move-result-object p1
return-object p1
.end method
.method public final remove(I)Ljava/lang/Object;
.locals 0
.line 539
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw p1
.end method
.method public reverse()Lcom/google/common/collect/ImmutableList;
.locals 2
.line 573
invoke-virtual {p0}, Ljava/util/AbstractCollection;->size()I
move-result v0
const/4 v1, 0x1
if-gt v0, v1, :cond_0
move-object v0, p0
goto :goto_0
:cond_0
new-instance v0, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;
invoke-direct {v0, p0}, Lcom/google/common/collect/ImmutableList$ReverseImmutableList;-><init>(Lcom/google/common/collect/ImmutableList;)V
:goto_0
return-object v0
.end method
.method public final set(ILjava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 512
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw p1
.end method
.method public subList(II)Lcom/google/common/collect/ImmutableList;
.locals 2
.line 419
invoke-virtual {p0}, Ljava/util/AbstractCollection;->size()I
move-result v0
invoke-static {p1, p2, v0}, Lcom/google/common/base/Preconditions;->checkPositionIndexes(III)V
sub-int v0, p2, p1
.line 421
invoke-virtual {p0}, Ljava/util/AbstractCollection;->size()I
move-result v1
if-ne v0, v1, :cond_0
return-object p0
:cond_0
if-nez v0, :cond_1
.line 424
invoke-static {}, Lcom/google/common/collect/ImmutableList;->of()Lcom/google/common/collect/ImmutableList;
move-result-object p1
return-object p1
.line 426
:cond_1
invoke-virtual {p0, p1, p2}, Lcom/google/common/collect/ImmutableList;->subListUnchecked(II)Lcom/google/common/collect/ImmutableList;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic subList(II)Ljava/util/List;
.locals 0
.line 58
invoke-virtual {p0, p1, p2}, Lcom/google/common/collect/ImmutableList;->subList(II)Lcom/google/common/collect/ImmutableList;
move-result-object p1
return-object p1
.end method
.method public subListUnchecked(II)Lcom/google/common/collect/ImmutableList;
.locals 1
.line 435
new-instance v0, Lcom/google/common/collect/ImmutableList$SubList;
sub-int/2addr p2, p1
invoke-direct {v0, p0, p1, p2}, Lcom/google/common/collect/ImmutableList$SubList;-><init>(Lcom/google/common/collect/ImmutableList;II)V
return-object v0
.end method
.method public writeReplace()Ljava/lang/Object;
.locals 2
.line 678
new-instance v0, Lcom/google/common/collect/ImmutableList$SerializedForm;
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableCollection;->toArray()[Ljava/lang/Object;
move-result-object v1
invoke-direct {v0, v1}, Lcom/google/common/collect/ImmutableList$SerializedForm;-><init>([Ljava/lang/Object;)V
return-object v0
.end method

View File

@@ -0,0 +1,130 @@
.class public final Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableMap$Builder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "DuplicateKey"
.end annotation
# instance fields
.field public final key:Ljava/lang/Object;
.field public final value1:Ljava/lang/Object;
.field public final value2:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
.locals 0
.line 654
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;->key:Ljava/lang/Object;
iput-object p2, p0, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;->value1:Ljava/lang/Object;
iput-object p3, p0, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;->value2:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public exception()Ljava/lang/IllegalArgumentException;
.locals 7
.line 661
new-instance v0, Ljava/lang/IllegalArgumentException;
iget-object v1, p0, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;->key:Ljava/lang/Object;
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
iget-object v2, p0, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;->value1:Ljava/lang/Object;
invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
iget-object v3, p0, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;->key:Ljava/lang/Object;
invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
iget-object v4, p0, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;->value2:Ljava/lang/Object;
invoke-static {v4}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v5
add-int/lit8 v5, v5, 0x27
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v6
add-int/2addr v5, v6
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v6
add-int/2addr v5, v6
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v6
add-int/2addr v5, v6
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6, v5}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v5, "Multiple entries with same key: "
invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "="
invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, " and "
invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
return-object v0
.end method

View File

@@ -0,0 +1,466 @@
.class public Lcom/google/common/collect/ImmutableMap$Builder;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Builder"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;
}
.end annotation
# instance fields
.field public alternatingKeysAndValues:[Ljava/lang/Object;
.field public duplicateKey:Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;
.field public entriesUsed:Z
.field public size:I
.field public valueComparator:Ljava/util/Comparator;
# direct methods
.method public constructor <init>()V
.locals 1
const/4 v0, 0x4
.line 401
invoke-direct {p0, v0}, Lcom/google/common/collect/ImmutableMap$Builder;-><init>(I)V
return-void
.end method
.method public constructor <init>(I)V
.locals 0
.line 405
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
mul-int/lit8 p1, p1, 0x2
.line 406
new-array p1, p1, [Ljava/lang/Object;
iput-object p1, p0, Lcom/google/common/collect/ImmutableMap$Builder;->alternatingKeysAndValues:[Ljava/lang/Object;
const/4 p1, 0x0
iput p1, p0, Lcom/google/common/collect/ImmutableMap$Builder;->size:I
iput-boolean p1, p0, Lcom/google/common/collect/ImmutableMap$Builder;->entriesUsed:Z
return-void
.end method
.method public static sortEntries([Ljava/lang/Object;ILjava/util/Comparator;)V
.locals 6
.line 606
new-array v0, p1, [Ljava/util/Map$Entry;
const/4 v1, 0x0
move v2, v1
:goto_0
if-ge v2, p1, :cond_0
mul-int/lit8 v3, v2, 0x2
.line 609
aget-object v4, p0, v3
invoke-static {v4}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
add-int/lit8 v3, v3, 0x1
.line 611
aget-object v3, p0, v3
invoke-static {v3}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 612
new-instance v5, Ljava/util/AbstractMap$SimpleImmutableEntry;
invoke-direct {v5, v4, v3}, Ljava/util/AbstractMap$SimpleImmutableEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
aput-object v5, v0, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 615
:cond_0
invoke-static {p2}, Lcom/google/common/collect/Ordering;->from(Ljava/util/Comparator;)Lcom/google/common/collect/Ordering;
move-result-object p2
invoke-static {}, Lcom/google/common/collect/Maps;->valueFunction()Lcom/google/common/base/Function;
move-result-object v2
invoke-virtual {p2, v2}, Lcom/google/common/collect/Ordering;->onResultOf(Lcom/google/common/base/Function;)Lcom/google/common/collect/Ordering;
move-result-object p2
.line 614
invoke-static {v0, v1, p1, p2}, Ljava/util/Arrays;->sort([Ljava/lang/Object;IILjava/util/Comparator;)V
:goto_1
if-ge v1, p1, :cond_1
mul-int/lit8 p2, v1, 0x2
.line 617
aget-object v2, v0, v1
invoke-interface {v2}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
aput-object v2, p0, p2
add-int/lit8 p2, p2, 0x1
.line 618
aget-object v2, v0, v1
invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
aput-object v2, p0, p2
add-int/lit8 v1, v1, 0x1
goto :goto_1
:cond_1
return-void
.end method
# virtual methods
.method public final build(Z)Lcom/google/common/collect/ImmutableMap;
.locals 5
if-eqz p1, :cond_1
iget-object v0, p0, Lcom/google/common/collect/ImmutableMap$Builder;->duplicateKey:Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;
if-nez v0, :cond_0
goto :goto_0
.line 515
:cond_0
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;->exception()Ljava/lang/IllegalArgumentException;
move-result-object p1
throw p1
:cond_1
:goto_0
iget v0, p0, Lcom/google/common/collect/ImmutableMap$Builder;->size:I
iget-object v1, p0, Lcom/google/common/collect/ImmutableMap$Builder;->valueComparator:Ljava/util/Comparator;
const/4 v2, 0x1
if-nez v1, :cond_2
iget-object v1, p0, Lcom/google/common/collect/ImmutableMap$Builder;->alternatingKeysAndValues:[Ljava/lang/Object;
goto :goto_1
:cond_2
iget-boolean v1, p0, Lcom/google/common/collect/ImmutableMap$Builder;->entriesUsed:Z
if-eqz v1, :cond_3
iget-object v1, p0, Lcom/google/common/collect/ImmutableMap$Builder;->alternatingKeysAndValues:[Ljava/lang/Object;
mul-int/lit8 v3, v0, 0x2
.line 532
invoke-static {v1, v3}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object v1
iput-object v1, p0, Lcom/google/common/collect/ImmutableMap$Builder;->alternatingKeysAndValues:[Ljava/lang/Object;
:cond_3
iget-object v1, p0, Lcom/google/common/collect/ImmutableMap$Builder;->alternatingKeysAndValues:[Ljava/lang/Object;
if-nez p1, :cond_4
iget v3, p0, Lcom/google/common/collect/ImmutableMap$Builder;->size:I
.line 538
invoke-virtual {p0, v1, v3}, Lcom/google/common/collect/ImmutableMap$Builder;->lastEntryForEachKey([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object v1
.line 539
array-length v3, v1
iget-object v4, p0, Lcom/google/common/collect/ImmutableMap$Builder;->alternatingKeysAndValues:[Ljava/lang/Object;
array-length v4, v4
if-ge v3, v4, :cond_4
.line 540
array-length v0, v1
ushr-int/2addr v0, v2
:cond_4
iget-object v3, p0, Lcom/google/common/collect/ImmutableMap$Builder;->valueComparator:Ljava/util/Comparator;
.line 543
invoke-static {v1, v0, v3}, Lcom/google/common/collect/ImmutableMap$Builder;->sortEntries([Ljava/lang/Object;ILjava/util/Comparator;)V
:goto_1
iput-boolean v2, p0, Lcom/google/common/collect/ImmutableMap$Builder;->entriesUsed:Z
.line 547
invoke-static {v0, v1, p0}, Lcom/google/common/collect/RegularImmutableMap;->create(I[Ljava/lang/Object;Lcom/google/common/collect/ImmutableMap$Builder;)Lcom/google/common/collect/RegularImmutableMap;
move-result-object v0
if-eqz p1, :cond_6
iget-object p1, p0, Lcom/google/common/collect/ImmutableMap$Builder;->duplicateKey:Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;
if-nez p1, :cond_5
goto :goto_2
.line 549
:cond_5
invoke-virtual {p1}, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;->exception()Ljava/lang/IllegalArgumentException;
move-result-object p1
throw p1
:cond_6
:goto_2
return-object v0
.end method
.method public buildOrThrow()Lcom/google/common/collect/ImmutableMap;
.locals 1
const/4 v0, 0x1
.line 579
invoke-virtual {p0, v0}, Lcom/google/common/collect/ImmutableMap$Builder;->build(Z)Lcom/google/common/collect/ImmutableMap;
move-result-object v0
return-object v0
.end method
.method public final ensureCapacity(I)V
.locals 2
mul-int/lit8 p1, p1, 0x2
iget-object v0, p0, Lcom/google/common/collect/ImmutableMap$Builder;->alternatingKeysAndValues:[Ljava/lang/Object;
.line 412
array-length v1, v0
if-le p1, v1, :cond_0
.line 413
array-length v1, v0
.line 416
invoke-static {v1, p1}, Lcom/google/common/collect/ImmutableCollection$Builder;->expandedCapacity(II)I
move-result p1
.line 414
invoke-static {v0, p1}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object p1
iput-object p1, p0, Lcom/google/common/collect/ImmutableMap$Builder;->alternatingKeysAndValues:[Ljava/lang/Object;
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/google/common/collect/ImmutableMap$Builder;->entriesUsed:Z
:cond_0
return-void
.end method
.method public final lastEntryForEachKey([Ljava/lang/Object;I)[Ljava/lang/Object;
.locals 7
.line 624
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
.line 625
new-instance v1, Ljava/util/BitSet;
invoke-direct {v1}, Ljava/util/BitSet;-><init>()V
add-int/lit8 v2, p2, -0x1
:goto_0
if-ltz v2, :cond_1
mul-int/lit8 v3, v2, 0x2
.line 627
aget-object v3, p1, v3
invoke-static {v3}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 628
invoke-interface {v0, v3}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_0
.line 629
invoke-virtual {v1, v2}, Ljava/util/BitSet;->set(I)V
:cond_0
add-int/lit8 v2, v2, -0x1
goto :goto_0
.line 632
:cond_1
invoke-virtual {v1}, Ljava/util/BitSet;->isEmpty()Z
move-result v0
if-eqz v0, :cond_2
return-object p1
.line 635
:cond_2
invoke-virtual {v1}, Ljava/util/BitSet;->cardinality()I
move-result v0
sub-int v0, p2, v0
mul-int/lit8 v0, v0, 0x2
new-array v0, v0, [Ljava/lang/Object;
const/4 v2, 0x0
move v3, v2
:goto_1
mul-int/lit8 v4, p2, 0x2
if-ge v2, v4, :cond_4
ushr-int/lit8 v4, v2, 0x1
.line 637
invoke-virtual {v1, v4}, Ljava/util/BitSet;->get(I)Z
move-result v4
if-eqz v4, :cond_3
add-int/lit8 v2, v2, 0x2
goto :goto_1
:cond_3
add-int/lit8 v4, v3, 0x1
add-int/lit8 v5, v2, 0x1
.line 640
aget-object v6, p1, v2
.line 641
invoke-static {v6}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
aput-object v6, v0, v3
add-int/lit8 v3, v3, 0x2
add-int/lit8 v2, v2, 0x2
.line 642
aget-object v5, p1, v5
.line 643
invoke-static {v5}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
aput-object v5, v0, v4
goto :goto_1
:cond_4
return-object v0
.end method
.method public put(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
.locals 3
iget v0, p0, Lcom/google/common/collect/ImmutableMap$Builder;->size:I
add-int/lit8 v0, v0, 0x1
.line 429
invoke-virtual {p0, v0}, Lcom/google/common/collect/ImmutableMap$Builder;->ensureCapacity(I)V
.line 430
invoke-static {p1, p2}, Lcom/google/common/collect/CollectPreconditions;->checkEntryNotNull(Ljava/lang/Object;Ljava/lang/Object;)V
iget-object v0, p0, Lcom/google/common/collect/ImmutableMap$Builder;->alternatingKeysAndValues:[Ljava/lang/Object;
iget v1, p0, Lcom/google/common/collect/ImmutableMap$Builder;->size:I
mul-int/lit8 v2, v1, 0x2
.line 431
aput-object p1, v0, v2
mul-int/lit8 p1, v1, 0x2
add-int/lit8 p1, p1, 0x1
.line 432
aput-object p2, v0, p1
add-int/lit8 v1, v1, 0x1
iput v1, p0, Lcom/google/common/collect/ImmutableMap$Builder;->size:I
return-object p0
.end method

View File

@@ -0,0 +1,235 @@
.class public Lcom/google/common/collect/ImmutableMap$SerializedForm;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "SerializedForm"
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final keys:Ljava/lang/Object;
.field public final values:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/ImmutableMap;)V
.locals 5
.line 1060
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 1062
invoke-interface {p1}, Ljava/util/Map;->size()I
move-result v0
new-array v0, v0, [Ljava/lang/Object;
.line 1063
invoke-interface {p1}, Ljava/util/Map;->size()I
move-result v1
new-array v1, v1, [Ljava/lang/Object;
.line 1066
invoke-virtual {p1}, Lcom/google/common/collect/ImmutableMap;->entrySet()Lcom/google/common/collect/ImmutableSet;
move-result-object p1
invoke-virtual {p1}, Lcom/google/common/collect/ImmutableSet;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object p1
const/4 v2, 0x0
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/util/Map$Entry;
.line 1067
invoke-interface {v3}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v4
aput-object v4, v0, v2
.line 1068
invoke-interface {v3}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v3
aput-object v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
iput-object v0, p0, Lcom/google/common/collect/ImmutableMap$SerializedForm;->keys:Ljava/lang/Object;
iput-object v1, p0, Lcom/google/common/collect/ImmutableMap$SerializedForm;->values:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public final legacyReadResolve()Ljava/lang/Object;
.locals 6
iget-object v0, p0, Lcom/google/common/collect/ImmutableMap$SerializedForm;->keys:Ljava/lang/Object;
.line 1102
check-cast v0, [Ljava/lang/Object;
iget-object v1, p0, Lcom/google/common/collect/ImmutableMap$SerializedForm;->values:Ljava/lang/Object;
.line 1103
check-cast v1, [Ljava/lang/Object;
.line 1105
array-length v2, v0
invoke-virtual {p0, v2}, Lcom/google/common/collect/ImmutableMap$SerializedForm;->makeBuilder(I)Lcom/google/common/collect/ImmutableMap$Builder;
move-result-object v2
const/4 v3, 0x0
.line 1107
:goto_0
array-length v4, v0
if-ge v3, v4, :cond_0
.line 1108
aget-object v4, v0, v3
aget-object v5, v1, v3
invoke-virtual {v2, v4, v5}, Lcom/google/common/collect/ImmutableMap$Builder;->put(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
add-int/lit8 v3, v3, 0x1
goto :goto_0
.line 1110
:cond_0
invoke-virtual {v2}, Lcom/google/common/collect/ImmutableMap$Builder;->buildOrThrow()Lcom/google/common/collect/ImmutableMap;
move-result-object v0
return-object v0
.end method
.method public makeBuilder(I)Lcom/google/common/collect/ImmutableMap$Builder;
.locals 1
.line 1117
new-instance v0, Lcom/google/common/collect/ImmutableMap$Builder;
invoke-direct {v0, p1}, Lcom/google/common/collect/ImmutableMap$Builder;-><init>(I)V
return-object v0
.end method
.method public final readResolve()Ljava/lang/Object;
.locals 5
iget-object v0, p0, Lcom/google/common/collect/ImmutableMap$SerializedForm;->keys:Ljava/lang/Object;
.line 1081
instance-of v1, v0, Lcom/google/common/collect/ImmutableSet;
if-nez v1, :cond_0
.line 1082
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableMap$SerializedForm;->legacyReadResolve()Ljava/lang/Object;
move-result-object v0
return-object v0
.line 1085
:cond_0
check-cast v0, Lcom/google/common/collect/ImmutableSet;
iget-object v1, p0, Lcom/google/common/collect/ImmutableMap$SerializedForm;->values:Ljava/lang/Object;
.line 1086
check-cast v1, Lcom/google/common/collect/ImmutableCollection;
.line 1088
invoke-virtual {v0}, Ljava/util/AbstractCollection;->size()I
move-result v2
invoke-virtual {p0, v2}, Lcom/google/common/collect/ImmutableMap$SerializedForm;->makeBuilder(I)Lcom/google/common/collect/ImmutableMap$Builder;
move-result-object v2
.line 1090
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableSet;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
.line 1091
invoke-virtual {v1}, Lcom/google/common/collect/ImmutableCollection;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v1
.line 1093
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_1
.line 1094
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
invoke-virtual {v2, v3, v4}, Lcom/google/common/collect/ImmutableMap$Builder;->put(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
goto :goto_0
.line 1097
:cond_1
invoke-virtual {v2}, Lcom/google/common/collect/ImmutableMap$Builder;->buildOrThrow()Lcom/google/common/collect/ImmutableMap;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,337 @@
.class public abstract Lcom/google/common/collect/ImmutableMap;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/Map;
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/collect/ImmutableMap$SerializedForm;,
Lcom/google/common/collect/ImmutableMap$Builder;
}
.end annotation
# static fields
.field public static final EMPTY_ENTRY_ARRAY:[Ljava/util/Map$Entry;
# instance fields
.field public transient entrySet:Lcom/google/common/collect/ImmutableSet;
.field public transient keySet:Lcom/google/common/collect/ImmutableSet;
.field public transient values:Lcom/google/common/collect/ImmutableCollection;
# direct methods
.method static constructor <clinit>()V
.locals 1
const/4 v0, 0x0
new-array v0, v0, [Ljava/util/Map$Entry;
sput-object v0, Lcom/google/common/collect/ImmutableMap;->EMPTY_ENTRY_ARRAY:[Ljava/util/Map$Entry;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 742
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static builder()Lcom/google/common/collect/ImmutableMap$Builder;
.locals 1
.line 321
new-instance v0, Lcom/google/common/collect/ImmutableMap$Builder;
invoke-direct {v0}, Lcom/google/common/collect/ImmutableMap$Builder;-><init>()V
return-object v0
.end method
.method public static of()Lcom/google/common/collect/ImmutableMap;
.locals 1
.line 75
sget-object v0, Lcom/google/common/collect/RegularImmutableMap;->EMPTY:Lcom/google/common/collect/ImmutableMap;
return-object v0
.end method
# virtual methods
.method public final clear()V
.locals 1
.line 796
new-instance v0, Ljava/lang/UnsupportedOperationException;
invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw v0
.end method
.method public containsKey(Ljava/lang/Object;)Z
.locals 0
.line 806
invoke-virtual {p0, p1}, Lcom/google/common/collect/ImmutableMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public containsValue(Ljava/lang/Object;)Z
.locals 1
.line 811
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableMap;->values()Lcom/google/common/collect/ImmutableCollection;
move-result-object v0
invoke-virtual {v0, p1}, Lcom/google/common/collect/ImmutableCollection;->contains(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public abstract createEntrySet()Lcom/google/common/collect/ImmutableSet;
.end method
.method public abstract createKeySet()Lcom/google/common/collect/ImmutableSet;
.end method
.method public abstract createValues()Lcom/google/common/collect/ImmutableCollection;
.end method
.method public entrySet()Lcom/google/common/collect/ImmutableSet;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableMap;->entrySet:Lcom/google/common/collect/ImmutableSet;
if-nez v0, :cond_0
.line 876
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableMap;->createEntrySet()Lcom/google/common/collect/ImmutableSet;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/ImmutableMap;->entrySet:Lcom/google/common/collect/ImmutableSet;
:cond_0
return-object v0
.end method
.method public bridge synthetic entrySet()Ljava/util/Set;
.locals 1
.line 60
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableMap;->entrySet()Lcom/google/common/collect/ImmutableSet;
move-result-object v0
return-object v0
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 0
.line 1025
invoke-static {p0, p1}, Lcom/google/common/collect/Maps;->equalsImpl(Ljava/util/Map;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public abstract get(Ljava/lang/Object;)Ljava/lang/Object;
.end method
.method public final getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 858
invoke-virtual {p0, p1}, Lcom/google/common/collect/ImmutableMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
if-eqz p1, :cond_0
return-object p1
:cond_0
return-object p2
.end method
.method public hashCode()I
.locals 1
.line 1032
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableMap;->entrySet()Lcom/google/common/collect/ImmutableSet;
move-result-object v0
invoke-static {v0}, Lcom/google/common/collect/Sets;->hashCodeImpl(Ljava/util/Set;)I
move-result v0
return v0
.end method
.method public isEmpty()Z
.locals 1
.line 801
invoke-interface {p0}, Ljava/util/Map;->size()I
move-result v0
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public keySet()Lcom/google/common/collect/ImmutableSet;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableMap;->keySet:Lcom/google/common/collect/ImmutableSet;
if-nez v0, :cond_0
.line 890
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableMap;->createKeySet()Lcom/google/common/collect/ImmutableSet;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/ImmutableMap;->keySet:Lcom/google/common/collect/ImmutableSet;
:cond_0
return-object v0
.end method
.method public bridge synthetic keySet()Ljava/util/Set;
.locals 1
.line 60
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableMap;->keySet()Lcom/google/common/collect/ImmutableSet;
move-result-object v0
return-object v0
.end method
.method public final put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 756
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw p1
.end method
.method public final putAll(Ljava/util/Map;)V
.locals 0
.line 783
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw p1
.end method
.method public final remove(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 770
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1041
invoke-static {p0}, Lcom/google/common/collect/Maps;->toStringImpl(Ljava/util/Map;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public values()Lcom/google/common/collect/ImmutableCollection;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableMap;->values:Lcom/google/common/collect/ImmutableCollection;
if-nez v0, :cond_0
.line 924
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableMap;->createValues()Lcom/google/common/collect/ImmutableCollection;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/ImmutableMap;->values:Lcom/google/common/collect/ImmutableCollection;
:cond_0
return-object v0
.end method
.method public bridge synthetic values()Ljava/util/Collection;
.locals 1
.line 60
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableMap;->values()Lcom/google/common/collect/ImmutableCollection;
move-result-object v0
return-object v0
.end method
.method public writeReplace()Ljava/lang/Object;
.locals 1
.line 1129
new-instance v0, Lcom/google/common/collect/ImmutableMap$SerializedForm;
invoke-direct {v0, p0}, Lcom/google/common/collect/ImmutableMap$SerializedForm;-><init>(Lcom/google/common/collect/ImmutableMap;)V
return-object v0
.end method

View File

@@ -0,0 +1,40 @@
.class public abstract Lcom/google/common/collect/ImmutableMultimap$Builder;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableMultimap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Builder"
.end annotation
# instance fields
.field public final builderMap:Ljava/util/Map;
.field public keyComparator:Ljava/util/Comparator;
.field public valueComparator:Ljava/util/Comparator;
# direct methods
.method public constructor <init>()V
.locals 1
.line 158
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 159
invoke-static {}, Lcom/google/common/collect/Platform;->preservesInsertionOrderOnPutsMap()Ljava/util/Map;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/ImmutableMultimap$Builder;->builderMap:Ljava/util/Map;
return-void
.end method

View File

@@ -0,0 +1,48 @@
.class public abstract Lcom/google/common/collect/ImmutableMultimap$FieldSettersHolder;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableMultimap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "FieldSettersHolder"
.end annotation
# static fields
.field public static final MAP_FIELD_SETTER:Lcom/google/common/collect/Serialization$FieldSetter;
.field public static final SIZE_FIELD_SETTER:Lcom/google/common/collect/Serialization$FieldSetter;
# direct methods
.method static constructor <clinit>()V
.locals 2
const-string v0, "map"
const-class v1, Lcom/google/common/collect/ImmutableMultimap;
.line 347
invoke-static {v1, v0}, Lcom/google/common/collect/Serialization;->getFieldSetter(Ljava/lang/Class;Ljava/lang/String;)Lcom/google/common/collect/Serialization$FieldSetter;
move-result-object v0
sput-object v0, Lcom/google/common/collect/ImmutableMultimap$FieldSettersHolder;->MAP_FIELD_SETTER:Lcom/google/common/collect/Serialization$FieldSetter;
const-string v0, "size"
.line 349
invoke-static {v1, v0}, Lcom/google/common/collect/Serialization;->getFieldSetter(Ljava/lang/Class;Ljava/lang/String;)Lcom/google/common/collect/Serialization$FieldSetter;
move-result-object v0
sput-object v0, Lcom/google/common/collect/ImmutableMultimap$FieldSettersHolder;->SIZE_FIELD_SETTER:Lcom/google/common/collect/Serialization$FieldSetter;
return-void
.end method

View File

@@ -0,0 +1,118 @@
.class public abstract Lcom/google/common/collect/ImmutableMultimap;
.super Lcom/google/common/collect/BaseImmutableMultimap;
.source "SourceFile"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/collect/ImmutableMultimap$FieldSettersHolder;,
Lcom/google/common/collect/ImmutableMultimap$Builder;
}
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final transient map:Lcom/google/common/collect/ImmutableMap;
.field public final transient size:I
# direct methods
.method public constructor <init>(Lcom/google/common/collect/ImmutableMap;I)V
.locals 0
.line 352
invoke-direct {p0}, Lcom/google/common/collect/BaseImmutableMultimap;-><init>()V
iput-object p1, p0, Lcom/google/common/collect/ImmutableMultimap;->map:Lcom/google/common/collect/ImmutableMap;
iput p2, p0, Lcom/google/common/collect/ImmutableMultimap;->size:I
return-void
.end method
# virtual methods
.method public asMap()Lcom/google/common/collect/ImmutableMap;
.locals 1
.line 0
iget-object v0, p0, Lcom/google/common/collect/ImmutableMultimap;->map:Lcom/google/common/collect/ImmutableMap;
return-object v0
.end method
.method public bridge synthetic asMap()Ljava/util/Map;
.locals 1
.line 70
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableMultimap;->asMap()Lcom/google/common/collect/ImmutableMap;
move-result-object v0
return-object v0
.end method
.method public containsValue(Ljava/lang/Object;)Z
.locals 0
if-eqz p1, :cond_0
.line 497
invoke-super {p0, p1}, Lcom/google/common/collect/AbstractMultimap;->containsValue(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public bridge synthetic equals(Ljava/lang/Object;)Z
.locals 0
.line 70
invoke-super {p0, p1}, Lcom/google/common/collect/AbstractMultimap;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public bridge synthetic hashCode()I
.locals 1
.line 70
invoke-super {p0}, Lcom/google/common/collect/AbstractMultimap;->hashCode()I
move-result v0
return v0
.end method
.method public bridge synthetic toString()Ljava/lang/String;
.locals 1
.line 70
invoke-super {p0}, Lcom/google/common/collect/AbstractMultimap;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,299 @@
.class public Lcom/google/common/collect/ImmutableSet$Builder;
.super Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableSet;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Builder"
.end annotation
# instance fields
.field public hashCode:I
.field public hashTable:[Ljava/lang/Object;
# direct methods
.method public constructor <init>()V
.locals 1
const/4 v0, 0x4
.line 440
invoke-direct {p0, v0}, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;-><init>(I)V
return-void
.end method
# virtual methods
.method public add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder;
.locals 2
.line 460
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Lcom/google/common/collect/ImmutableSet$Builder;->hashTable:[Ljava/lang/Object;
if-eqz v0, :cond_0
iget v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
.line 461
invoke-static {v0}, Lcom/google/common/collect/ImmutableSet;->chooseTableSize(I)I
move-result v0
iget-object v1, p0, Lcom/google/common/collect/ImmutableSet$Builder;->hashTable:[Ljava/lang/Object;
array-length v1, v1
if-gt v0, v1, :cond_0
.line 462
invoke-virtual {p0, p1}, Lcom/google/common/collect/ImmutableSet$Builder;->addDeduping(Ljava/lang/Object;)V
return-object p0
:cond_0
const/4 v0, 0x0
iput-object v0, p0, Lcom/google/common/collect/ImmutableSet$Builder;->hashTable:[Ljava/lang/Object;
.line 466
invoke-super {p0, p1}, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;
return-object p0
.end method
.method public varargs add([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder;
.locals 3
iget-object v0, p0, Lcom/google/common/collect/ImmutableSet$Builder;->hashTable:[Ljava/lang/Object;
if-eqz v0, :cond_0
.line 483
array-length v0, p1
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
aget-object v2, p1, v1
.line 484
invoke-virtual {p0, v2}, Lcom/google/common/collect/ImmutableSet$Builder;->add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder;
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 487
:cond_0
invoke-super {p0, p1}, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->add([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableCollection$Builder;
:cond_1
return-object p0
.end method
.method public final addDeduping(Ljava/lang/Object;)V
.locals 5
iget-object v0, p0, Lcom/google/common/collect/ImmutableSet$Builder;->hashTable:[Ljava/lang/Object;
.line 493
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Lcom/google/common/collect/ImmutableSet$Builder;->hashTable:[Ljava/lang/Object;
.line 494
array-length v0, v0
add-int/lit8 v0, v0, -0x1
.line 495
invoke-virtual {p1}, Ljava/lang/Object;->hashCode()I
move-result v1
.line 496
invoke-static {v1}, Lcom/google/common/collect/Hashing;->smear(I)I
move-result v2
:goto_0
and-int/2addr v2, v0
iget-object v3, p0, Lcom/google/common/collect/ImmutableSet$Builder;->hashTable:[Ljava/lang/Object;
.line 498
aget-object v4, v3, v2
if-nez v4, :cond_0
.line 500
aput-object p1, v3, v2
iget v0, p0, Lcom/google/common/collect/ImmutableSet$Builder;->hashCode:I
add-int/2addr v0, v1
iput v0, p0, Lcom/google/common/collect/ImmutableSet$Builder;->hashCode:I
.line 502
invoke-super {p0, p1}, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;
return-void
.line 504
:cond_0
invoke-virtual {v4, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
return-void
:cond_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
.end method
.method public build()Lcom/google/common/collect/ImmutableSet;
.locals 8
iget v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
if-eqz v0, :cond_3
const/4 v1, 0x1
if-eq v0, v1, :cond_2
iget-object v2, p0, Lcom/google/common/collect/ImmutableSet$Builder;->hashTable:[Ljava/lang/Object;
if-eqz v2, :cond_1
.line 581
invoke-static {v0}, Lcom/google/common/collect/ImmutableSet;->chooseTableSize(I)I
move-result v0
iget-object v2, p0, Lcom/google/common/collect/ImmutableSet$Builder;->hashTable:[Ljava/lang/Object;
array-length v2, v2
if-ne v0, v2, :cond_1
iget v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
iget-object v2, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->contents:[Ljava/lang/Object;
.line 584
array-length v2, v2
invoke-static {v0, v2}, Lcom/google/common/collect/ImmutableSet;->access$000(II)Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->contents:[Ljava/lang/Object;
iget v2, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
invoke-static {v0, v2}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object v0
:goto_0
move-object v3, v0
goto :goto_1
:cond_0
iget-object v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->contents:[Ljava/lang/Object;
goto :goto_0
.line 585
:goto_1
new-instance v0, Lcom/google/common/collect/RegularImmutableSet;
iget v4, p0, Lcom/google/common/collect/ImmutableSet$Builder;->hashCode:I
iget-object v5, p0, Lcom/google/common/collect/ImmutableSet$Builder;->hashTable:[Ljava/lang/Object;
array-length v2, v5
add-int/lit8 v6, v2, -0x1
iget v7, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
move-object v2, v0
invoke-direct/range {v2 .. v7}, Lcom/google/common/collect/RegularImmutableSet;-><init>([Ljava/lang/Object;I[Ljava/lang/Object;II)V
goto :goto_2
:cond_1
iget v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
iget-object v2, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->contents:[Ljava/lang/Object;
.line 589
invoke-static {v0, v2}, Lcom/google/common/collect/ImmutableSet;->access$100(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
move-result-object v0
.line 592
invoke-virtual {v0}, Ljava/util/AbstractCollection;->size()I
move-result v2
iput v2, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
:goto_2
iput-boolean v1, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->forceCopy:Z
const/4 v1, 0x0
iput-object v1, p0, Lcom/google/common/collect/ImmutableSet$Builder;->hashTable:[Ljava/lang/Object;
return-object v0
:cond_2
iget-object v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->contents:[Ljava/lang/Object;
const/4 v1, 0x0
.line 578
aget-object v0, v0, v1
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
invoke-static {v0}, Lcom/google/common/collect/ImmutableSet;->of(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
move-result-object v0
return-object v0
.line 572
:cond_3
invoke-static {}, Lcom/google/common/collect/ImmutableSet;->of()Lcom/google/common/collect/ImmutableSet;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,53 @@
.class public Lcom/google/common/collect/ImmutableSet$SerializedForm;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableSet;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "SerializedForm"
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final elements:[Ljava/lang/Object;
# direct methods
.method public constructor <init>([Ljava/lang/Object;)V
.locals 0
.line 371
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/google/common/collect/ImmutableSet$SerializedForm;->elements:[Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public readResolve()Ljava/lang/Object;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableSet$SerializedForm;->elements:[Ljava/lang/Object;
.line 376
invoke-static {v0}, Lcom/google/common/collect/ImmutableSet;->copyOf([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,640 @@
.class public abstract Lcom/google/common/collect/ImmutableSet;
.super Lcom/google/common/collect/ImmutableCollection;
.source "SourceFile"
# interfaces
.implements Ljava/util/Set;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/collect/ImmutableSet$Builder;,
Lcom/google/common/collect/ImmutableSet$SerializedForm;
}
.end annotation
# instance fields
.field public transient asList:Lcom/google/common/collect/ImmutableList;
# direct methods
.method public constructor <init>()V
.locals 0
.line 318
invoke-direct {p0}, Lcom/google/common/collect/ImmutableCollection;-><init>()V
return-void
.end method
.method public static synthetic access$000(II)Z
.locals 0
.line 51
invoke-static {p0, p1}, Lcom/google/common/collect/ImmutableSet;->shouldTrim(II)Z
move-result p0
return p0
.end method
.method public static synthetic access$100(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
.locals 0
.line 51
invoke-static {p0, p1}, Lcom/google/common/collect/ImmutableSet;->construct(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
move-result-object p0
return-object p0
.end method
.method public static chooseTableSize(I)I
.locals 5
const/4 v0, 0x2
.line 218
invoke-static {p0, v0}, Ljava/lang/Math;->max(II)I
move-result p0
const v0, 0x2ccccccc
const/4 v1, 0x1
if-ge p0, v0, :cond_1
add-int/lit8 v0, p0, -0x1
.line 222
invoke-static {v0}, Ljava/lang/Integer;->highestOneBit(I)I
move-result v0
shl-int/2addr v0, v1
:goto_0
int-to-double v1, v0
const-wide v3, 0x3fe6666666666666L # 0.7
mul-double/2addr v1, v3
int-to-double v3, p0
cmpg-double v1, v1, v3
if-gez v1, :cond_0
shl-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_0
return v0
:cond_1
const/high16 v0, 0x40000000 # 2.0f
if-ge p0, v0, :cond_2
goto :goto_1
:cond_2
const/4 v1, 0x0
:goto_1
const-string p0, "collection too large"
.line 230
invoke-static {v1, p0}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/Object;)V
return v0
.end method
.method public static varargs construct(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
.locals 13
if-eqz p0, :cond_7
const/4 v0, 0x0
const/4 v1, 0x1
if-eq p0, v1, :cond_6
.line 158
invoke-static {p0}, Lcom/google/common/collect/ImmutableSet;->chooseTableSize(I)I
move-result v2
.line 159
new-array v6, v2, [Ljava/lang/Object;
add-int/lit8 v7, v2, -0x1
move v3, v0
move v5, v3
move v8, v5
:goto_0
if-ge v3, p0, :cond_2
.line 164
aget-object v4, p1, v3
invoke-static {v4, v3}, Lcom/google/common/collect/ObjectArrays;->checkElementNotNull(Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object v4
.line 165
invoke-virtual {v4}, Ljava/lang/Object;->hashCode()I
move-result v9
.line 166
invoke-static {v9}, Lcom/google/common/collect/Hashing;->smear(I)I
move-result v10
:goto_1
and-int v11, v10, v7
.line 168
aget-object v12, v6, v11
if-nez v12, :cond_0
add-int/lit8 v10, v8, 0x1
.line 171
aput-object v4, p1, v8
.line 172
aput-object v4, v6, v11
add-int/2addr v5, v9
move v8, v10
goto :goto_2
.line 175
:cond_0
invoke-virtual {v12, v4}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v11
if-eqz v11, :cond_1
:goto_2
add-int/lit8 v3, v3, 0x1
goto :goto_0
:cond_1
add-int/lit8 v10, v10, 0x1
goto :goto_1
:cond_2
const/4 v3, 0x0
.line 180
invoke-static {p1, v8, p0, v3}, Ljava/util/Arrays;->fill([Ljava/lang/Object;IILjava/lang/Object;)V
if-ne v8, v1, :cond_3
.line 185
aget-object p0, p1, v0
invoke-static {p0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 186
new-instance p1, Lcom/google/common/collect/SingletonImmutableSet;
invoke-direct {p1, p0}, Lcom/google/common/collect/SingletonImmutableSet;-><init>(Ljava/lang/Object;)V
return-object p1
.line 187
:cond_3
invoke-static {v8}, Lcom/google/common/collect/ImmutableSet;->chooseTableSize(I)I
move-result p0
div-int/lit8 v2, v2, 0x2
if-ge p0, v2, :cond_4
.line 189
invoke-static {v8, p1}, Lcom/google/common/collect/ImmutableSet;->construct(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
move-result-object p0
return-object p0
.line 193
:cond_4
array-length p0, p1
invoke-static {v8, p0}, Lcom/google/common/collect/ImmutableSet;->shouldTrim(II)Z
move-result p0
if-eqz p0, :cond_5
invoke-static {p1, v8}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object p1
:cond_5
move-object v4, p1
.line 194
new-instance p0, Lcom/google/common/collect/RegularImmutableSet;
move-object v3, p0
invoke-direct/range {v3 .. v8}, Lcom/google/common/collect/RegularImmutableSet;-><init>([Ljava/lang/Object;I[Ljava/lang/Object;II)V
return-object p0
.line 153
:cond_6
aget-object p0, p1, v0
invoke-static {p0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 154
invoke-static {p0}, Lcom/google/common/collect/ImmutableSet;->of(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
move-result-object p0
return-object p0
.line 149
:cond_7
invoke-static {}, Lcom/google/common/collect/ImmutableSet;->of()Lcom/google/common/collect/ImmutableSet;
move-result-object p0
return-object p0
.end method
.method public static copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;
.locals 2
.line 252
instance-of v0, p0, Lcom/google/common/collect/ImmutableSet;
if-eqz v0, :cond_0
instance-of v0, p0, Ljava/util/SortedSet;
if-nez v0, :cond_0
.line 254
move-object v0, p0
check-cast v0, Lcom/google/common/collect/ImmutableSet;
.line 255
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableCollection;->isPartialView()Z
move-result v1
if-nez v1, :cond_0
return-object v0
.line 259
:cond_0
invoke-interface {p0}, Ljava/util/Collection;->toArray()[Ljava/lang/Object;
move-result-object p0
.line 260
array-length v0, p0
invoke-static {v0, p0}, Lcom/google/common/collect/ImmutableSet;->construct(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
move-result-object p0
return-object p0
.end method
.method public static copyOf([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
.locals 2
.line 308
array-length v0, p0
if-eqz v0, :cond_1
const/4 v1, 0x1
if-eq v0, v1, :cond_0
.line 314
array-length v0, p0
invoke-virtual {p0}, [Ljava/lang/Object;->clone()Ljava/lang/Object;
move-result-object p0
check-cast p0, [Ljava/lang/Object;
invoke-static {v0, p0}, Lcom/google/common/collect/ImmutableSet;->construct(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
move-result-object p0
return-object p0
:cond_0
const/4 v0, 0x0
.line 312
aget-object p0, p0, v0
invoke-static {p0}, Lcom/google/common/collect/ImmutableSet;->of(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
move-result-object p0
return-object p0
.line 310
:cond_1
invoke-static {}, Lcom/google/common/collect/ImmutableSet;->of()Lcom/google/common/collect/ImmutableSet;
move-result-object p0
return-object p0
.end method
.method public static of()Lcom/google/common/collect/ImmutableSet;
.locals 1
.line 60
sget-object v0, Lcom/google/common/collect/RegularImmutableSet;->EMPTY:Lcom/google/common/collect/RegularImmutableSet;
return-object v0
.end method
.method public static of(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
.locals 1
.line 69
new-instance v0, Lcom/google/common/collect/SingletonImmutableSet;
invoke-direct {v0, p0}, Lcom/google/common/collect/SingletonImmutableSet;-><init>(Ljava/lang/Object;)V
return-object v0
.end method
.method public static of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
.locals 1
const/4 v0, 0x3
filled-new-array {p0, p1, p2}, [Ljava/lang/Object;
move-result-object p0
.line 87
invoke-static {v0, p0}, Lcom/google/common/collect/ImmutableSet;->construct(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
move-result-object p0
return-object p0
.end method
.method public static varargs of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
.locals 5
.line 119
array-length v0, p6
const v1, 0x7ffffff9
const/4 v2, 0x1
const/4 v3, 0x0
if-gt v0, v1, :cond_0
move v0, v2
goto :goto_0
:cond_0
move v0, v3
:goto_0
const-string v1, "the total number of elements must fit in an int"
invoke-static {v0, v1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/Object;)V
.line 122
array-length v0, p6
const/4 v1, 0x6
add-int/2addr v0, v1
new-array v4, v0, [Ljava/lang/Object;
.line 123
aput-object p0, v4, v3
.line 124
aput-object p1, v4, v2
const/4 p0, 0x2
.line 125
aput-object p2, v4, p0
const/4 p0, 0x3
.line 126
aput-object p3, v4, p0
const/4 p0, 0x4
.line 127
aput-object p4, v4, p0
const/4 p0, 0x5
.line 128
aput-object p5, v4, p0
.line 129
array-length p0, p6
invoke-static {p6, v3, v4, v1, p0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 130
invoke-static {v0, v4}, Lcom/google/common/collect/ImmutableSet;->construct(I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
move-result-object p0
return-object p0
.end method
.method public static shouldTrim(II)Z
.locals 1
shr-int/lit8 v0, p1, 0x1
shr-int/lit8 p1, p1, 0x2
add-int/2addr v0, p1
if-ge p0, v0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
# virtual methods
.method public asList()Lcom/google/common/collect/ImmutableList;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableSet;->asList:Lcom/google/common/collect/ImmutableList;
if-nez v0, :cond_0
.line 354
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSet;->createAsList()Lcom/google/common/collect/ImmutableList;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/ImmutableSet;->asList:Lcom/google/common/collect/ImmutableList;
:cond_0
return-object v0
.end method
.method public createAsList()Lcom/google/common/collect/ImmutableList;
.locals 1
.line 358
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableCollection;->toArray()[Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Lcom/google/common/collect/ImmutableList;->asImmutableList([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
move-result-object v0
return-object v0
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 2
if-ne p1, p0, :cond_0
const/4 p1, 0x1
return p1
.line 330
:cond_0
instance-of v0, p1, Lcom/google/common/collect/ImmutableSet;
if-eqz v0, :cond_1
.line 331
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSet;->isHashCodeFast()Z
move-result v0
if-eqz v0, :cond_1
move-object v0, p1
check-cast v0, Lcom/google/common/collect/ImmutableSet;
.line 332
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableSet;->isHashCodeFast()Z
move-result v0
if-eqz v0, :cond_1
.line 333
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSet;->hashCode()I
move-result v0
invoke-virtual {p1}, Ljava/lang/Object;->hashCode()I
move-result v1
if-eq v0, v1, :cond_1
const/4 p1, 0x0
return p1
.line 336
:cond_1
invoke-static {p0, p1}, Lcom/google/common/collect/Sets;->equalsImpl(Ljava/util/Set;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public hashCode()I
.locals 1
.line 341
invoke-static {p0}, Lcom/google/common/collect/Sets;->hashCodeImpl(Ljava/util/Set;)I
move-result v0
return v0
.end method
.method public isHashCodeFast()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public abstract iterator()Lcom/google/common/collect/UnmodifiableIterator;
.end method
.method public writeReplace()Ljava/lang/Object;
.locals 2
.line 384
new-instance v0, Lcom/google/common/collect/ImmutableSet$SerializedForm;
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableCollection;->toArray()[Ljava/lang/Object;
move-result-object v1
invoke-direct {v0, v1}, Lcom/google/common/collect/ImmutableSet$SerializedForm;-><init>([Ljava/lang/Object;)V
return-object v0
.end method

View File

@@ -0,0 +1,65 @@
.class public final Lcom/google/common/collect/ImmutableSetMultimap$Builder;
.super Lcom/google/common/collect/ImmutableMultimap$Builder;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableSetMultimap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Builder"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 162
invoke-direct {p0}, Lcom/google/common/collect/ImmutableMultimap$Builder;-><init>()V
return-void
.end method
# virtual methods
.method public build()Lcom/google/common/collect/ImmutableSetMultimap;
.locals 2
iget-object v0, p0, Lcom/google/common/collect/ImmutableMultimap$Builder;->builderMap:Ljava/util/Map;
.line 266
invoke-interface {v0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v0
iget-object v1, p0, Lcom/google/common/collect/ImmutableMultimap$Builder;->keyComparator:Ljava/util/Comparator;
if-eqz v1, :cond_0
.line 268
invoke-static {v1}, Lcom/google/common/collect/Ordering;->from(Ljava/util/Comparator;)Lcom/google/common/collect/Ordering;
move-result-object v1
invoke-virtual {v1}, Lcom/google/common/collect/Ordering;->onKeys()Lcom/google/common/collect/Ordering;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/google/common/collect/Ordering;->immutableSortedCopy(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList;
move-result-object v0
:cond_0
iget-object v1, p0, Lcom/google/common/collect/ImmutableMultimap$Builder;->valueComparator:Ljava/util/Comparator;
.line 270
invoke-static {v0, v1}, Lcom/google/common/collect/ImmutableSetMultimap;->fromMapEntries(Ljava/util/Collection;Ljava/util/Comparator;)Lcom/google/common/collect/ImmutableSetMultimap;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,37 @@
.class public abstract Lcom/google/common/collect/ImmutableSetMultimap$SetFieldSettersHolder;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableSetMultimap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "SetFieldSettersHolder"
.end annotation
# static fields
.field public static final EMPTY_SET_FIELD_SETTER:Lcom/google/common/collect/Serialization$FieldSetter;
# direct methods
.method static constructor <clinit>()V
.locals 2
const-class v0, Lcom/google/common/collect/ImmutableSetMultimap;
const-string v1, "emptySet"
.line 515
invoke-static {v0, v1}, Lcom/google/common/collect/Serialization;->getFieldSetter(Ljava/lang/Class;Ljava/lang/String;)Lcom/google/common/collect/Serialization$FieldSetter;
move-result-object v0
sput-object v0, Lcom/google/common/collect/ImmutableSetMultimap$SetFieldSettersHolder;->EMPTY_SET_FIELD_SETTER:Lcom/google/common/collect/Serialization$FieldSetter;
return-void
.end method

View File

@@ -0,0 +1,494 @@
.class public Lcom/google/common/collect/ImmutableSetMultimap;
.super Lcom/google/common/collect/ImmutableMultimap;
.source "SourceFile"
# interfaces
.implements Lcom/google/common/collect/Multimap;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/collect/ImmutableSetMultimap$SetFieldSettersHolder;,
Lcom/google/common/collect/ImmutableSetMultimap$Builder;
}
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final transient emptySet:Lcom/google/common/collect/ImmutableSet;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/ImmutableMap;ILjava/util/Comparator;)V
.locals 0
.line 359
invoke-direct {p0, p1, p2}, Lcom/google/common/collect/ImmutableMultimap;-><init>(Lcom/google/common/collect/ImmutableMap;I)V
.line 360
invoke-static {p3}, Lcom/google/common/collect/ImmutableSetMultimap;->emptySet(Ljava/util/Comparator;)Lcom/google/common/collect/ImmutableSet;
move-result-object p1
iput-object p1, p0, Lcom/google/common/collect/ImmutableSetMultimap;->emptySet:Lcom/google/common/collect/ImmutableSet;
return-void
.end method
.method public static emptySet(Ljava/util/Comparator;)Lcom/google/common/collect/ImmutableSet;
.locals 0
if-nez p0, :cond_0
.line 483
invoke-static {}, Lcom/google/common/collect/ImmutableSet;->of()Lcom/google/common/collect/ImmutableSet;
move-result-object p0
goto :goto_0
.line 484
:cond_0
invoke-static {p0}, Lcom/google/common/collect/ImmutableSortedSet;->emptySet(Ljava/util/Comparator;)Lcom/google/common/collect/RegularImmutableSortedSet;
move-result-object p0
:goto_0
return-object p0
.end method
.method public static fromMapEntries(Ljava/util/Collection;Ljava/util/Comparator;)Lcom/google/common/collect/ImmutableSetMultimap;
.locals 5
.line 329
invoke-interface {p0}, Ljava/util/Collection;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
.line 330
invoke-static {}, Lcom/google/common/collect/ImmutableSetMultimap;->of()Lcom/google/common/collect/ImmutableSetMultimap;
move-result-object p0
return-object p0
.line 332
:cond_0
new-instance v0, Lcom/google/common/collect/ImmutableMap$Builder;
.line 333
invoke-interface {p0}, Ljava/util/Collection;->size()I
move-result v1
invoke-direct {v0, v1}, Lcom/google/common/collect/ImmutableMap$Builder;-><init>(I)V
.line 336
invoke-interface {p0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p0
const/4 v1, 0x0
:cond_1
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_2
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Map$Entry;
.line 337
invoke-interface {v2}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
.line 338
invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Collection;
.line 339
invoke-static {p1, v2}, Lcom/google/common/collect/ImmutableSetMultimap;->valueSet(Ljava/util/Comparator;Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;
move-result-object v2
.line 340
invoke-virtual {v2}, Ljava/util/AbstractCollection;->isEmpty()Z
move-result v4
if-nez v4, :cond_1
.line 341
invoke-virtual {v0, v3, v2}, Lcom/google/common/collect/ImmutableMap$Builder;->put(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
.line 342
invoke-virtual {v2}, Ljava/util/AbstractCollection;->size()I
move-result v2
add-int/2addr v1, v2
goto :goto_0
.line 346
:cond_2
new-instance p0, Lcom/google/common/collect/ImmutableSetMultimap;
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableMap$Builder;->buildOrThrow()Lcom/google/common/collect/ImmutableMap;
move-result-object v0
invoke-direct {p0, v0, v1, p1}, Lcom/google/common/collect/ImmutableSetMultimap;-><init>(Lcom/google/common/collect/ImmutableMap;ILjava/util/Comparator;)V
return-object p0
.end method
.method public static of()Lcom/google/common/collect/ImmutableSetMultimap;
.locals 1
.line 68
sget-object v0, Lcom/google/common/collect/EmptyImmutableSetMultimap;->INSTANCE:Lcom/google/common/collect/EmptyImmutableSetMultimap;
return-object v0
.end method
.method private readObject(Ljava/io/ObjectInputStream;)V
.locals 11
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/ClassNotFoundException;
}
.end annotation
.line 522
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->defaultReadObject()V
.line 523
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Comparator;
.line 524
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readInt()I
move-result v1
if-ltz v1, :cond_4
.line 528
invoke-static {}, Lcom/google/common/collect/ImmutableMap;->builder()Lcom/google/common/collect/ImmutableMap$Builder;
move-result-object v2
const/4 v3, 0x0
move v4, v3
move v5, v4
:goto_0
if-ge v4, v1, :cond_3
.line 532
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object;
move-result-object v6
.line 533
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readInt()I
move-result v7
if-lez v7, :cond_2
.line 538
invoke-static {v0}, Lcom/google/common/collect/ImmutableSetMultimap;->valuesBuilder(Ljava/util/Comparator;)Lcom/google/common/collect/ImmutableSet$Builder;
move-result-object v8
move v9, v3
:goto_1
if-ge v9, v7, :cond_0
.line 540
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object;
move-result-object v10
invoke-virtual {v8, v10}, Lcom/google/common/collect/ImmutableSet$Builder;->add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder;
add-int/lit8 v9, v9, 0x1
goto :goto_1
.line 542
:cond_0
invoke-virtual {v8}, Lcom/google/common/collect/ImmutableSet$Builder;->build()Lcom/google/common/collect/ImmutableSet;
move-result-object v8
.line 543
invoke-virtual {v8}, Ljava/util/AbstractCollection;->size()I
move-result v9
if-ne v9, v7, :cond_1
.line 546
invoke-virtual {v2, v6, v8}, Lcom/google/common/collect/ImmutableMap$Builder;->put(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
add-int/2addr v5, v7
add-int/lit8 v4, v4, 0x1
goto :goto_0
.line 544
:cond_1
new-instance p1, Ljava/io/InvalidObjectException;
invoke-static {v6}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
add-int/lit8 v1, v1, 0x28
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "Duplicate key-value pairs exist for key "
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/io/InvalidObjectException;-><init>(Ljava/lang/String;)V
throw p1
.line 535
:cond_2
new-instance p1, Ljava/io/InvalidObjectException;
new-instance v0, Ljava/lang/StringBuilder;
const/16 v1, 0x1f
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "Invalid value count "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/io/InvalidObjectException;-><init>(Ljava/lang/String;)V
throw p1
.line 552
:cond_3
:try_start_0
invoke-virtual {v2}, Lcom/google/common/collect/ImmutableMap$Builder;->buildOrThrow()Lcom/google/common/collect/ImmutableMap;
move-result-object p1
:try_end_0
.catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_0} :catch_0
.line 557
sget-object v1, Lcom/google/common/collect/ImmutableMultimap$FieldSettersHolder;->MAP_FIELD_SETTER:Lcom/google/common/collect/Serialization$FieldSetter;
invoke-virtual {v1, p0, p1}, Lcom/google/common/collect/Serialization$FieldSetter;->set(Ljava/lang/Object;Ljava/lang/Object;)V
.line 558
sget-object p1, Lcom/google/common/collect/ImmutableMultimap$FieldSettersHolder;->SIZE_FIELD_SETTER:Lcom/google/common/collect/Serialization$FieldSetter;
invoke-virtual {p1, p0, v5}, Lcom/google/common/collect/Serialization$FieldSetter;->set(Ljava/lang/Object;I)V
.line 559
sget-object p1, Lcom/google/common/collect/ImmutableSetMultimap$SetFieldSettersHolder;->EMPTY_SET_FIELD_SETTER:Lcom/google/common/collect/Serialization$FieldSetter;
invoke-static {v0}, Lcom/google/common/collect/ImmutableSetMultimap;->emptySet(Ljava/util/Comparator;)Lcom/google/common/collect/ImmutableSet;
move-result-object v0
invoke-virtual {p1, p0, v0}, Lcom/google/common/collect/Serialization$FieldSetter;->set(Ljava/lang/Object;Ljava/lang/Object;)V
return-void
:catch_0
move-exception p1
.line 554
new-instance v0, Ljava/io/InvalidObjectException;
invoke-virtual {p1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/InvalidObjectException;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1}, Ljava/lang/Throwable;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
move-result-object p1
check-cast p1, Ljava/io/InvalidObjectException;
throw p1
.line 526
:cond_4
new-instance p1, Ljava/io/InvalidObjectException;
new-instance v0, Ljava/lang/StringBuilder;
const/16 v2, 0x1d
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v2, "Invalid key count "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Ljava/io/InvalidObjectException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public static valueSet(Ljava/util/Comparator;Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;
.locals 0
if-nez p0, :cond_0
.line 477
invoke-static {p1}, Lcom/google/common/collect/ImmutableSet;->copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;
move-result-object p0
goto :goto_0
.line 478
:cond_0
invoke-static {p0, p1}, Lcom/google/common/collect/ImmutableSortedSet;->copyOf(Ljava/util/Comparator;Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p0
:goto_0
return-object p0
.end method
.method public static valuesBuilder(Ljava/util/Comparator;)Lcom/google/common/collect/ImmutableSet$Builder;
.locals 1
if-nez p0, :cond_0
.line 490
new-instance p0, Lcom/google/common/collect/ImmutableSet$Builder;
invoke-direct {p0}, Lcom/google/common/collect/ImmutableSet$Builder;-><init>()V
goto :goto_0
.line 491
:cond_0
new-instance v0, Lcom/google/common/collect/ImmutableSortedSet$Builder;
invoke-direct {v0, p0}, Lcom/google/common/collect/ImmutableSortedSet$Builder;-><init>(Ljava/util/Comparator;)V
move-object p0, v0
:goto_0
return-object p0
.end method
.method private writeObject(Ljava/io/ObjectOutputStream;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 500
invoke-virtual {p1}, Ljava/io/ObjectOutputStream;->defaultWriteObject()V
.line 501
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSetMultimap;->valueComparator()Ljava/util/Comparator;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V
.line 502
invoke-static {p0, p1}, Lcom/google/common/collect/Serialization;->writeMultimap(Lcom/google/common/collect/Multimap;Ljava/io/ObjectOutputStream;)V
return-void
.end method
# virtual methods
.method public valueComparator()Ljava/util/Comparator;
.locals 2
iget-object v0, p0, Lcom/google/common/collect/ImmutableSetMultimap;->emptySet:Lcom/google/common/collect/ImmutableSet;
.line 507
instance-of v1, v0, Lcom/google/common/collect/ImmutableSortedSet;
if-eqz v1, :cond_0
.line 508
check-cast v0, Lcom/google/common/collect/ImmutableSortedSet;
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableSortedSet;->comparator()Ljava/util/Comparator;
move-result-object v0
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return-object v0
.end method

View File

@@ -0,0 +1,108 @@
.class public final Lcom/google/common/collect/ImmutableSortedSet$Builder;
.super Lcom/google/common/collect/ImmutableSet$Builder;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableSortedSet;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Builder"
.end annotation
# instance fields
.field public final comparator:Ljava/util/Comparator;
# direct methods
.method public constructor <init>(Ljava/util/Comparator;)V
.locals 0
.line 425
invoke-direct {p0}, Lcom/google/common/collect/ImmutableSet$Builder;-><init>()V
.line 426
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/Comparator;
iput-object p1, p0, Lcom/google/common/collect/ImmutableSortedSet$Builder;->comparator:Ljava/util/Comparator;
return-void
.end method
# virtual methods
.method public bridge synthetic add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder;
.locals 0
.line 418
invoke-virtual {p0, p1}, Lcom/google/common/collect/ImmutableSortedSet$Builder;->add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSortedSet$Builder;
move-result-object p1
return-object p1
.end method
.method public add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSortedSet$Builder;
.locals 0
.line 441
invoke-super {p0, p1}, Lcom/google/common/collect/ImmutableSet$Builder;->add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder;
return-object p0
.end method
.method public varargs add([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSortedSet$Builder;
.locals 0
.line 456
invoke-super {p0, p1}, Lcom/google/common/collect/ImmutableSet$Builder;->add([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet$Builder;
return-object p0
.end method
.method public bridge synthetic build()Lcom/google/common/collect/ImmutableSet;
.locals 1
.line 418
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSortedSet$Builder;->build()Lcom/google/common/collect/ImmutableSortedSet;
move-result-object v0
return-object v0
.end method
.method public build()Lcom/google/common/collect/ImmutableSortedSet;
.locals 3
iget-object v0, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->contents:[Ljava/lang/Object;
iget-object v1, p0, Lcom/google/common/collect/ImmutableSortedSet$Builder;->comparator:Ljava/util/Comparator;
iget v2, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
.line 505
invoke-static {v1, v2, v0}, Lcom/google/common/collect/ImmutableSortedSet;->construct(Ljava/util/Comparator;I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object v0
.line 506
invoke-virtual {v0}, Ljava/util/AbstractCollection;->size()I
move-result v1
iput v1, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->size:I
const/4 v1, 0x1
iput-boolean v1, p0, Lcom/google/common/collect/ImmutableCollection$ArrayBasedBuilder;->forceCopy:Z
return-object v0
.end method

View File

@@ -0,0 +1,67 @@
.class public Lcom/google/common/collect/ImmutableSortedSet$SerializedForm;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/ImmutableSortedSet;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "SerializedForm"
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field public final comparator:Ljava/util/Comparator;
.field public final elements:[Ljava/lang/Object;
# direct methods
.method public constructor <init>(Ljava/util/Comparator;[Ljava/lang/Object;)V
.locals 0
.line 741
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/google/common/collect/ImmutableSortedSet$SerializedForm;->comparator:Ljava/util/Comparator;
iput-object p2, p0, Lcom/google/common/collect/ImmutableSortedSet$SerializedForm;->elements:[Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public readResolve()Ljava/lang/Object;
.locals 2
.line 748
new-instance v0, Lcom/google/common/collect/ImmutableSortedSet$Builder;
iget-object v1, p0, Lcom/google/common/collect/ImmutableSortedSet$SerializedForm;->comparator:Ljava/util/Comparator;
invoke-direct {v0, v1}, Lcom/google/common/collect/ImmutableSortedSet$Builder;-><init>(Ljava/util/Comparator;)V
iget-object v1, p0, Lcom/google/common/collect/ImmutableSortedSet$SerializedForm;->elements:[Ljava/lang/Object;
invoke-virtual {v0, v1}, Lcom/google/common/collect/ImmutableSortedSet$Builder;->add([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSortedSet$Builder;
move-result-object v0
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableSortedSet$Builder;->build()Lcom/google/common/collect/ImmutableSortedSet;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,521 @@
.class public abstract Lcom/google/common/collect/ImmutableSortedSet;
.super Lcom/google/common/collect/ImmutableSortedSetFauxverideShim;
.source "SourceFile"
# interfaces
.implements Ljava/util/NavigableSet;
.implements Lcom/google/common/collect/SortedIterable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/collect/ImmutableSortedSet$SerializedForm;,
Lcom/google/common/collect/ImmutableSortedSet$Builder;
}
.end annotation
# instance fields
.field public final transient comparator:Ljava/util/Comparator;
.field public transient descendingSet:Lcom/google/common/collect/ImmutableSortedSet;
# direct methods
.method public constructor <init>(Ljava/util/Comparator;)V
.locals 0
.line 527
invoke-direct {p0}, Lcom/google/common/collect/ImmutableSortedSetFauxverideShim;-><init>()V
iput-object p1, p0, Lcom/google/common/collect/ImmutableSortedSet;->comparator:Ljava/util/Comparator;
return-void
.end method
.method public static varargs construct(Ljava/util/Comparator;I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSortedSet;
.locals 4
if-nez p1, :cond_0
.line 349
invoke-static {p0}, Lcom/google/common/collect/ImmutableSortedSet;->emptySet(Ljava/util/Comparator;)Lcom/google/common/collect/RegularImmutableSortedSet;
move-result-object p0
return-object p0
.line 351
:cond_0
invoke-static {p2, p1}, Lcom/google/common/collect/ObjectArrays;->checkElementsNotNull([Ljava/lang/Object;I)[Ljava/lang/Object;
const/4 v0, 0x0
.line 352
invoke-static {p2, v0, p1, p0}, Ljava/util/Arrays;->sort([Ljava/lang/Object;IILjava/util/Comparator;)V
const/4 v0, 0x1
move v1, v0
:goto_0
if-ge v0, p1, :cond_2
.line 355
aget-object v2, p2, v0
add-int/lit8 v3, v1, -0x1
.line 356
aget-object v3, p2, v3
.line 357
invoke-interface {p0, v2, v3}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result v3
if-eqz v3, :cond_1
add-int/lit8 v3, v1, 0x1
.line 358
aput-object v2, p2, v1
move v1, v3
:cond_1
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_2
const/4 v0, 0x0
.line 361
invoke-static {p2, v1, p1, v0}, Ljava/util/Arrays;->fill([Ljava/lang/Object;IILjava/lang/Object;)V
.line 362
array-length p1, p2
div-int/lit8 p1, p1, 0x2
if-ge v1, p1, :cond_3
.line 365
invoke-static {p2, v1}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object p2
.line 367
:cond_3
new-instance p1, Lcom/google/common/collect/RegularImmutableSortedSet;
.line 368
invoke-static {p2, v1}, Lcom/google/common/collect/ImmutableList;->asImmutableList([Ljava/lang/Object;I)Lcom/google/common/collect/ImmutableList;
move-result-object p2
invoke-direct {p1, p2, p0}, Lcom/google/common/collect/RegularImmutableSortedSet;-><init>(Lcom/google/common/collect/ImmutableList;Ljava/util/Comparator;)V
return-object p1
.end method
.method public static copyOf(Ljava/util/Comparator;Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableSortedSet;
.locals 2
.line 276
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 277
invoke-static {p0, p1}, Lcom/google/common/collect/SortedIterables;->hasSameComparator(Ljava/util/Comparator;Ljava/lang/Iterable;)Z
move-result v0
if-eqz v0, :cond_0
.line 279
instance-of v0, p1, Lcom/google/common/collect/ImmutableSortedSet;
if-eqz v0, :cond_0
.line 281
move-object v0, p1
check-cast v0, Lcom/google/common/collect/ImmutableSortedSet;
.line 282
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableCollection;->isPartialView()Z
move-result v1
if-nez v1, :cond_0
return-object v0
.line 287
:cond_0
invoke-static {p1}, Lcom/google/common/collect/Iterables;->toArray(Ljava/lang/Iterable;)[Ljava/lang/Object;
move-result-object p1
.line 288
array-length v0, p1
invoke-static {p0, v0, p1}, Lcom/google/common/collect/ImmutableSortedSet;->construct(Ljava/util/Comparator;I[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p0
return-object p0
.end method
.method public static copyOf(Ljava/util/Comparator;Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSortedSet;
.locals 0
.line 308
invoke-static {p0, p1}, Lcom/google/common/collect/ImmutableSortedSet;->copyOf(Ljava/util/Comparator;Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p0
return-object p0
.end method
.method public static emptySet(Ljava/util/Comparator;)Lcom/google/common/collect/RegularImmutableSortedSet;
.locals 2
.line 65
invoke-static {}, Lcom/google/common/collect/Ordering;->natural()Lcom/google/common/collect/Ordering;
move-result-object v0
invoke-virtual {v0, p0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
.line 66
sget-object p0, Lcom/google/common/collect/RegularImmutableSortedSet;->NATURAL_EMPTY_SET:Lcom/google/common/collect/RegularImmutableSortedSet;
return-object p0
.line 68
:cond_0
new-instance v0, Lcom/google/common/collect/RegularImmutableSortedSet;
invoke-static {}, Lcom/google/common/collect/ImmutableList;->of()Lcom/google/common/collect/ImmutableList;
move-result-object v1
invoke-direct {v0, v1, p0}, Lcom/google/common/collect/RegularImmutableSortedSet;-><init>(Lcom/google/common/collect/ImmutableList;Ljava/util/Comparator;)V
return-object v0
.end method
.method private readObject(Ljava/io/ObjectInputStream;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/InvalidObjectException;
}
.end annotation
.line 755
new-instance p1, Ljava/io/InvalidObjectException;
const-string v0, "Use SerializedForm"
invoke-direct {p1, v0}, Ljava/io/InvalidObjectException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public static unsafeCompare(Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 522
invoke-interface {p0, p1, p2}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result p0
return p0
.end method
# virtual methods
.method public comparator()Ljava/util/Comparator;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableSortedSet;->comparator:Ljava/util/Comparator;
return-object v0
.end method
.method public abstract createDescendingSet()Lcom/google/common/collect/ImmutableSortedSet;
.end method
.method public descendingSet()Lcom/google/common/collect/ImmutableSortedSet;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableSortedSet;->descendingSet:Lcom/google/common/collect/ImmutableSortedSet;
if-nez v0, :cond_0
.line 711
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSortedSet;->createDescendingSet()Lcom/google/common/collect/ImmutableSortedSet;
move-result-object v0
iput-object v0, p0, Lcom/google/common/collect/ImmutableSortedSet;->descendingSet:Lcom/google/common/collect/ImmutableSortedSet;
.line 712
iput-object p0, v0, Lcom/google/common/collect/ImmutableSortedSet;->descendingSet:Lcom/google/common/collect/ImmutableSortedSet;
:cond_0
return-object v0
.end method
.method public bridge synthetic descendingSet()Ljava/util/NavigableSet;
.locals 1
.line 59
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSortedSet;->descendingSet()Lcom/google/common/collect/ImmutableSortedSet;
move-result-object v0
return-object v0
.end method
.method public headSet(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSortedSet;
.locals 1
const/4 v0, 0x0
.line 556
invoke-virtual {p0, p1, v0}, Lcom/google/common/collect/ImmutableSortedSet;->headSet(Ljava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public headSet(Ljava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
.locals 0
.line 562
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-virtual {p0, p1, p2}, Lcom/google/common/collect/ImmutableSortedSet;->headSetImpl(Ljava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic headSet(Ljava/lang/Object;Z)Ljava/util/NavigableSet;
.locals 0
.line 59
invoke-virtual {p0, p1, p2}, Lcom/google/common/collect/ImmutableSortedSet;->headSet(Ljava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic headSet(Ljava/lang/Object;)Ljava/util/SortedSet;
.locals 0
.line 59
invoke-virtual {p0, p1}, Lcom/google/common/collect/ImmutableSortedSet;->headSet(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public abstract headSetImpl(Ljava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
.end method
.method public final pollFirst()Ljava/lang/Object;
.locals 1
.line 679
new-instance v0, Ljava/lang/UnsupportedOperationException;
invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw v0
.end method
.method public final pollLast()Ljava/lang/Object;
.locals 1
.line 696
new-instance v0, Ljava/lang/UnsupportedOperationException;
invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw v0
.end method
.method public subSet(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSortedSet;
.locals 2
const/4 v0, 0x1
const/4 v1, 0x0
.line 579
invoke-virtual {p0, p1, v0, p2, v1}, Lcom/google/common/collect/ImmutableSortedSet;->subSet(Ljava/lang/Object;ZLjava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public subSet(Ljava/lang/Object;ZLjava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
.locals 1
.line 587
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 588
invoke-static {p3}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
iget-object v0, p0, Lcom/google/common/collect/ImmutableSortedSet;->comparator:Ljava/util/Comparator;
.line 589
invoke-interface {v0, p1, p3}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result v0
if-gtz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
invoke-static {v0}, Lcom/google/common/base/Preconditions;->checkArgument(Z)V
.line 590
invoke-virtual {p0, p1, p2, p3, p4}, Lcom/google/common/collect/ImmutableSortedSet;->subSetImpl(Ljava/lang/Object;ZLjava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic subSet(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableSet;
.locals 0
.line 59
invoke-virtual {p0, p1, p2, p3, p4}, Lcom/google/common/collect/ImmutableSortedSet;->subSet(Ljava/lang/Object;ZLjava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic subSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/SortedSet;
.locals 0
.line 59
invoke-virtual {p0, p1, p2}, Lcom/google/common/collect/ImmutableSortedSet;->subSet(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public abstract subSetImpl(Ljava/lang/Object;ZLjava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
.end method
.method public tailSet(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSortedSet;
.locals 1
const/4 v0, 0x1
.line 605
invoke-virtual {p0, p1, v0}, Lcom/google/common/collect/ImmutableSortedSet;->tailSet(Ljava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public tailSet(Ljava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
.locals 0
.line 611
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-virtual {p0, p1, p2}, Lcom/google/common/collect/ImmutableSortedSet;->tailSetImpl(Ljava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic tailSet(Ljava/lang/Object;Z)Ljava/util/NavigableSet;
.locals 0
.line 59
invoke-virtual {p0, p1, p2}, Lcom/google/common/collect/ImmutableSortedSet;->tailSet(Ljava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic tailSet(Ljava/lang/Object;)Ljava/util/SortedSet;
.locals 0
.line 59
invoke-virtual {p0, p1}, Lcom/google/common/collect/ImmutableSortedSet;->tailSet(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public abstract tailSetImpl(Ljava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
.end method
.method public unsafeCompare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableSortedSet;->comparator:Ljava/util/Comparator;
.line 513
invoke-static {v0, p1, p2}, Lcom/google/common/collect/ImmutableSortedSet;->unsafeCompare(Ljava/util/Comparator;Ljava/lang/Object;Ljava/lang/Object;)I
move-result p1
return p1
.end method
.method public writeReplace()Ljava/lang/Object;
.locals 3
.line 760
new-instance v0, Lcom/google/common/collect/ImmutableSortedSet$SerializedForm;
iget-object v1, p0, Lcom/google/common/collect/ImmutableSortedSet;->comparator:Ljava/util/Comparator;
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableCollection;->toArray()[Ljava/lang/Object;
move-result-object v2
invoke-direct {v0, v1, v2}, Lcom/google/common/collect/ImmutableSortedSet$SerializedForm;-><init>(Ljava/util/Comparator;[Ljava/lang/Object;)V
return-object v0
.end method

View File

@@ -0,0 +1,14 @@
.class public abstract Lcom/google/common/collect/ImmutableSortedSetFauxverideShim;
.super Lcom/google/common/collect/ImmutableSet;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 41
invoke-direct {p0}, Lcom/google/common/collect/ImmutableSet;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,47 @@
.class public abstract Lcom/google/common/collect/Iterables;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static castOrCopyToCollection(Ljava/lang/Iterable;)Ljava/util/Collection;
.locals 1
.line 358
instance-of v0, p0, Ljava/util/Collection;
if-eqz v0, :cond_0
.line 359
check-cast p0, Ljava/util/Collection;
goto :goto_0
.line 360
:cond_0
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p0
invoke-static {p0}, Lcom/google/common/collect/Lists;->newArrayList(Ljava/util/Iterator;)Ljava/util/ArrayList;
move-result-object p0
:goto_0
return-object p0
.end method
.method public static toArray(Ljava/lang/Iterable;)[Ljava/lang/Object;
.locals 0
.line 348
invoke-static {p0}, Lcom/google/common/collect/Iterables;->castOrCopyToCollection(Ljava/lang/Iterable;)Ljava/util/Collection;
move-result-object p0
invoke-interface {p0}, Ljava/util/Collection;->toArray()[Ljava/lang/Object;
move-result-object p0
return-object p0
.end method

View File

@@ -0,0 +1,69 @@
.class public Lcom/google/common/collect/Iterators$9;
.super Lcom/google/common/collect/UnmodifiableIterator;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/collect/Iterators;->singletonIterator(Ljava/lang/Object;)Lcom/google/common/collect/UnmodifiableIterator;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public done:Z
.field public final synthetic val$value:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Ljava/lang/Object;)V
.locals 0
iput-object p1, p0, Lcom/google/common/collect/Iterators$9;->val$value:Ljava/lang/Object;
.line 1109
invoke-direct {p0}, Lcom/google/common/collect/UnmodifiableIterator;-><init>()V
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 1
iget-boolean v0, p0, Lcom/google/common/collect/Iterators$9;->done:Z
xor-int/lit8 v0, v0, 0x1
return v0
.end method
.method public next()Ljava/lang/Object;
.locals 1
iget-boolean v0, p0, Lcom/google/common/collect/Iterators$9;->done:Z
if-nez v0, :cond_0
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/google/common/collect/Iterators$9;->done:Z
iget-object v0, p0, Lcom/google/common/collect/Iterators$9;->val$value:Ljava/lang/Object;
return-object v0
.line 1121
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method

View File

@@ -0,0 +1,105 @@
.class public abstract Lcom/google/common/collect/Iterators;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static addAll(Ljava/util/Collection;Ljava/util/Iterator;)Z
.locals 2
.line 363
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 364
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
const/4 v0, 0x0
.line 366
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
.line 367
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
invoke-interface {p0, v1}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
move-result v1
or-int/2addr v0, v1
goto :goto_0
:cond_0
return v0
.end method
.method public static elementsEqual(Ljava/util/Iterator;Ljava/util/Iterator;)Z
.locals 3
.line 270
:cond_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_2
.line 271
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_1
return v1
.line 274
:cond_1
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
.line 275
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
.line 276
invoke-static {v0, v2}, Lcom/google/common/base/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_0
return v1
.line 280
:cond_2
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p0
xor-int/lit8 p0, p0, 0x1
return p0
.end method
.method public static singletonIterator(Ljava/lang/Object;)Lcom/google/common/collect/UnmodifiableIterator;
.locals 1
.line 1109
new-instance v0, Lcom/google/common/collect/Iterators$9;
invoke-direct {v0, p0}, Lcom/google/common/collect/Iterators$9;-><init>(Ljava/lang/Object;)V
return-object v0
.end method

View File

@@ -0,0 +1,360 @@
.class public abstract Lcom/google/common/collect/Lists;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static equalsImpl(Ljava/util/List;Ljava/lang/Object;)Z
.locals 6
.line 975
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
const/4 v1, 0x1
if-ne p1, v0, :cond_0
return v1
.line 978
:cond_0
instance-of v0, p1, Ljava/util/List;
const/4 v2, 0x0
if-nez v0, :cond_1
return v2
.line 981
:cond_1
check-cast p1, Ljava/util/List;
.line 982
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v0
.line 983
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v3
if-eq v0, v3, :cond_2
return v2
.line 986
:cond_2
instance-of v3, p0, Ljava/util/RandomAccess;
if-eqz v3, :cond_5
instance-of v3, p1, Ljava/util/RandomAccess;
if-eqz v3, :cond_5
move v3, v2
:goto_0
if-ge v3, v0, :cond_4
.line 989
invoke-interface {p0, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
invoke-interface {p1, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v5
invoke-static {v4, v5}, Lcom/google/common/base/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_3
return v2
:cond_3
add-int/lit8 v3, v3, 0x1
goto :goto_0
:cond_4
return v1
.line 995
:cond_5
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p0
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
invoke-static {p0, p1}, Lcom/google/common/collect/Iterators;->elementsEqual(Ljava/util/Iterator;Ljava/util/Iterator;)Z
move-result p0
return p0
.end method
.method public static indexOfImpl(Ljava/util/List;Ljava/lang/Object;)I
.locals 1
.line 1013
instance-of v0, p0, Ljava/util/RandomAccess;
if-eqz v0, :cond_0
.line 1014
invoke-static {p0, p1}, Lcom/google/common/collect/Lists;->indexOfRandomAccess(Ljava/util/List;Ljava/lang/Object;)I
move-result p0
return p0
.line 1016
:cond_0
invoke-interface {p0}, Ljava/util/List;->listIterator()Ljava/util/ListIterator;
move-result-object p0
.line 1017
:cond_1
invoke-interface {p0}, Ljava/util/ListIterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_2
.line 1018
invoke-interface {p0}, Ljava/util/ListIterator;->next()Ljava/lang/Object;
move-result-object v0
invoke-static {p1, v0}, Lcom/google/common/base/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
.line 1019
invoke-interface {p0}, Ljava/util/ListIterator;->previousIndex()I
move-result p0
return p0
:cond_2
const/4 p0, -0x1
return p0
.end method
.method public static indexOfRandomAccess(Ljava/util/List;Ljava/lang/Object;)I
.locals 3
.line 1027
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x0
if-nez p1, :cond_1
:goto_0
if-ge v1, v0, :cond_3
.line 1030
invoke-interface {p0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
if-nez p1, :cond_0
return v1
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
:goto_1
if-ge v1, v0, :cond_3
.line 1036
invoke-interface {p0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
invoke-virtual {p1, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2
return v1
:cond_2
add-int/lit8 v1, v1, 0x1
goto :goto_1
:cond_3
const/4 p0, -0x1
return p0
.end method
.method public static lastIndexOfImpl(Ljava/util/List;Ljava/lang/Object;)I
.locals 1
.line 1046
instance-of v0, p0, Ljava/util/RandomAccess;
if-eqz v0, :cond_0
.line 1047
invoke-static {p0, p1}, Lcom/google/common/collect/Lists;->lastIndexOfRandomAccess(Ljava/util/List;Ljava/lang/Object;)I
move-result p0
return p0
.line 1049
:cond_0
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v0
invoke-interface {p0, v0}, Ljava/util/List;->listIterator(I)Ljava/util/ListIterator;
move-result-object p0
.line 1050
:cond_1
invoke-interface {p0}, Ljava/util/ListIterator;->hasPrevious()Z
move-result v0
if-eqz v0, :cond_2
.line 1051
invoke-interface {p0}, Ljava/util/ListIterator;->previous()Ljava/lang/Object;
move-result-object v0
invoke-static {p1, v0}, Lcom/google/common/base/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
.line 1052
invoke-interface {p0}, Ljava/util/ListIterator;->nextIndex()I
move-result p0
return p0
:cond_2
const/4 p0, -0x1
return p0
.end method
.method public static lastIndexOfRandomAccess(Ljava/util/List;Ljava/lang/Object;)I
.locals 2
if-nez p1, :cond_1
.line 1061
invoke-interface {p0}, Ljava/util/List;->size()I
move-result p1
add-int/lit8 p1, p1, -0x1
:goto_0
if-ltz p1, :cond_3
.line 1062
invoke-interface {p0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
if-nez v0, :cond_0
return p1
:cond_0
add-int/lit8 p1, p1, -0x1
goto :goto_0
.line 1067
:cond_1
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v0
add-int/lit8 v0, v0, -0x1
:goto_1
if-ltz v0, :cond_3
.line 1068
invoke-interface {p0, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
invoke-virtual {p1, v1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2
return v0
:cond_2
add-int/lit8 v0, v0, -0x1
goto :goto_1
:cond_3
const/4 p0, -0x1
return p0
.end method
.method public static newArrayList()Ljava/util/ArrayList;
.locals 1
.line 84
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
return-object v0
.end method
.method public static newArrayList(Ljava/util/Iterator;)Ljava/util/ArrayList;
.locals 1
.line 144
invoke-static {}, Lcom/google/common/collect/Lists;->newArrayList()Ljava/util/ArrayList;
move-result-object v0
.line 145
invoke-static {v0, p0}, Lcom/google/common/collect/Iterators;->addAll(Ljava/util/Collection;Ljava/util/Iterator;)Z
return-object v0
.end method

View File

@@ -0,0 +1,3 @@
.class public abstract Lcom/google/common/collect/Maps$1;
.super Lcom/google/common/collect/TransformedIterator;
.source "SourceFile"

View File

@@ -0,0 +1,61 @@
.class public final enum Lcom/google/common/collect/Maps$EntryFunction$1;
.super Lcom/google/common/collect/Maps$EntryFunction;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/Maps$EntryFunction;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4011
name = null
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/String;I)V
.locals 1
const/4 v0, 0x0
.line 89
invoke-direct {p0, p1, p2, v0}, Lcom/google/common/collect/Maps$EntryFunction;-><init>(Ljava/lang/String;ILcom/google/common/collect/Maps$1;)V
return-void
.end method
# virtual methods
.method public bridge synthetic apply(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 89
check-cast p1, Ljava/util/Map$Entry;
invoke-virtual {p0, p1}, Lcom/google/common/collect/Maps$EntryFunction$1;->apply(Ljava/util/Map$Entry;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public apply(Ljava/util/Map$Entry;)Ljava/lang/Object;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map$Entry<",
"**>;)",
"Ljava/lang/Object;"
}
.end annotation
.line 93
invoke-interface {p1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object p1
return-object p1
.end method

View File

@@ -0,0 +1,61 @@
.class public final enum Lcom/google/common/collect/Maps$EntryFunction$2;
.super Lcom/google/common/collect/Maps$EntryFunction;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/Maps$EntryFunction;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4011
name = null
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/String;I)V
.locals 1
const/4 v0, 0x0
.line 96
invoke-direct {p0, p1, p2, v0}, Lcom/google/common/collect/Maps$EntryFunction;-><init>(Ljava/lang/String;ILcom/google/common/collect/Maps$1;)V
return-void
.end method
# virtual methods
.method public bridge synthetic apply(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 96
check-cast p1, Ljava/util/Map$Entry;
invoke-virtual {p0, p1}, Lcom/google/common/collect/Maps$EntryFunction$2;->apply(Ljava/util/Map$Entry;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public apply(Ljava/util/Map$Entry;)Ljava/lang/Object;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map$Entry<",
"**>;)",
"Ljava/lang/Object;"
}
.end annotation
.line 100
invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object p1
return-object p1
.end method

View File

@@ -0,0 +1,142 @@
.class public abstract enum Lcom/google/common/collect/Maps$EntryFunction;
.super Ljava/lang/Enum;
.source "SourceFile"
# interfaces
.implements Lcom/google/common/base/Function;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/Maps;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4409
name = "EntryFunction"
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/collect/Maps$EntryFunction;
.field public static final enum KEY:Lcom/google/common/collect/Maps$EntryFunction;
.field public static final enum VALUE:Lcom/google/common/collect/Maps$EntryFunction;
# direct methods
.method private static synthetic $values()[Lcom/google/common/collect/Maps$EntryFunction;
.locals 3
const/4 v0, 0x2
new-array v0, v0, [Lcom/google/common/collect/Maps$EntryFunction;
const/4 v1, 0x0
sget-object v2, Lcom/google/common/collect/Maps$EntryFunction;->KEY:Lcom/google/common/collect/Maps$EntryFunction;
aput-object v2, v0, v1
const/4 v1, 0x1
sget-object v2, Lcom/google/common/collect/Maps$EntryFunction;->VALUE:Lcom/google/common/collect/Maps$EntryFunction;
aput-object v2, v0, v1
return-object v0
.end method
.method static constructor <clinit>()V
.locals 3
.line 89
new-instance v0, Lcom/google/common/collect/Maps$EntryFunction$1;
const-string v1, "KEY"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/collect/Maps$EntryFunction$1;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/collect/Maps$EntryFunction;->KEY:Lcom/google/common/collect/Maps$EntryFunction;
.line 96
new-instance v0, Lcom/google/common/collect/Maps$EntryFunction$2;
const-string v1, "VALUE"
const/4 v2, 0x1
invoke-direct {v0, v1, v2}, Lcom/google/common/collect/Maps$EntryFunction$2;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/collect/Maps$EntryFunction;->VALUE:Lcom/google/common/collect/Maps$EntryFunction;
.line 88
invoke-static {}, Lcom/google/common/collect/Maps$EntryFunction;->$values()[Lcom/google/common/collect/Maps$EntryFunction;
move-result-object v0
sput-object v0, Lcom/google/common/collect/Maps$EntryFunction;->$VALUES:[Lcom/google/common/collect/Maps$EntryFunction;
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 88
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public synthetic constructor <init>(Ljava/lang/String;ILcom/google/common/collect/Maps$1;)V
.locals 0
.line 88
invoke-direct {p0, p1, p2}, Lcom/google/common/collect/Maps$EntryFunction;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/common/collect/Maps$EntryFunction;
.locals 1
const-class v0, Lcom/google/common/collect/Maps$EntryFunction;
.line 88
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/collect/Maps$EntryFunction;
return-object p0
.end method
.method public static values()[Lcom/google/common/collect/Maps$EntryFunction;
.locals 1
sget-object v0, Lcom/google/common/collect/Maps$EntryFunction;->$VALUES:[Lcom/google/common/collect/Maps$EntryFunction;
.line 88
invoke-virtual {v0}, [Lcom/google/common/collect/Maps$EntryFunction;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/collect/Maps$EntryFunction;
return-object v0
.end method
# virtual methods
.method public abstract synthetic apply(Ljava/lang/Object;)Ljava/lang/Object;
.end method

View File

@@ -0,0 +1,152 @@
.class public abstract Lcom/google/common/collect/Maps;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/collect/Maps$EntryFunction;
}
.end annotation
# direct methods
.method public static equalsImpl(Ljava/util/Map;Ljava/lang/Object;)Z
.locals 1
if-ne p0, p1, :cond_0
const/4 p0, 0x1
return p0
.line 3754
:cond_0
instance-of v0, p1, Ljava/util/Map;
if-eqz v0, :cond_1
.line 3755
check-cast p1, Ljava/util/Map;
.line 3756
invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p0
invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p0, p1}, Ljava/util/Set;->equals(Ljava/lang/Object;)Z
move-result p0
return p0
:cond_1
const/4 p0, 0x0
return p0
.end method
.method public static keyFunction()Lcom/google/common/base/Function;
.locals 1
.line 107
sget-object v0, Lcom/google/common/collect/Maps$EntryFunction;->KEY:Lcom/google/common/collect/Maps$EntryFunction;
return-object v0
.end method
.method public static toStringImpl(Ljava/util/Map;)Ljava/lang/String;
.locals 3
.line 3763
invoke-interface {p0}, Ljava/util/Map;->size()I
move-result v0
invoke-static {v0}, Lcom/google/common/collect/Collections2;->newStringBuilderForCollection(I)Ljava/lang/StringBuilder;
move-result-object v0
const/16 v1, 0x7b
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 3765
invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p0
invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p0
const/4 v1, 0x1
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Map$Entry;
if-nez v1, :cond_0
const-string v1, ", "
.line 3767
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 3770
:cond_0
invoke-interface {v2}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const/16 v1, 0x3d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const/4 v1, 0x0
goto :goto_0
:cond_1
const/16 p0, 0x7d
.line 3772
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static valueFunction()Lcom/google/common/base/Function;
.locals 1
.line 112
sget-object v0, Lcom/google/common/collect/Maps$EntryFunction;->VALUE:Lcom/google/common/collect/Maps$EntryFunction;
return-object v0
.end method

View File

@@ -0,0 +1,8 @@
.class public interface abstract Lcom/google/common/collect/Multimap;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract asMap()Ljava/util/Map;
.end method

View File

@@ -0,0 +1,44 @@
.class public abstract Lcom/google/common/collect/Multimaps;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static equalsImpl(Lcom/google/common/collect/Multimap;Ljava/lang/Object;)Z
.locals 1
if-ne p1, p0, :cond_0
const/4 p0, 0x1
return p0
.line 2133
:cond_0
instance-of v0, p1, Lcom/google/common/collect/Multimap;
if-eqz v0, :cond_1
.line 2134
check-cast p1, Lcom/google/common/collect/Multimap;
.line 2135
invoke-interface {p0}, Lcom/google/common/collect/Multimap;->asMap()Ljava/util/Map;
move-result-object p0
invoke-interface {p1}, Lcom/google/common/collect/Multimap;->asMap()Ljava/util/Map;
move-result-object p1
invoke-interface {p0, p1}, Ljava/util/Map;->equals(Ljava/lang/Object;)Z
move-result p0
return p0
:cond_1
const/4 p0, 0x0
return p0
.end method

View File

@@ -0,0 +1,11 @@
.class public interface abstract Lcom/google/common/collect/Multiset;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/Collection;
# virtual methods
.method public abstract elementSet()Ljava/util/Set;
.end method

View File

@@ -0,0 +1,86 @@
.class public final Lcom/google/common/collect/NaturalOrdering;
.super Lcom/google/common/collect/Ordering;
.source "SourceFile"
# interfaces
.implements Ljava/io/Serializable;
# static fields
.field public static final INSTANCE:Lcom/google/common/collect/NaturalOrdering;
.field private static final serialVersionUID:J
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 31
new-instance v0, Lcom/google/common/collect/NaturalOrdering;
invoke-direct {v0}, Lcom/google/common/collect/NaturalOrdering;-><init>()V
sput-object v0, Lcom/google/common/collect/NaturalOrdering;->INSTANCE:Lcom/google/common/collect/NaturalOrdering;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 76
invoke-direct {p0}, Lcom/google/common/collect/Ordering;-><init>()V
return-void
.end method
.method private readResolve()Ljava/lang/Object;
.locals 1
sget-object v0, Lcom/google/common/collect/NaturalOrdering;->INSTANCE:Lcom/google/common/collect/NaturalOrdering;
return-object v0
.end method
# virtual methods
.method public compare(Ljava/lang/Comparable;Ljava/lang/Comparable;)I
.locals 0
.line 38
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 39
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 40
invoke-interface {p1, p2}, Ljava/lang/Comparable;->compareTo(Ljava/lang/Object;)I
move-result p1
return p1
.end method
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 27
check-cast p1, Ljava/lang/Comparable;
check-cast p2, Ljava/lang/Comparable;
invoke-virtual {p0, p1, p2}, Lcom/google/common/collect/NaturalOrdering;->compare(Ljava/lang/Comparable;Ljava/lang/Comparable;)I
move-result p1
return p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "Ordering.natural()"
return-object v0
.end method

View File

@@ -0,0 +1,19 @@
.class public abstract Lcom/google/common/collect/NullnessCasts;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static uncheckedCastNullableTToT(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
return-object p0
.end method
.method public static unsafeNull()Ljava/lang/Object;
.locals 1
const/4 v0, 0x0
return-object v0
.end method

View File

@@ -0,0 +1,80 @@
.class public abstract Lcom/google/common/collect/ObjectArrays;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static checkElementNotNull(Ljava/lang/Object;I)Ljava/lang/Object;
.locals 2
if-eqz p0, :cond_0
return-object p0
.line 231
:cond_0
new-instance p0, Ljava/lang/NullPointerException;
new-instance v0, Ljava/lang/StringBuilder;
const/16 v1, 0x14
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const-string v1, "at index "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static varargs checkElementsNotNull([Ljava/lang/Object;)[Ljava/lang/Object;
.locals 1
.line 214
array-length v0, p0
invoke-static {p0, v0}, Lcom/google/common/collect/ObjectArrays;->checkElementsNotNull([Ljava/lang/Object;I)[Ljava/lang/Object;
return-object p0
.end method
.method public static checkElementsNotNull([Ljava/lang/Object;I)[Ljava/lang/Object;
.locals 2
const/4 v0, 0x0
:goto_0
if-ge v0, p1, :cond_0
.line 221
aget-object v1, p0, v0
invoke-static {v1, v0}, Lcom/google/common/collect/ObjectArrays;->checkElementNotNull(Ljava/lang/Object;I)Ljava/lang/Object;
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_0
return-object p0
.end method
.method public static newArray([Ljava/lang/Object;I)[Ljava/lang/Object;
.locals 0
.line 61
invoke-static {p0, p1}, Lcom/google/common/collect/Platform;->newArray([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object p0
return-object p0
.end method

View File

@@ -0,0 +1,93 @@
.class public abstract Lcom/google/common/collect/Ordering;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/Comparator;
# direct methods
.method public constructor <init>()V
.locals 0
.line 393
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static from(Ljava/util/Comparator;)Lcom/google/common/collect/Ordering;
.locals 1
.line 184
instance-of v0, p0, Lcom/google/common/collect/Ordering;
if-eqz v0, :cond_0
.line 185
check-cast p0, Lcom/google/common/collect/Ordering;
goto :goto_0
.line 186
:cond_0
new-instance v0, Lcom/google/common/collect/ComparatorOrdering;
invoke-direct {v0, p0}, Lcom/google/common/collect/ComparatorOrdering;-><init>(Ljava/util/Comparator;)V
move-object p0, v0
:goto_0
return-object p0
.end method
.method public static natural()Lcom/google/common/collect/Ordering;
.locals 1
.line 164
sget-object v0, Lcom/google/common/collect/NaturalOrdering;->INSTANCE:Lcom/google/common/collect/NaturalOrdering;
return-object v0
.end method
# virtual methods
.method public abstract compare(Ljava/lang/Object;Ljava/lang/Object;)I
.end method
.method public immutableSortedCopy(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList;
.locals 0
.line 876
invoke-static {p0, p1}, Lcom/google/common/collect/ImmutableList;->sortedCopyOf(Ljava/util/Comparator;Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList;
move-result-object p1
return-object p1
.end method
.method public onKeys()Lcom/google/common/collect/Ordering;
.locals 1
.line 455
invoke-static {}, Lcom/google/common/collect/Maps;->keyFunction()Lcom/google/common/base/Function;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/common/collect/Ordering;->onResultOf(Lcom/google/common/base/Function;)Lcom/google/common/collect/Ordering;
move-result-object v0
return-object v0
.end method
.method public onResultOf(Lcom/google/common/base/Function;)Lcom/google/common/collect/Ordering;
.locals 1
.line 451
new-instance v0, Lcom/google/common/collect/ByFunctionOrdering;
invoke-direct {v0, p1, p0}, Lcom/google/common/collect/ByFunctionOrdering;-><init>(Lcom/google/common/base/Function;Lcom/google/common/collect/Ordering;)V
return-object v0
.end method

View File

@@ -0,0 +1,53 @@
.class public abstract Lcom/google/common/collect/Platform;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static copy([Ljava/lang/Object;II[Ljava/lang/Object;)[Ljava/lang/Object;
.locals 0
.line 112
invoke-virtual {p3}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p3
invoke-static {p0, p1, p2, p3}, Ljava/util/Arrays;->copyOfRange([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static newArray([Ljava/lang/Object;I)[Ljava/lang/Object;
.locals 0
.line 92
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;
move-result-object p0
.line 97
invoke-static {p0, p1}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;
move-result-object p0
check-cast p0, [Ljava/lang/Object;
return-object p0
.end method
.method public static preservesInsertionOrderOnPutsMap()Ljava/util/Map;
.locals 1
.line 68
invoke-static {}, Lcom/google/common/collect/CompactHashMap;->create()Lcom/google/common/collect/CompactHashMap;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,124 @@
.class public Lcom/google/common/collect/RegularImmutableList;
.super Lcom/google/common/collect/ImmutableList;
.source "SourceFile"
# static fields
.field public static final EMPTY:Lcom/google/common/collect/ImmutableList;
# instance fields
.field public final transient array:[Ljava/lang/Object;
.field public final transient size:I
# direct methods
.method static constructor <clinit>()V
.locals 3
.line 35
new-instance v0, Lcom/google/common/collect/RegularImmutableList;
const/4 v1, 0x0
new-array v2, v1, [Ljava/lang/Object;
invoke-direct {v0, v2, v1}, Lcom/google/common/collect/RegularImmutableList;-><init>([Ljava/lang/Object;I)V
sput-object v0, Lcom/google/common/collect/RegularImmutableList;->EMPTY:Lcom/google/common/collect/ImmutableList;
return-void
.end method
.method public constructor <init>([Ljava/lang/Object;I)V
.locals 0
.line 41
invoke-direct {p0}, Lcom/google/common/collect/ImmutableList;-><init>()V
iput-object p1, p0, Lcom/google/common/collect/RegularImmutableList;->array:[Ljava/lang/Object;
iput p2, p0, Lcom/google/common/collect/RegularImmutableList;->size:I
return-void
.end method
# virtual methods
.method public copyIntoArray([Ljava/lang/Object;I)I
.locals 3
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableList;->array:[Ljava/lang/Object;
const/4 v1, 0x0
iget v2, p0, Lcom/google/common/collect/RegularImmutableList;->size:I
.line 74
invoke-static {v0, v1, p1, p2, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
iget p1, p0, Lcom/google/common/collect/RegularImmutableList;->size:I
add-int/2addr p2, p1
return p2
.end method
.method public get(I)Ljava/lang/Object;
.locals 1
iget v0, p0, Lcom/google/common/collect/RegularImmutableList;->size:I
.line 82
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableList;->array:[Ljava/lang/Object;
.line 84
aget-object p1, v0, p1
invoke-static {p1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
return-object p1
.end method
.method public internalArray()[Ljava/lang/Object;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableList;->array:[Ljava/lang/Object;
return-object v0
.end method
.method public internalArrayEnd()I
.locals 1
iget v0, p0, Lcom/google/common/collect/RegularImmutableList;->size:I
return v0
.end method
.method public internalArrayStart()I
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public isPartialView()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public size()I
.locals 1
iget v0, p0, Lcom/google/common/collect/RegularImmutableList;->size:I
return v0
.end method

View File

@@ -0,0 +1,127 @@
.class public Lcom/google/common/collect/RegularImmutableMap$EntrySet$1;
.super Lcom/google/common/collect/ImmutableList;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/collect/RegularImmutableMap$EntrySet;->createAsList()Lcom/google/common/collect/ImmutableList;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/collect/RegularImmutableMap$EntrySet;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/RegularImmutableMap$EntrySet;)V
.locals 0
iput-object p1, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet$1;->this$0:Lcom/google/common/collect/RegularImmutableMap$EntrySet;
.line 413
invoke-direct {p0}, Lcom/google/common/collect/ImmutableList;-><init>()V
return-void
.end method
# virtual methods
.method public bridge synthetic get(I)Ljava/lang/Object;
.locals 0
.line 413
invoke-virtual {p0, p1}, Lcom/google/common/collect/RegularImmutableMap$EntrySet$1;->get(I)Ljava/util/Map$Entry;
move-result-object p1
return-object p1
.end method
.method public get(I)Ljava/util/Map$Entry;
.locals 3
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet$1;->this$0:Lcom/google/common/collect/RegularImmutableMap$EntrySet;
.line 416
invoke-static {v0}, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->access$000(Lcom/google/common/collect/RegularImmutableMap$EntrySet;)I
move-result v0
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet$1;->this$0:Lcom/google/common/collect/RegularImmutableMap$EntrySet;
.line 422
invoke-static {v0}, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->access$100(Lcom/google/common/collect/RegularImmutableMap$EntrySet;)[Ljava/lang/Object;
move-result-object v0
mul-int/lit8 p1, p1, 0x2
iget-object v1, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet$1;->this$0:Lcom/google/common/collect/RegularImmutableMap$EntrySet;
invoke-static {v1}, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->access$200(Lcom/google/common/collect/RegularImmutableMap$EntrySet;)I
move-result v1
add-int/2addr v1, p1
aget-object v0, v0, v1
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
iget-object v1, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet$1;->this$0:Lcom/google/common/collect/RegularImmutableMap$EntrySet;
.line 424
invoke-static {v1}, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->access$100(Lcom/google/common/collect/RegularImmutableMap$EntrySet;)[Ljava/lang/Object;
move-result-object v1
iget-object v2, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet$1;->this$0:Lcom/google/common/collect/RegularImmutableMap$EntrySet;
invoke-static {v2}, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->access$200(Lcom/google/common/collect/RegularImmutableMap$EntrySet;)I
move-result v2
xor-int/lit8 v2, v2, 0x1
add-int/2addr p1, v2
aget-object p1, v1, p1
invoke-static {p1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 425
new-instance v1, Ljava/util/AbstractMap$SimpleImmutableEntry;
invoke-direct {v1, v0, p1}, Ljava/util/AbstractMap$SimpleImmutableEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v1
.end method
.method public isPartialView()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public size()I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet$1;->this$0:Lcom/google/common/collect/RegularImmutableMap$EntrySet;
.line 430
invoke-static {v0}, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->access$000(Lcom/google/common/collect/RegularImmutableMap$EntrySet;)I
move-result v0
return v0
.end method

View File

@@ -0,0 +1,184 @@
.class public Lcom/google/common/collect/RegularImmutableMap$EntrySet;
.super Lcom/google/common/collect/ImmutableSet;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/RegularImmutableMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "EntrySet"
.end annotation
# instance fields
.field public final transient alternatingKeysAndValues:[Ljava/lang/Object;
.field public final transient keyOffset:I
.field public final transient map:Lcom/google/common/collect/ImmutableMap;
.field public final transient size:I
# direct methods
.method public constructor <init>(Lcom/google/common/collect/ImmutableMap;[Ljava/lang/Object;II)V
.locals 0
.line 394
invoke-direct {p0}, Lcom/google/common/collect/ImmutableSet;-><init>()V
iput-object p1, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->map:Lcom/google/common/collect/ImmutableMap;
iput-object p2, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->alternatingKeysAndValues:[Ljava/lang/Object;
iput p3, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->keyOffset:I
iput p4, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->size:I
return-void
.end method
.method public static synthetic access$000(Lcom/google/common/collect/RegularImmutableMap$EntrySet;)I
.locals 0
.line 384
iget p0, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->size:I
return p0
.end method
.method public static synthetic access$100(Lcom/google/common/collect/RegularImmutableMap$EntrySet;)[Ljava/lang/Object;
.locals 0
.line 384
iget-object p0, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->alternatingKeysAndValues:[Ljava/lang/Object;
return-object p0
.end method
.method public static synthetic access$200(Lcom/google/common/collect/RegularImmutableMap$EntrySet;)I
.locals 0
.line 384
iget p0, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->keyOffset:I
return p0
.end method
# virtual methods
.method public contains(Ljava/lang/Object;)Z
.locals 3
.line 442
instance-of v0, p1, Ljava/util/Map$Entry;
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 443
check-cast p1, Ljava/util/Map$Entry;
.line 444
invoke-interface {p1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v0
.line 445
invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object p1
if-eqz p1, :cond_0
iget-object v2, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->map:Lcom/google/common/collect/ImmutableMap;
.line 446
invoke-virtual {v2, v0}, Lcom/google/common/collect/ImmutableMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
const/4 v1, 0x1
:cond_0
return v1
.end method
.method public copyIntoArray([Ljava/lang/Object;I)I
.locals 1
.line 408
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSet;->asList()Lcom/google/common/collect/ImmutableList;
move-result-object v0
invoke-virtual {v0, p1, p2}, Lcom/google/common/collect/ImmutableList;->copyIntoArray([Ljava/lang/Object;I)I
move-result p1
return p1
.end method
.method public createAsList()Lcom/google/common/collect/ImmutableList;
.locals 1
.line 413
new-instance v0, Lcom/google/common/collect/RegularImmutableMap$EntrySet$1;
invoke-direct {v0, p0}, Lcom/google/common/collect/RegularImmutableMap$EntrySet$1;-><init>(Lcom/google/common/collect/RegularImmutableMap$EntrySet;)V
return-object v0
.end method
.method public isPartialView()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public iterator()Lcom/google/common/collect/UnmodifiableIterator;
.locals 1
.line 403
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSet;->asList()Lcom/google/common/collect/ImmutableList;
move-result-object v0
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic iterator()Ljava/util/Iterator;
.locals 1
.line 384
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public size()I
.locals 1
iget v0, p0, Lcom/google/common/collect/RegularImmutableMap$EntrySet;->size:I
return v0
.end method

View File

@@ -0,0 +1,130 @@
.class public final Lcom/google/common/collect/RegularImmutableMap$KeySet;
.super Lcom/google/common/collect/ImmutableSet;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/RegularImmutableMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "KeySet"
.end annotation
# instance fields
.field public final transient list:Lcom/google/common/collect/ImmutableList;
.field public final transient map:Lcom/google/common/collect/ImmutableMap;
# direct methods
.method public constructor <init>(Lcom/google/common/collect/ImmutableMap;Lcom/google/common/collect/ImmutableList;)V
.locals 0
.line 503
invoke-direct {p0}, Lcom/google/common/collect/ImmutableSet;-><init>()V
iput-object p1, p0, Lcom/google/common/collect/RegularImmutableMap$KeySet;->map:Lcom/google/common/collect/ImmutableMap;
iput-object p2, p0, Lcom/google/common/collect/RegularImmutableMap$KeySet;->list:Lcom/google/common/collect/ImmutableList;
return-void
.end method
# virtual methods
.method public asList()Lcom/google/common/collect/ImmutableList;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableMap$KeySet;->list:Lcom/google/common/collect/ImmutableList;
return-object v0
.end method
.method public contains(Ljava/lang/Object;)Z
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableMap$KeySet;->map:Lcom/google/common/collect/ImmutableMap;
.line 525
invoke-virtual {v0, p1}, Lcom/google/common/collect/ImmutableMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public copyIntoArray([Ljava/lang/Object;I)I
.locals 1
.line 515
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableMap$KeySet;->asList()Lcom/google/common/collect/ImmutableList;
move-result-object v0
invoke-virtual {v0, p1, p2}, Lcom/google/common/collect/ImmutableList;->copyIntoArray([Ljava/lang/Object;I)I
move-result p1
return p1
.end method
.method public isPartialView()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public iterator()Lcom/google/common/collect/UnmodifiableIterator;
.locals 1
.line 510
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableMap$KeySet;->asList()Lcom/google/common/collect/ImmutableList;
move-result-object v0
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic iterator()Ljava/util/Iterator;
.locals 1
.line 499
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableMap$KeySet;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public size()I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableMap$KeySet;->map:Lcom/google/common/collect/ImmutableMap;
.line 535
invoke-interface {v0}, Ljava/util/Map;->size()I
move-result v0
return v0
.end method

View File

@@ -0,0 +1,81 @@
.class public final Lcom/google/common/collect/RegularImmutableMap$KeysOrValuesAsList;
.super Lcom/google/common/collect/ImmutableList;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/RegularImmutableMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "KeysOrValuesAsList"
.end annotation
# instance fields
.field public final transient alternatingKeysAndValues:[Ljava/lang/Object;
.field public final transient offset:I
.field public final transient size:I
# direct methods
.method public constructor <init>([Ljava/lang/Object;II)V
.locals 0
.line 475
invoke-direct {p0}, Lcom/google/common/collect/ImmutableList;-><init>()V
iput-object p1, p0, Lcom/google/common/collect/RegularImmutableMap$KeysOrValuesAsList;->alternatingKeysAndValues:[Ljava/lang/Object;
iput p2, p0, Lcom/google/common/collect/RegularImmutableMap$KeysOrValuesAsList;->offset:I
iput p3, p0, Lcom/google/common/collect/RegularImmutableMap$KeysOrValuesAsList;->size:I
return-void
.end method
# virtual methods
.method public get(I)Ljava/lang/Object;
.locals 2
iget v0, p0, Lcom/google/common/collect/RegularImmutableMap$KeysOrValuesAsList;->size:I
.line 483
invoke-static {p1, v0}, Lcom/google/common/base/Preconditions;->checkElementIndex(II)I
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableMap$KeysOrValuesAsList;->alternatingKeysAndValues:[Ljava/lang/Object;
mul-int/lit8 p1, p1, 0x2
iget v1, p0, Lcom/google/common/collect/RegularImmutableMap$KeysOrValuesAsList;->offset:I
add-int/2addr p1, v1
.line 485
aget-object p1, v0, p1
invoke-static {p1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
return-object p1
.end method
.method public isPartialView()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public size()I
.locals 1
iget v0, p0, Lcom/google/common/collect/RegularImmutableMap$KeysOrValuesAsList;->size:I
return v0
.end method

View File

@@ -0,0 +1,913 @@
.class public final Lcom/google/common/collect/RegularImmutableMap;
.super Lcom/google/common/collect/ImmutableMap;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/collect/RegularImmutableMap$KeySet;,
Lcom/google/common/collect/RegularImmutableMap$KeysOrValuesAsList;,
Lcom/google/common/collect/RegularImmutableMap$EntrySet;
}
.end annotation
# static fields
.field public static final EMPTY:Lcom/google/common/collect/ImmutableMap;
.field private static final serialVersionUID:J
# instance fields
.field public final transient alternatingKeysAndValues:[Ljava/lang/Object;
.field public final transient hashTable:Ljava/lang/Object;
.field public final transient size:I
# direct methods
.method static constructor <clinit>()V
.locals 4
.line 50
new-instance v0, Lcom/google/common/collect/RegularImmutableMap;
const/4 v1, 0x0
new-array v2, v1, [Ljava/lang/Object;
const/4 v3, 0x0
invoke-direct {v0, v3, v2, v1}, Lcom/google/common/collect/RegularImmutableMap;-><init>(Ljava/lang/Object;[Ljava/lang/Object;I)V
sput-object v0, Lcom/google/common/collect/RegularImmutableMap;->EMPTY:Lcom/google/common/collect/ImmutableMap;
return-void
.end method
.method public constructor <init>(Ljava/lang/Object;[Ljava/lang/Object;I)V
.locals 0
.line 296
invoke-direct {p0}, Lcom/google/common/collect/ImmutableMap;-><init>()V
iput-object p1, p0, Lcom/google/common/collect/RegularImmutableMap;->hashTable:Ljava/lang/Object;
iput-object p2, p0, Lcom/google/common/collect/RegularImmutableMap;->alternatingKeysAndValues:[Ljava/lang/Object;
iput p3, p0, Lcom/google/common/collect/RegularImmutableMap;->size:I
return-void
.end method
.method public static create(I[Ljava/lang/Object;Lcom/google/common/collect/ImmutableMap$Builder;)Lcom/google/common/collect/RegularImmutableMap;
.locals 4
if-nez p0, :cond_0
sget-object p0, Lcom/google/common/collect/RegularImmutableMap;->EMPTY:Lcom/google/common/collect/ImmutableMap;
.line 104
check-cast p0, Lcom/google/common/collect/RegularImmutableMap;
return-object p0
:cond_0
const/4 v0, 0x0
const/4 v1, 0x1
if-ne p0, v1, :cond_1
.line 108
aget-object p0, p1, v0
.line 109
invoke-static {p0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
aget-object p2, p1, v1
invoke-static {p2}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 108
invoke-static {p0, p2}, Lcom/google/common/collect/CollectPreconditions;->checkEntryNotNull(Ljava/lang/Object;Ljava/lang/Object;)V
.line 110
new-instance p0, Lcom/google/common/collect/RegularImmutableMap;
const/4 p2, 0x0
invoke-direct {p0, p2, p1, v1}, Lcom/google/common/collect/RegularImmutableMap;-><init>(Ljava/lang/Object;[Ljava/lang/Object;I)V
return-object p0
.line 112
:cond_1
array-length v2, p1
shr-int/2addr v2, v1
invoke-static {p0, v2}, Lcom/google/common/base/Preconditions;->checkPositionIndex(II)I
.line 113
invoke-static {p0}, Lcom/google/common/collect/ImmutableSet;->chooseTableSize(I)I
move-result v2
.line 119
invoke-static {p1, p0, v2, v0}, Lcom/google/common/collect/RegularImmutableMap;->createHashTable([Ljava/lang/Object;III)Ljava/lang/Object;
move-result-object v2
.line 121
instance-of v3, v2, [Ljava/lang/Object;
if-eqz v3, :cond_3
.line 122
check-cast v2, [Ljava/lang/Object;
const/4 p0, 0x2
.line 123
aget-object p0, v2, p0
check-cast p0, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;
if-eqz p2, :cond_2
.line 127
iput-object p0, p2, Lcom/google/common/collect/ImmutableMap$Builder;->duplicateKey:Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;
.line 128
aget-object p0, v2, v0
.line 129
aget-object p2, v2, v1
check-cast p2, Ljava/lang/Integer;
invoke-virtual {p2}, Ljava/lang/Integer;->intValue()I
move-result p2
mul-int/lit8 v0, p2, 0x2
.line 130
invoke-static {p1, v0}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object p1
move-object v2, p0
move p0, p2
goto :goto_0
.line 125
:cond_2
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;->exception()Ljava/lang/IllegalArgumentException;
move-result-object p0
throw p0
.line 134
:cond_3
:goto_0
new-instance p2, Lcom/google/common/collect/RegularImmutableMap;
invoke-direct {p2, v2, p1, p0}, Lcom/google/common/collect/RegularImmutableMap;-><init>(Ljava/lang/Object;[Ljava/lang/Object;I)V
return-object p2
.end method
.method public static createHashTable([Ljava/lang/Object;III)Ljava/lang/Object;
.locals 12
const/4 v0, 0x0
const/4 v1, 0x1
if-ne p1, v1, :cond_0
.line 156
aget-object p1, p0, p3
.line 157
invoke-static {p1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
xor-int/lit8 p2, p3, 0x1
aget-object p0, p0, p2
.line 158
invoke-static {p0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 156
invoke-static {p1, p0}, Lcom/google/common/collect/CollectPreconditions;->checkEntryNotNull(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v0
:cond_0
add-int/lit8 v2, p2, -0x1
const/16 v3, 0x80
const/4 v4, -0x1
const/4 v5, 0x0
if-gt p2, v3, :cond_6
.line 170
new-array p2, p2, [B
.line 171
invoke-static {p2, v4}, Ljava/util/Arrays;->fill([BB)V
move v3, v5
:goto_0
if-ge v5, p1, :cond_4
mul-int/lit8 v4, v5, 0x2
add-int/2addr v4, p3
mul-int/lit8 v6, v3, 0x2
add-int/2addr v6, p3
.line 179
aget-object v7, p0, v4
invoke-static {v7}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
xor-int/2addr v4, v1
.line 180
aget-object v4, p0, v4
invoke-static {v4}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 181
invoke-static {v7, v4}, Lcom/google/common/collect/CollectPreconditions;->checkEntryNotNull(Ljava/lang/Object;Ljava/lang/Object;)V
.line 182
invoke-virtual {v7}, Ljava/lang/Object;->hashCode()I
move-result v8
invoke-static {v8}, Lcom/google/common/collect/Hashing;->smear(I)I
move-result v8
:goto_1
and-int/2addr v8, v2
.line 184
aget-byte v9, p2, v8
const/16 v10, 0xff
and-int/2addr v9, v10
if-ne v9, v10, :cond_2
int-to-byte v9, v6
.line 186
aput-byte v9, p2, v8
if-ge v3, v5, :cond_1
.line 197
aput-object v7, p0, v6
xor-int/lit8 v6, v6, 0x1
.line 198
aput-object v4, p0, v6
:cond_1
add-int/lit8 v3, v3, 0x1
goto :goto_2
.line 188
:cond_2
aget-object v10, p0, v9
invoke-virtual {v7, v10}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v10
if-eqz v10, :cond_3
.line 189
new-instance v0, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;
xor-int/lit8 v6, v9, 0x1
aget-object v8, p0, v6
.line 191
invoke-static {v8}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
invoke-direct {v0, v7, v4, v8}, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
.line 192
aput-object v4, p0, v6
:goto_2
add-int/lit8 v5, v5, 0x1
goto :goto_0
:cond_3
add-int/lit8 v8, v8, 0x1
goto :goto_1
:cond_4
if-ne v3, p1, :cond_5
goto :goto_3
.line 202
:cond_5
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
filled-new-array {p2, p0, v0}, [Ljava/lang/Object;
move-result-object p2
:goto_3
return-object p2
:cond_6
const v3, 0x8000
if-gt p2, v3, :cond_c
.line 210
new-array p2, p2, [S
.line 211
invoke-static {p2, v4}, Ljava/util/Arrays;->fill([SS)V
move v3, v5
:goto_4
if-ge v5, p1, :cond_a
mul-int/lit8 v4, v5, 0x2
add-int/2addr v4, p3
mul-int/lit8 v6, v3, 0x2
add-int/2addr v6, p3
.line 219
aget-object v7, p0, v4
invoke-static {v7}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
xor-int/2addr v4, v1
.line 220
aget-object v4, p0, v4
invoke-static {v4}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 221
invoke-static {v7, v4}, Lcom/google/common/collect/CollectPreconditions;->checkEntryNotNull(Ljava/lang/Object;Ljava/lang/Object;)V
.line 222
invoke-virtual {v7}, Ljava/lang/Object;->hashCode()I
move-result v8
invoke-static {v8}, Lcom/google/common/collect/Hashing;->smear(I)I
move-result v8
:goto_5
and-int/2addr v8, v2
.line 224
aget-short v9, p2, v8
const v10, 0xffff
and-int/2addr v9, v10
if-ne v9, v10, :cond_8
int-to-short v9, v6
.line 226
aput-short v9, p2, v8
if-ge v3, v5, :cond_7
.line 237
aput-object v7, p0, v6
xor-int/lit8 v6, v6, 0x1
.line 238
aput-object v4, p0, v6
:cond_7
add-int/lit8 v3, v3, 0x1
goto :goto_6
.line 228
:cond_8
aget-object v10, p0, v9
invoke-virtual {v7, v10}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v10
if-eqz v10, :cond_9
.line 229
new-instance v0, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;
xor-int/lit8 v6, v9, 0x1
aget-object v8, p0, v6
.line 231
invoke-static {v8}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
invoke-direct {v0, v7, v4, v8}, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
.line 232
aput-object v4, p0, v6
:goto_6
add-int/lit8 v5, v5, 0x1
goto :goto_4
:cond_9
add-int/lit8 v8, v8, 0x1
goto :goto_5
:cond_a
if-ne v3, p1, :cond_b
goto :goto_7
.line 242
:cond_b
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
filled-new-array {p2, p0, v0}, [Ljava/lang/Object;
move-result-object p2
:goto_7
return-object p2
.line 247
:cond_c
new-array p2, p2, [I
.line 248
invoke-static {p2, v4}, Ljava/util/Arrays;->fill([II)V
move v3, v5
:goto_8
if-ge v5, p1, :cond_10
mul-int/lit8 v6, v5, 0x2
add-int/2addr v6, p3
mul-int/lit8 v7, v3, 0x2
add-int/2addr v7, p3
.line 256
aget-object v8, p0, v6
invoke-static {v8}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
xor-int/2addr v6, v1
.line 257
aget-object v6, p0, v6
invoke-static {v6}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 258
invoke-static {v8, v6}, Lcom/google/common/collect/CollectPreconditions;->checkEntryNotNull(Ljava/lang/Object;Ljava/lang/Object;)V
.line 259
invoke-virtual {v8}, Ljava/lang/Object;->hashCode()I
move-result v9
invoke-static {v9}, Lcom/google/common/collect/Hashing;->smear(I)I
move-result v9
:goto_9
and-int/2addr v9, v2
.line 261
aget v10, p2, v9
if-ne v10, v4, :cond_e
.line 263
aput v7, p2, v9
if-ge v3, v5, :cond_d
.line 274
aput-object v8, p0, v7
xor-int/lit8 v7, v7, 0x1
.line 275
aput-object v6, p0, v7
:cond_d
add-int/lit8 v3, v3, 0x1
goto :goto_a
.line 265
:cond_e
aget-object v11, p0, v10
invoke-virtual {v8, v11}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v11
if-eqz v11, :cond_f
.line 266
new-instance v0, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;
xor-int/lit8 v7, v10, 0x1
aget-object v9, p0, v7
.line 268
invoke-static {v9}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
invoke-direct {v0, v8, v6, v9}, Lcom/google/common/collect/ImmutableMap$Builder$DuplicateKey;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
.line 269
aput-object v6, p0, v7
:goto_a
add-int/lit8 v5, v5, 0x1
goto :goto_8
:cond_f
add-int/lit8 v9, v9, 0x1
goto :goto_9
:cond_10
if-ne v3, p1, :cond_11
goto :goto_b
.line 279
:cond_11
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
filled-new-array {p2, p0, v0}, [Ljava/lang/Object;
move-result-object p2
:goto_b
return-object p2
.end method
.method public static get(Ljava/lang/Object;[Ljava/lang/Object;IILjava/lang/Object;)Ljava/lang/Object;
.locals 4
const/4 v0, 0x0
if-nez p4, :cond_0
return-object v0
:cond_0
const/4 v1, 0x1
if-ne p2, v1, :cond_2
.line 334
aget-object p0, p1, p3
invoke-static {p0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
invoke-virtual {p0, p4}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_1
xor-int/lit8 p0, p3, 0x1
.line 335
aget-object v0, p1, p0
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
:cond_1
return-object v0
:cond_2
if-nez p0, :cond_3
return-object v0
.line 340
:cond_3
instance-of p2, p0, [B
if-eqz p2, :cond_6
.line 341
move-object p2, p0
check-cast p2, [B
.line 342
array-length p0, p2
add-int/lit8 p3, p0, -0x1
.line 343
invoke-virtual {p4}, Ljava/lang/Object;->hashCode()I
move-result p0
invoke-static {p0}, Lcom/google/common/collect/Hashing;->smear(I)I
move-result p0
:goto_0
and-int/2addr p0, p3
.line 345
aget-byte v2, p2, p0
const/16 v3, 0xff
and-int/2addr v2, v3
if-ne v2, v3, :cond_4
return-object v0
.line 348
:cond_4
aget-object v3, p1, v2
invoke-virtual {p4, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_5
xor-int/lit8 p0, v2, 0x1
.line 349
aget-object p0, p1, p0
return-object p0
:cond_5
add-int/lit8 p0, p0, 0x1
goto :goto_0
.line 352
:cond_6
instance-of p2, p0, [S
if-eqz p2, :cond_9
.line 353
move-object p2, p0
check-cast p2, [S
.line 354
array-length p0, p2
add-int/lit8 p3, p0, -0x1
.line 355
invoke-virtual {p4}, Ljava/lang/Object;->hashCode()I
move-result p0
invoke-static {p0}, Lcom/google/common/collect/Hashing;->smear(I)I
move-result p0
:goto_1
and-int/2addr p0, p3
.line 357
aget-short v2, p2, p0
const v3, 0xffff
and-int/2addr v2, v3
if-ne v2, v3, :cond_7
return-object v0
.line 360
:cond_7
aget-object v3, p1, v2
invoke-virtual {p4, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_8
xor-int/lit8 p0, v2, 0x1
.line 361
aget-object p0, p1, p0
return-object p0
:cond_8
add-int/lit8 p0, p0, 0x1
goto :goto_1
.line 365
:cond_9
check-cast p0, [I
.line 366
array-length p2, p0
sub-int/2addr p2, v1
.line 367
invoke-virtual {p4}, Ljava/lang/Object;->hashCode()I
move-result p3
invoke-static {p3}, Lcom/google/common/collect/Hashing;->smear(I)I
move-result p3
:goto_2
and-int/2addr p3, p2
.line 369
aget v2, p0, p3
const/4 v3, -0x1
if-ne v2, v3, :cond_a
return-object v0
.line 372
:cond_a
aget-object v3, p1, v2
invoke-virtual {p4, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_b
xor-int/lit8 p0, v2, 0x1
.line 373
aget-object p0, p1, p0
return-object p0
:cond_b
add-int/lit8 p3, p3, 0x1
goto :goto_2
.end method
# virtual methods
.method public createEntrySet()Lcom/google/common/collect/ImmutableSet;
.locals 4
.line 381
new-instance v0, Lcom/google/common/collect/RegularImmutableMap$EntrySet;
iget-object v1, p0, Lcom/google/common/collect/RegularImmutableMap;->alternatingKeysAndValues:[Ljava/lang/Object;
const/4 v2, 0x0
iget v3, p0, Lcom/google/common/collect/RegularImmutableMap;->size:I
invoke-direct {v0, p0, v1, v2, v3}, Lcom/google/common/collect/RegularImmutableMap$EntrySet;-><init>(Lcom/google/common/collect/ImmutableMap;[Ljava/lang/Object;II)V
return-object v0
.end method
.method public createKeySet()Lcom/google/common/collect/ImmutableSet;
.locals 4
.line 465
new-instance v0, Lcom/google/common/collect/RegularImmutableMap$KeysOrValuesAsList;
iget-object v1, p0, Lcom/google/common/collect/RegularImmutableMap;->alternatingKeysAndValues:[Ljava/lang/Object;
const/4 v2, 0x0
iget v3, p0, Lcom/google/common/collect/RegularImmutableMap;->size:I
invoke-direct {v0, v1, v2, v3}, Lcom/google/common/collect/RegularImmutableMap$KeysOrValuesAsList;-><init>([Ljava/lang/Object;II)V
.line 467
new-instance v1, Lcom/google/common/collect/RegularImmutableMap$KeySet;
invoke-direct {v1, p0, v0}, Lcom/google/common/collect/RegularImmutableMap$KeySet;-><init>(Lcom/google/common/collect/ImmutableMap;Lcom/google/common/collect/ImmutableList;)V
return-object v1
.end method
.method public createValues()Lcom/google/common/collect/ImmutableCollection;
.locals 4
.line 542
new-instance v0, Lcom/google/common/collect/RegularImmutableMap$KeysOrValuesAsList;
iget-object v1, p0, Lcom/google/common/collect/RegularImmutableMap;->alternatingKeysAndValues:[Ljava/lang/Object;
const/4 v2, 0x1
iget v3, p0, Lcom/google/common/collect/RegularImmutableMap;->size:I
invoke-direct {v0, v1, v2, v3}, Lcom/google/common/collect/RegularImmutableMap$KeysOrValuesAsList;-><init>([Ljava/lang/Object;II)V
return-object v0
.end method
.method public get(Ljava/lang/Object;)Ljava/lang/Object;
.locals 4
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableMap;->hashTable:Ljava/lang/Object;
iget-object v1, p0, Lcom/google/common/collect/RegularImmutableMap;->alternatingKeysAndValues:[Ljava/lang/Object;
iget v2, p0, Lcom/google/common/collect/RegularImmutableMap;->size:I
const/4 v3, 0x0
.line 311
invoke-static {v0, v1, v2, v3, p1}, Lcom/google/common/collect/RegularImmutableMap;->get(Ljava/lang/Object;[Ljava/lang/Object;IILjava/lang/Object;)Ljava/lang/Object;
move-result-object p1
if-nez p1, :cond_0
const/4 p1, 0x0
:cond_0
return-object p1
.end method
.method public size()I
.locals 1
iget v0, p0, Lcom/google/common/collect/RegularImmutableMap;->size:I
return v0
.end method

View File

@@ -0,0 +1,245 @@
.class public final Lcom/google/common/collect/RegularImmutableSet;
.super Lcom/google/common/collect/ImmutableSet;
.source "SourceFile"
# static fields
.field public static final EMPTY:Lcom/google/common/collect/RegularImmutableSet;
.field public static final EMPTY_ARRAY:[Ljava/lang/Object;
# instance fields
.field public final transient elements:[Ljava/lang/Object;
.field public final transient hashCode:I
.field public final transient mask:I
.field public final transient size:I
.field public final transient table:[Ljava/lang/Object;
# direct methods
.method static constructor <clinit>()V
.locals 7
const/4 v0, 0x0
new-array v4, v0, [Ljava/lang/Object;
sput-object v4, Lcom/google/common/collect/RegularImmutableSet;->EMPTY_ARRAY:[Ljava/lang/Object;
.line 34
new-instance v0, Lcom/google/common/collect/RegularImmutableSet;
const/4 v3, 0x0
const/4 v5, 0x0
const/4 v6, 0x0
move-object v1, v0
move-object v2, v4
invoke-direct/range {v1 .. v6}, Lcom/google/common/collect/RegularImmutableSet;-><init>([Ljava/lang/Object;I[Ljava/lang/Object;II)V
sput-object v0, Lcom/google/common/collect/RegularImmutableSet;->EMPTY:Lcom/google/common/collect/RegularImmutableSet;
return-void
.end method
.method public constructor <init>([Ljava/lang/Object;I[Ljava/lang/Object;II)V
.locals 0
.line 47
invoke-direct {p0}, Lcom/google/common/collect/ImmutableSet;-><init>()V
iput-object p1, p0, Lcom/google/common/collect/RegularImmutableSet;->elements:[Ljava/lang/Object;
iput p2, p0, Lcom/google/common/collect/RegularImmutableSet;->hashCode:I
iput-object p3, p0, Lcom/google/common/collect/RegularImmutableSet;->table:[Ljava/lang/Object;
iput p4, p0, Lcom/google/common/collect/RegularImmutableSet;->mask:I
iput p5, p0, Lcom/google/common/collect/RegularImmutableSet;->size:I
return-void
.end method
# virtual methods
.method public contains(Ljava/lang/Object;)Z
.locals 4
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSet;->table:[Ljava/lang/Object;
const/4 v1, 0x0
if-eqz p1, :cond_3
.line 58
array-length v2, v0
if-nez v2, :cond_0
goto :goto_1
.line 61
:cond_0
invoke-static {p1}, Lcom/google/common/collect/Hashing;->smearedHash(Ljava/lang/Object;)I
move-result v2
:goto_0
iget v3, p0, Lcom/google/common/collect/RegularImmutableSet;->mask:I
and-int/2addr v2, v3
.line 63
aget-object v3, v0, v2
if-nez v3, :cond_1
return v1
.line 66
:cond_1
invoke-virtual {v3, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_2
const/4 p1, 0x1
return p1
:cond_2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_3
:goto_1
return v1
.end method
.method public copyIntoArray([Ljava/lang/Object;I)I
.locals 3
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSet;->elements:[Ljava/lang/Object;
const/4 v1, 0x0
iget v2, p0, Lcom/google/common/collect/RegularImmutableSet;->size:I
.line 100
invoke-static {v0, v1, p1, p2, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
iget p1, p0, Lcom/google/common/collect/RegularImmutableSet;->size:I
add-int/2addr p2, p1
return p2
.end method
.method public createAsList()Lcom/google/common/collect/ImmutableList;
.locals 2
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSet;->elements:[Ljava/lang/Object;
iget v1, p0, Lcom/google/common/collect/RegularImmutableSet;->size:I
.line 106
invoke-static {v0, v1}, Lcom/google/common/collect/ImmutableList;->asImmutableList([Ljava/lang/Object;I)Lcom/google/common/collect/ImmutableList;
move-result-object v0
return-object v0
.end method
.method public hashCode()I
.locals 1
iget v0, p0, Lcom/google/common/collect/RegularImmutableSet;->hashCode:I
return v0
.end method
.method public internalArray()[Ljava/lang/Object;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSet;->elements:[Ljava/lang/Object;
return-object v0
.end method
.method public internalArrayEnd()I
.locals 1
iget v0, p0, Lcom/google/common/collect/RegularImmutableSet;->size:I
return v0
.end method
.method public internalArrayStart()I
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public isHashCodeFast()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public isPartialView()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public iterator()Lcom/google/common/collect/UnmodifiableIterator;
.locals 1
.line 79
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSet;->asList()Lcom/google/common/collect/ImmutableList;
move-result-object v0
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic iterator()Ljava/util/Iterator;
.locals 1
.line 29
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableSet;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public size()I
.locals 1
iget v0, p0, Lcom/google/common/collect/RegularImmutableSet;->size:I
return v0
.end method

View File

@@ -0,0 +1,886 @@
.class public final Lcom/google/common/collect/RegularImmutableSortedSet;
.super Lcom/google/common/collect/ImmutableSortedSet;
.source "SourceFile"
# static fields
.field public static final NATURAL_EMPTY_SET:Lcom/google/common/collect/RegularImmutableSortedSet;
# instance fields
.field public final transient elements:Lcom/google/common/collect/ImmutableList;
# direct methods
.method static constructor <clinit>()V
.locals 3
.line 44
new-instance v0, Lcom/google/common/collect/RegularImmutableSortedSet;
.line 45
invoke-static {}, Lcom/google/common/collect/ImmutableList;->of()Lcom/google/common/collect/ImmutableList;
move-result-object v1
invoke-static {}, Lcom/google/common/collect/Ordering;->natural()Lcom/google/common/collect/Ordering;
move-result-object v2
invoke-direct {v0, v1, v2}, Lcom/google/common/collect/RegularImmutableSortedSet;-><init>(Lcom/google/common/collect/ImmutableList;Ljava/util/Comparator;)V
sput-object v0, Lcom/google/common/collect/RegularImmutableSortedSet;->NATURAL_EMPTY_SET:Lcom/google/common/collect/RegularImmutableSortedSet;
return-void
.end method
.method public constructor <init>(Lcom/google/common/collect/ImmutableList;Ljava/util/Comparator;)V
.locals 0
.line 50
invoke-direct {p0, p2}, Lcom/google/common/collect/ImmutableSortedSet;-><init>(Ljava/util/Comparator;)V
iput-object p1, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
return-void
.end method
# virtual methods
.method public asList()Lcom/google/common/collect/ImmutableList;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
return-object v0
.end method
.method public ceiling(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
const/4 v0, 0x1
.line 232
invoke-virtual {p0, p1, v0}, Lcom/google/common/collect/RegularImmutableSortedSet;->tailIndex(Ljava/lang/Object;Z)I
move-result p1
.line 233
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableSortedSet;->size()I
move-result v0
if-ne p1, v0, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
:goto_0
return-object p1
.end method
.method public contains(Ljava/lang/Object;)Z
.locals 1
const/4 v0, 0x0
if-eqz p1, :cond_0
.line 90
:try_start_0
invoke-virtual {p0, p1}, Lcom/google/common/collect/RegularImmutableSortedSet;->unsafeBinarySearch(Ljava/lang/Object;)I
move-result p1
:try_end_0
.catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0
if-ltz p1, :cond_0
const/4 v0, 0x1
nop
:catch_0
:cond_0
return v0
.end method
.method public containsAll(Ljava/util/Collection;)Z
.locals 6
.line 102
instance-of v0, p1, Lcom/google/common/collect/Multiset;
if-eqz v0, :cond_0
.line 103
check-cast p1, Lcom/google/common/collect/Multiset;
invoke-interface {p1}, Lcom/google/common/collect/Multiset;->elementSet()Ljava/util/Set;
move-result-object p1
.line 105
:cond_0
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSortedSet;->comparator()Ljava/util/Comparator;
move-result-object v0
invoke-static {v0, p1}, Lcom/google/common/collect/SortedIterables;->hasSameComparator(Ljava/util/Comparator;Ljava/lang/Iterable;)Z
move-result v0
if-eqz v0, :cond_8
invoke-interface {p1}, Ljava/util/Collection;->size()I
move-result v0
const/4 v1, 0x1
if-gt v0, v1, :cond_1
goto :goto_1
.line 113
:cond_1
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableSortedSet;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
.line 115
invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p1
.line 118
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
const/4 v3, 0x0
if-nez v2, :cond_2
return v3
.line 122
:cond_2
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
.line 123
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
.line 126
:cond_3
:goto_0
:try_start_0
invoke-virtual {p0, v4, v2}, Lcom/google/common/collect/ImmutableSortedSet;->unsafeCompare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result v5
if-gez v5, :cond_5
.line 129
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-nez v4, :cond_4
return v3
.line 132
:cond_4
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
goto :goto_0
:cond_5
if-nez v5, :cond_7
.line 134
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-nez v2, :cond_6
return v1
.line 137
:cond_6
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
:try_end_0
.catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:cond_7
if-lez v5, :cond_3
:catch_0
return v3
.line 106
:cond_8
:goto_1
invoke-super {p0, p1}, Ljava/util/AbstractCollection;->containsAll(Ljava/util/Collection;)Z
move-result p1
return p1
.end method
.method public copyIntoArray([Ljava/lang/Object;I)I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 159
invoke-virtual {v0, p1, p2}, Lcom/google/common/collect/ImmutableList;->copyIntoArray([Ljava/lang/Object;I)I
move-result p1
return p1
.end method
.method public createDescendingSet()Lcom/google/common/collect/ImmutableSortedSet;
.locals 3
iget-object v0, p0, Lcom/google/common/collect/ImmutableSortedSet;->comparator:Ljava/util/Comparator;
.line 317
invoke-static {v0}, Ljava/util/Collections;->reverseOrder(Ljava/util/Comparator;)Ljava/util/Comparator;
move-result-object v0
.line 318
invoke-virtual {p0}, Ljava/util/AbstractCollection;->isEmpty()Z
move-result v1
if-eqz v1, :cond_0
.line 319
invoke-static {v0}, Lcom/google/common/collect/ImmutableSortedSet;->emptySet(Ljava/util/Comparator;)Lcom/google/common/collect/RegularImmutableSortedSet;
move-result-object v0
goto :goto_0
.line 320
:cond_0
new-instance v1, Lcom/google/common/collect/RegularImmutableSortedSet;
iget-object v2, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
invoke-virtual {v2}, Lcom/google/common/collect/ImmutableList;->reverse()Lcom/google/common/collect/ImmutableList;
move-result-object v2
invoke-direct {v1, v2, v0}, Lcom/google/common/collect/RegularImmutableSortedSet;-><init>(Lcom/google/common/collect/ImmutableList;Ljava/util/Comparator;)V
move-object v0, v1
:goto_0
return-object v0
.end method
.method public descendingIterator()Lcom/google/common/collect/UnmodifiableIterator;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 79
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableList;->reverse()Lcom/google/common/collect/ImmutableList;
move-result-object v0
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic descendingIterator()Ljava/util/Iterator;
.locals 1
.line 40
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableSortedSet;->descendingIterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 5
const/4 v0, 0x1
if-ne p1, p0, :cond_0
return v0
.line 167
:cond_0
instance-of v1, p1, Ljava/util/Set;
const/4 v2, 0x0
if-nez v1, :cond_1
return v2
.line 171
:cond_1
check-cast p1, Ljava/util/Set;
.line 172
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableSortedSet;->size()I
move-result v1
invoke-interface {p1}, Ljava/util/Set;->size()I
move-result v3
if-eq v1, v3, :cond_2
return v2
.line 174
:cond_2
invoke-virtual {p0}, Ljava/util/AbstractCollection;->isEmpty()Z
move-result v1
if-eqz v1, :cond_3
return v0
:cond_3
iget-object v1, p0, Lcom/google/common/collect/ImmutableSortedSet;->comparator:Ljava/util/Comparator;
.line 178
invoke-static {v1, p1}, Lcom/google/common/collect/SortedIterables;->hasSameComparator(Ljava/util/Comparator;Ljava/lang/Iterable;)Z
move-result v1
if-eqz v1, :cond_7
.line 179
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
.line 181
:try_start_0
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableSortedSet;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v1
.line 182
:cond_4
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_6
.line 183
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
.line 184
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
if-eqz v4, :cond_5
.line 185
invoke-virtual {p0, v3, v4}, Lcom/google/common/collect/ImmutableSortedSet;->unsafeCompare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result v3
:try_end_0
.catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/util/NoSuchElementException; {:try_start_0 .. :try_end_0} :catch_0
if-eqz v3, :cond_4
:cond_5
return v2
:cond_6
return v0
:catch_0
return v2
.line 196
:cond_7
invoke-virtual {p0, p1}, Lcom/google/common/collect/RegularImmutableSortedSet;->containsAll(Ljava/util/Collection;)Z
move-result p1
return p1
.end method
.method public first()Ljava/lang/Object;
.locals 2
.line 201
invoke-virtual {p0}, Ljava/util/AbstractCollection;->isEmpty()Z
move-result v0
if-nez v0, :cond_0
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
const/4 v1, 0x0
.line 204
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
return-object v0
.line 202
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public floor(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
const/4 v0, 0x1
.line 225
invoke-virtual {p0, p1, v0}, Lcom/google/common/collect/RegularImmutableSortedSet;->headIndex(Ljava/lang/Object;Z)I
move-result p1
sub-int/2addr p1, v0
const/4 v0, -0x1
if-ne p1, v0, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 226
invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
:goto_0
return-object p1
.end method
.method public getSubSet(II)Lcom/google/common/collect/RegularImmutableSortedSet;
.locals 2
if-nez p1, :cond_0
.line 286
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableSortedSet;->size()I
move-result v0
if-ne p2, v0, :cond_0
return-object p0
:cond_0
if-ge p1, p2, :cond_1
.line 289
new-instance v0, Lcom/google/common/collect/RegularImmutableSortedSet;
iget-object v1, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 290
invoke-virtual {v1, p1, p2}, Lcom/google/common/collect/ImmutableList;->subList(II)Lcom/google/common/collect/ImmutableList;
move-result-object p1
iget-object p2, p0, Lcom/google/common/collect/ImmutableSortedSet;->comparator:Ljava/util/Comparator;
invoke-direct {v0, p1, p2}, Lcom/google/common/collect/RegularImmutableSortedSet;-><init>(Lcom/google/common/collect/ImmutableList;Ljava/util/Comparator;)V
return-object v0
:cond_1
iget-object p1, p0, Lcom/google/common/collect/ImmutableSortedSet;->comparator:Ljava/util/Comparator;
.line 292
invoke-static {p1}, Lcom/google/common/collect/ImmutableSortedSet;->emptySet(Ljava/util/Comparator;)Lcom/google/common/collect/RegularImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public headIndex(Ljava/lang/Object;Z)I
.locals 2
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 249
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSortedSet;->comparator()Ljava/util/Comparator;
move-result-object v1
invoke-static {v0, p1, v1}, Ljava/util/Collections;->binarySearch(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
move-result p1
if-ltz p1, :cond_1
if-eqz p2, :cond_0
add-int/lit8 p1, p1, 0x1
:cond_0
return p1
:cond_1
not-int p1, p1
return p1
.end method
.method public headSetImpl(Ljava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
.locals 1
const/4 v0, 0x0
.line 245
invoke-virtual {p0, p1, p2}, Lcom/google/common/collect/RegularImmutableSortedSet;->headIndex(Ljava/lang/Object;Z)I
move-result p1
invoke-virtual {p0, v0, p1}, Lcom/google/common/collect/RegularImmutableSortedSet;->getSubSet(II)Lcom/google/common/collect/RegularImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public higher(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
const/4 v0, 0x0
.line 239
invoke-virtual {p0, p1, v0}, Lcom/google/common/collect/RegularImmutableSortedSet;->tailIndex(Ljava/lang/Object;Z)I
move-result p1
.line 240
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableSortedSet;->size()I
move-result v0
if-ne p1, v0, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
:goto_0
return-object p1
.end method
.method public internalArray()[Ljava/lang/Object;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 58
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableCollection;->internalArray()[Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public internalArrayEnd()I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 68
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableCollection;->internalArrayEnd()I
move-result v0
return v0
.end method
.method public internalArrayStart()I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 63
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableCollection;->internalArrayStart()I
move-result v0
return v0
.end method
.method public isPartialView()Z
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 154
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableCollection;->isPartialView()Z
move-result v0
return v0
.end method
.method public iterator()Lcom/google/common/collect/UnmodifiableIterator;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 73
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableList;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic iterator()Ljava/util/Iterator;
.locals 1
.line 40
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableSortedSet;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public last()Ljava/lang/Object;
.locals 2
.line 209
invoke-virtual {p0}, Ljava/util/AbstractCollection;->isEmpty()Z
move-result v0
if-nez v0, :cond_0
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 212
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableSortedSet;->size()I
move-result v1
add-int/lit8 v1, v1, -0x1
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
return-object v0
.line 210
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public lower(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
const/4 v0, 0x0
.line 218
invoke-virtual {p0, p1, v0}, Lcom/google/common/collect/RegularImmutableSortedSet;->headIndex(Ljava/lang/Object;Z)I
move-result p1
add-int/lit8 p1, p1, -0x1
const/4 v0, -0x1
if-ne p1, v0, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 219
invoke-interface {v0, p1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p1
:goto_0
return-object p1
.end method
.method public size()I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 84
invoke-virtual {v0}, Ljava/util/AbstractCollection;->size()I
move-result v0
return v0
.end method
.method public subSetImpl(Ljava/lang/Object;ZLjava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
.locals 0
.line 260
invoke-virtual {p0, p1, p2}, Lcom/google/common/collect/RegularImmutableSortedSet;->tailSetImpl(Ljava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p1
invoke-virtual {p1, p3, p4}, Lcom/google/common/collect/ImmutableSortedSet;->headSetImpl(Ljava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public tailIndex(Ljava/lang/Object;Z)I
.locals 2
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 269
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-virtual {p0}, Lcom/google/common/collect/ImmutableSortedSet;->comparator()Ljava/util/Comparator;
move-result-object v1
invoke-static {v0, p1, v1}, Ljava/util/Collections;->binarySearch(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
move-result p1
if-ltz p1, :cond_1
if-eqz p2, :cond_0
goto :goto_0
:cond_0
add-int/lit8 p1, p1, 0x1
:goto_0
return p1
:cond_1
not-int p1, p1
return p1
.end method
.method public tailSetImpl(Ljava/lang/Object;Z)Lcom/google/common/collect/ImmutableSortedSet;
.locals 0
.line 265
invoke-virtual {p0, p1, p2}, Lcom/google/common/collect/RegularImmutableSortedSet;->tailIndex(Ljava/lang/Object;Z)I
move-result p1
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableSortedSet;->size()I
move-result p2
invoke-virtual {p0, p1, p2}, Lcom/google/common/collect/RegularImmutableSortedSet;->getSubSet(II)Lcom/google/common/collect/RegularImmutableSortedSet;
move-result-object p1
return-object p1
.end method
.method public final unsafeBinarySearch(Ljava/lang/Object;)I
.locals 2
iget-object v0, p0, Lcom/google/common/collect/RegularImmutableSortedSet;->elements:Lcom/google/common/collect/ImmutableList;
.line 149
invoke-virtual {p0}, Lcom/google/common/collect/RegularImmutableSortedSet;->unsafeComparator()Ljava/util/Comparator;
move-result-object v1
invoke-static {v0, p1, v1}, Ljava/util/Collections;->binarySearch(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
move-result p1
return p1
.end method
.method public unsafeComparator()Ljava/util/Comparator;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/ImmutableSortedSet;->comparator:Ljava/util/Comparator;
return-object v0
.end method

View File

@@ -0,0 +1,14 @@
.class public abstract synthetic Lcom/google/common/collect/Serialization$1;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/Serialization;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation

View File

@@ -0,0 +1,99 @@
.class public final Lcom/google/common/collect/Serialization$FieldSetter;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/collect/Serialization;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "FieldSetter"
.end annotation
# instance fields
.field public final field:Ljava/lang/reflect/Field;
# direct methods
.method public constructor <init>(Ljava/lang/reflect/Field;)V
.locals 1
.line 203
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/google/common/collect/Serialization$FieldSetter;->field:Ljava/lang/reflect/Field;
const/4 v0, 0x1
.line 205
invoke-virtual {p1, v0}, Ljava/lang/reflect/AccessibleObject;->setAccessible(Z)V
return-void
.end method
.method public synthetic constructor <init>(Ljava/lang/reflect/Field;Lcom/google/common/collect/Serialization$1;)V
.locals 0
.line 200
invoke-direct {p0, p1}, Lcom/google/common/collect/Serialization$FieldSetter;-><init>(Ljava/lang/reflect/Field;)V
return-void
.end method
# virtual methods
.method public set(Ljava/lang/Object;I)V
.locals 1
:try_start_0
iget-object v0, p0, Lcom/google/common/collect/Serialization$FieldSetter;->field:Ljava/lang/reflect/Field;
.line 218
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
invoke-virtual {v0, p1, p2}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_0
.catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_0
return-void
:catch_0
move-exception p1
.line 220
new-instance p2, Ljava/lang/AssertionError;
invoke-direct {p2, p1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw p2
.end method
.method public set(Ljava/lang/Object;Ljava/lang/Object;)V
.locals 1
:try_start_0
iget-object v0, p0, Lcom/google/common/collect/Serialization$FieldSetter;->field:Ljava/lang/reflect/Field;
.line 210
invoke-virtual {v0, p1, p2}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_0
.catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_0
return-void
:catch_0
move-exception p1
.line 212
new-instance p2, Ljava/lang/AssertionError;
invoke-direct {p2, p1}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw p2
.end method

View File

@@ -0,0 +1,135 @@
.class public abstract Lcom/google/common/collect/Serialization;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/collect/Serialization$FieldSetter;
}
.end annotation
# direct methods
.method public static getFieldSetter(Ljava/lang/Class;Ljava/lang/String;)Lcom/google/common/collect/Serialization$FieldSetter;
.locals 1
.line 192
:try_start_0
invoke-virtual {p0, p1}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object p0
.line 193
new-instance p1, Lcom/google/common/collect/Serialization$FieldSetter;
const/4 v0, 0x0
invoke-direct {p1, p0, v0}, Lcom/google/common/collect/Serialization$FieldSetter;-><init>(Ljava/lang/reflect/Field;Lcom/google/common/collect/Serialization$1;)V
:try_end_0
.catch Ljava/lang/NoSuchFieldException; {:try_start_0 .. :try_end_0} :catch_0
return-object p1
:catch_0
move-exception p0
.line 195
new-instance p1, Ljava/lang/AssertionError;
invoke-direct {p1, p0}, Ljava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
throw p1
.end method
.method public static writeMultimap(Lcom/google/common/collect/Multimap;Ljava/io/ObjectOutputStream;)V
.locals 2
.line 147
invoke-interface {p0}, Lcom/google/common/collect/Multimap;->asMap()Ljava/util/Map;
move-result-object v0
invoke-interface {v0}, Ljava/util/Map;->size()I
move-result v0
invoke-virtual {p1, v0}, Ljava/io/ObjectOutputStream;->writeInt(I)V
.line 148
invoke-interface {p0}, Lcom/google/common/collect/Multimap;->asMap()Ljava/util/Map;
move-result-object p0
invoke-interface {p0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p0
invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p0
:cond_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_1
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
.line 149
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
invoke-virtual {p1, v1}, Ljava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V
.line 150
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Collection;
invoke-interface {v1}, Ljava/util/Collection;->size()I
move-result v1
invoke-virtual {p1, v1}, Ljava/io/ObjectOutputStream;->writeInt(I)V
.line 151
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Collection;
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
.line 152
invoke-virtual {p1, v1}, Ljava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V
goto :goto_0
:cond_1
return-void
.end method

View File

@@ -0,0 +1,107 @@
.class public abstract Lcom/google/common/collect/Sets;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static equalsImpl(Ljava/util/Set;Ljava/lang/Object;)Z
.locals 4
const/4 v0, 0x1
if-ne p0, p1, :cond_0
return v0
.line 1709
:cond_0
instance-of v1, p1, Ljava/util/Set;
const/4 v2, 0x0
if-eqz v1, :cond_2
.line 1710
check-cast p1, Ljava/util/Set;
.line 1713
:try_start_0
invoke-interface {p0}, Ljava/util/Set;->size()I
move-result v1
invoke-interface {p1}, Ljava/util/Set;->size()I
move-result v3
if-ne v1, v3, :cond_1
invoke-interface {p0, p1}, Ljava/util/Set;->containsAll(Ljava/util/Collection;)Z
move-result p0
:try_end_0
.catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0
if-eqz p0, :cond_1
goto :goto_0
:cond_1
move v0, v2
:goto_0
return v0
:catch_0
:cond_2
return v2
.end method
.method public static hashCodeImpl(Ljava/util/Set;)I
.locals 3
.line 1695
invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p0
const/4 v0, 0x0
move v1, v0
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
if-eqz v2, :cond_0
.line 1696
invoke-virtual {v2}, Ljava/lang/Object;->hashCode()I
move-result v2
goto :goto_1
:cond_0
move v2, v0
:goto_1
add-int/2addr v1, v2
not-int v1, v1
not-int v1, v1
goto :goto_0
:cond_1
return v1
.end method

View File

@@ -0,0 +1,160 @@
.class public final Lcom/google/common/collect/SingletonImmutableSet;
.super Lcom/google/common/collect/ImmutableSet;
.source "SourceFile"
# instance fields
.field public final transient element:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Ljava/lang/Object;)V
.locals 0
.line 39
invoke-direct {p0}, Lcom/google/common/collect/ImmutableSet;-><init>()V
.line 40
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
iput-object p1, p0, Lcom/google/common/collect/SingletonImmutableSet;->element:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public asList()Lcom/google/common/collect/ImmutableList;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/SingletonImmutableSet;->element:Ljava/lang/Object;
.line 60
invoke-static {v0}, Lcom/google/common/collect/ImmutableList;->of(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
move-result-object v0
return-object v0
.end method
.method public contains(Ljava/lang/Object;)Z
.locals 1
iget-object v0, p0, Lcom/google/common/collect/SingletonImmutableSet;->element:Ljava/lang/Object;
.line 50
invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public copyIntoArray([Ljava/lang/Object;I)I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/SingletonImmutableSet;->element:Ljava/lang/Object;
.line 70
aput-object v0, p1, p2
add-int/lit8 p2, p2, 0x1
return p2
.end method
.method public final hashCode()I
.locals 1
iget-object v0, p0, Lcom/google/common/collect/SingletonImmutableSet;->element:Ljava/lang/Object;
.line 76
invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I
move-result v0
return v0
.end method
.method public isPartialView()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public iterator()Lcom/google/common/collect/UnmodifiableIterator;
.locals 1
iget-object v0, p0, Lcom/google/common/collect/SingletonImmutableSet;->element:Ljava/lang/Object;
.line 55
invoke-static {v0}, Lcom/google/common/collect/Iterators;->singletonIterator(Ljava/lang/Object;)Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic iterator()Ljava/util/Iterator;
.locals 1
.line 30
invoke-virtual {p0}, Lcom/google/common/collect/SingletonImmutableSet;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
return-object v0
.end method
.method public size()I
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
iget-object v0, p0, Lcom/google/common/collect/SingletonImmutableSet;->element:Ljava/lang/Object;
.line 81
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
add-int/lit8 v1, v1, 0x2
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v1}, Ljava/lang/StringBuilder;-><init>(I)V
const/16 v1, 0x5b
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v0, 0x5d
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,11 @@
.class public interface abstract Lcom/google/common/collect/SortedIterable;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Iterable;
# virtual methods
.method public abstract comparator()Ljava/util/Comparator;
.end method

Some files were not shown because too many files have changed in this diff Show More